UML, OO & UP Training Course:

Duration: 3 days

New Generation Software Project Development to meet the Dynamic Changing Challenge
- Use case driven Approach with Object Oriented (OO), Unified Modeling Language (UML), Design Pattern, Unified Process (UP) technologies




Given today's sophisticated software systems, can you sequentially define the entire problem, design the entire solution, build the software and then test the product at the end?

How can we face the challenge of changing of requirements, features or schedule during the development cycle?

How can we capture and communicate the business requirements effectively?

How to design a flexible software system which can accommodate change, be intuitively understandable, and adopt more effective software reuse?

How can we make sure the business users, software developers, and the management to have consistent understanding of all the building blocks of the software system?

How can we build a reliable, well documented, easily maintainable and expandable system?

This course will introduce the latest Software Project Development Technologies of Object Oriented Analysis/Design, UML, Design Pattern, Unified Process. It demonstrates how to follow the Unified Process, from the Inception Phase, through multiple iterations of OOA/D in Elaboration Phase and generate Code in Construction Phase. It also details the steps on how to apply UML, Design Patterns in OOA/D. With the Sample case study, the lecturer could demonstrate how to capture Requirements, write effective Use Cases, identify Domain Model Classes, design Interactive Sequence and Collaboration Diagram, apply Design Patterns and finally map the design to Java.

By going through this course, you will learn how to apply the latest Software Project Development Technologies in developing high quality, reliable, easily maintainable and expandable software systems. You will learn how to come up with documents of software systems that can communicate from Business Domain Users to System Developers. Also you will learn how to design flexible software systems that can accommodate change, be intuitively understandable, and adopt more effective software reuse.

Course Outlines

Module 1
Software Development Process

﹞ Problems in traditional software development
﹞ Why Waterfall project development process doesn't work?
﹞ The New Generation Software Development Technologies
﹞ What is Unified Process?
﹞ How Unified Process address to the problem?
﹞ UP Phases
﹞ UP Disciplines (Workflows)
﹞ UP Iterations of Sample Project
﹞ OOA/D Processes in UP

Module 2
Object Technologies

﹞ Object Oriented Analysis (OOA) and Object Oriented Design (OOD)
﹞ Unified Modeling Language (UML)
﹞ Basic Principles of OOT
﹞ Design Patterns

Module 3
Manage Requirements with Use Case Model (Inception)


﹞ Problems in Requirement
﹞ Types of requirement - FURPS
﹞ Requirement Capture in Inception Phase
﹞ Use Case Model and Requirement
﹞ Sample Use Case
﹞ Use Case Templates
﹞ Choosing System Boundary
﹞ Finding Actors and Goals
﹞ Defining Use Cases with Event Analysis
﹞ Use Case Diagram
﹞ Sample Requirement iteration plan
﹞ Sample Use Cases from Inception

Module 4
Elaboration - Iteration 1


﹞ From Inception to Elaboration
﹞ Scope of Elaboration - Iteration

Module 5
Domain Model (Elaboration - Iteration 1)


﹞ What is Domain Model?
﹞ Domain Class Diagram
﹞ Analysis VS Design
﹞ Identify Conceptual Class
﹞ Attributes VS Conceptual Class
﹞ Domain Model to Design Model
﹞ UML notation
﹞ Identify Associations
﹞ Identify Attributes
﹞ Examples in Sample system

Module 6
Identify System Behavior


﹞ Develop System Sequence Diagram from Use Case Model
﹞ System Events
﹞ Contracts
﹞ Postcondition
﹞ Examples in Sample system
  Module 7
Design with Interaction Diagram


﹞ Collaboration Diagrams
﹞ Sequence Diagrams
﹞ UML Interaction Diagram Notation
﹞ UML message expression
﹞ Mutually exclusive & Conditional Interaction Diagram
﹞ Iteration
﹞ Interaction Diagram Examples for Sample system

Module 8
Applying Design Patterns


﹞ Object Design with Responsibilities
﹞ Design Patterns
﹞ Assigning Responsibilities with design Patterns
﹞ Low Coupling Pattern
﹞ High Cohesion Pattern
﹞ Expert Pattern
﹞ Creator Pattern
﹞ Controller Pattern
﹞ Use-Case Realizations
﹞ Objects Design in Sample system
﹞ N-tier System Design
﹞ Visibility between Objects

Module 9
Design Class Diagram (DCD)


﹞ UML Notation
﹞ Software Specifications in Design Class Diagram
﹞ Domain Model VS Design Model Class Diagram 
﹞ Discover Software Class
﹞ Adding Methods, Associations and Navigability
﹞ Identify Dependence
﹞ Creating Design Class Diagram for Sample system

Module 10
Mapping Designs to JAVA


﹞ Creating Class Definitions from DCDs
﹞ Creating Methods from Interaction Diagrams
﹞ Order of Implementation
﹞ Create Code for Sample system

Module 11
Elaboration - Iteration 2 & 3


﹞ Requirements in Iteration 2 & 3
﹞ Refinement of OOA/D Artifacts
﹞ Applying more Design Patterns
﹞ Persistence Framework
﹞ Iterative Development with Patterns
Top