Modern embedded software design is constrained by an ever-growing set of constraints:
- Increasing software complexity.
- Decreasing time-to-market.
- The need to produce flexible, maintainable systems.
- The need to have rigorous engineering in critical systems.
These factors are driving the need for cohesive design methodologies and the use of modelling.
This is a detailed software design course which focuses on designing Real-Time Embedded Systems, using UML 2 notation to document the proposed design. The focus on design principles and methodologies make this course significantly different to most UML courses, which focus on notation.