abstract use case map (ucm) scenarios are useful for elicitation and analysis of software...

12
Abstract Abstract 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

Upload: felicity-riley

Post on 02-Jan-2016

213 views

Category:

Documents


0 download

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

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

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

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

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

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

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

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

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

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

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