UML Essentials

4 Day Course
Code PSD026

Book Now - 1 Delivery Method Available:

Classroom Virtual Classroom Private Group - Virtual Self-Paced Online


The Unified Modeling Language (UML) is the industry standard notation for describing object-oriented systems. It can be used as a medium for describing existing systems as well as for communicating the requirements and structure of new ones. The notation includes a number of diagram types that can be applied from analysis, through design and to system deployment. Although independent of development lifecycle, UML is intended to support iterative and incremental, and architecture-centric development.

The Essential UML course presents analysis and design concepts structured around the notation of UML. It develops the concepts and introduces the notation through lectures, discussion, individual exercises and a team-based case study.


Collapse all

Development Concepts (9 topics)

  • Lifecycle
  • Iterative and incremental development
  • Requirements
  • Analysis
  • Design
  • Architecture
  • Patterns and idioms
  • Refactoring
  • Object orientation

Modelling (4 topics)

  • Purpose of a model
  • UML
  • Static and dynamic models
  • Logical and physical models

Use Cases (6 topics)

  • Scope and system boundary
  • Actors and use cases
  • Use case documentation
  • Use case relationships
  • Use case instances
  • Use case guidelines

Class and Objects (7 topics)

  • Class diagrams
  • Object diagrams
  • Operations and attributes
  • Visibility
  • Class specialisation and generalisation
  • Interfaces and realisation
  • Parameterised classes

Object Relationships (7 topics)

  • Dependency, association, aggregation and composition
  • Multiplicity
  • Navigability
  • The Composite pattern
  • Constraints
  • Qualified associations
  • Association classes

Interaction (5 topics)

  • Sequence diagrams
  • Collaboration diagrams
  • Selection and iteration
  • Synchronisation and concurrency
  • Collaborations and patterns

Delegation (6 topics)

  • Delegation principles
  • The Adapter pattern
  • The Proxy pattern
  • The Null Object pattern
  • Object factories and the Factory Method pattern
  • The Manager pattern

State and Activity (7 topics)

  • Stateful and stateless objects
  • State charts
  • Composite states
  • Concurrent states
  • The Objects for States pattern
  • The Collections for States pattern
  • Activity diagrams

Packages (6 topics)

  • Framework and library architecture
  • Dependency management
  • The Layers pattern
  • Interfaces and interface decoupling
  • The Observer pattern
  • The Role Decoupling pattern

Components and Deployment (5 topics)

  • Component diagrams
  • Interfaces
  • Deployment diagrams
  • Component environments
  • Multi-tier architectures

Development Process (6 topics)

  • Rational Unified Process
  • Inception, elaboration, construction and transition
  • Agile process
  • Prototyping
  • Testing and integration
  • Applying patterns


The course is suitable for software developers familiar with object-oriented principles and practices. Programming experience is assumed. Any previous experience with object-oriented programming or notations is advantageous.

Course PDF


Share this Course


Recommend this Course