Object Oriented Analysis and Design Using UML Training

We offer private customized training for groups of 3 or more attendees.

Course Description

Learn how to use Object-Oriented techniques to analyze real-world requirements and to design solutions that are ready to code. Students learn how to identify and design objects, classes, and their relationships to each other, which includes links, associations, and inheritance. A strong emphasis is placed on diagram notation for use cases, class and object representation, links and associations, and object messages. This course utilizes UML 2.0 notation.
Course Length: 5 Days
Course Tuition: $2090 (US)


Familiarity with structured techniques such as functional decomposition is helpful.

Course Outline

Introduction to OOAD  
Intro: Fields of Study
Object Orientation Overview
Object Oriented Concepts
Stating the Case for Object Orientation
Labs: The OO Paradigm, Object Oriented Concepts
Unified Modeling Language (UML)
Unified Modeling Language Defined
Static Diagrams
Use Case, Class, Package, Component, Deployment
Dynamic Diagrams
Collaboration, Sequence, State Chart, Activity
Labs:Class Diagram, Collaboration/Sequence Diagram, State Diagram
The Software Development Process
Software Development Process Overview
Iterative Processes
Agile Processes
Unified Software Development Process
Disciplines (Workflows)
Use Case Driven, Architecture Centric, Iterative and Incremental
Labs: Civil Engineering vs. Software Development, Software Development Process, The Unified Process
The Inception Phase
Initial Planning
Business Modeling
Requirements Overview
Labs: Identifying Risks, Domain List, Vision Statement, System Context Diagram, Stakeholder Analysis
Introduction to Use Cases
Use Case Details
Create Initial Use Case Model
Labs: Initial Actor List, Discovering Use Cases, Initial Use Case Model
Additional Modeling
Domain Modeling
Discovering Your Types
Technology Modeling
Non-functional Requirements
Labs: Domain Model, Non-functional Requirements
Elaboration Phase
Initial Planning
Detailing Use Cases
Elaborating Use Cases
Refining Analysis Model
Labs: Architectural Use Cases, Detailing Use Cases, Elaborating Use Cases, Identify Analysis Classes
Elaboration - Design
Dynamic Modeling
Frameworks and Tiers
OO Design Principles
Labs:Collaboration Modeling Object Refinement
Introduction to Design Patterns
Exploring a Simple Pattern - Iterator
Design Pattern Background
Labs:Examining Collection Traversal, Examining the Iterator Pattern
Design Patterns: A More Formal Approach
The Gang Of Four Description
The GOF Patterns
Labs:Discussing the GOF Patterns
Moving Deeper Into Patterns
Factory Method Pattern
Strategy Pattern
Decorator Pattern
Template Method Pattern
Labs:Using Factory Method, Using Strategy, Considering Decorator

Course Directory [training on all levels]

Upcoming Classes
Gain insight and ideas from students with different perspectives and experiences.

Agile/Scrum Uses & Stats

Agile/Scrum is Used For:
Project Management Processes Maintenance Iteration
Year Created

Faster Deployment of Solutions
Because there is a continuous collaboration between stakeholders and teams, the focus on the essentials speed up the delivery process.

Gives Every Team Member a Purpose
People own and are expected to deliver on their responsibilities.

Keeps the End Goal in Mind at Every Level
With the end-goal in mind, teams stay focused and unite in their efforts

Promotes Flexibility in Order to Adapt
Close team and customer contact prompts acceptance of change, and frequent deliverables.

Faster Detection of Issues and Defects
Scrum methodology incorporates daily meetings, which helps to identify problems and resolving them in time.


Can Act As a Band-Aid to Bigger Problems
Agile has been the go to cure-method for larger issues that most of the time organizations are not able to deal with because they don’t have a neutral party to facilitate their corporate patterns, practices, policies and culture.

Can Create a Micro-Managed Environment
Practiced incorrectly, a project manager may not want to give up control and neutralize any real decision making from the team.

Not Everyone Is On Board
Although project teams may be ready for agile development, the rest of the company may not always be easily absorbed within larger more traditional organizations where there are significant amounts of rigidity or flexibility within processes, policies, or teams.

Push for Higher Performance
The push for a higher performance is even more relentless than in traditional, procedural organizations that have rigid processes or operating methods.

Not Well-Suited for Every Project
Agile may not work as intended if a customer is not clear on goals, the project manager or team is inexperienced, or if they do not function well under significant pressure.

Agile/Scrum Job Market
Average Salary
Job Count
Top Job Locations

Agile and SCRUM methodologies are practiced mostly in larger organizations that have cross-platform teams that need to be on the same page. Adoption rates vary in different industries. 


Industry                       Agile Adoption Rate

Software (ISV)               23 percent

Financial services          14 percent

Professional services     12 percent

Insurance                        6 percent

Healthcare                      6 percent

Government                    5 percent

Telecoms                         4 percent

Transportation                 4 percent

Manufacturing                 4 percent

Complimentary Skills to have along with Agile/Scrum

Agile Methodologies and Frameworks include:

ASD - DevOps - DAD - DSDM - FDD - IID - Kanban - Lean - SD - LeSS - MDD - MSF - PSP - RAD - RUP - SAFe - Scrum SEMAT TSP UP XP

The Standards and Bodies of Knowledge Include:

BABOK - CMMI - IEEE standards - ISO 9001 - ISO/IEC standards - PMBOK - SWEBOK - ITIL

Interesting Reads Take a class with us and receive a book of your choosing for 50% off MSRP.