Real-Time Software Design with UML 2.0
Length: 5 days
view dates and locationsThis course is delivered in co-operation with Doulos' training partner Feabhas, who specialise in training courses for real-time embedded developers.
Course description
Course objectives:
· To show how to develop real-time software in a rigorous and systematic manner.
· To enable attendees to develop their own practical design skills.
· To teach the UML 2.0 design notation for use on RTES.
Delegates will learn
· The diagrammatic and modelling underpinnings provided by UML for OO development methods.
· How to apply the design principles in real-time applications.
· The basics of an integrated, traceable and consistent approach in the development of software for real-time systems.
· Where and how CASE tools can be used in the development process.
Pre-requisites
Who Should Attend
· Designers new to the area of real-time software design.
· Developers embarking on projects using UML-based techniques for the first time.
Course Materials
· All worked examples and solutions
Related courses
Course Workshop
Course Outline:
Introduction to real-time systems design
- An overview of real-time systems
- Incremental design processes
Software machines - fundamentals
- Modularization principles and practices
- Diagramming techniques in program design - the UML activity diagram
Overview of OO design concepts
- Designing systems as sets of collaborating objects
- Classes, objects and their features
- Key design and build issues: software templates, encapsulation, interfacing, information hiding, inheritance and aggregation
Basic class and object modelling
- Design templates, encapsulation, interfacing and information hiding
- Class and object generalisation and specialisation: inheritance
Modelling dynamic behaviour
- State diagrams to define system and object dynamics
- The concepts, syntax and semantics of UML state machine diagrams
Developing the ideal object model
- Object relationships, communication and control in an ideal environment
- Scenarios, sequence diagrams and communication diagrams
- Rresponsibility-based design techniques
- Interfacing to the real-world
Developing the practical sequential (procedural) object model
- Controlling the collective behaviour of objects in sequential code: the coordinator object
- Specifying algorithmic (processing) operations using activity diagrams
Developing the specification model for small systems
- The role of the specification model
- Concurrent and non-concurrent structures - active and passive objects
- Specifying object structures - flat object structure
Concurrent systems and task-based design
- Problems with abstract software design
- Fundamentals of multitasking design
Developing the implementation (tasking) model for small systems
- Mapping the specification model to the tasking model.
Developing medium-sized systems
- Introduction to composite structures, ports and interfaces
- Generating the specification model for composite structures
- Specifying the implementation (tasking) model
Developing larger systems
- Key building blocks - packages and components
- Subsystem structuring of designs
- Implementation modelling
Multi-computer systems
- Multi-computer architectures for real-time systems
- Criteria for mapping software onto hardware
- A practical design technique
Use case analysis
- Use cases for organising and presenting requirements
- Scenarios and use cases
- System scope and direct and indirect actors.
- Modelling actor-system interactions graphically
Case study
- This is based on developing embedded software for a computer-controlled manufacturing test rig.
This course is available now for team-based training at or near to your location. To find out more:
Complete an on-line form and a Doulos representative will get back to you »
Call Doulos to discuss your requirements »
Back to top



