Architecture decisions: the next step : understanding, modeling, supporting and reviewing architecture decisions

Abstract

Software-architectuur is het resultaat van een set architectuurbeslissingen. Helaas ontbreekt het op dit moment aan een algemeen geaccepteerde aanpak voor het modelleren van deze beslissingen. Bestaande methodes houden bij de beschrijving van een beslissing niet met alle stakeholder-belangen rekening; ze ondersteunen het architectuurproces niet op optimale wijze en ze sluiten niet goed aan bij de rest van de architectuurdocumentatie, die doorgaans in meerdere architectural views wordt beschreven. Deze dissertatie rapporteert over meerdere empirische studies die gehouden zijn om het besluitvormingsproces in de praktijk beter te begrijpen. De kern is een framework voor architectuurbeslissingen, conform de conventies van de internationale architectuurbeschrijvingsstandaard ISO/IEC/IEEE 42010. Het framework bestaat uit vijf gerelateerde viewpoints, ieder gewijd aan verschillende stakeholder-belangen bij architectuurbeslissingen. De viewpoints kunnen individueel, of in combinatie, gebruikt worden om genomen architectuurbeslissingen in een softwareproject te beschrijven. Om erachter te komen of decision viewpoints ontwerpers kunnen ondersteunen bij het nemen van rationele beslissingen, hebben wij een vergelijkend multiple-case study met vier groepen senior software engineering-studenten uitgevoerd. De resultaten bevestigen dat studenten die decision views ontwikkelen volgens de viewpoint-definitie, meer systematisch mogelijke architectuuroplossingen verkennen en evalueren dan studentgroepen die het framework niet gebruiken. Tot slot bericht deze dissertatie over een lichtgewicht beslissings-centrische architectuur-evaluatiemethode, die viewpoints van het beslissingsframework gebruikt. De methode brengt de motivatie achter de belangrijkste architectuurbeslissingen die genomen zijn in een software-project aan het licht en evalueert deze, daarbij alle relevante forces die van invloed zijn geweest in beschouwing nemende. Software architecture is the result of a set of architecture decisions. Unfortunately, there is currently no commonly accepted approach to architecture decision modeling. Existing approaches do not satisfy all stakeholder concerns in decision description; they do not optimally support the architecting process, and they do not integrate well with the rest of the architecture documentation, which is usually arranged in multiple architectural views. This dissertation reports on multiple empirical studies conducted to understand better the decision making process in practice. The core contribution is a framework for architecture decisions, following the conventions of the international architecture description standard ISO/IEC/IEEE 42010. The framework consists of five interrelated viewpoints, each of which being dedicated to satisfying different stakeholder concerns in architecture decisions. The viewpoints of the framework can be used individually, or in combination, to describe the architecture decisions made in a software project. To find out if decision viewpoints can support designers in making rational decisions, we conducted a comparative multiple-case study with four groups of senior software engineering students. The results confirm that students who create decision views according to the viewpoint definition explore and evaluate candidate architectural solutions more systematically than student groups who do not use the decision framework. Finally, this dissertation reports on a lightweight decision-centric architecture evaluation method, which uses viewpoints from the decision framework. The method uncovers and evaluates the rationale behind the most important architecture decisions made in a software project, considering all relevant forces that must be addressed by the decisions.

Similar works

Full text

thumbnail-image

University of Groningen Digital Archive

redirect
Last time updated on 06/08/2013

This paper was published in University of Groningen Digital Archive.

Having an issue?

Is data on this page outdated, violates copyrights or anything else? Report the problem now and we will take corresponding actions after reviewing your request.