Requirement Engineering with URN: Integrating Goals and Scenarios Jean-Franois Roy Thesis Defense...
-
Upload
christal-mason -
Category
Documents
-
view
222 -
download
0
description
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