A Web-based Tool for Managing Architectural Design Decisions Rafael Capilla, Francisco Nava, Sandra...

21
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

Transcript of A Web-based Tool for Managing Architectural Design Decisions Rafael Capilla, Francisco Nava, Sandra...

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

Thank you for your time…