With the adoption of the UML (2.0) specification by the Object Management Group, a major step forward has been made in making the modelling of complex enterprise systems feasible in practice.
This course focuses on advanced possibilities in UML 2.0 compared to versions 1.x of the specification. It treats many aspects of the UML 2.0 specification that are specifically introduced to make semantics precise and executable.
It also addresses profiling in the UML using the extension mechanisms. All these aspects are presented in the light of the UML architecture by a selective use of parts of the UML meta-model and discussion on rationales.
Exercises and case studies help to get a feeling for why, how and when modelling aspects of UML should be applied.
Delegates are provided with comprehensive course notes which are used during the course to support assignment work. These are a valuable reference source to assist delegates develop effective UML models.
Course content has been developed for real-world, commercial scenarios by our expert instructors. See below for detailed syllabus, or if you have a technical question, please email email@example.com
What you will learn
Add or adapt modelling capabilities belonging to a particular application domain;
Adapt the standard concepts and notations offered by the UML to specific local development and configuration management practices;
Model and construct model transformations to introduce recurring software architectural features in the developed software products.
Participants will be able to work with the full range of UML elements;
Create extremely large, complex UML models;
Use and create UML profiles;
Capability of managing a large UML development team.
Advanced UML Training Course Outline
Tools and techniques for identification and analysis of requirements.
Volere and FURPS guidelines.
Identifying business objects.
Use-Case driven Requirements analysis.
The supplementary specification.
What goes into the supplementary specification?
Making a Glossary document.
Deciding on a Go/No-Go for the Project.
Thinking in terms of Service Orientation
Fine grained vs coarse grained services
Not everything must be reusable
Mapping Use cases to service types
Organizing the Domain model
When to split the domain model.
Criteria to group conceptual classes together.
Using packages to organize the domain model.
Exercise: create service packages.
Linking the domain model to the collaborations.
From Analysis to Design
Wrap up of the Analysis activities.
Communication between team members.
Sharing work between analyst & developer.
The way forward: design tasks for the developer.
Using the Input from the Analysts
Interpreting system sequence diagrams.
The domain model.
Assigning responsibilities to classes and objects.
Extracting operations from a sequence diagram.
The Ying/Yang of modeling.
Interaction Diagram Specifics
Detailing object behavior.
The link between message and method.
Operations translated in collaboration diagrams.
UML Objects and messages.
When to use an operation contract?
The 5 categories for an operation contract.
Detailing pre-and post conditions.
Operation contract guidelines.
From domain model to class diagram.
Adding methods to the class diagram.
Showing temporary visibility.
What about method signatures?
UML profiles, stereotypes and tagged values
OCL (Object Constraint Language)
When to use object constraint language?
Using inv, context, pre and post.
OCL and executable UML.
Case study of an airline reservation system.
Exercise: create the domain model.
What are subsystems?
Grouping classes into subsystems.
Criteria to group classes into subsystems.
UML Profiles for Business Modelling
Why a UML profile for frameworks?
Business process modelling
Formal business modelling using UML and the Eriksson/Penker patterns
Hands on tool-specific exercises
Tracing business models to systems specifications
Fine tuning the Domain Model
Composition and Aggregation.
Inheritance and Specializations.
Component interface description
What makes a good component and interface
Issues in component design
Principles of componentisation
Principles of component design for reuse/product families, extensibility, etc.
Lessons learned on real-world projects
Model Driven Architecture (MDA)
Subsystem and Component Architectural Patterns
Concurrency and Resource Management Patterns
Distribution Design Patterns
Reliability Design Patterns
Usage of Composite Structures
Scenario Modelling and Class
Parts and Ports
Coding Phase & documentation
Tips and tricks for creating code from classes.
Defining classes with collections.
Order of Implementation.
Creating methods from collaboration diagrams.
Component document template
Interface specification template
How to plan the different phases.
Assigning roles to team members.
Aligning Business and IT.
Project management issues.
SOA and executable UML.