Real-Time Software Design with UML 2.x
|
|
|
| |
|
|
Course Highlights:
A detailed design course which focuses on designing a Real-Time Embedded System (RTES) using UML 2.0 notation to document the proposed design. This makes it significantly different from most UML courses which focus on UML notation above design principles.
Delegates will learn:
- The fundamental concepts and terminology of real-time software techniques.
- 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.
Course Objectives:
- To provide an understanding of the design principles of modern real-time software developments methods.
- 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.
Who Should Attend:
The course is designed for:
- Designers new to the area of real-time software design.
- Developers embarking on projects using UML-based techniques for the first time.
Pre-Requisite:
Some understanding of technical software development methods and some knowledge of a high-level programming language.
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
- Responsibility-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.
|
We are a professional organisation providing training services to companies. We offer a comprehensive range of training courses, workshops and seminars covering every aspects relating to engineering.
We provide various training programs that meet the immediate and future needs of engineers. The training is organised through seminar style, hands-on workshop, project-based tutorial or a mixture to bring the maximum learning benefits to the enginners. |
|
We have a quality pool of leading authorities, worldwide experts and fully trained up professionals who are constantly striving to uncover the pitfalls and best practices of modern technology development. |
 |
|