A Tool to Visualize Architectural Design Decisions

The software architecture community is shifting its attention to architectural design decisions as a key element of architectural knowledge. Although there has been much work dealing with the representation of design decisions as formal structures within architecture, there still remains a need to investigate the exploratory nature of the design decisions themselves. We present in this paper a tool that should help improve the quality of software architecture by enabling design decision exploration and analysis through decision visualization. Unlike many other design decision tools which acquire, list, and perform queries on decisions, our tool provides visualization components to help with decision exploration and analysis. Our tool has four main aspects: 1) the decision and relationship lists; 2) decision structure visualization view; 3) decision chronology view; and 4) decision impact view. Together, these four aspects provide an effective and powerful means for decision exploration and analysis.

[1]  Jintae Lee,et al.  What's in Design Rationale? , 1991, Hum. Comput. Interact..

[2]  John M. Carroll,et al.  Design rationale: concepts, techniques, and use , 1996 .

[3]  Philippe Kruchten,et al.  The Rational Unified Process: An Introduction , 1998 .

[4]  Enrico Motta,et al.  Compendium: Making Meetings into Knowledge Events , 2001 .

[5]  Jan Bosch,et al.  Software Reuse: Methods, Techniques, and Tools , 2004, Lecture Notes in Computer Science.

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

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

[8]  Martin R. Gibbs,et al.  Mediating intimacy: designing technologies to support strong-tie relationships , 2005, CHI.

[9]  P. Lago,et al.  Explicit assumptions enrich architectural models , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

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

[11]  Muhammad Ali Babar,et al.  Capturing and using software architecture knowledge for architecture-based software development , 2005, Fifth International Conference on Quality Software (QSIC'05).

[12]  Jeffrey Heer,et al.  prefuse: a toolkit for interactive information visualization , 2005, CHI.

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

[14]  Steven H. Tang,et al.  Architectural thinking and modeling with the Architects' Workbench , 2006, IBM Syst. J..

[15]  David C. Brown,et al.  Rationale-Based Support for Software Maintenance , 2006 .

[16]  Muhammad Ali Babar,et al.  A Framework for Supporting Architecture Knowledge and Rationale Management , 2006 .

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

[18]  Rafael Capilla,et al.  A web-based tool for managing architectural design decisions , 2006, SOEN.

[19]  Jeff Tyree,et al.  Using ontology to support development of software architectures , 2006, IBM Syst. J..

[20]  Raymond McCall,et al.  Rationale Management in Software Engineering , 2006 .

[21]  Raymond McCall,et al.  Rationale Management in Software Engineering: Concepts and Techniques , 2006 .

[22]  Bernd Brügge,et al.  Sysiphus: Enabling informal collaboration in global software development , 2006, 2006 IEEE International Conference on Global Software Engineering (ICGSE'06).

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

[24]  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).

[25]  Remco C. de Boer,et al.  In search of `architectural knowledge' , 2008, SHARK '08.

[26]  P. Kruchten,et al.  Customizing the capture of software architectural design decisions , 2008, 2008 Canadian Conference on Electrical and Computer Engineering.