ABSTRACT
When designing information systems, architects must often deal with many requirements and constraints. Also, many parties may collaborate during design phases. Therefore, the rationale and decisions sustaining the architecture model can be lost if not documented appropriately. However, in order to understand and maintain these systems, we need to have a clear picture of the rationale and decisions behind their designs. To tackle this problem, we propose a design approach combining architecturally significant requirement modelling and architecture modelling. Constraint and Requirement are attached to architectural constructs. And any modification in the architecture model resulting from a decision made in the requirement model is recorded as a model transformation. We present both modelling formalisms and explain how we combine them to increase the traceability of the rationale, design decisions and alternatives as well as the maintainability of information systems.
- I. F. Alexander and R. Stevens. Writing Better Requirements, chapter 7, pages 96--107. Addison-Wesley, 2002.Google Scholar
- M. A. Babar, A. Northway, I. Gorton, P. Heuer, and T. Nguyen. Introducing tool support for managing architectural knowledge: An experience report. In Proc. of the 15th Annual IEEE Int. Conf. and Workshop on the Engineering of Computer Based Systems (ECBS'08), pages 105--113, 31 2008-april 4 2008. Google ScholarDigital Library
- M. A. Babar, X. Wang, and I. Gorton. Pakme: A tool for capturing and using architecture design knowledge. In Proc. of the 9th International Multitopic Conference IEEE INMIC 2005, pages 1--6, 2005.Google ScholarCross Ref
- O. Barais. Construire et Maîtriser l'évolution d'une architecture logicielle à base de composants. PhD thesis, Laboratoire d'Informatique Fondamentale de Lille, Lille, France, Nov 2005.Google Scholar
- M. Biehl. Documenting stepwise model refinement using executable design decisions. In Proc. of the Int. Workshop on Models and Evolution (ME'10), Oslo, Norway, 2010.Google Scholar
- J. Bosch. Software architecture: The next step. In Proc. of the 1st European Workshop on Software Architecture, pages 194--199. Springer, 2004.Google ScholarCross Ref
- M. Brandozzi and D. E. Perry. Transforming goal oriented requirements specifications into architectural prescriptions. In From Software Requirements to Architectures (STRAW1)- ICSE 2001 Workshop, pages 54--61, May 2001.Google Scholar
- R. Capilla. Embedded design rationale in software architecture. In WICSA/ECSA, pages 305--308, Cambridge, UK, 2009. IEEE.Google ScholarCross Ref
- R. Capilla, F. Nava, and A. Tang. Attributes for characterizing the evolution of architectural design decisions. In Software Evolvability, Proc. of the 3rd Int. IEEE Workshop on, pages 15--22, oct. 2007.Google Scholar
- P. Clements, D. Garlan, L. Bass, J. Stafford, R. Nord, J. Ivers, and R. Little. Documenting Software Architectures: Views and Beyond. Pearson Education, 2002. Google ScholarDigital Library
- P. H. Feller, D. P. Gluch, and J. J. Hudack. The Architecture Analysis & Design Language (AADL): An Introduction, 2006.Google Scholar
- I. Galvão and A. Goknil. Survey of traceability approaches in model-driven engineering. In EDOC, pages 313--326. IEEE Computer Society, 2007. Google ScholarDigital Library
- F. Gilson. A transformational approach for component-based distributed architectures. In Preliminary Proc. of the MODELS 2010 Doctoral Symposium, pages 25--30, 2010.Google Scholar
- F. Gilson and V. Englebert. Towards handling architecture design, variability and evolution with model transformations. In Proc. of the 5th Workshop on Variability Modeling of Software-Intensive Systems, VaMoS '11, pages 39--48, New York, NY, USA, 2011. ACM. Google ScholarDigital Library
- P. Grünbacher, A. Egyed, and N. Medvidovic. Reconciling software requirements and architectures: The cbsp approach. In Proc. of the 5th IEEE Int. Symposium on Requirements Engineering, pages 202--211. IEEE Computer Society, August 2001. Google ScholarDigital Library
- IEEE. Recommended practices for architectural description of software-intensive systems. IEEE Std 1471--2000, 2000.Google Scholar
- A. Jansen, P. Avgeriou, and J. S. van der Ven. Enriching software architecture documentation. J. Syst. Softw., 82:1232--1248, August 2009. Google ScholarDigital Library
- A. Jansen and J. Bosch. Software architecture as a set of architectural design decisions. In Proc. of the 5th Working IEEE/IFIP Conf. on Software Architecture (WICSA 05), pages 109--120, Washington, DC, USA, 2005. IEEE Computer Society. Google ScholarDigital Library
- A. Jansen, J. van der Ven, P. Avgeriou, and D. K. Hammer. Tool support for architectural decisions. In Proc. of the 6th Working IEEE/IFIP Conf. on Software Architecture, pages 4--, Washington, DC, USA, 2007. IEEE Computer Society. Google ScholarDigital Library
- P. Kruchten, P. Lago, and H. V. Vliet. Building up and reasoning about architectural knowledge. In Proc. of the 2nd Int. Conf. on the Quality if Software Architectures (QoSA), pages 43--58, 2006. Google ScholarDigital Library
- P. Krutchen. An ontology of architectural design decisions in software intensive systems. In Proc. of the 2nd Groningen Workshop on Software Variability Management, pages 54--61, October 2004.Google Scholar
- D. C. Luckham, J. J. Kenney, L. M. Augustin, J. Vera, D. Bryan, and W. Mann. Specification and analysis of system architecture using rapide. IEEE Trans. Softw. Eng., 21(4):336--355, 1995. Google ScholarDigital Library
- N. Medvidovic and R. N. Taylor. A Classification and Comparison Framework for Software Architecture Description Languages. IEEE Trans. Software Eng., 26(1):70--93, 2000. Google ScholarDigital Library
- B. Nuseibeh. Weaving together requirements and architectures. IEEE Computer, 34(3):115--117, March 2001. Google ScholarDigital Library
- Object Management Group. OMG Unified Modeling Language (OMG UML), Superstructure, version 2.2, chapter 16, pages 587--605. Object Management Group, February 2009.Google Scholar
- Object Management Group. OMG Unified Modeling Language (OMG UML), Superstructure, version 2.2, chapter 8, pages 143--160. Object Management Group, February 2009.Google Scholar
- D. L. Parnas and P. C. Clements. A rational design process: How and why to fake it. IEEE Trans. Software Eng., 12:251--257, February 1986. Google ScholarDigital Library
- D. E. Perry and A. L. Wolf. Foundations for the study of software architecture. SIGSOFT Software Engineering Notes, 17(4):40--52, 1992. Google ScholarDigital Library
- C. Potts and G. Bruns. Recording the reasons for design decisions. In Software Engineering, 1988., Proc. of the 10th Int. Conf. on, pages 418--427, apr 1988. Google ScholarDigital Library
- B. Ramesh and M. Jarke. Toward reference models for requirements traceability. IEEE Trans. Software Eng., 27(1):58--93, jan 2001. Google ScholarDigital Library
- R. Roeller, P. Lago, and H. van Vliet. Recovering architectural assumptions. J. Syst. Softw., 79:552--573, April 2006. Google ScholarDigital Library
- J. Sametinger and M. Riebisch. Evolution support by homogeneously documenting patterns, aspects and traces. In CSMR, pages 134--140, Hungary, 2002. IEEE Computer Society. Google ScholarDigital Library
- A. Tang, M. A. Babar, I. Gorton, and J. Han. A survey of architecture design rationale. J. Syst. Softw., 79(12):1792--1804, 2006. Google ScholarDigital Library
- A. Tang and J. Han. Architecture rationalization: a methodology for architecture verifiability, traceability and completeness. In Proc of the 12th IEEE Int. Conf. and Workshops on the Engineering of Computer-Based Systems, pages 135--144, april 2005. Google ScholarDigital Library
- A. Tang, Y. Jin, and J. Han. A rationale-based architecture model for design traceability and reasoning. J. Syst. Softw., 80(6):918--934, 2007. Google ScholarDigital Library
- J. Tyree and A. Akerman. Architecture decisions: Demystifying architecture. IEEE Software, 22:19--27, 2005. Google ScholarDigital Library
- R. Watkins and M. Neal. Why and How of Requirements Tracing. IEEE Software, 11:104--106, July 1994. Google ScholarDigital Library
- O. Zimmermann, J. Koehler, F. Leymann, R. Polley, and N. Schuster. Managing architectural decision models with dependency relations, integrity constraints, and production rules. J. Syst. Softw., 82(8):1249--1267, 2009. Google ScholarDigital Library
Index Terms
- Rationale, decisions and alternatives traceability for architecture design
Recommendations
Architecture-Centric modeling of design decisions for validation and traceability
ECSA'13: Proceedings of the 7th European conference on Software ArchitectureAccess to previously made architectural design decisions allows for faster understanding and more educated decisions during software evolution. Templates and ontologies have been proposed to document such decisions. In this paper we argue that ...
Towards Automated Solution Synthesis and Rationale Capture in Decision-Centric Architecture Design
WICSA '08: Proceedings of the Seventh Working IEEE/IFIP Conference on Software Architecture (WICSA 2008)Software architectures are considered crucial because they are the earliest blueprints for target products and at the right level for achieving system-wide qualities. Existing methods of architecture design still face the challenge of bridging the gap ...
A rationale-based architecture model for design traceability and reasoning
Large systems often have a long life-span and comprise many intricately related elements. The verification and maintenance of these systems require a good understanding of their architecture design. Design rationale can support such understanding but it ...
Comments