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
Introduction to Object-Oriented Analysis and Design
- What is Object-Oriented Analysis and Design (OOAD)?
- Introduction and Overview of Unified Modeling Language (UML)
- Waterfall vs Iterative Development
- Iterative Time Boxing
- Unified Process and Unified Modeling Language
- Phases of the Unified Process
- Requirements Types
- Use Case Scenarios
- When and How to Write Use Cases
- Kinds of Use Cases
- Use Case Diagrams
- 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
- What are Operation Contracts?
- Sections of a Contract
- Writing Post-Conditions
- Using Layers
- Avoiding Lower to Higher Coupling
- UML Package Diagram
- The Facade Design Pattern
- Static Modeling
- Dynamic Modeling
- UML Interaction Diagrams
- Sequence Diagrams
- Communication Diagrams
- Lifeline Boxes and Lifelines
- Focus of Contro
- Return Values
- “this” calls
- Creation of Instances
- Conditional Messages
- Nested Frames
- Showing Related Interaction Diagrams
- Invoking Static Methods
- Asynchronous and Synchronous Calls
- The Class Box
- Note Symbols
- Operations and Methods
- Generalization, Abstract Classes and Methods
- Composition vs. Aggregation
- Association Classes
- User-defined compartments
- Active Classes
GRASP: Designing Objects with Responsibilities
- The GRASP Patterns
- Low Coupling
Mapping Designs to Code
- Creating Class Definitions from DCDs
- Implementing Methods from Interaction Diagrams
- Determining Order of Implementation
More GRASP Patterns
- Iteration-2 Requirements
- Pure Fabrication
Applying GoF Design Patterns
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
- Transition Actions and Guards
- Nested States
Domain Model Refinement
- Iteration-3 Requirements
- 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
- EENs as Property Strings
- Communication Paths
- Node Instances
"Sir Gavin was a great instructor who is able to give easy-to-understand explanations that cleared up any misunderstandings I had about Object-Oriented Analysis. The course was in-depth and provided good examples that aided in my understanding of the subjects at hand. The activities were engaging and made me apply the things I've learned about each topic. Using Microsoft Teams as the mode of delivery was effective as I was able to interact with my instructor using the available tools and the contents are easily shared."
Software Developer, Fisher Rosemount System Inc.
"Every section is timeboxed. Our instructor explained all topics clearly. Not a single minute was wasted. The flow was excellent. And I liked that we spent ample time in the analysis part."
Scrum Master, Fisher Rosemount System Inc.
"Good example of theoretical knowledge to actual industrial application."
Business Analyst, Robinsins Bank
"The instructor is vocal about what he thinks about your work/or about the idea being presented (whether good or bad). His answers are insightful of what you can expect in real-world application."
Software Developer, Fisher-Rosemount Systems Inc.
"(The instructor) answered all the student's questions with excellence. Very knowledgeable."
Quantity Surveyor, Makati Development Corp.
"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."
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."
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."
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."
Sun Life of Canada (Philippines)
"Course content is excellent, the case study makes the concepts much clearer to the audience."
ROHM LSI Design Philippines Inc.