Object Oriented Analysis and Design with UML

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

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
OOAD5UML
Duration
5 Days
Delivery Style
Classroom
Course Type
Public or Private
Max Delegates
12
Available as Nutshell
No

Book your team training at your premises

  • 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

History
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
Encapsulation

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
Swimlanes

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

Mechanisms

Implementing Subsystems
Introducing JDBC
JDBC Mechanism

Packages

Grouping Artefacts
Packaging Classes
Layering Packages
Package Contents
Visibility and Packages

Statecharts

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

Prerequisites

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

About the Lead Trainer

No training is dull with Tim. He oozes a real pleasure in teaching people stuff they don’t know. Tim loves developing new courses and sharing his knowledge at many on-site customer locations. In addition to training, Tim is an experienced consultant, advising on company computing requirements.  Did we mention that he also likes to read computing books and blogs in his spare time?