Systems & Software Academy

Reserve a seat without obligations
Make a definite booking


This course teaches you to bridge between customer needs, technological constraints, and the development process in order to deliver the best software architecture. This [process/task/working habit] is all about taking the right decisions that define the effectiveness of a system and how it fits into its environment. You will learn how to take the best architecture decisions for determining the structure and style of a good system, and the main guidelines for its realization.


This course offers a practical method that focusses on the definition of a consistent software architecture, an architecture that fits its context, and a communicable architecture. It puts the technical design both in the context of the customer and other stakeholders, and in the context of the development process.

You are asked to bring your own case which will be addressed during the training. Also, the homework assignment for the period in between the two modules will focus on your case as well.


  • Being able to recognize and set up a good software architecture;
  • Understanding and applying the main software architectural concepts;
  • Being able to analyze the context of a software architecture: application, design, process;
  • Recognizing and defining architectures for system families;
  • Understanding and applying the Architecture Reasoning Model (ARM);
  • Understanding the importance of quality attributes.

Intended for

People with a technical software background growing towards the role of software architect.

Course schedule
09:00 - 17:00
09:00 - 17:00
09:00 - 17:00
09:00 - 17:00
Location Eindhoven
Duration 2 x 2 consecutive days
Price € 2,330 excl. VAT. *
Keep me posted
  • ½ day: What is software architecture? What is the role of architecture in the development process? Going step by step through the definition of software architecture to get an understanding of what it is and what it brings.
  • ½ day: The architecture domain (IEEE/ISO 42010). The major concepts and their relations. This standard will be used throughout the course as a framework.
  • 1½  Day: Architecting in its context:
    • Environment and system analysis: understanding the environment and the role of the system in its environment.
    • Software development as a series of decisions: what to architect? How do you know you have enough architecture? Relation with Scrum.
    • The dominant decomposition (also known as main architecture styles).
    • Family architectures: the process, artefacts and software mechanisms in the development of families of software systems.
    • Quality attributes: what are quality attributes? Why are they important? How to find them?
  • ½ day: ARM, the Architecture Reasoning Model. Software architects need to reason about a system for many purposes, such as making design decisions, justifying choices, and finding flaws. The architecture reasoning model (ARM) supports reasoning about a system in its environment along three dimensions: Application, Design and Process.
    • Application dimension: reasoning about the system’s meaning and value for the customer.
    • Design dimension: reasoning about the resources out of which the system is built and how it uses them.
    • Process dimension: reasoning about the processes and organization for the development and maintenance of the system.

Architecture reasoning is formed by a set of related statements that are made consistent by eliminating contradictions and by adding statements to establish coherence.

  • ½ day: Good software architecture. To establish, manage, and convey a good software architecture, the architect determines how much attention to pay to certain stakeholders, concerns, models and other architectural aspects. To make meaningful choices, the architect must first determine what a good software architecture is in this situation. If the architect has a clear picture of when the software architecture is good for a specific system and its environment, it becomes easier to actually achieve that good software architecture. To check if an architecture is good and to give direction to the architectural activities, the architect can focus on answering a given set of questions related to correctness, consistency, and communication. These questions and their answers help to identify improvement areas for the architecture.
  • ½ day: The course ends with a workshop on the main topics of the previous days.


  • Knowledge of modeling (preferably UML, or at least OO, is required);
  • Small exercises based on simple existing examples;
  • Large exercises are preferably performed on cases brought  by the participants.

In between the two modules you will receive homework assignments which will take about one day to complete. The homework assignment will focus on your own case. During this period, you also receive online coaching from the teacher. Also reserve in total about one day for reading documents.


Lectures, discussions, (group) exercises (possibly applied on own case). Homework assignment and preparational reading.


After successfully attending this course, you will receive a High Tech Institute training certificate.


* Prices are subject to change. Price correction will be applied at the end of the year.