Home/Vakken/Software architecture
INFOMSWA7.5 ECTSQ3EnglishMaster

Software architecture

FaculteitFaculty of Science
NiveauMaster
Studiejaar2026-2027

Beschrijving

Course goals

After this course, the student:
  • understands the key concepts, underlying principles and (formal) foundations of software architecture;
  • can apply the underlying principles and (formal) foundations of software architecture to real-life examples;
  • is able to compare different architecture candidates and their characteristics;
  • understands the trade-offs involved in software architecture design, can perform trade-off analysis;
  • can make well-founded and informed design decisions for a software system based on these analyses;
  • is able to extract architectural information from existing systems and the associated artefacts, including main architectural components and design decisions;
  • understands the impact of non-functional requirements, such as performance, reliability, security on software architecture design;
  • is able to evaluate different modelling techniques, select the appropriate modelling languages, views and perspectives to design and analyze real-life applications;
  • is able to select the appropriate views and perspectives of stakeholders’ concerns;
  • can document software architectures, and the rationale behind the software architectures and its documented principles;
  • is able to architect software systems in a team of architects;
  • can communicate the architecture, its characteristics and the decisions behind the architecture, and present architectural diagrams and documentation to the relevant stakeholders.
Assessment
The course is assessed as follows:
  • team assignment (60% of the final mark)
  • two individual lab session assignments: 10%
  • individual oral exam: 30%
  • architecture debates and architecture evaluations (mandatory formative assessment)
To pass the course, all elements should be at least 5,5.

To qualify for a repair of the final result the mark needs to be at least a 4, or “AANV”.

Content

This course is designed to give students a comprehensive understanding of the principles, practices, and tools for designing and building software systems.
The curriculum includes architectural styles, design patterns, quality attributes, architectural evaluation, and the management of architectural decisions.
Additionally, students will learn methods and best practices for analyzing the consequences of decisions for software, addressing stakeholders and their concerns systematically, and using architecture to assess functional, technical, and quality requirements imposed on the software system.
The course will also briefly cover the latest trends and research in software architecture, such as microservices and cloud computing.

By the end of the course, students will have a strong foundation in software architecture principles and practices and will be able to design, evaluate, and manage the architecture of complex software systems.

Course form
Lectures, guest lectures, practical assignments..

Study material
Course related software, to be announced.

Required reading: 

  • Len Bass, Paul Clements, Rick Kazman (2012) "Software Architecture in Practice" (3rd Edition), SEI Series in Software Engineering, Addison Wesley Professional. ISBN 9780321815736
  • research papers, made available in Brightspace
.Recommended reading: 
  • N. Rozanski, E. Woods (2012) "Software Systems Architecture: Working with Stakeholders Using Viewpoints and Perspectives", Addison Wesley. ISBN 9780321718334 (the 2012 edition only, other editions differ too much).

Reviews0 reviews

Nog geen reviews voor dit vak. Wees de eerste!

Heb jij dit vak gevolgd?

Deel je ervaring met toekomstige studenten. Inloggen met je Universiteit Utrecht mailadres duurt één minuut.

Schrijf een review