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

23
Requirement Engineering with URN: Integrating Goals and Scenarios Jean-François Roy Thesis Defense February 16, 2007

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...

Page 1: Requirement Engineering with URN: Integrating Goals and Scenarios Jean-Franois Roy Thesis Defense February 16, 2007.

Requirement Engineering with URN: Integrating

Goals and Scenarios Jean-François Roy

Thesis Defense February 16, 2007

Page 2: Requirement Engineering with URN: Integrating Goals and Scenarios Jean-Franois 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

Page 3: Requirement Engineering with URN: Integrating Goals and Scenarios Jean-Franois Roy Thesis Defense February 16, 2007.

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

Page 4: Requirement Engineering with URN: Integrating Goals and Scenarios Jean-Franois Roy Thesis Defense February 16, 2007.

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

Page 5: Requirement Engineering with URN: Integrating Goals and Scenarios Jean-Franois Roy Thesis Defense February 16, 2007.

Requirement Engineering with URN: Integrating Goals and Scenarios 5

Goals

Page 6: Requirement Engineering with URN: Integrating Goals and Scenarios Jean-Franois Roy Thesis Defense February 16, 2007.

Requirement Engineering with URN: Integrating Goals and Scenarios 6

Tool Alternatives

Page 7: Requirement Engineering with URN: Integrating Goals and Scenarios Jean-Franois Roy Thesis Defense February 16, 2007.

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

Page 8: Requirement Engineering with URN: Integrating Goals and Scenarios Jean-Franois Roy Thesis Defense February 16, 2007.

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

Page 9: Requirement Engineering with URN: Integrating Goals and Scenarios Jean-Franois Roy Thesis Defense February 16, 2007.

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

Page 10: Requirement Engineering with URN: Integrating Goals and Scenarios Jean-Franois Roy Thesis Defense February 16, 2007.

Requirement Engineering with URN: Integrating Goals and Scenarios 10

Page 11: Requirement Engineering with URN: Integrating Goals and Scenarios Jean-Franois Roy Thesis Defense February 16, 2007.

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

Page 12: Requirement Engineering with URN: Integrating Goals and Scenarios Jean-Franois Roy Thesis Defense February 16, 2007.

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

Page 13: Requirement Engineering with URN: Integrating Goals and Scenarios Jean-Franois Roy Thesis Defense February 16, 2007.

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)

Page 14: Requirement Engineering with URN: Integrating Goals and Scenarios Jean-Franois Roy Thesis Defense February 16, 2007.

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

Page 15: Requirement Engineering with URN: Integrating Goals and Scenarios Jean-Franois Roy Thesis Defense February 16, 2007.

Requirement Engineering with URN: Integrating Goals and Scenarios 15

Page 16: Requirement Engineering with URN: Integrating Goals and Scenarios Jean-Franois Roy Thesis Defense February 16, 2007.

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

Page 17: Requirement Engineering with URN: Integrating Goals and Scenarios Jean-Franois Roy Thesis Defense February 16, 2007.

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);

Page 18: Requirement Engineering with URN: Integrating Goals and Scenarios Jean-Franois Roy Thesis Defense February 16, 2007.

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

Page 19: Requirement Engineering with URN: Integrating Goals and Scenarios Jean-Franois Roy Thesis Defense February 16, 2007.

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

Page 20: Requirement Engineering with URN: Integrating Goals and Scenarios Jean-Franois Roy Thesis Defense February 16, 2007.

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..*

Page 21: Requirement Engineering with URN: Integrating Goals and Scenarios Jean-Franois Roy Thesis Defense February 16, 2007.

Requirement Engineering with URN: Integrating Goals and Scenarios 21

Page 22: Requirement Engineering with URN: Integrating Goals and Scenarios Jean-Franois Roy Thesis Defense February 16, 2007.

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.

Page 23: Requirement Engineering with URN: Integrating Goals and Scenarios Jean-Franois Roy Thesis Defense February 16, 2007.

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