Object-Oriented Analysis and Design Using UML

OOAD Training Philippines

Course: 611

Type: Hands-On Training

Duration: 4 days

Courses Benefits:

Object-Oriented Analysis and Design (OOAD) is the principal industry-proven method for developing reliable, modular, testable programs and systems. This OOAD training course provides practical skills in the latest OO requirements gathering, analysis, design, and testing methods. Intensive hands-on exercises offer you a working knowledge that turns concepts into practice. Strudents will not just learn UML diagrams. They will learn how to apply UML in the context of OO software development. From requirements gathering to actually mapping the diagrams to code, concepts in this course are consistently illustrated using a single case study. This course emphasizes on applying different design patterns to solve common OO design issues. Knowing how to create properly designed object-oriented systems is what separates programmers from software architects.

You Will Learn How To:

  • Capture user requirements in use cases and transform them into detailed designs
  • Exploit the rich object-oriented modeling provided by Unified Modeling Language (UML)
  • Adapt to changing requirements with iterative techniques and component-based design
  • Design solutions optimized for modern object-oriented languages and platforms
  • Apply proven design patterns to refine analysis and design models

Who Should Attend:

Anyone involved in developing systems on modern object-oriented platforms. Project teams benefit greatly by sharing the same methodology with co-developers or with supportive management. Familiarity with an Object-Oriented language is assumed.

Course Content:

Introduction to Object-Oriented Analysis and Design

  • What is Object-Oriented Analysis and Design (OOAD)?
  • Introduction and Overview of Unified Modeling Language (UML)

Iterative Development

  • Waterfall vs Iterative Development
  • Iterative Time Boxing
  • Unified Process and Unified Modeling Language
  • Phases of the Unified Process

Use Cases

  • Requirements Types
  • Use Case Scenarios
  • When and How to Write Use Cases
  • Kinds of Use Cases
  • Use Case Diagrams

Domain Models

  • What is a Domain Model?
  • Guidelines in Domain Model Creation
  • Guidelines in Finding Conceptual Classes
  • Adding Associations
  • Adding Attributes

System Sequence Diagrams

  • What are System Sequence Diagrams?
  • Naming System Events and Operations

Operation Contracts

  • What are Operation Contracts?
  • Sections of a Contract
  • Writing Post-Conditions

Logical Architecture

  • Using Layers
  • Avoiding Lower to Higher Coupling
  • UML Package Diagram
  • The Facade Design Pattern

Object Design

  • Static Modeling
  • Dynamic Modeling

Interaction Diagrams

  • UML Interaction Diagrams
  • Sequence Diagrams
  • Communication Diagrams
  • Lifeline Boxes and Lifelines
  • Focus of Contro
  • Return Values
  • “this” calls
  • Creation of Instances
  • Frames
  • Looping
  • Conditional Messages
  • Nested Frames
  • Showing Related Interaction Diagrams
  • Invoking Static Methods
  • Asynchronous and Synchronous Calls

Class Diagrams

  • The Class Box
  • Attributes
  • Note Symbols
  • Operations and Methods
  • Generalization, Abstract Classes and Methods
  • Dependency
  • Interfaces
  • Composition vs. Aggregation
  • Frames
  • Association Classes
  • User-defined compartments
  • Active Classes

GRASP: Designing Objects with Responsibilities

  • The GRASP Patterns
  • Creator
  • Expert
  • Low Coupling
  • Controller

Mapping Designs to Code

  • Creating Class Definitions from DCDs
  • Implementing Methods from Interaction Diagrams
  • Determining Order of Implementation

More GRASP Patterns

  • Iteration-2 Requirements
  • Polymorphism
  • Pure Fabrication

Applying GoF Design Patterns

  • Adapter
  • Factory
  • Singleton
  • Strategy

Activity Diagrams and Modeling

  • UML Activity Diagrams
  • Applications of Activity Diagrams
  • Common Symbols
  • Virtual Domains
  • Monitoring Access

State Machine Diagrams

  • UML State Machine Diagram
  • Events, States, and Transitions
  • Applying State Machine Diagrams
  • Modelling
  • Transition Actions and Guards
  • Nested States

Domain Model Refinement

  • Iteration-3 Requirements
  • Generalization
  • Abstract Classes

More SSDs and Contracts

  • New System Sequence Diagrams
  • New System Operations
  • How to Partition the Domain Model
  • Configuring openssh server
  • Using openssh client

Logical Architecture Refinement

  • Common Layers in an Information System
  • Inter-Layer and Inter-Package Coupling
  • Inter-Layer and Inter-Package Interaction Scenarios
  • System Operations and Layers
  • UI Facade

More GoF Patterns

  • The Proxy Design Pattern
  • Exceptions in a Class, and Interaction Diagrams
  • Abstract Factory Pattern

Deployment Diagrams

  • Nodes
  • EENs as Property Strings
  • Communication Paths
  • Artifacts
  • Node Instances

Upcoming Dates

Jan 9 - 12, 2018 (9:00am - 5:00pm)

Course Investment

For pricing info, call us at +632-726-8128 or Email us.
Money Saving Tuition Plans


“Gavin is a very effective in delivering the course. One reason I chose this course over that of Sun's. Good course content and flow. Organized. Traning is filled with practical activities independent of a particular UML tool.”

- Emanuelle Millan Jr., Software Development Supervisor - Smart Communications, Inc.

“Knowledge gained from this training would help us in our work. Mr. Gavin is an excellent trainor.”
- Maria Liza Gamboa, Senior Manager, IT Development - Banco De Oro

“Content of the course is very much enough to help me gain OOAD knowledge. I like the activities, you can apply & build practical skills.”
- Lorna Jacob, Emerson - FRSI

“The topics were straight forward and were clearly discussed. The instructor's knowledge is superb!”
- Marc Nicholas Angeles, Indra Philippines, Inc.

“The exercises are good, it helps to understand the concept better.”

- Mylene Emnas, System Architect II - Digi Software (Phils) Inc.

“Two thumbs up! The instructor is well equipped with all necessary tools and knowledge in delivering the course effectively. Very punctual.”
- Rommel Alix, Systems Analyst - Cybersoft Networks, Inc.

More Testimonials...

Enrolling entitles you to...
  • Class participation
  • Team workshops
  • Use of in-class and hands-on equipment
  • Course CD
  • Comprehensive course materials
  • Lunch and refreshments
  • Course Completion Certificate