This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Software Architecture Design Reasoning: A Case for Improved Methodology Support
March/April 2009 (vol. 26 no. 2)
pp. 43-49
Antony Tang, Swinburne University of Technology
Jun Han, Swinburne University of Technology
Rajesh Vasa, Swinburne University of Technology
Software architecture design is a critical aspect of developing large-scale software systems. However, the practice of architecture design reasoning is immature, partly because of a lack of practical methodology support. The authors discuss why capturing design rationale—the elements of design reasoning—is useful and how developers use it in architecture design. They demonstrate architecture design reasoning's application with a UML-based modeling method called Architecture Rationale and Elements Linkage.

1. A. Tang et al., "Design Reasoning Improves Software Design Quality," Proc. 4th Int'l Conf. on the Quality of Software Architectures, LNCS 5281, 2008, pp. 28–42.
2. L. Bratthall, E. Johansson, and B. Regnell, "Is a Design Rationale Vital When Predicting Change Impact? A Controlled Experiment on Software Architecture Evolution," Proc. 2nd Int'l Conf. Product Focused Software Process Improvement, LNCS 1840, Springer, 2000, pp. 126–139.
3. L. Karsenty, "An Empirical Evaluation of Design Rationale Documents," Proc. SIGCHI Conf. Human Factors in Computing Systems: Common Ground, ACM Press, 1996, pp. 150–156.
4. IEEE Std. 1471-2000, IEEE Recommended Practice for Architecture Description of Software-Intensive Systems, IEEE, 2000.
5. L. Bass, P. Clements, and R. Kazman, Software Architecture in Practice, 2nd ed., Addison-Wesley, 2003.
6. A. Tang et al., "Using Bayesian Belief Networks for Change Impact Analysis in Architecture Design," J. Systems and Software, vol. 80, no. 1, 2007, pp. 127–148.
7. B. Ramesh and M. Jarke, "Towards Reference Models for Requirements Traceability," IEEE Trans. Software Eng., vol. 27, no. 1, 2001, pp. 58–93.
8. T. Moran and J. Carroll, Design Rationale: Concepts, Techniques, and Use, Lawrence Erlbaum, 1996.
9. P. Clements et al., Documenting Software Architectures: Views and Beyond, Addison-Wesley, 2002.
10. J. Tyree and A. Akerman, "Architecture Decisions: Demystifying Architecture," IEEE Software, vol. 22, no. 2, 2005, pp. 19–27.
11. P. Avgeriou et al., "Architectural Knowledge and Rationale—Issues, Trends, Challenges," ACM SIGSOFT Software Eng. Notes, vol. 32, no. 4, 2007, pp. 41–46.
12. A. Tang et al., "A Survey of Architecture Design Rationale," J. Systems and Software, vol. 79, no. 12, 2006, pp. 1792–1804.

Index Terms:
software architecture, design reasoning, software engineering, service interactions, speech acts
Citation:
Antony Tang, Jun Han, Rajesh Vasa, "Software Architecture Design Reasoning: A Case for Improved Methodology Support," IEEE Software, vol. 26, no. 2, pp. 43-49, March-April 2009, doi:10.1109/MS.2009.46
Usage of this product signifies your acceptance of the Terms of Use.