Requirement Engineering with URN: Integrating Goals and Scenarios Jean-Franois Roy Thesis Defense...

Post on 18-Jan-2018

222 views 0 download

description

Requirement Engineering with URN: Integrating Goals and Scenarios 3 Context URN combines two views: –Use Case Maps (UCM) for operational scenarios over architectural components –Goal Requirements Language (GRL) to model goals, requirements, alternatives and rationales. Tool support for each view, but in isolation No integrated solution for complete URN model –Prevents exploiting URN to its fullest extent

Transcript of Requirement Engineering with URN: Integrating Goals and Scenarios Jean-Franois Roy Thesis Defense...

Requirement Engineering with URN: Integrating

Goals and Scenarios Jean-François Roy

Thesis Defense February 16, 2007

Requirement Engineering with URN: Integrating Goals and Scenarios 2

Outline• Context and Motivation• Alternatives Considered• Contributions

– Integrated URN Metamodel– Integrated URN Tool– GRL Catalogues– URN Links– GRL Strategies– Evaluation Algorithm– Actor Labels– Links Between URN and External Requirements

• Validation • Future Work

Requirement Engineering with URN: Integrating Goals and Scenarios 3

Context

• URN combines two views: – Use Case Maps (UCM) for operational scenarios over

architectural components– Goal Requirements Language (GRL) to model goals,

requirements, alternatives and rationales.

• Tool support for each view, but in isolation• No integrated solution for complete URN model

– Prevents exploiting URN to its fullest extent

Requirement Engineering with URN: Integrating Goals and Scenarios 4

Motivation

• Combine goals and scenarios for expressing and reasoning about functional and non-functional requirements

• Develop a tool to support both views• Provide model analysis features• Support reusability of models• Support links with other types of requirements

Requirement Engineering with URN: Integrating Goals and Scenarios 5

Goals

Requirement Engineering with URN: Integrating Goals and Scenarios 6

Tool Alternatives

Requirement Engineering with URN: Integrating Goals and Scenarios 7

Contributions of the ToolsCommon Metamodel

Graphical Completeness

Usability Reusing Developed Models

Goal and Scenario Analysis

Links with External Requirements

New Tools

GME Make Some Negative

Some Negative

Some Positive

Some Positive

Hurt

XMF Mosaic Make Break Hurt Help Help Hurt

Rational Software Architect

Make Break Hurt Some Negative

Some Negative

Help

Telelogic Tau G2 Make Hurt Some Negative

Some Positive

Some Positive

Help

Existing Tools

GRTool Break Break Some Negative

Unknown Some Positive

Hurt

OME/OpenOME Make Break Some Negative

Help Some Positive

Unknown

TAOM4E Make Some Positive

Help Unknown Some Negative

Unknown

SanDriLa Break Break Some Negative

Hurt Hurt Hurt

jUCMNav 1.0 Help Help Help Help Help Help

Requirement Engineering with URN: Integrating Goals and Scenarios 8

Integrated URN Metamodel• 2 metamodels: Abstract and Implementation.

– Split the core URN concepts (for the standard) from graphical layout information and elements/attributes with no semantic impact (for the tool).

• 4 main packages: URN, URNcore, GRL and UCM– URN package defines links between UCM and GRL– GRL and UCM packages define the constructs of both sub-views– URNcore package now defines common concept of the notation

• Diagrams• Nodes• Links• Containers• Container References

Requirement Engineering with URN: Integrating Goals and Scenarios 9

jUCMNav

GRL Editor in jUCMNav• Takes advantage of the Eclipse views

(hierarchical/graphical outline, properties, resources)• Improved usability: drag & drop editing, group

manipulation, undo/redo, autolayout, …• Multiple URN diagrams in the same model• Element definitions/references (actors and intentional

elements)• Only allows creating syntactically valid models

Requirement Engineering with URN: Integrating Goals and Scenarios 10

Requirement Engineering with URN: Integrating Goals and Scenarios 11

GRL CataloguesExport GRL definitions for reuse in other models

CatalogueCatalogue name, Description, Author

Intentional ElementId, Name, Description, Type, Decomposition Type

DecompositionName, Description, Source id, Destination id

ContributionName, Description, Source id, Destination id, Contribution type, Correlation

DependencyName, Description, Dependee id, Depender id

Requirement Engineering with URN: Integrating Goals and Scenarios 12

Integrating UCM and GRL: URN Links

• Provide traceability links between elements of both sub-views• Improve consistency between GRL and UCM• Used during model analysis

• Supported Links– Intentional Elements Responsibilities– Intentional Elements Components– Intentional Elements Maps– Actors Responsibilities– Actors Components– Actors Maps

Requirement Engineering with URN: Integrating Goals and Scenarios 13

GRL Strategies

• User defined sets of initial evaluations• Allow comparing the results of intentional element

evaluations• Implemented using the Scenarios and Strategies

view• Numerical interpretation of the satisfaction levels• Evaluation of the impact of strategies on the

operational and architectural aspects, using URN links

• jUCMNav supports exporting GRL strategy results to comma-separated value files (CSV)

Requirement Engineering with URN: Integrating Goals and Scenarios 14

Quantitative Versus Qualitative Evaluation

• Quantitative satisfaction levels offer granular representation of evaluations

• Evaluations between -100 and 100

Requirement Engineering with URN: Integrating Goals and Scenarios 15

Requirement Engineering with URN: Integrating Goals and Scenarios 16

Evaluation Algorithm

• New propagation algorithm for numerical evaluations• Supports cycles and automatic conflict resolution• Use all intentional element link types to calculate the

evaluation– Decompositions: Standard AND/OR graph – Contributions:

• Contribution types convert in numerical values• Use a configurable tolerance parameter• Result is normalized between -100 and 100 if it is out of

bounds– Dependencies: Minimal evaluation value of the dependees

Requirement Engineering with URN: Integrating Goals and Scenarios 17

Algorithm Implementation

• Strategy design pattern• Use Eclipse extension points

– New algorithms can be added easily

public void init(EvaluationStrategy strategy, HashMap evaluations);public boolean hasNextNode();public IntentionalElement nextNode();public int getEvaluation(IntentionalElement element);

Requirement Engineering with URN: Integrating Goals and Scenarios 18

Actor Labels

• Actor global satisfaction labels• Help visualize tradeoffs between stakeholders.• Computed using priority and criticality of intentional element

references bound to actors

Priority = LowCriticality = None

Priority = NoneCriticality = High

Requirement Engineering with URN: Integrating Goals and Scenarios 19

URN Models and DOORS

• Complement textual requirements using URN• Create links between URN models and external

requirements• Provide synchronization mechanism to support

evolving requirements• Use jUCMNav export mechanism to create DOORS

eXtension Language (DXL) scripts• Extend the UCM DXL library in DOORS to support

integrated URN models

Requirement Engineering with URN: Integrating Goals and Scenarios 20

Metamodel of GRL in DOORS

Actors<<Module>>

URNModelName<<Folder>>

Actor

0..*0..*

Intentional Elements<<Module>>

GRL Diagrams<<Module>>

GRL Diagram

0..*0..*

Belief

0..*0..*

IntentionalElementRef

0..*0..*

0..*

rationales

0..*

ActorRef

0..*

references

0..*0..*0..*

0..10..*bound to0..10..*0..1

0..*

bound to

0..10..*

0..1

0..*0..*

bound to0..1

refinesrefines

refines

Intentional Element Associations<<Module>>

Decomposition

0..*0..*

Dependency

0..*0..*

Contribution

0..*0..*

Intentional Element

0..*0..*

0..*

references

0..*

0..*

refines

0..*0..*

refines

0..*

0..*

refines

0..*0..*refines

0..*

0..*

0..*

refines

0..*

0..*

refines

Strategy

Strategies<<Module>>

0..*

Requirement Engineering with URN: Integrating Goals and Scenarios 21

Requirement Engineering with URN: Integrating Goals and Scenarios 22

Validation

• GRL editor implemented with undoable commands containing preconditions and postconditions (Java assertions).

• More than 100 automated test cases.• 2 case studies (web application and credit card

gateway).• Used by research groups and 35 students in a

requirements analysis course.• 2 publications at SAM 2006.

Requirement Engineering with URN: Integrating Goals and Scenarios 23

Future Work

• Combine GRL strategies and UCM scenarios to measure the impact of strategic decisions on architectural model

• Develop new analysis algorithms for GRL strategies (such as top-down algorithm or actor maximization algorithm)

• Develop a graphical comparison mechanism between two URN models

• Implement the change report in the DXL library to support the integrated URN model