abstract use case map (ucm) scenarios are useful for elicitation and analysis of software...
TRANSCRIPT
AbstractAbstract• Use Case Map (UCM) scenarios are useful for
elicitation and analysis of software requirements• However, they must be used in cooperation with
complementary general requirements• Both views must be linked for traceability and
analysis• UCM tool (jUCMNav) extended to integrate with
the DOORS requirements management system– Reliable and usable front-end to UCM modeling in
collaboration with general requirements management– Additional capabilities for creating links automatically
Motivation and ChallengeMotivation and Challenge• Scenarios guide and focus requirements
elicitation and analysis• Telelogic DOORS provides requirements
management• Use Case Maps (UCMs) provide:
– Simple graphical manipulation of use cases/scenarios– Combine: many scenarios, behaviour and structure– Connections to goal (in ITU-T’s User Requirements
Notation), design, performance, and testing models
How best to combine both, with tool support?How best to combine both, with tool support?
Background: UCMBackground: UCMNotation elements:• Sequence• Alternatives• Concurrency• Conditions• Various
component types• Actors• Sub-maps• Multiple start/end
points• Timers• Others…
Background: DOORSBackground: DOORSFeatures:• Requirements
ManagementSystem (RMS)
• Commercial• Requirements
objects, links,and attributes
• Hierarchicalfolders
• Impact andtraceabilityanalysis
• Scripting (DXL)
Importing and Updating Importing and Updating of UCMs in DOORSof UCMs in DOORS
UCM tool used: UCM tool used: jUCMNavjUCMNav (Eclipse plug-in) (Eclipse plug-in)
Scenarios<<Module>>
Responsibilities<<Module>>
UCMDesignName.ucm<<Folder>>
Components<<Module>>
Devices<<Module>>
Device<<Object>>
0..*0..*
Condition<<Object>>
DoElement<<Object>>
Responsibility<<Object>>
0..*0..*
0..*
0..*
+requests0..*
0..*
Par<<Object>>
Seq<<Object>>
0..1
0..*
+parentID0..1
0..*
0..1
0..*
+parentID0..1
0..*
0..*
+parentID
0..*0..*
+parentID
0..*
ScenarioGroup<<Object>>
0..*0..*
Scenario<<Object>>
0..1 0..1
+parentID
0..1 0..1
0..1
0..1
+parentID 0..1
0..1
0..*0..*
Maps<<Module>>
Stub<<Object>>
Map<<Object>>
0..*0..*
0..*0..*0..*
0..*
+refines0..*
0..*
Component<<Object>>
0..*0..*
0..1
0..* +hosts
0..1
0..*
ResponsibilityReference<<Object>>
0..*
+references
0..*
0..*0..*
Resp<<Object>>
0..* +traced by0..*
ComponentReference<<Object>>
0..10..*+bound to
0..10..*
0..1 0..*+bound to0..1 0..*
0..*0..*0..*
+references
0..*
0..*+traced by
0..*
UCM Metamodel in DOORSUCM Metamodel in DOORS
#include "addins/UCM/lib/UCMUtilities.dxl"
beginImport( "URNspec" )component( "4", "Manager", "Actor",
"Role responsible for initiating the production", "" )component( "6", "Customer", "Actor",
"Person that request goods to be produced", "" )…responsibility( "81", "GetResource",
"Acquire the resource needed", "0" )responsibility( "83", "ReleaseResource",
"Release the resource for future usage", "0" )…
map( "2", "Production", "Production.bmp", ... )respRef( "82", 269,114,"15", "81", "GetResource", "" )stub( "100", 294,268,"Factory", "dynamic", "102;" )compRef( "5", 17,17,77,168,"no", "4", "Manager", "", "" )…
map( "102", "FactoryA", "FactoryA.bmp", … )…
map( "313", "Factory B", "Factory B.bmp", … )…
endImport
DXL Export • jUCMNav generates
DXL (DOORS extensible language)script from model, andbitmap images
New API • Script invokes new DXL
API for importing and updating model elementsand links in DOORS
UCM Import/Update• DXL script simply
needs to be run from DOORS
Link Auto-CompletionLink Auto-Completion• Internal UCM links created automatically• Manual links between UCM model and higher/lower level requirements
• Link auto-completion uses some manual links and internal links to infer and generate other links automatically
UserLevel
References
References
Traced By
Refines
UCMs(Resp.)
UCMs(Comp.)
UCMs(Scenarios)
Scenario.Resp
UserRequirements
(Use Cases)
SystemRequirements
UCMs (Maps)
Bou
nd T
o
Bound To
Ref
ines
Map
* Map.Stub
* Map.Resp
* Map.Comp
manual & generated links
generated links
manual links
DiscussionDiscussion• Integrating scenario models and other types of
requirements allows for more complete system view and different analyses (impact, completeness, traceability…)
• DXL API is generic enough to be used both by older UCMNav tool and newer jUCMNav tool
• Link auto-completion helps minimize the number of manual links required
• Evolution of UCM models and of other requirements also handled by the tool
ConclusionConclusion• AchievementsAchievements
– UCM scenarios combined with external requirements – Extensible DXL API/library– New plug-in for UCM-DOORS export and evolution– Link auto-completion for minimizing manual linking
• Future Work– Export of GRL models (from the User Requirements
Notation), the other notation supported by jUCMNav– Support for UCM scenario definitions in jUCMNav,
with export to DOORS