Object-Oriented Analysis and Design Using UML

OOAD Training Philippines

Download PDF

COURSE CODE

611

DURATION

4 days

Overview

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 Investment

Course Outline

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

Schedule

April 30 & May 2 - 4, 2018 (9:00am - 5:00pm)

Reviews

"The instructor is very good in terms of elaborating each chapter in the manual as well as giving example codes and scenarios. Very precise and direct to the point. The keys are already stated in the course content. What I like the most is we are able to give our own ideas to each chapter activities."

Object-Oriented Analysis and Design Using UML

Jo-Anne Crystal Acupan

Allegro MicroSystems Philippines Inc.

"I like that the instructor further elaborates and provides examples of the topic based on real world experiences. The course not only provides theories of the topics but also real world experiences. The examples used are up to date. The course have helped me further understand design patterns and their appropriate time to use them. The course activities had helped me further remember and helped me to practice what we have learned."

Object-Oriented Analysis and Design Using UML

Mac Albert Bumolo

CHAMP Cargosystems Philippines, Inc.

"This is a very good course not only to learn UML but also how to do actual applications of design patterns in the real world. I learn a lot in doing actual activities it gives me more confident on the course that we are learning."

Object-Oriented Analysis and Design Using UML

Aries Camitan

Fisher-Rosemount System Inc.

"The instructor's expertise and explanation of the topics in the course are superb. These new skill set will really improve how we analyze and design requirements in OO perspective. Course content is well organized that enable us, students to interrelate all the topics."

Object-Oriented Analysis and Design Using UML

Oliver Bugarin

Sun Life of Canada (Philippines)

"Course content is excellent, the case study makes the concepts much clearer to the audience."

Object-Oriented Analysis and Design Using UML

Livie Hayao Jr.

ROHM LSI Design Philippines Inc.

Request More Info