Modern software systems consist of several components interacting in various ways in a distributed setting. The systems may have to satisfy quality requirements such as a short time-to-market, extreme reliability and robustness, or hard real-time constraints. Such challenges need to be taken into consideration from the earliest stages of development, as initial decisions may have far-reaching and disastrous consequences for the completed system.
Software architecture is the discipline concerned with model-based description and analysis of software systems with a view to satisfying the (often contradictory) concerns of stakeholders. The software architecture of a system is a high-level description of its components and their interactions.
The central theme of this course is balancing the concerns and requirements of stakeholders, combining these into an architecture proposal by employing known tactics and patterns, producing a description of the architecture that can be communicated and analysed, and evaluating the resulting architecture's qualities.
European e-Competence Framework
A.4 (Specification Creation) level 4
A.5 (Systems Architecture) level 4
A.6 (Application Design) level 3
ACM Computing Classification System
D.2.7 (Distribution, Maintenance, and Enhancement)
D.2.11 (Software Architectures)
The learner must have knowledge and experience with object oriented programming and design, including experience with UML. The learner should also have some knowledge about software requirements.
If you want to enrol into this course, please go to this page.