Session:Design Decisions in Architecting--Paper Preview
From WICSA Conference Wiki
A Survey of the Use and Documentation of Architecture Design Rationale
Antony Tang, Swinburne University of Technology
Muhammad Ali Babar, National ICT Australia Ltd. and University of NSW
Ian Gorton, National ICT Australia Ltd. and University of NSW
Jun Han, Swinburne University of Technology
Many claims have been made about the problems caused by not documenting design rationale. The general perception is that designers and architects usually do not fully understand the critical role of systematic use and capture of design rationale. However, there is to date little empirical evidence available on what design rationale mean to practitioners, how valuable they consider them, and how they use and document design rationale during the design process. This paper reports an empirical study that surveyed practitioners to probe their perception of the value of design rationale and how they use and document background knowledge related to their design decisions. Based on eighty-one valid responses, this study has discovered that practitioners recognize the importance of documenting design rationale and frequently use them to reason about their design choices. However, they have indicated barriers to the use and documentation of design rationale. Based on the findings, we conclude that much research is needed to develop methodology and tool support for design rationale capture and usage. Furthermore, we put forward some research questions that would benefit from further investigation into design rationale in order to support practice in industry.
ACCA: An Architecture-centric Causal Analysis Method
Zhenyu Wang, University of Western Ontario
Khalid Sherdil, University of Western Ontario
Nazim H. Madhavji, University of Western Ontario
The architecture of a software system is a key asset for a software business. While there are several architecting and evaluation methods, literature and practice are devoid of architecture-centric concern-analysis (ACCA) methods analogous to causal analysis methods for software defects. A concern is any aspect of an architecture considered undesirable. This paper describes an ACCA method which uses at its core a Concern Traceability map (CT-map) that captures architectural design decisions starting from software requirements and links them to identified architectural concerns. The CT-map essentially forms a net of design decisions, sandwiched between requirements and architectural concerns. Analysis of the root causes of a concern is then conducted on the CT-map. The ACCA method is empirically validated through a case study on a sizeable architecture of a banking application.
Software Architecture as a Set of Architectural Design Decisions
Anton Jansen, University of Groningen
Jan Bosch, Nokia Research Center
Software architectures have high costs for change, are complex, and erode during evolution. We believe these problems are partially due to knowledge vaporization. Currently, almost all the knowledge and information about the design decisions the architecture is based on are implicitly embedded in the architecture, but lack a first-class representation. Consequently, knowledge about these design decisions disappears into the architecture, which leads to the aforementioned problems. In this paper, a new perspective on software architecture is presented, which views software architecture as a composition of a set of explicit design decisions. This perspective makes architectural design decisions an explicit part of a software architecture. To provide a proof of concept, a tool called Archium has been developed, which models this perspective. Hopefully, this perspective reduces knowledge vaporization, thereby alleviating some of the fundamental problems of software architecture.