abstract use case map (ucm) scenarios are useful for elicitation and analysis of software...
TRANSCRIPT
![Page 1: Abstract Use Case Map (UCM) scenarios are useful for elicitation and analysis of software requirements However, they must be used in cooperation with complementary](https://reader036.vdocuments.mx/reader036/viewer/2022082818/56649ee55503460f94bf4ea8/html5/thumbnails/1.jpg)
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
![Page 2: Abstract Use Case Map (UCM) scenarios are useful for elicitation and analysis of software requirements However, they must be used in cooperation with complementary](https://reader036.vdocuments.mx/reader036/viewer/2022082818/56649ee55503460f94bf4ea8/html5/thumbnails/2.jpg)
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?
![Page 3: Abstract Use Case Map (UCM) scenarios are useful for elicitation and analysis of software requirements However, they must be used in cooperation with complementary](https://reader036.vdocuments.mx/reader036/viewer/2022082818/56649ee55503460f94bf4ea8/html5/thumbnails/3.jpg)
Background: UCMBackground: UCMNotation elements:• Sequence• Alternatives• Concurrency• Conditions• Various
component types• Actors• Sub-maps• Multiple start/end
points• Timers• Others…
![Page 4: Abstract Use Case Map (UCM) scenarios are useful for elicitation and analysis of software requirements However, they must be used in cooperation with complementary](https://reader036.vdocuments.mx/reader036/viewer/2022082818/56649ee55503460f94bf4ea8/html5/thumbnails/4.jpg)
Background: DOORSBackground: DOORSFeatures:• Requirements
ManagementSystem (RMS)
• Commercial• Requirements
objects, links,and attributes
• Hierarchicalfolders
• Impact andtraceabilityanalysis
• Scripting (DXL)
![Page 5: Abstract Use Case Map (UCM) scenarios are useful for elicitation and analysis of software requirements However, they must be used in cooperation with complementary](https://reader036.vdocuments.mx/reader036/viewer/2022082818/56649ee55503460f94bf4ea8/html5/thumbnails/5.jpg)
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)
![Page 6: Abstract Use Case Map (UCM) scenarios are useful for elicitation and analysis of software requirements However, they must be used in cooperation with complementary](https://reader036.vdocuments.mx/reader036/viewer/2022082818/56649ee55503460f94bf4ea8/html5/thumbnails/6.jpg)
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
![Page 7: Abstract Use Case Map (UCM) scenarios are useful for elicitation and analysis of software requirements However, they must be used in cooperation with complementary](https://reader036.vdocuments.mx/reader036/viewer/2022082818/56649ee55503460f94bf4ea8/html5/thumbnails/7.jpg)
![Page 8: Abstract Use Case Map (UCM) scenarios are useful for elicitation and analysis of software requirements However, they must be used in cooperation with complementary](https://reader036.vdocuments.mx/reader036/viewer/2022082818/56649ee55503460f94bf4ea8/html5/thumbnails/8.jpg)
#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
![Page 9: Abstract Use Case Map (UCM) scenarios are useful for elicitation and analysis of software requirements However, they must be used in cooperation with complementary](https://reader036.vdocuments.mx/reader036/viewer/2022082818/56649ee55503460f94bf4ea8/html5/thumbnails/9.jpg)
![Page 10: Abstract Use Case Map (UCM) scenarios are useful for elicitation and analysis of software requirements However, they must be used in cooperation with complementary](https://reader036.vdocuments.mx/reader036/viewer/2022082818/56649ee55503460f94bf4ea8/html5/thumbnails/10.jpg)
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
![Page 11: Abstract Use Case Map (UCM) scenarios are useful for elicitation and analysis of software requirements However, they must be used in cooperation with complementary](https://reader036.vdocuments.mx/reader036/viewer/2022082818/56649ee55503460f94bf4ea8/html5/thumbnails/11.jpg)
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
![Page 12: Abstract Use Case Map (UCM) scenarios are useful for elicitation and analysis of software requirements However, they must be used in cooperation with complementary](https://reader036.vdocuments.mx/reader036/viewer/2022082818/56649ee55503460f94bf4ea8/html5/thumbnails/12.jpg)
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