uml training courses > integrated courses > real-time object oriented analysis & design

Real-time Object Oriented Analysis and Design using UML Training Course - RT OOAD UML - 5 Days Non RT version here Download a pdf version of this page
This UML training course is aimed at system architects, designers and developers who want to define use case based requirements of real-time and embedded systems, a detailed object oriented implementation-free analysis model from those requirements and a layered, component-based, real-time system architecture and design model. Industry best practice modelling techniques are based on the Unified Modelling Language v2.0 and are taught within the context of a model-driven development process. The modelling used is applicable to a wide variety of technologies, sufficiently detailed for code generation and traceable from requirements through to code. The advantage that using these techniques have for estimation, test development and project management is discussed. Each technique is taught to the level required for competence on a real project. Understanding is tested and improved with exercises based on a real-world project example and using a suitable case tool.
Delegates will learn:
  • The basics and the necessary detail of the Unified Modelling Language
  • The basics and the detail of Object Orientation
  • How to create a first cut overview of functional requirements for real-time and embedded systems 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 structure and 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 statecharts
  • 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 real-time 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 real-time and embedded 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 real-time and embedded systems as part of an incremental model-driven development process
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 UML Certification for a detailed discussion.
On-Site Courses:
Training courses are delivered at the clients' site and attendance is limited to 12 students. Courses normally start at 9.30am on the first day and 9.00am on subsequent days. Courses normally finish at 5.00pm each day. The client is expected to provide an appropriate venue, equipment and refreshments. Required equipment includes an SVGA/XGA projector and screen, whiteboard or flipchart and at least one computer per two students loaded with a UML case tool. For a discussion on case tool use please see Case Tool Use on Courses. Printed course manuals for each student with copies of all presentations, exercises and solutions are provided. For a full discussion of on-site course issues please see On-Site Course Logistics.
Scheduled Public Courses:
This course is currently not available as scheduled public training. Please see the Scheduled Public Courses page for available courses.


Training Course Outline

Day 1

Introduction
People - Course Structure - Object Orientation - Unified Modelling Language - Use Cases and System Analysis - An Incremental Process for Modelling
Specifying Functional Requirements with Use Cases
Actors and Use Cases - Primitive Use Cases and the Basic Flow - Writing Effective Use Case Descriptions - Writing Sub-flows and Alternate Flows - 'Include' and 'Extend' Relationships - Modelling Timing Constraints
Use Case Workshop
Scoping
Collecting Requirements Information - Proof of Concept Prototypes - Requirements Documents - Estimation and Traceability - Incremental Development - Gaining Agreement

Day 2

Scoping Workshop
Objects and Classes
What is an Object? - Classes and Objects - Attributes - Operations and Methods - Designing Good Classes - Choosing the Right Classes
Object and Class Workshop
Object Relationships
Associations and Links - Navigability and Naming - Multiplicity and Other Adornments - Association Classes and N-arys - Aggregation and Composition
Object Relationship Workshop

Day 3

Interaction Modelling
Interactions and Messages - Operations and Methods - Sequence Diagrams - Selection and Iteration - Activation - Collaboration Diagrams - Timing
Interaction Modelling Workshop
State Modelling
The Meaning of the State Model - States and Transitions - Events and Conditions - Actions and Activities - Consistency with Other Diagrams - Advanced Syntax - Implementation
State Modelling Workshop
System Analysis
Creating the Initial Object Model - The Analysis Cycle - Iterative Modelling - Interface Prototyping - Completing the Model

Day 4

System Analysis Workshop
Architecture, Components and Implementation Diagrams
Packages and Dependencies - Stereotypes - Control Objects - Layered Real-time Architectures - Interfaces, Subsystems and Components - Tasking - Component Diagrams - Deployment Diagrams
System Architecture Workshop
Class Relationships and Inheritance
Class Similarities and Differences - Generalisation Syntax - Generalisation Hierarchies - Multiple Inheritance - Libraries - Class Dependency
Generalisation Workshop

Day 5

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