Course
- Developing Real-Time Systems using Structured Techniques
Course description:
This course provides a sound, rigorous and
practical grounding in the principles and practices of structured design techniques.
It is based primarily on the
Yourdon/Ward-Mellor approach, concentrating mainly on the area of real-time
embedded systems. Examples, exercises and workshops, supported by the use of
a CASE tool, are based on real-time examples.
All lecturers are experienced
in the design and development of real-time embedded systems for a wide range
of industries.
Course objectives:
To provide an understanding of the software design principles
of structured 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.
Delegates will learn:
The fundamental concepts and terminology of Yourdon/Ward-Mellor
structured techniques.
The diagrammatic and modelling underpinnings of structured 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.
Prerequisites:
Some experience of programming.
Some understanding of real-time software development processes.
Who should attend:
This course is aimed at those involved in the design,
development and maintenance of real-time embedded systems. Two particular groups
will find it of special
interest:
Those new to real-time software systems.
Experienced designers who lack
formal training in real-time design techniques.
Duration: Five days.
Course material:
Delegate handbook.
Full set of notes based on the textbook ‘Real-Time Software Systems’,
by J.E.Cooling.
All worked examples and solutions.
Course workshop:
Approximately 50% of the course is concerned with the practical
application of design principles. This work is supported by the PC-based CASE
tool which
is included with the course textbook. Delegates, working in small groups, gain
hands-on experience in applying the concepts to practical problems. All examples
are based on real-time embedded system requirements.
Course content:
Designing and building programs
An introduction to structured programs and the structure chart.
Applying top-down and stepwise refinement principles.
Diagramming techniques in program design.
Designing and building software machines
An introduction of software machines.
Modularization principles and practices.
Organizing and structuring software
Introduction to data flow diagrams
(DFDs)
Limitations of the structure chart.
Data flow diagrams – syntax and semantics.
Systematic, top-down DFD methods.
Describing data: Pspecs and the data dictionary.
Design using DFD techniques
Basic objectives and techniques.
Applying the design methods – an initial design.
Design maintenance and traceability issues.
Defining system dynamic behaviour.
Dynamic behaviour, system dynamics
and the state transition diagram (STD).