CRaG Systems Modelling Training
and Consultancy    01782 785045
UML Training Courses Download a pdf version of this page

System Analysis, Architecture and Design using UML Training Course - 5 Days

This UML training course is aimed at system architects, analyst/programmers and developers who want to define detailed outside-in system requirements using use cases, a detailed implementation-free model of the system from those requirements and a layered, component-based, model of system architecture and design in order to maximise the maintainability, re-use and extensibility of the resulting code. The industry best practice modelling techniques are based on the Unified Modelling Language v2.5 and are taught within the context of a model-driven software development process.

The modelling employed is applicable to a wide variety of technologies, sufficiently detailed for code generation and traceable from requirements through to code. The advantages that using these techniques has for estimation, test development and management is discussed. Each technique is taught to the level required for competence on a real project. Understanding is tested with exercises based on a real-world project example using either Sparx Systems Enterprise Architect or another suitable UML modelling tool.

Delegates will learn:
  • The basics and the necessary detail of the Unified Modelling Language
  • The basics and the detail of an object oriented approach - OOAD
  • How to create a first cut overview of functional requirements with actors and use cases on a use case diagram
  • How to write an effective use case description in a way that satisfies both non-technical and technical stakeholders
  • How to restructure the use case diagram to handle complex relationships between use cases without bloating the use case model
  • How to integrate the use case model with non-functional requirements, data requirements, business rules and screen prototyping
  • How to create a detailed model of system data using classes and their relationships
  • How to recognise complex data constructs and to use the appropriate syntax to model them
  • How to map the functionality of the system requirements onto the object model using sequence diagrams
  • How to structure the modelling in the form of a use case implementation
  • How to model the dynamics of system data and functionality using state machine diagrams
  • How to model at a consistent level of abstraction
  • How the modelling performed during system analysis fits into an incremental model-driven development process
  • How to develop a flexible system architecture from an object oriented analysis model
  • How to develop component and deployment models for the system
  • How to model the design of a component using sub-systems and interfaces
  • How to build libraries of re-useable classes using generalisation and inheritance
  • How to model the use of technology and frameworks as series of design patterns
  • How to integrate libraries and frameworks into the design of components
  • How to generate frame code and keep the design and code models synchronised
  • How to specify, analyse, architect, design, build, test and deliver components as part of an incremental model-driven development process
Suitable for:
Suitable for

System Architects, System Designers, Developers and Analyst/Programmers with at least 2 years experience, preferably in a modern object-oriented language. This course is not suitable for those seeking certification as a step towards a qualification. See the Certification Policy for a detailed discussion.

Course and Workshop Timings:
Course Timings

Courses normally start at 9.30am on the first day, 9.00am on subsequent days and finish at 5.00pm each day with an hour for lunch and a 15 minute break in the morning and again in the afternoon. Course attendance is normally limited to 12 students.

On-Site (In-House) Course Logistics:
View the on-site course logistics for this course

The client is expected to provide an appropriate venue, refreshments, high resolution projector or large screen, whiteboard or flipchart and at least one computer per two students loaded with at least the evaluation version of Enterprise Architect or another suitable modelling tool. For a discussion of the use of modelling tools, please see Modelling Tool Use on Courses. A printed course manual with copies of all presentations, exercises and solutions will be provided for each student. For a full discussion of on-site course logistics please see On-Site Course and Workshop Logistics.

Remote (Online) Course Logistics:
View the remote course logistics for this course

The client is expected to provide an appropriate conferencing service that allows the instructor to join the online meeting, share their screen, talk to each and every student on the course and view their screen if necessary to support their individual modelling work. They should also provide a computer for each student loaded with at least the evaluation version of Enterprise Architect or another suitable modelling tool. For a discussion of the use of modelling tools, please see Modelling Tool Use on Courses. Copies of all presentations, exercises and solutions will be provided electronically. For a full discussion of remote course logistics please see Remote Course and Workshop Logistics.

Course and Workshop Pricing:
Get a price for this course or workshop now

A firm quotation for this course or workshop, delivered either onsite (in-house) at your UK-based premises or remotely (online), can be obtained from one of the Course and Workshop Price Calculators available on the CRaG Systems site. For on-site courses outside the UK, custom courses, or classes of greater than 12 students, please email: or call +44 (0)1782 785045.

Training Course Outline

Day 1

People - Course Structure - Object Orientation - The Unified Modelling Language - Use Cases and System Analysis - A Process for Modelling
Specifying Functional Requirements with Use Cases
System Use Cases and Actors - Primitive Use Cases and the Basic Flow - Writing Effective Use Case Descriptions - Writing Sub-flows and Alternate Flows - 'Include' and 'Extend' Relationships - Modelling Browser-Based Applications
System Use Case Workshop
Requirements Gathering
Collecting Requirements Information - Proof of Concept Prototypes - Requirements Documents - Estimating and Traceability - Incremental Development

Day 2

Objects and Classes
What is an Object? - Classes and Objects - Attributes - Operations and Methods - Designing Good Classes - Generalisation and Inheritance - Choosing the Best Classes
Object and Class Workshop
Object Modelling with Class Diagrams
Associations and Links - Navigability and Naming - Multiplicity and Other Adornments - Association Classes and N-arys - Aggregation and Composition
Class Diagram Workshop

Day 3

Interaction Modelling with Sequence Diagrams
Interactions, Messages, Operations and Methods - Sequence Diagrams - Selection and Iteration - Activation - Communication Diagrams
Sequence Diagram Workshop
State Modelling with State Machine Diagrams
The Meaning of the State Model - States and Transitions - Events and Conditions - Actions and Activities - Consistency with Other Diagrams
State Machine Diagram Workshop
System Analysis
Creating the Initial Object Model - The Analysis Cycle - Iterative Modelling - Prototyping as an Analysis Technique - Completing the Model

Day 4

Architecture, Components and Implementation Diagrams
Packages and Dependencies - Stereotypes - Control Objects - Layered Architectures - Interfaces, Subsystems and Components - Task Modelling - Component Diagrams - Deployment Diagrams
System Architecture Workshop
Class Relationships and Inheritance
Class Similarities and Differences - Generalisation Syntax - Generalisation Hierarchies - Multiple Inheritance - Polymorphism - Generalisation Versus Interface - Class Dependency
Generalisation Workshop

Day 5

Design Patterns
Reflexive Aggregate - Collection Class - Observer - State Machine - Meta-Model - Modelling Patterns
Design Patterns Workshop
Detailed Design
Subsystem Design - Architectural Mechanisms - Linking to Libraries and Frameworks - Visibility and Other Properties - Completing the Model - Incremental Development - Traceability and Review
Detailed Design Workshop

Should the content of the available UML training courses not fit your exact requirements, then CRaG Systems can create a custom course for you. Please either email or call us to discuss your particular needs.

UML, BPMN, SysML and the corresponding logos are trademarks of the Object Management Group

Enterprise Architect, Sparx Systems and the corresponding logos are trademarks of Sparx Systems

CRaG Systems (UK)    01782 785045

   Privacy policy    Site Map    HTML

System Analysis, Architecture and Design using UML Training Course - 5 Days