Uwe van Heesch

Learn More
In this paper, we introduce a documentation framework for architecture decisions. This framework consists of four viewpoint definitions using the conventions of ISO/IEC/IEEE 42010, the new international standard for the description of system and software architectures. The four viewpoints, a Decision Detail viewpoint, a Decision Relationship viewpoint, a(More)
Architecting is to a large extent a decision-making process. While many approaches and tools exist to support architects during the various activities of architecting, little guidance exists to support the reasoning part of decision-making. This is partly due to our limited understanding of how professional architects make decisions. We report on findings(More)
In this paper, the notion of forces as influences upon architecture decisions is introduced. To facilitate the documentation of forces as a part of architecture descriptions, we specify a decision forces viewpoint, which extends our existing framework for architecture decisions, following the conventions of the international architecture description(More)
Software architecting entails making architecture decisions, which requires a lot of experience and expertise. Current literature contains several methods and processes to support architects with architecture design, documentation and evaluation but not with the design reasoning involved in decision-making. In order to derive a systematic reasoning process(More)
Software architecture design is challenging, especially for junior software designers. Lacking practice and experience, junior designers need process support in order to make rational architecture decisions. In this paper, we present the results of a comparative multiple-case study conducted to find out if decision viewpoints from [1, 2] can provide such a(More)
Architectural documentation is often considered as a tedious and resource intensive task, that is usually skipped or performed inadequately. As a result the rationale of the architect’s decisions gets lost. This problem is known as architectural knowledge vaporization. We propose a documentation approach for architectural decisions concerning the(More)
Architecture evaluation is an important activity in the software engineering life cycle that ensures that the architecture satisfies stakeholders' expectations. Additionally, risks and issues can be uncovered before they cause tremendous costs later in the life cycle. Unfortunately, architecture evaluation isn't regularly practiced in industry. This article(More)
Architectural software patterns capture successful designs for recurring problems in software architecture. For the first time, a workshop in the tradition of the software-pattern conference series (e.g. PLoP, EuroPLoP) was held jointly with the European Conference on Software Architecture (ECSA 2014) in Vienna, Austria. The main objective of this workshop(More)