Object-Oriented Analysis and Design Using the Unified Modeling Language Course


Course Details

Length: 5 day(s)      Public Class Price: $2,800/person      Group Onsite Price: Request Quote      Course Category: Computer Programming | 203203 object-oriented-analysis-design-uml

Course Description:

In this 5-day course students learn how to use Object-Oriented techniques to analyze real-world requirements and to design solutions that are ready to code.

Group Classes for Businesses - Onsite at Your Office

Have a group of employees needing the same training? We can come onsite to your office and hold a course. Request Free Quote

Corporate Classes - Classes are $2,800 per employee.

Upcoming Class Dates: Click dates below to register & view location/attendance options. Must register at least 14 days before class.


Knowledge Pre-Requisites


Suggested Follow-Ons


Course Lessons:


1. Introduction to Analysis and Design
Why is Programming Hard?
The Tasks of Software Development
Modules
Models
Modeling
Perspective
Objects
Change
New Paradigms

2. Objects
Encapsulation
Abstraction
Objects
Classes
Responsibilities
Attributes
Composite Classes
Operations and Methods
Visibility
Inheritance
Protected and Package Visibility
Scope
Class Scope

3. Advanced Objects
Constructors & Destructors
Instance Creation
Abstract Classes
Polymorphism
Multiple Inheritance
Solving Multiple Inheritance Problems
Interfaces
Interfaces with Ball and Socket Notation
Templates

4. Classes and Their Relationships
Class Models
Associations
Multiplicity
Qualified Associations
Roles
Association Classes
Composition and Aggregation Dependencies
Using Class Models

5. Sequence Diagrams
Sequence Diagrams
Interaction Frames
Decisions
Loops
Creating and Destroying Objects
Activation
Synchronous & Asynchronous
The Objects Drive the Interactions
Evaluating Sequence Diagrams
Using Sequence Diagrams

6. Communication Diagrams
Communication Diagrams
Communication and Class Diagrams
Evaluating Communication Diagrams
Using Communication Diagrams

7. State Machine Diagrams
What is State?
State Notation
Transitions and Guards
Registers and Actions
More Actions
Internal Transitions
Superstates and Substates
Concurrent States
Using State Machines
Implementation

8. Activity Diagrams
Activity Notation
Decisions and Merges
Forks and Joins
Drilling Down
Iteration
Partitions
Signals
Parameters and Pins
Expansion Regions
Using Activity Diagrams

9. Package, Component, and Deployment Diagrams
Modeling Groups of Elements – Package Diagrams
Visibility and Importing
Structural Diagrams
Components and Interfaces
Deployment Diagram
Composite Structure Diagrams
Timing Diagrams
Interaction Overview Diagrams

10. Use Cases
Use Cases
Use Case Diagram Components
Actor Generalization
Include
Extend
Specialize
Other Systems
Narrative
Template for Use Case Narrative
Using Use Cases

11. Process
Process
Risk Management
Test
Reviews
Refactoring
History
The Unified Process
Agile Processes

12. The Project
Inception
Elaboration

Elaboration II
Construction Iterations
Construction Iterations - The Other Stuff

13. Domain Analysis
Top View – The Domain Perspective
Data Dictionary
Finding the Objects
Responsibilities, Collaborators, and Attributes
CRC Cards
Class Models
Use Case Models
Other Models
Judging the Domain Model

14. Requirements and Specification
The Goals
Understand the Problem
Specify a Solution
Prototyping
The Complex User
Other Models
Judging the Requirements Model

15. Design of Objects
Design
Factoring
Design of Software Objects
Features
Methods
Cohesion of Objects
Coupling between Objects
Coupling and Visibility
Inheritance

16. System Design
Design
A Few Rules
Object Creation
Class Models
Interaction Diagrams
Printing the Catalog
Printing the Catalog II
Printing the Catalog III
Object Links
Associations

17. Refactoring
Refactoring
Clues and Cues
How to Refactor
A Few Refactoring Patterns

18. Appendix A – UML Syntax

19. Appendix B – Design by Contract
Contracts
Enforcing Contracts
Inheritance and Contracts

20. Appendix C – University Summary

21. Appendix D – Implementations
C++
Java
C#

Computer Programming Classes by Location

Albany Computer Programming classes       Louisville Computer Programming classes      
Allentown Computer Programming classes       Lubbock Computer Programming classes      
Amarillo Computer Programming classes       Malvern Computer Programming classes      
Atlanta Computer Programming classes       Melville Computer Programming classes      
Austin Computer Programming classes       Memphis Computer Programming classes      
Baton Rouge Computer Programming classes       Miami Computer Programming classes      
Beaver Creek Computer Programming classes       Midland Computer Programming classes      
Bedford Computer Programming classes       Milwaukee Computer Programming classes      
Bentonville Computer Programming classes       Minnetonka Computer Programming classes      
Billings Computer Programming classes       Mobile Computer Programming classes      
Birmingham Computer Programming classes       Naples Computer Programming classes      
Boston Computer Programming classes       New Orleans Computer Programming classes      
Bridgewater Computer Programming classes       New York City Computer Programming classes      
Burlington Computer Programming classes       North Charleston Computer Programming classes      
Burlington Computer Programming classes       Oklahoma City Computer Programming classes      
Charlotte Computer Programming classes       Omaha Computer Programming classes      
Chattanooga Computer Programming classes       Peachtree Corners Computer Programming classes      
Cheshire Computer Programming classes       Pensacola Computer Programming classes      
Chicago Computer Programming classes       Philadelphia Computer Programming classes      
Cincinnati Computer Programming classes       Pittsburgh Computer Programming classes      
Cleveland Computer Programming classes       Portland Computer Programming classes      
Columbus Computer Programming classes       Raleigh Computer Programming classes      
Dallas Computer Programming classes       Roanoke Computer Programming classes      
Des Moines Computer Programming classes       Rochester Computer Programming classes      
Erie Computer Programming classes       Saginaw Computer Programming classes      
Fairfax Computer Programming classes       San Antonio Computer Programming classes      
Fort Lauderdale Computer Programming classes       Sioux Falls Computer Programming classes      
Frederick Computer Programming classes       South Bend Computer Programming classes      
Grand Rapids Computer Programming classes       St. Louis Computer Programming classes      
Henderson Computer Programming classes       Stamford Computer Programming classes      
Houston Computer Programming classes       Tallahassee Computer Programming classes      
Huntsville Computer Programming classes       Tampa Computer Programming classes      
Indianapolis Computer Programming classes       Tulsa Computer Programming classes      
Jackson Computer Programming classes       Virginia Beach Computer Programming classes      
Jacksonville Computer Programming classes       Waco Computer Programming classes      
Knoxville Computer Programming classes       West Palm Beach Computer Programming classes      
Largo Computer Programming classes       White Plains Computer Programming classes      
Laurel Computer Programming classes       Wilmington Computer Programming classes      
Lexington Computer Programming classes       Winter Park Computer Programming classes      
Livonia Computer Programming classes      

Course Benefits

Quality Instructors

Live online instruction allows complete interaction between students & instructor.

Complete Lab Environment

Access to software required is provided in a lab environment during class.

Hands-on Learning

Most classes are not all lecture - you can learn by actually doing.


Small Classes

You get more attention from the instructor and classes flow more smoothly.

Post-Class Lab Access*

Access practice lab environment for 180 days after most classes*.


Low Cancellation Rate

Most classes run as scheduled.



*These courses do not have post-class lab environment access: Adobe, Salesforce, QuickBooks Online Edition, Google, HTML, WordPress, ITIL, Six Sigma, CompTIA, Project Management, SEO, Social Media.