Abstract
Numerous design decisions are made in model-based software development which often are not documented explicitly. Hence, the design knowledge is ’in the designers mind’ and communicated orally, if at all, and the rationale behind the decisions is lost. Existing tools tackle this problem for architectural decisions which refer to the higher level architecture of a system. However, these decisions are separate artifacts and not linked to individual design model elements. Hence, there is no automatic check whether the design models comply with made decisions.
This paper presents concepts for explicitly linking design decisions and design model elements. As first class artifacts, design decisions can be used for documentation, consistency checking, and reuse. In case consistency constraints are violated, the user is notified that the design models no longer comply with the decisions made. Reuse is realized by extracting design model changes as reusable patterns for recurring decisions.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Object Management Group: UML Superstructure, V2.2 (November 2007)
Object Management Group: MDA Guide V1.0.1 (June 2003)
Nowak, M., Pautasso, C., Zimmermann, O.: Architectural Decision Modeling with Reuse: Challenges and Opportunities. In: 5th SHARK, South Africa (May 2010)
Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (January 1995)
Capilla, R., Nava, F., Duenas, J.C.: Modeling and Documenting the Evolution of Architectural Design Decisions. In: 2nd SHARK-ADI, Minneapolis, USA, pp. 9–15. IEEE Computer Society, Los Alamitos (May 2007)
Zimmermann, O.: An Architectural Decision Modeling Framework for Service-Oriented Architecture Design. Dissertation, University of Stuttgart (2009)
Könemann, P.: Integrating a Design Decision Management System with a UML Modeling Tool. IMM-Technical Report-2009-07, Technical University of Denmark (April 2009)
Object Management Group: MOF Core Specification, Version 2.0 (January 2006)
Fowler, M.: Patterns of Enterprise Application Architecture. Addison Wesley, Reading (November 2002)
Shahin, M., Liang, P., Khayyambashi, M.R.: Architectural Design Decision: Existing Models and Tools. In: WICSA/ECSA Working Session. IEEE Computer Society, Los Alamitos (September 2009)
Zimmermann, O., Gschwind, T., Küster, J.M., Leymann, F., Schuster, N.: Reusable Architectural Decision Models for Enterprise Application Development. In: Overhage, S., Szyperski, C., Reussner, R., Stafford, J.A. (eds.) QoSA 2007. LNCS, vol. 4880, pp. 15–32. Springer, Heidelberg (2008)
Förtsch, S., Westfechtel, B.: Differencing and Merging of Software Diagrams–State of the Art and Challenges. In: ICSOFT, Setubal, Portugal, pp. 90–99 (July 2007)
Könemann, P.: Model-independent Differences. In: ICSE Workshop on Comparison and Versioning of Software Models, pp. 37–42. IEEE Computer Society, Los Alamitos (May 2009)
Object Management Group: OCL Specification, Version 2.0 (May 2006)
Könemann, P.: Integrating Decision Management with UML Modeling Concepts and Tools. In: WICSA/ECSA Working Session. IEEE Computer Society, Los Alamitos (September 2009)
Tang, A., Jin, Y., Han, J.: A Rationale-based Architecture Model for Design Traceability and Reasoning. Journal of Systems and Software 80(6), 918–934 (2007)
Bachmann, F., Merson, P.: Experience Using the Web-Based Tool Wiki for Architecture Documentation. Technical Report CMU/SEI-2005-TN-041, Carnegie Mellon University, Software Engineering Institute (September 2005)
Liang, P., Jansen, A., Avgeriou, P.: Knowledge Architect: A Tool Suite for Managing Software Architecture Knowledge. Technical Report RUG-SEARCH-09-L01, University of Groningen (February 2009)
Kruchten, P.: The Rational Unified Process: An Introduction. Addison-Wesley, Reading (2003)
Beck, K.: Extreme Programming Explained: Embrace Change. Addison-Wesley, Reading (1999)
Zimmermann, O., Grundler, J., Tai, S., Leymann, F.: Architectural Decisions and Patterns for Transactional Workflows in SOA. In: Krämer, B.J., Lin, K.-J., Narasimhan, P. (eds.) ICSOC 2007. LNCS, vol. 4749, pp. 81–93. Springer, Heidelberg (2007)
Fowler, M.: Refactoring: Improving the Design of Existing Code. In: Object Technology Series. Addison-Wesley, Reading (June 1999)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2010 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Könemann, P., Zimmermann, O. (2010). Linking Design Decisions to Design Models in Model-Based Software Development. In: Babar, M.A., Gorton, I. (eds) Software Architecture. ECSA 2010. Lecture Notes in Computer Science, vol 6285. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-15114-9_19
Download citation
DOI: https://doi.org/10.1007/978-3-642-15114-9_19
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-15113-2
Online ISBN: 978-3-642-15114-9
eBook Packages: Computer ScienceComputer Science (R0)