Object-Oriented Analysis and Design (OOAD) Using Unified Modeling Language (UML)

OOAD using UML Course Description

This Object-Oriented Analysis and Design course will familiarize you with all phases of Object-Oriented Analysis and Design (OOAD) using the Unified Modeling Language (UML). You will learn how to consider any subject matter and identify all its concepts and relationships to express and model them using UML Analysis, and then design them in preparation for the programming phase.

Furthermore, you will learn advanced Analysis and Design strategies based upon the most important Object-Oriented Patterns. This course will set you up to master the fundamental aspects of Analysis and Design a developer needs to succeed.

These OOAD & UML Training Sessions offer a very balanced blend of lectures and exercises which impart & make sure the learning process attractive, interactive, and very thorough. You will have the opportunity to practice OO Analysis as well as OO Design during a series of detailed labs.

OOAD using UML Course Learning Outcomes

  • Become familiar with all phases of Object-Oriented Analysis and Design (OOAD)
  • Master the main features of the Unified Modeling Language (UML)
  • Understand how UML supports the entire OOAD process
  • Master the main concepts of Object Technologies and how to apply them at work
  • Develop the ability to analyze and solve challenging Problem Domains
  • Learn the Object Design Principles and understand how to apply them towards implementation
  • Discover and learn how to use the most fundamental OO Analysis Patterns and Design Patterns
  • Understand how to implement any Object Design with OO Programming Languages like C#, Java, C++ or others.

OOAD using UML Training - Suggested Audience

Suggested attendees for this OOAD using UML training are:
  • IT Developers
  • Senior Designers
  • Programming Team Leaders
  • Programmers
  • Business Analysts
  • Data Analysts

OOAD using UMLTraining Duration

  • Open-House F2F (Public): 4/5 days
  • In-House F2F (Private): 4/5 days, for commercials please send us an email with group size to hello@pincorps.com

OOAD using UML Training - Prerequisites

  • Be familiar with writing simple code with any of the main OO languages: C#, Java, or C++.

This OOAD using UML training course outline includes:

1. OOAD Overview
  • OOAD Process Activity Diagram

2. OO Business Analysis
  • Overview
  • Stakeholders Viewpoint
  • IT Viewpoint
  • Bridging the Viewpoints

3. Business Concept Modeling (BCM)
  • Model Elements; Theory, Syntax, Examples and Exercises for:
  • Business Concepts
  • Class
  • Business Concept Relationships
  • Inheritance
  • Composition
  • Association
  • Association Role
  • Association Class
  • BCM Decision Tree 

4. BCM Practice
  • The Projects & Assets BCM Practice

5. The Case Study

6. The OO Design Propagation Pattern
  • Overview
  • Propagation Sequence
  • The 5 OO Design Principles:
  • Specialization
  • Self-sufficiency
  • Interface
  • Delegation
  • Propagation
  • Profit Analysis Example
  • Code Example
  • UML Sequence Diagrams
  • UML Communication Diagrams
  • Propagation Pattern Exercise

7. Additional Modeling Elements
  • Using Reflexive Associations to model:
  • Digraphs
  1. a. Hierarchies & Tree Structures
  2. b. Linked Lists
  3. c. Modeling labs
  • Association Class Reduction:
  1. a. Using Composition
  2. b. Using Attributes
  3. c. Valid & invalid reduction cases
  4. d. Modeling lab
  • Modeling Multiple Link Objects:
  1. a. Inherent Multiple Objects per Link
  2. b. Association Class Aggregate
  3. c. Modeling lab
  • Composition / Aggregation
  1. a. Attribute Type Notation
  2. b. Inner Class Notation
  3. c. Modeling lab
  • Modeling Constraints
  • Derived Elements

8. The Role Pattern
  • The business problem with Roles
  • Role Modeling Solutions Pros and Cons:
  1. a. Inheritance
  2. b. Association Role
  3. c. Role Class
  4. d. Generalized Role Class
  5. e. Association Class Role
  6. f. Association Class Role with Role Categories
  • Real-life Business Case: Person's role in a complex business case
  • Comprehensive exercise

9. The Composite Pattern
  • Motivation
  • Solution
  • Meta-model
  • A Manufacturing Framework Example
  • The Product Composite Case
  • Typical code implementation

10. Domain Persistence
  • The Importance of Domain
  • Domain Persistence Strategies
  • Object-Oriented Persistence
  • Relational-Dependent Persistence
  • Mixing OO and Relational strategies
  • Integrating an entire Domain from several independent sources of data
  • Relationship between OO and Relational Models
  • OO to Relational conversion lab

11. Application Architecture
  • Layering of an Enterprise Application
  • Enterprise Architecture
  • UML Deployment Diagrams
  • UML Component Diagrams

12. OO Design Fundamentals
  • OO Principles
  1. a. Encapsulation
  2. b. Specialization
  3. c. Self-Sufficiency
  4. d. Interface
  5. e. Instantiation
  6. f. Abstraction
  7. g. Inheritance
  8. h. Polymorphism
  • Encapsulation & Specialization
  • Inheritance & Polymorphism
  • Polymorphism Strategies:
  1. a. Replacement Method Pattern
  2. b. Extension Method Pattern
  3. c. Template Method Pattern
  4. d. Strategy Pattern

13. Association Implementation: Link Management
  • Association Implementation
  • Implementing Association Ends
  • Link Management Strategies:
  1. a. Client-Managed Associations
  2. b. Object-Managed Associations
  3. c. Link Factory Pattern
  4. d. Introspective Link Factory
  • Composition Implementation
  • Association Class Implementation
  • Ternary Association Implementation
  • Reflexive Associations

14. Propagation Pattern Lab
  • Travel Cost Analysis

15. The OO Design Visitor Pattern
  • Overview
  • Visitor Case Example
  • Propagation Pattern Drawbacks
  • Visitor Code Example
  • Visitor Lab

16. State Modeling
  • Modeling Business rules and policies with states and their transitions
  • State Definition
  • State Examples
  • State Notation
  1. a. State Structure
  2. b. Entry and Exit Effects
  3. c. Internal Transitions
  4. d. Deferred Events
  5. e. do Activities
  • State Modeling Exercise 1
  • State Transitions
  • State Modeling Exercise 2
  • Substates

17. The OO Design State Pattern
  • States as Objects
  • The State Model
  • State Pattern Metamodel
  • State Programming Lab
Keny White


Keny White is Professor of the Department of Computer Science at Boston University, where he has been since 2004. He also currently serves as Chief Scientist of Guavus, Inc. During 2003-2004 he was a Visiting Associate Professor at the Laboratoire d'Infomatique de Paris VI (LIP6). He received a B.S. from Cornell University in 1992, and an M.S. from the State University of New York at Buffalo.


After working as a software developer and contractor for over 8 years for a whole bunch of companies including ABX, Proit, SACC and AT&T in the US, He decided to work full-time as a private software trainer. He received his Ph.D. in Computer Science from the University of Rochester in 2001. "What I teach varies from beginner to advanced and from what I have seen, anybody can learn and grow from my courses".


Average Rating

1 rating

Detailed Rating

5 stars
4 stars
3 stars
2 stars
1 star

    This is great

    I really love the course editor in LearnPress. It is never easier when creating courses, lessons, quizzes with this one. It's the most useful LMS WordPress plugin I have ever used. Thank a lot! Testing quiz is funny, I like the sorting choice question type most.