Advanced Software Architecture

This course aims to present the most industry-relevant techniques in the area of architectural design and provide the means to document software architectures with standards like UML. It also provides the participants with the necessary knowledge to reduce the technical debt in the software development projects they work on. Moreover, the course has a hands-on approach, which translates into actionable know-how that is relevant to the professional practice of software design.

About the course

The course is given by Chalmers and University of Gothenburg

Course modules:
  1. Quality requirements: motivates the importance of quality requirements in the success of a software architecture; provides a definition of what quality requirements are.
  2. Creating a software architecture: provides the tools (design principles, design tactics, and architectural patterns) and methods to create a software architecture that satisfies the key requirements and, particularly, the quality requirements related to performance, availability, and security.
  3. Evaluating a software architecture: describes a qualitative method to assess whether a software architecture is able to provide support for the key system requirements.

Learning outcomes

After course completion, the student should be able to:
  • Understand the prevalent role of architectural design in the development lifecycle
  • Identify and prioritise the requirements that have the highest impact on the design of a software architecture
  • Suggest technical solutions to solve design challenges, e.g., with respect to performance, availability and security requirements
  • Be able to identify trade-offs and risks in an architectural designs

Related industrial challenges addressed in the course:

  • Improving the chances of delivering a project on time/budget by identifying the design flaws early on
  • Reducing technical debt
  • Making explicit trade-off decision among the conflicting interests of the stakeholders involved in a software development project
  • Tackling security, performance and availability from the early stages of the development process


Riccardo Scandariato, Chalmers and University of Gothenburg 



The course is included in the Prompt project, which is partly funded by the Knowledge Foundation. You can find more information about Prompt here .