A documentation framework for architecture decisions

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 Decision Chronology viewpoint, and a Decision Stakeholder Involvement viewpoint satisfy several stakeholder concerns related to architecture decision management. With the exception of the Decision Stakeholder Involvement viewpoint, the framework was evaluated in an industrial case study. The results are promising, as they show that decision views can be created with reasonable effort while satisfying many of the stakeholder concerns in decision documentation.

[1]  Rafael Capilla,et al.  The Decision View of Software Architecture , 2005, EWSA.

[2]  Alexander L. Wolf,et al.  Acm Sigsoft Software Engineering Notes Vol 17 No 4 Foundations for the Study of Software Architecture , 2022 .

[3]  Peng Liang,et al.  Knowledge Architect: A Tool Suite for Managing Software Architecture Knowledge , 2009 .

[4]  Philippe Kruchten,et al.  A Tool to Visualize Architectural Design Decisions , 2008, QoSA.

[5]  Peng Liang,et al.  Architectural design decision: Existing models and tools , 2009, 2009 Joint Working IEEE/IFIP Conference on Software Architecture & European Conference on Software Architecture.

[6]  Colin Robson,et al.  Real World Research: A Resource for Social Scientists and Practitioner-Researchers , 1993 .

[7]  R. Yin Case Study Research: Design and Methods , 1984 .

[8]  Rafael Capilla,et al.  Modeling and Documenting the Evolution of Architectural Design Decisions , 2007, Second Workshop on Sharing and Reusing Architectural Knowledge - Architecture, Rationale, and Design Intent (SHARK/ADI'07: ICSE Workshops 2007).

[9]  Philippe Kruchten,et al.  Building Up and Reasoning About Architectural Knowledge , 2006, QoSA.

[10]  Philippe Kruchten,et al.  An Ontology of Architectural Design Decisions in Software-Intensive Systems , 2004 .

[11]  Jan Bosch,et al.  Software Architecture: The Next Step , 2004, EWSA.

[12]  Sandra G. Behrens,et al.  Software risk evaluation (SRE) method description (version 2.0) , 1999 .

[13]  Janice Singer,et al.  Studying Software Engineers: Data Collection Techniques for Software Field Studies , 2005, Empirical Software Engineering.

[14]  Muhammad Ali Babar,et al.  Software Architecture Knowledge Management: Theory and Practice , 2009 .

[15]  Per Runeson,et al.  Guidelines for conducting and reporting case study research in software engineering , 2009, Empirical Software Engineering.

[16]  Muhammad Ali Babar,et al.  A comparative study of architecture knowledge management tools , 2010, J. Syst. Softw..

[17]  Philippe Kruchten,et al.  Proceedings of the 2010 ICSE Workshop on Sharing and Reusing Architectural Knowledge, SHARK 2010, Cape Town, South Africa, May 2, 2010 , 2010, SHARK@ICSE.

[18]  Dieter K. Hammer,et al.  Tool Support for Architectural Decisions , 2007, 2007 Working IEEE/IFIP Conference on Software Architecture (WICSA'07).

[19]  R. Stake The art of case study research , 1995 .

[20]  Claes Wohlin,et al.  Empirical Research Methods in Software Engineering , 2003, ESERNET.

[21]  David E. Gray,et al.  Doing Research in the Real World , 2004 .

[22]  Laura Lehtola,et al.  Using the focus group method in software engineering: obtaining practitioner and user experiences , 2004, Proceedings. 2004 International Symposium on Empirical Software Engineering, 2004. ISESE '04..

[23]  David Garlan,et al.  Documenting software architectures: views and beyond , 2002, 25th International Conference on Software Engineering, 2003. Proceedings..

[24]  Philippe Kruchten,et al.  The Decision View's Role in Software Architecture Practice , 2009, IEEE Software.

[25]  A. Strauss,et al.  The discovery of grounded theory: strategies for qualitative research aldine de gruyter , 1968 .

[26]  Eoin Woods,et al.  Software Systems Architecture: Working with Stakeholders Using Viewpoints and Perspectives , 2005 .

[27]  Jan Bosch,et al.  Software Architecture as a Set of Architectural Design Decisions , 2005, 5th Working IEEE/IFIP Conference on Software Architecture (WICSA'05).

[28]  Paris Avgeriou,et al.  Tools and Technologies for Architecture Knowledge Management , 2009, Software Architecture Knowledge Management.

[29]  N. Mack,et al.  Qualitative research methods: a data collectors field guide. , 2005 .

[30]  Richard M. Young,et al.  Options and Criteria: Elements of design space analysis , 1991 .

[31]  Jeff Tyree,et al.  Architecture decisions: demystifying architecture , 2005, IEEE Software.

[32]  Claes Wohlin,et al.  Experimentation in software engineering: an introduction , 2000 .

[33]  Steffen Becker,et al.  Proceedings of the 4th International Conference on Quality of Software-Architectures: Models and Architectures , 2008 .

[34]  Carolyn B. Seaman,et al.  Qualitative Methods in Empirical Studies of Software Engineering , 1999, IEEE Trans. Software Eng..

[35]  Felix C. Freiling,et al.  Sandnet: network traffic analysis of malicious software , 2011, BADGERS '11.

[36]  Flavio Oquendo,et al.  Software Architecture , 2004, Lecture Notes in Computer Science.

[37]  Peng Liang,et al.  Improving understandability of architecture design through visualization of architectural design decision , 2010, SHARK '10.

[38]  Philippe Kruchten,et al.  The 4+1 View Model of Architecture , 1995, IEEE Softw..