Shopping Cart :Check Out

UML Training


A good understanding of object-oriented analysis and design is important in designing effective systems using modern software engineering languages and frameworks such as C++, .NET and Java™. This five-day course teaches you how to use object-oriented techniques to analyze real-world requirements and to design solutions that are ready to code. The course employs Unified Modeling Language, using UML 2.0 notation.


All attendees should have prior programming experience. No prior object-oriented development experience is presumed.


• Learn how to identify and design objects, classes, and their relationships to each other
• Use links, associations, and inheritance
• Use diagram notation for use cases, class and object representation, links and associations, and object messages
• Gain a working knowledge UML 2.0
• Apply knowledge of OOAD to design an object-oriented system which can be implemented in an object-oriented language

Duration :

5 Days

Course Contents

Introduction to Analysis and Design Objects Advanced Objects
Why is Programming Hard? Encapsulation Constructors & Destructors
The Tasks of Software Development Abstraction Instance Creation
Modules Objects Abstract Classes
Models Classes Polymorphisms
Modeling Responsibilities Polymorphism Example
Perspective Attributes Multiple Inheritance
Objects Composite Classes Solving Multiple Inheritance Problems
Change Operations and Methods Interfaces
New Paradigms Visibility Interfaces with Ball and Socket Notation
Inheritance Templates
Inheritance Example
Protected and Package Visibility
Classes and Their Relationships Sequence Diagrams Communication Diagrams
Class Models Sequence Diagrams Communication Diagrams
Associations Interaction Frames Communication and Class Diagrams
Multiplicity Decisions Evaluating Communication Diagrams
Qualified Associations Loops Using Communication Diagrams
Roles Creating and Destroying Objects
Association Classes Activation - 2.0
Composition and Aggregation Synchronous & Asynchronous
Using Class Models The Objects Drive the Interactions
Evaluating Sequence Diagrams
Using Sequence Diagrams
State Machine Diagrams Activity Diagrams Package, Component, and Deployment Diagrams
What is State? Activity Notation Modeling Groups of Elements - Package Diagrams
State Notation Decisions and Merges Visibility and Importing
Transitions and Guards Synchronization Structural Diagrams
Registers and Actions Drilling Down Components and Interfaces
More Actions Iteration Deployment Diagram
Internal Transitions Partitions
Superstates and Substates Parameters and Pins
Concurrent States Expansion Regions
Using State Machines Using Activity Diagrams
New Models in UML 2.0 Use Cases Process
New to UML 2.0 Use Cases Process
Composite Structure Diagrams Use Case Diagram Components Risk Management
Timing Diagrams Use Case Diagram Test
Interaction Overview Diagrams Actor Generalization Reviews
Include and Extend Refactoring
Other Systems History
Narrative The Unified Process
Template for Use Case Narrative Agile Processes
Using Use Cases
The Project Domain Analysis Requirements and Specification
Inception Top View - The Domain Perspective The Goals
Elaboration Data Dictionary Understand the Problem
Elaboration II Finding the Objects Specify a Solution
Construction Iterations Responsibilities, Collaborators, and Attributes Prototyping
Construction Iterations - The Other Stuff CRC Cards The Complex User
Class Models Other Models
Use Case Models Judging the Requirements Model
Other Models
Judging the Domain Model
Design of Objects System Design Refactoring
Design Design Refactoring
Factoring A Few Rules Clues and Cues
Design of Software Objects Object Creation How to Refactor
Features Class Models A Few Refactoring Patterns Conclusion
Methods Interaction Diagrams
Cohesion of Objects Printing the Catalog
Coupling between Objects Printing the Catalog II
Coupling and Visibility Printing the Catalog III
Inheritance Object Links

Training Programs