Software Architecture (SA)

Course content

The software architecture of a system defines “the structures of the system, which comprise software components, the externally visible properties of those components, and the relationships among them”. In order to design a software system, we need to structure it in such a way that functional and quality requirements can be fulfilled by an implementation. During this course the students will be introduced to methods, tools, and techniques for designing software systems and their architecture.

The course will include lectures and exercises in the following subjects:

  • Architectural Analysis 

  • Architectural Description
  • Architectural Synthesis
  • Detailed Design 

  • Architectural Prototyping 

  • Architectural Evaluation 

  • Architectural Reconstruction 


MSc Programme in Computer Science

Learning outcome

Knowledge of

  • Quality attributes, including definitions, characterisation, and tactics 

  • Patterns for software design 

  • Software architecture design techniques
  • (Architectural) design description
  • Design and architecture evaluation
  • Fundamental concepts of and techniques in software design 


Skills to

  • Elicit functional and quality requirements of software systems
  • Design systems and software architectures so that they satisfy relevant quality constraints
  • Describe existing systems and software architectures with relevant software description techniques
  • Evaluate existing systems and software architectures with respect to relevant qualities
  • Characterise functional and quality requirements while acting as opponent in respect to fellow students’ workability requirements of software systems 


Competences to

  • Document and communicate the architecture of a system
  • Iteratively and incrementally design a complex software system
  • Analyze complex software systems with respect to their software architecture

Lectures, workshops, and projects.

See Absalon for a list of course literature.

Good programming skills are required. Students attending this course should have attended the Software Engineering course or equivalent.

Academic qualifications equivalent to a BSc degree is recommended.

Continuous feedback during the course of the semester
7,5 ECTS
Type of assessment
Oral examination, 25 minutes
25 minutes of oral exam including grading with 25 minutes for preparation. Part of the examination can be based on the student report.
Only certain aids allowed

e.g. student's own report.

Marking scale
7-point grading scale
Censorship form
No external censorship
Several internal examiners.
Criteria for exam assessment

See Learning Outcome.

Single subject courses (day)

  • Category
  • Hours
  • Exam
  • 1
  • Exam Preparation
  • 13
  • Preparation
  • 56
  • Lectures
  • 24
  • Project work
  • 80
  • Theory exercises
  • 32
  • English
  • 206