Develop Intelligence
Introduction to OOAD
Learn different Object Oriented Analysis and Design strategies (OOAD strategies) to architect and build object oriented systems.

The Introduction to OOAD training course is a follow up course to the Introduction to OO Programming course. Introduction to OOAD training explores advanced OO concepts, like multiple inheritance, polymorphism, inner classes, etc. by building on the core OO concepts. The course then transitions from concept theory into object oriented design pratices. 

The course also examines design strategies such as noun-verb decomposition, User stories, Use Cases, CRC Cards, 4+1 architectural view, etc.

Introduction to OOAD can be combined with Introduction to Object Oriented Programming to create a 5-day course. It can also be taught to support a variety of languages, including Java, PHP, C#, C++, Ruby, and others. 

After this course, you will be able to:

  • Answer the question “What is Object Oriented Analysis and Design?”
  • Describe key Object Oriented concepts: class, object, instantiation
  • Understand the different approaches to performing OOAD
  • Validate an Object design against business requirements and system constraints
  • Model an object design using UML
  • Implementing the object design in Java, C++, C#, PHP, or Ruby
This course will be delivered in 3 Days

DI will work with you and your team to define the most appropriate delivery structure, schedule and dates. Structure, schedule and dates will be determined by project schedule, team availability and classroom availability. And of course, it will also be determined by DI’s instructor availability.

In the Introduction to OOAD training course you’ll learn:
Day One : Introduction to OOAD

  • Introduction to Object Oriented Analysis and Design
    • What is OOAD
    • Why is it important?
    • Designing software with an OOAD approach
    • Introduction to UML
  • Review of Core Object Oriented Concepts
    • States / Behaviors, Properties / Methods
    • LAB: Object Decomposition
    • Implement OO Concepts with Java
    • LAB: Java & OO Syntax Lab 1


Day Two : OO Design Concepts

  • Designing for Reusability Through Modularity
    • Creating loosely coupled systems
    • Creating cohesive systems
    • LAB: Design a reusable system
  • Designing for Reusability in Objects
    • Inheritance, Abstraction, and Composition
    • Encapsulation, Polymorphism, and Aggregation
    • LAB: Translating system design into Object design
    • Implementing OO Reusability in Java
    • LAB: Java & OO Syntax Lab 2


Day Three : Advanced OO Design

  • OOAD Design Approaches
    • Traditional v. Agile
    • Use Case, User Stories, and CRC cards
    • Validating, Implementing, Packaging, and Testing an OO design
    • Tools to help manage the process, from UML to Enterprise Architect
  • Simplifying the Design Process using Design Patterns
    • What are patterns?
    • Overview of Creational Patterns, Behavioral Patterns, and Structural ** Patterns
  • Q/A and Wrap-up

Introduction to OO Programming
Call us at (877) 629-5631