The architecture of a software intensive system can be defined as the set of relevant design decisions that affect the qualities of the overall system functionality; therefore, architectural decisions are eventually crucial to the success of a software project. The software engineering literature describes several techniques to choose among architectural alternatives, but it gives no clear guidance on which technique is more suitable than another, and in which circumstances. As such, there is no systematic way for software engineers to choose among decision-making techniques for resolving tradeoffs in architecture design. In this paper, we provide a comparison of existing decision-making techniques, aimed to guide architects in their selection. Results show that there is no “best” decision-making technique; however, some techniques are more susceptible to specific difficulties. Hence, architects should choose a decision-making technique based on the difficulties that they wish to avoid. This paper represents a first attempt to reason on meta-decision-making, i.e., the issue of deciding how to decide.

Falessi, D., Cantone, G., Kazman, R., Kruchten, P. (2011). Decision-making techniques for software architecture design: a comparative survey. ACM COMPUTING SURVEYS, 43(4) [10.1145/1978802.1978812].

Decision-making techniques for software architecture design: a comparative survey

FALESSI, DAVIDE;CANTONE, GIOVANNI;
2011-10-01

Abstract

The architecture of a software intensive system can be defined as the set of relevant design decisions that affect the qualities of the overall system functionality; therefore, architectural decisions are eventually crucial to the success of a software project. The software engineering literature describes several techniques to choose among architectural alternatives, but it gives no clear guidance on which technique is more suitable than another, and in which circumstances. As such, there is no systematic way for software engineers to choose among decision-making techniques for resolving tradeoffs in architecture design. In this paper, we provide a comparison of existing decision-making techniques, aimed to guide architects in their selection. Results show that there is no “best” decision-making technique; however, some techniques are more susceptible to specific difficulties. Hence, architects should choose a decision-making technique based on the difficulties that they wish to avoid. This paper represents a first attempt to reason on meta-decision-making, i.e., the issue of deciding how to decide.
ott-2011
Pubblicato
Rilevanza internazionale
Articolo
Sì, ma tipo non specificato
Settore ING-INF/05 - SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI
English
Con Impact Factor ISI
Software Engineering: Design – Methodologies, Decision-making, Architecture, Design decisions.
Davide Falessi and Giovanni Cantone are with the University of Rome, “Tor Vergata”; Rick Kazman is with the Software Engineering Institute, Carnegie Mellon University, and the University of Hawaii; Philippe Kruchten is with University of British Columbia.
http://dl.acm.org/citation.cfm?doid=1978802.1978812
58068
Falessi, D., Cantone, G., Kazman, R., Kruchten, P. (2011). Decision-making techniques for software architecture design: a comparative survey. ACM COMPUTING SURVEYS, 43(4) [10.1145/1978802.1978812].
Falessi, D; Cantone, G; Kazman, R; Kruchten, P
Articolo su rivista
File in questo prodotto:
Non ci sono file associati a questo prodotto.

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/2108/39059
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 117
  • ???jsp.display-item.citation.isi??? 90
social impact