Software Architecture
Faculteit | Science and Engineering |
Jaar | 2021/22 |
Vakcode | WMCS004-05 |
Vaknaam | Software Architecture |
Niveau(s) | master |
Voertaal | Engels |
Periode | semester I a |
ECTS | 5 |
Rooster | rooster.rug.nl |
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 |
|
||||||||||||||||||||||||||||||||
Entreevoorwaarden | The course unit assumes prior knowledge acquired from a course in Software Engineering, from a BSc in Computer Science or Software Engineering. | ||||||||||||||||||||||||||||||||
Opmerkingen | |||||||||||||||||||||||||||||||||
Opgenomen in |
|