Print as pdf if you want a pdf! If you want a nicer printout, click off the browser's automatically added header and footer.

Blekinge Institute of Technology
Department of Software Engineering

Revision: 2
Reg.no:


Course syllabus

Software Architecture

Software Architecture

6 credits (6 högskolepoäng)

Course code: PA1483
Main field of study: Software Engineering, Technology
Disciplinary domain: Technology
Education level: First-cycle
Specialization: G1F - First cycle, has less than 60 credits in first-cycle course/s as entry requirements

Language of instruction: English
Applies from: 2025-03-11
Approved: 2025-03-11

1. Descision

This course is established by Dean 2023-04-27. The course syllabus is approved by Head of Department of Software Engineering 2025-03-11 and applies from 2025-03-11.

2. Entry requirements

Admission to the course requires completed courses comprising 5 credits in object-oriented programming and 5 credits in software development, introduction to software engineering, or from a project course.

3. Objective and content

3.1 Objective

Software Architecture is an important concept in modern software development that serves several purposes: planning development resources, analyzing the problem domain from multiple perspectives, and abstracting large amounts of information to obtain a useful overview of the system. In addition, architectural decisions on how to construct a software system are crucial to plan and achieve the desired modifiability, performance, security, and many other qualities of the system, thereby influencing how successful the system can be.

Students in the course are expected to obtain detailed knowledge about software architectures and quality attributes and the effects architectural decisions have on the qualities of software systems.

The students will acquire understanding about how to: i) document the software architecture of systems; ii) design software architectures based on modern methods and ideas such as architectural styles, patterns, and tactics, by considering the system’s functional and non-functional requirements, neighboring systems, technological constraints, and the organization developing the system; iii) discuss the quality attributes of a concrete software based on empirical observations and metrics.

3.2 Content

The course comprises the following topics:

· Quality attributes and their role in architectural design
· Designing architectures with architectural styles, patterns, and tactics
· Documenting architectures with views
· Methods for architectural design and evaluation
· Empirically assessing quality attributes of existing software systems

4. Learning outcomes

The following learning outcomes are examined in the course:

4.1. Knowledge and understanding

On completion of the course, the student will be able to:

  • Explain common architectural styles, views, patterns, and tactics (e.g., layered architecture, client-server architecture, Microservice architecture), and which quality attributes they support or hinder.
  • Explain the relationships between architectural decisions, system qualities, the development process, resource needs, and the organization developing the system.

4.2. Competence and skills

On completion of the course, the student will be able to:

  • Design the architecture for a simple software system, demonstrating how the design can achieve the desired qualities by selecting appropriate patterns and tactics.

4.3. Judgement and approach

On completion of the course, the student will be able to:

  • Critically evaluate a software architecture based on its documentation to assess how well the desired qualities can be achieved.
  • Define and discuss quantitative metrics to critically assess common quality attributes of an existing software system.

5. Learning activities

The course builds on individual readings and research, lectures, and workshops, as well as teamwork in assignments.

During the lectures, the students are expected to actively participate by questioning, discussing, and reflecting on their experiences and their understanding of the course literature. The workshops offer cooperative hands-on exercises to practice architectural design and design evaluation.

The two assignments are real-world, but scale-controlled exercises in which the students apply the concepts, methods, and techniques to analyze a problem description and design an architecture, and to empirically evaluate a software system’s qualities.

6. Assessment and grading

Modes of examinations of the course

Code Module Credit Grade
2510 Written assignment 1 3 credits AF
2520 Written assignment 2 1.5 credits AF
2530 On-campus Examination 1.5 credits AF

The course will be graded A Excellent, B Very good, C Good, D Satisfactory, E Sufficient, FX Failed result, a little more work required, F Fail.

The examiner may carry out oral follow-up of written examinations.

The final course grade is determined by the weighted average of the grades of the three examination modules. The course grade is set when all the examination modules are approved.

The information before the start of the course states the assessment criteria and make explicit in which modes of examination that the learning outcomes are assessed.

An examiner can, after consulting the Disability Advisor at BTH, decide on a customized examination form for a student with a long-term disability to be provided with an examination equivalent to one given to a student who is not disabled.

7. Course evaluation

The course evaluation should be carried out in line with BTH:s course evaluation template and process.

8. Restrictions regarding degree

The course can form part of a degree but not together with another course the content of which completely or partly corresponds with the contents of this course.

9. Course literature and other materials of instruction

Software Architecture in Practice, 4th Edition (2021)
Authors: L. Bass, P. Clements, R. Kazman
Addison-Wesley Professional

Fundamentals of Software Architecture. An Engineering Approach (2020)
Authors: M. Richards, N. Ford
O’Reilly Media, Inc.

10. Additional information

This course replaces PA1454