NDAK16006U CHANGED: Software Architecture (SA)

Volume 2018/2019

MSc Programme in Computer Science


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 

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

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.
Lectures, workshops, and projects.
  • Category
  • Hours
  • Exam
  • 1
  • Exam Preparation
  • 13
  • Lectures
  • 24
  • Preparation
  • 56
  • Project work
  • 80
  • Theory exercises
  • 32
  • Total
  • 206
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.
Exam registration requirements

Submitted and approved student report based the course assignments and student's reflections.

Only certain aids allowed

e.g. student's own report.

Marking scale
7-point grading scale
Censorship form
No external censorship
Several internal examiners.

Same as ordinary exam.

The student report must be submitted no later than two weeks before the re-exam, and must be approved, in order for the student to qualify for the re-exam.

Criteria for exam assesment

See Learning Outcome.