a web-based tool for managing architectural design decisions rafael capilla, francisco nava, sandra...
TRANSCRIPT
A Web-based Tool for ManagingArchitectural 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
MotivationMotivation
Changes on existing teams.
Traceability issues.
Explain the rationale by which the decisions were made.
Lost of Architectural Knowledge.
Lack of specific notation.
Existing ProblemsExisting 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 EffortsSome 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 WorkPast 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 viewpointfrom 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 PositionOur Position
The Decision View
Documentation Notation Process
CurrentSA
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 ViewRequirements 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
ArchitecturalPatterns &
Styles
Product / SystemArchitecture
SoftwareArchitectureReference
Architecture
Design DecisionsCustomization
Decision 1 Decision 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 ProductsDecisions Linked to Architectural Products
SWRequirements
Trace
R. Capilla, F. Nava, S. Pérez, J.C. Dueñas, ICSR9-SHARK’06, Torino, Italy
Requirements for Tool SupportRequirements 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 ProcessMeta-model for the DD Process
R. Capilla, F. Nava, S. Pérez, J.C. Dueñas, ICSR9-SHARK’06, Torino, Italy
The ADDSS ToolThe 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 ToolThe ADDSS Tool Stored list of patterns and styles
o Pattern nameo Pattern descriptiono Image
R. Capilla, F. Nava, S. Pérez, J.C. Dueñas, ICSR9-SHARK’06, Torino, Italy
The ADDSS ToolThe ADDSS Tool Software requirementsadded by the user
R. Capilla, F. Nava, S. Pérez, J.C. Dueñas, ICSR9-SHARK’06, Torino, Italy
The ADDSS ToolThe ADDSS Tool Requirements are relatedto 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 ToolThe ADDSS Tool Architecture construction seenas 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 ToolThe ADDSS Tool Architecture documentation (3 docs)
o Project (Architectures (Req, Iter, DD)) o Architecture (Req, Iterations, DD)o Iteration (DD, Req. for each DD)
ConlusionsConlusions
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 ConferenceWork 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 peopleinterested in the tool
Please email us before ([email protected]) because we are changing the platform and improving some features
Temporarily use the following URL
http://triana.escet.urjc.es/ADDSS