Object Oriented Analysis and Design with UML

A detailed and practical grounding in Object Oriented techniques and UML notations

Many Business Managers have adopted UML notation to describe business processes as a first step towards process maturity. Outsourcing partners will often use UML to capture the aspects of workflow as an initial step towards agreeing functional requirements for a new system or to investigate opportunities for process automation.  This course is split 50/50 between presentations and practical exercises.

Course Code
5 Days
Delivery Style
Course Type
Public or Private
Max Delegates
Available as Nutshell

Book your virtual training

  • Date
  • Venue
  • Cost
  • More info

Book your place

Purpose of this course

Unified Modelling Language (UML) is a standardized general-purpose modelling language that includes a set of graphic notation techniques to create visual models which describe a system's architectural blueprints - but UML is not a process in itself. Course attendees will build UML diagrams as they follow the Unified Process through different stages in system development, from inception all the way to delivery. Each stage will focus upon a particular activity in the Unified Process, leading to the production and refinement of UML diagrams capturing outcomes of that activity.

Who is this course for

Anyone involved in the Software Development lifecycle - Business Analysts, Systems Architects, Designers, Programmers, Testers, Change and Release Managers, Project Managers, Technical Managers.

Individuals involved in ITIL Service Design, looking at a means of accurately capturing business requirements prior to transformation into service acceptance criteria and service level requirements. Process managers looking to create process documentation for workflow analysis.

You will learn how to
  • Capture functional and non-functional business requirements for a new system
  • Follow the Unified Process to transform requirements into a working system
  • Describe, design and develop the new system using different UML diagrams
  • Understand object-orientated concepts to describe objects in a business model
Benefits for your organisation

Following an established standardised methodology brings a greater understanding, improved clarity and has reduced variance, risk and costs overall.  Allowing UML diagrams to emerge during process progression means documentation is created more naturally and validated against business requirements easier. Using standard UML notation for system documentation quickens understanding when implementing change, meaning more maintainable systems that facilitate easy and quick modifications, reducing risk and unexpected side-effects.

Benefits for you as an individual

A picture tells a thousands words. Everyone has, at some point, used a diagram to convey their thoughts knowing that images improve clarity of understanding and articulate key facts faster. Wouldn't it be a nice idea if there were a standard set of recognisable diagrams everyone could use? That's partly the idea behind UML.  But that's not all. Many programmers and developers that are loathe to create documentation alongside code find that UML presents the documentation for them, leaving them to create functional code.

Programming, coding, system building - they're all works of art. No reason why documentation can't be also!

Introduction to UML

What is the UML?
Contents of the UML

The Development Process

UML and Processes
Design Methodologies
The Process used in the Course

Thinking in Objects

Classes & Instances
Object Identity

Use Cases

Use Cases and Process
What is a Use Case?
Use Case Diagrams
Use Case Description
Use Case & Actor Relationships
Validating Use Case
Capturing Non Functional Requirements - FURPS +

Activity Diagrams

Exploring a Process

Analysis Classes

Class Stereotypes
What are Analysis Classes?

Interaction Diagrams

Sequence Diagrams
Relating Sequence Diagrams to Analysis Classes
Combined Fragments in UML 2
Collaboration Diagrams

Class Diagrams

Depicting a Class
Class Relationships

Components and Subsystems

Benefits of Using Components
Subsystem Internals
Component Stereotypes
Deployment Diagrams


Implementing Subsystems
Introducing JDBC
JDBC Mechanism


Grouping Artefacts
Packaging Classes
Layering Packages
Package Contents
Visibility and Packages


Statechart Concepts
States, Transitions & Events
Initial & Final Pseudo-States
Completion Transitions
Reserved Words
Guard Conditions
Execution Sequence
Implementing Statecharts


A basic understanding of system development concepts is an advantage, but no prior knowledge is required.