Kies de Nederlandse taal
Course module: 192111332
Design of Software Architectures
Course info
Course module192111332
Credits (ECTS)5
Course typeCourse
Language of instructionEnglish
Contact M. Aksit
Contactperson for the course M. Aksit
Lecturer M. Aksit
Academic year2017
Starting block
Application procedureYou apply via OSIRIS Student
Registration using OSIRISYes
Learning goals
Software architecture is the structure of a system, which comprises software elements, the externally visible properties of these elements, and the relationships among them. Software architectures include the early design decisions and embody the overall structure that impacts the quality of the whole system. A fundamental difference between software architecture design and software implementation is; within the context of software architecture, designers focus on the fundamental structures of software so that architecture fulfils various quality trade-offs (structure is the focus) whereas in software implementation the focus is mainly realizing the functionality of software (functionality is the focus).The course has some characteristics that the student should be aware of:
  • During the course, the performance of individual students and their groups will be followed closely for the purpose of increasing the performance of students, if possible.
  • The teaching method of this course adopts an interactive approach where the schedule of the lectures and project meetings are interchangeable so that the course is steered according to the performance of the students.
  • The course hours can be used interchangeably for lectures, presentations, project meetings, group meetings and/or for self-study; the schedule updates will be announced at least one week before the date.
  • The attendance is compulsory unless a permission is granted by the lecturer.

After a discussion on the rationale for software architecture, a domain-driven software architecture design method will be provided to derive stable software architectures. Domain knowledge and architectural styles will be applied to structure the software architecture and improve its quality. Finally, scenario-based architecture analysis techniques will be presented to evaluate the architecture. After completing this course successfully, the student can:
Motivate adopting software architecture in developing high quality software.
  • Apply the process for deriving the key concerns for the software architecture (concern analysis).
  • Apply the process for deriving software architecture from solution domains (domain analysis).
  • Apply well-known architectural patterns to improve the quality of the architecture.
  • Analyse software architectures using scenario-based architecture analysis techniques and provide an impact analysis report.
  • Design and analyse architectures for any design problem
Assumed previous knowledge
Software Engineering Modellen (192135100)
Required materials
Recommended materials
Will be downloaded from the website.
Instructional modes

Project supervised


Kies de Nederlandse taal