A Web-based Tool for Managing Architectural Design Decisions Rafael Capilla, Francisco Nava, Sandra Pérez Universidad Rey Juan Carlos de Madrid Juan C. Dueñas Universidad Politécnica de Madrid SPAIN Rafael Capilla, Francisco Nava, Sandra Pérez Universidad Rey Juan Carlos de Madrid Juan C. Dueñas Universidad Politécnica de Madrid SPAIN
Architectural decisions are sadly lost during architectural construction processes. The present viewpoints of the architecture generally do not include the design decisions explicitly as part of their architectural knowledge (AK). Design decisions are not shared and/or reused. It’s hard to recreat decisions when they haven’t been documented before. To continue with the initial work presented at EWSA05. R. Capilla, F. Nava, S. Pérez, J.C. Dueñas, ICSR9-SHARK’06, Torino, Italy Motivation
Changes on existing teams. Traceability issues. Explain the rationale by which the decisions were made. Lost of Architectural Knowledge. Lack of specific notation. Existing Problems R. Capilla, F. Nava, S. Pérez, J.C. Dueñas, ICSR9-SHARK’06, Torino, Italy
A. Jansen, J. Bosch (RUG) Software architecture as a set of design decisions (Metamodels for a first class representation of DD. The Archium approach) GRIFFIN Project (Vrije Universiteit, RUG) Model notations, tools and methods to extract, represent and use architectural knowledge (AK) P. Kruchten (University of British Columbia) Building up and exploting architectural knowledge AK = Context + Assumptions + Decision + Design Taxonomy of DD (ontologies) U&SA project at the Human-Computer Interaction Institute & Software Engineering Institute at Carnegie Mellon Some Current Efforts R. Capilla, F. Nava, S. Pérez, J.C. Dueñas, ICSR9-SHARK’06, Torino, Italy
Software architecture: the Next Step (J. Bosch, EWSA 2004) Design decisions trees (A. Ran, J. kuusela, 1996) Architecture decisions: Demystifying Architecture (J. Tyree, A. Ackerman, IEEE Software, 2005) WICSA 2005 papers The Decision View of Software Architecture (J.C. Dueñas, R. Capilla EWSA 2005) Design rationale systems: Understanding the issues (J. Lee, IEEE Expert (12) 3, 1997) Explicit assumptions enrich architectural models (P. Lago, van Vliet ICSE 2005) A Framework for documenting design decisions in product families development (A. Alonso, G. Leon, J.C. Dueñas, A de la Puente, 3rd Conf. on Eng. Complex Computer Systems, 1997). Others from the AI community, Knowledge Management area Past and Current Related Work R. Capilla, F. Nava, S. Pérez, J.C. Dueñas, ICSR9-SHARK’06, Torino, Italy
The Decision View in SA A “new” architectural view for this viewpoint from a technical perspective A “4+1” + 1 view model compared to Kruchten’s approach R. Capilla, F. Nava, S. Pérez, J.C. Dueñas, ICSR9-SHARK’06, Torino, Italy Our Position The Decision View DocumentationNotationProcess Current SA Views & Viewpoints Stakeholders
Multiperspective support for different stakeholders Visual representation (explicit graphical notation) Complexity control to manage and organize the decision network Groupware support for interaction between stakeholders Chronological visualization R. Capilla, F. Nava, S. Pérez, J.C. Dueñas, ICSR9-SHARK’06, Torino, Italy Requirements for the Decision View
R. Capilla, F. Nava, S. Pérez, J.C. Dueñas, ICSR9-SHARK’06, Torino, Italy Software Architecture Construction: An Iterative Process Software Architecture Construction: An Iterative Process Reference Models Architectural Patterns & Styles Product / System Architecture Software Architecture Reference Architecture Design Decisions Customization
Decision 1Decision 2 Decision 3 Decision 4 Trace 1st Iteration 2nd Iteration R. Capilla, F. Nava, S. Pérez, J.C. Dueñas, ICSR9-SHARK’06, Torino, Italy Decisions Linked to Architectural Products SW Requirements Trace
R. Capilla, F. Nava, S. Pérez, J.C. Dueñas, ICSR9-SHARK’06, Torino, Italy Requirements for Tool Support Multiple projects and architectures Different categories of stakeholders Architecture iterations Support for design decisions (patterns, styles, others) Dependencies between decisions Alternative decisions Architecture visualization facilities Documentation generation Connection to functional and non-functional requirements
R. Capilla, F. Nava, S. Pérez, J.C. Dueñas, ICSR9-SHARK’06, Torino, Italy Meta-model for the DD Process
R. Capilla, F. Nava, S. Pérez, J.C. Dueñas, ICSR9-SHARK’06, Torino, Italy The ADDSS Tool First prototype at:
R. Capilla, F. Nava, S. Pérez, J.C. Dueñas, ICSR9-SHARK’06, Torino, Italy The ADDSS Tool Stored list of patterns and styles o Pattern name o Pattern description o Image
R. Capilla, F. Nava, S. Pérez, J.C. Dueñas, ICSR9-SHARK’06, Torino, Italy The ADDSS Tool Software requirements added by the user
R. Capilla, F. Nava, S. Pérez, J.C. Dueñas, ICSR9-SHARK’06, Torino, Italy The ADDSS Tool Requirements are related to design decisions Dependencies between decisions can be defined
R. Capilla, F. Nava, S. Pérez, J.C. Dueñas, ICSR9-SHARK’06, Torino, Italy The ADDSS Tool Architecture construction seen as an iterative process Thumbnail images of architectures
R. Capilla, F. Nava, S. Pérez, J.C. Dueñas, ICSR9-SHARK’06, Torino, Italy The ADDSS Tool Architecture documentation (3 docs) o Project (Architectures (Req, Iter, DD)) o Architecture (Req, Iterations, DD) o Iteration (DD, Req. for each DD)
Conlusions R. Capilla, F. Nava, S. Pérez, J.C. Dueñas, ICSR9-SHARK’06, Torino, Italy A first class of tools for supporting decisions explicitly Tool support for an iterative and evolving process A learning and recording process for understanding design decisions Connection between requirements, decisions and architectures A way by which we can recreate recorded decisions Knowledge can be shared between the stakeholders
Support for different architecture views Quality attributte specification Queries and rules for reasoning about decisions Discriminate types of dependencies More detailed information for DD Extend the proposed meta-model Explicit notation for DD Work for the Next Day After this Conference R. Capilla, F. Nava, S. Pérez, J.C. Dueñas, ICSR9-SHARK’06, Torino, Italy
A brief note for people interested in the tool Please us before ( ) because we are changing the platform and improving some features Temporarily use the following URL
Thank you for your time…