210 likes | 302 Views
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. Motivation. Architectural decisions are sadly lost during
E N D
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
Motivation • 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
Existing Problems Changes on existing teams. Traceability issues. Explain the rationale by which the decisions were made. Lost of Architectural Knowledge. Lack of specific notation. R. Capilla, F. Nava, S. Pérez, J.C. Dueñas, ICSR9-SHARK’06, Torino, Italy
Some Current Efforts 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 R. Capilla, F. Nava, S. Pérez, J.C. Dueñas, ICSR9-SHARK’06, Torino, Italy
Past and Current Related Work 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 R. Capilla, F. Nava, S. Pérez, J.C. Dueñas, ICSR9-SHARK’06, Torino, Italy
Our Position 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 Current SA Views & Viewpoints Stakeholders R. Capilla, F. Nava, S. Pérez, J.C. Dueñas, ICSR9-SHARK’06, Torino, Italy
Requirements for the Decision View • 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
Software Architecture Construction: An Iterative Process Reference Models Reference Architecture Software Architecture Architectural Patterns & Styles Customization Design Decisions Product / System Architecture R. Capilla, F. Nava, S. Pérez, J.C. Dueñas, ICSR9-SHARK’06, Torino, Italy
Decisions Linked to Architectural Products Trace Decision 1 Decision 2 Decision 3 Trace Decision 4 SW Requirements 2nd Iteration 1st Iteration 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: http://sevilla.escet.urjc.es/~sperez/ADDSS/ 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 • Pattern name • Pattern description • 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
Architecture documentation (3 docs) The ADDSS Tool • Project (Architectures (Req, Iter, DD)) • Architecture (Req, Iterations, DD) • Iteration (DD, Req. for each DD) R. Capilla, F. Nava, S. Pérez, J.C. Dueñas, ICSR9-SHARK’06, Torino, Italy
Conlusions 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 R. Capilla, F. Nava, S. Pérez, J.C. Dueñas, ICSR9-SHARK’06, Torino, Italy
Work for the Next Day After this Conference 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 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 email us before (rafael.capilla@urjc.es) because we are changing the platform and improving some features • Temporarily use the following URL http://triana.escet.urjc.es/ADDSS
Thank you for your time…