Software Architecture

Faculteit Science and Engineering
Jaar 2021/22
Vakcode WMCS004-05
Vaknaam Software Architecture
Niveau(s) master
Voertaal Engels
Periode semester I a

Uitgebreide vaknaam Software Architecture
Leerdoelen At the end of the course, the student is able to:
1. Communicate architecture concepts such as architecture drivers, components, connectors and views.
2. Communicate with different software project stakeholders through architecture abstractions and frame stakeholder concerns.
3. Make architecture design decisions based on design space exploration.
4. Analyze, synthesize and evaluate a software architecture.
5. Plan the evolution of a software architecture.
Omschrijving Architecture is considered of paramount importance for the success of a software engineering project for the following reasons: a) it is the vehicle for stakeholder communication, providing a common language for them to reason and negotiate; b) it manifests the earliest set of design decisions, therefore constraining the implementation, shaping the organizational structure and supporting or diminishing quality attributes; c) it is a transferable abstraction of a system that provides the blueprint for implementation, can be reused across different applications or projects, and constitutes the basis for training. An industrial heuristic that illustrates the importance of architecture is the 10/90 rule: architecting lasts for only 10% of the lifecycle, but determines 90% of the added value, costs and risks. The course consists of a theoretical and a practical part. During the theoretical part, the main aspects of
software architecting will be discussed, including the software architecting process, description of software architectures, architecture evaluation, architecture design, architectural patterns, and architecture knowledge. The practical part consists of the
design of the architecture of a non-trivial system in groups. This activity will be supported by an intensive coaching, consisting of several reviews and student presentations.
Uren per week
Onderwijsvorm Hoorcollege (LC), Practisch werk (PRC)
(Taking part in the practical work (architecting project) is mandatory. This includes not only the group work but the eight scheduled coaching sessions. Missing out on this participation will resuldt in the grade being reduced accordingly.)
Toetsvorm Practisch werk (PR)
(The grade is composed from the result of the architecting project (including presentation) per group, weighted by the assessment of the individual contributions. Taking part in the architecting project is mandatory, including 8 coaching sessions. Missing out on this participation will reduce the grade accordingly. In the case of failing the course, a student may be reassessed on an extra project.)
Vaksoort master
Coördinator Prof. Dr. ir. P. Avgeriou
Docent(en) Prof. Dr. ir. P. Avgeriou
Verplichte literatuur
Titel Auteur ISBN Prijs
An article compendium with 80 scientific articles
A list of 5 recommended and 20 optional books
Project description with guidelines
Lecture slides
A document with hints on the project
Nestor pages
Peer evaluation forms
Entreevoorwaarden The course unit assumes prior knowledge acquired from a course in Software Engineering, from a BSc in Computer Science or Software Engineering.
Opgenomen in
Opleiding Jaar Periode Type
MSc Computing Science: Science Business and Policy  (Elective course units) 1 semester I a keuze
MSc Computing Science: Software Engineering and Distributed Systems  (Compulsory course units) 1 semester I a verplicht
MSc Courses for Exchange Students: AI - Computing Science - Mathematics - semester I a