625 Module 07a Study F12
-
Upload
drew-capone -
Category
Documents
-
view
215 -
download
0
Transcript of 625 Module 07a Study F12
-
7/30/2019 625 Module 07a Study F12
1/30
Sinceweselectedthesolu/onconceptinapriormodule,wenowmovefromthe
domainofthestakeholders,andbegindefiningofoursolu/onofinterest,
1
-
7/30/2019 625 Module 07a Study F12
2/30
Theobjec/vesofthismoduleareto:
Definehowthesolu/onwillmeetthestakeholderscapabili/es.Thesearethestakeholdersfunc/onalrequirements.
Definehowthesolu/onfitswithinthecontextorenterpriseenvironment,thatishowitwillfitwithintheopera/onalenvironment.
Capturetheusageofthesolu/on,itsbehaviorandopera/ons.Inthismodulewewillbefocusingonthecapabili/esfunc/onsthatthe
stakeholdersexpectandrequire(thisisascomparedtosystemcharacteris/cs
whichwillbeconsideredinthenextmodule).Addi/onally,weares/llconsidering
thesolu/onasablackbox.Wearedefiningcapabili/eswithinthesystem,butweare
notdefiningthesysteminternalmechanisms,architectureorcomponents.
2
-
7/30/2019 625 Module 07a Study F12
3/30
HereisouroverallSystemsEngineeringFrameworkflow.Wehavecompletedthe
generate,evaluateandselectsystemconceptsandinthismodulewearecovering
howtodefinethesystemscontextandsystem-levelusagesandusagescenarios
(Thesearethetwosec/onsthatareinyellowgreen)
3
-
7/30/2019 625 Module 07a Study F12
4/30
Completing a complete set of system requirements requires this two-prongedapproach.
In this module, we follow the upper prong and develop use cases and theassociated sequence diagrams and activity diagrams -- trace the transactions betweenthe system and the external actors/stakeholders with which it interacts for every
important scenario (including operational, maintenance, initialization, upgrade, etc.).These use cases are used to develop the input/output and functional requirements forthe system.
4
-
7/30/2019 625 Module 07a Study F12
5/30
Inthismodulewearegoingtoboundthesolu/on,thatis,fullyunderstand
wasisthescopeofthesystems,andwhatisoutsideofthesystem.Wearealsogoing
tounderstandwhatthesolu/onmustdo,thatis,itsfunc/ons.Wearegoingto
followthisoverallsetofsteps:
First,wewilldefinetheusagesofthesolu/on(whatisitthatthetheusers
ac/vestakeholdersofthesystemwanttodo?).Thiswillbethecapabili/esofthesystem.
Second,wewilldefinethesolu/onboundary(whataretheexternal
interfaces?).Bydefiningtheoutsideinsideofthesystem,wewillbedefining
thecontextwithinwhichthesystemoperates.
Thirdwewilldefinetheusagescenarios(howisthesolu/ongoingtobeused?)
Notethatthesestepsareo[enperformedconcurrently,andtheyarehighly
itera/ve.
5
-
7/30/2019 625 Module 07a Study F12
6/30
Step1definingtheusagesofthesystem.Rememberwearelookingatablackbox
viewofthesolu/on.Thatis,wedontcareaboutsolu/oninternalsatthispoint
6
-
7/30/2019 625 Module 07a Study F12
7/30
Todefinetheusagesofthesolu/on,wefirstmustconsider:whatmustthe
solu/ondo?Whatcapabilitymustitprovide?Thisisdescribedfromtheac/ve
stakeholdersperspec/veandcapturestheuseofthesolu/on,andthe(ac/ve)
stakeholderswithwhichitwillinteract.Theusagewilldescribesomebasic
func/onalityorcapabilityprovidedtoac/vestakeholder.
Ifyoursolu/ondirectlyinteractswithanindividual(user,maintainer,etc),theusagestypicallystartwithanac/onbytheindividual(asdescribedinthe3rdbullet).
But,dependingonhowyoursolu/onfitswithintheenvironment,ausagemaystart
withyoursystemrespondingtoaninputfromanothersystem(ifsomeexternal
systeminteractswiththeindividual)orevensomeinternalac/onfunc/on
performedbythesystemitself.
Remember,ac*vestakeholdersareindividuals,en**es,andother(external)
systemsthatinteractwithoursystemwhenitisopera*onal
7
-
7/30/2019 625 Module 07a Study F12
8/30
EachusageshouldcovertheWAVE:
W-Whatdoesitdo(nothow)
AfromtheAc'vestakeholderview
VprovidesValuetothestakeholder
EcoversanEn'rescenario.
Thesourceoftheseusagesarethestakeholderexpecta/onsrequirements(thecapabili/estheydescribed).Theymayneedtobeexpandedandthesetofall
usagesshouldmeetallthecapabili/esofallthestakeholders.
Foracomplexsystemthereareusuallyhundredsofusages.Oncedefined,theyare
usedlaterduringvalida/onandverifica/on,aswell.
8
-
7/30/2019 625 Module 07a Study F12
9/30
Inthismodulewearegoingtolookattwotoolstodefineusages:firstwewilllookat
UseCases.TheseUseCasesgraphicallydepicthowthestakeholderwillusethe
system.Theformalusecasemodeldescribestheroleoftheac/vestakeholderasthe
actor.Some/mesanac/vestakeholdermayhavedifferentroles.Itisimportantto
dis/nguishtherolesandthewaythatspecificroleinteractswiththesolu/on.
ForacomplexsystemthereareusuallyhundredsofUseCases.Theseareusedlaterduringvalida/onandverifica/on,aswell.
9
-
7/30/2019 625 Module 07a Study F12
10/30
Sowhatisthedefini/onofaUseCase?Presspauseandreadthroughthisslideon
yourown.
10
-
7/30/2019 625 Module 07a Study F12
11/30
ThisisanexampleofanATMUseCaseDiagram,atahighlevel.Notethatitcanshow
thesequen/alorderoftheusecases.Inthiscase,itshowsthattheLoginusecase
precedestheothersandtheLogoutUsecasesucceedstheothers.Althoughthebank
isdepictedasahuman,thisisreallytheATMsystem.
11
-
7/30/2019 625 Module 07a Study F12
12/30
Thestepstodefinethesolu/onsusages:
1.Definetheexternalinterfacesfortheopera/onalsystem.ThesearetheAc/veStakeholdersthemselvesortheActors(iftherearemul/pleroles
playedbyanAc/veStakeholders).BeclearaboutyourActordefini/onsso
thatyoucantracethemtotheac/vestakeholders.
2.Definetheusagesofeachoftheexternalinterfaces,star/ngwiththestakeholdercapabili/es(earlierintheprocess).Itisagoodideatoini/ally
focusontheusagesbythepeople.Externalsysteminterac/onsmaybea
resultofpeople(user)interac/ons.Oncethehumaninterfacesaredefined,
thendefinetheinterfaceswiththeexternalsystems.
3.Defineanyrela/onshipbetweentheusages:Areanyusagesdependentonotherusages?
4.DocumentthedetailedstepsoftheusagesviatheUseCaseDiagramandassociatedtext.
12
-
7/30/2019 625 Module 07a Study F12
13/30
NowletslookatanATMexampleoftheassociatedtextforawithdrawalusecase.
PresspauseandreadthisslidesothatyouunderstandhowtodiagramaUseCase
andtheassociatedtext.
13
-
7/30/2019 625 Module 07a Study F12
14/30
Inouroverallmoduleoutline,wearenowatStep2definingtheboundaryofthe
solu/on.Rememberwearelookingatablackboxviewofthesolu/on.Atthispoint,
wedontcareaboutanythinginternaltothesolu/on(e.g.,subsystems,hardware,
so[ware,etc)
14
-
7/30/2019 625 Module 07a Study F12
15/30
Nowwearegoingtolookatanimportantdiagramusedtodefineand
describethesolu/onboundaries:theContextDiagram.
TheContextDiagramisusedtoscopethesolu/onbydefiningALLofthe
solu/onsopera/onalinterfacesintoaSINGLEdiagram.Allofthepreviously-defined
usagesofthesolu/onaresummarizedinthissinglediagramandthecontextdiagram
providesasta$cviewofthesolu/on.Thecontextdiagramdefinestheinforma/onandcontrolflowsthatcrossthesolu/onboundary,thatis,itshowstheinforma/on
tofromthesystemfromoutsideofthesystem.
TheContextDiagramhighlightsseveralimportantaspectsofthesolu/on:
specificallyitillustrates,ononediagram,alloftheexternalinterfaces(human,
system,environment,asappropriate).Italsodocumentstheexternaleventsand
databothtoandfromtheoutsideworld(thatis,outsideofthesolu/on).Itdoesnot
explainwhatisinsidetheblackboxsolu/on.
15
-
7/30/2019 625 Module 07a Study F12
16/30
TheimportantpurposeoftheContextDiagramcanbesummarizedasonthisslide:
Firsttoclarifyandconfirmtheopera/onalenvironmentinwhichthesolu/onhasto
operate.Itisimportanttoensureunderstandingtheenterpriseormission.Oncethe
Contextisagreedtobyallstakeholdersitbecomesveryusefulformaintainingfocus
onthedevelopmenteffort,andcanhelppreventscopecreep.
SecondtheContextprovidesadiagramoftheopera$onalexternalinterfacedetailsatanadequatelevelofdetailtoallowanunderstandingofwhatthesolu/onmust
do.
Itcanalsoclarifyandverifythattheinforma/onflowsbetweenthesolu/onand
externalen//esagreewiththesystemusagesandotherbusinessormission
documenta/on.
Last,byexaminingtheinforma/onflows,andtheexternalinterfaces,theContext
Diagramprovidesanunderstandingofthefunc/onalityofthesolu/on.
16
-
7/30/2019 625 Module 07a Study F12
17/30
Thepurposeofthecontextdiagramistogetveryclearaboutwhatiswithin
thescopeofthesystem,whatisoutsideofthescope,andwhatexternalsystemsour
systeminteractswith.
Ac/vestakeholdersarealwaysshownbecausetheyinteractwiththesystemwhenit
isinuse(whenthesystemisopera/onal).
ContextDiagramsmayalsoshowpassivestakeholders,buttheytypicallyinfluencethesolu/on,notdirectlyinteractwithit(sotheywouldbediagrammedas
onlyinput)
17
-
7/30/2019 625 Module 07a Study F12
18/30
Herethereisadifferenttypeofexternalsystem.Some/mestheexternalinterface
totheenvironmentisimportanttotheunderstandingofthesystemcontext.For
exampleanycomplexsolu/onopera/nginSpace.Ifthatistrueforyoursystemof
interest,thenitshouldbeshowninthecontextdiagramandexternalinputsoutputs
wouldbedefined.
18
-
7/30/2019 625 Module 07a Study F12
19/30
1. Iden/fyallexternalen//es,usersandac/vestakeholdersthatneedtointerfacewiththeopera/onalsolu/on(includingtheenvironmentif
applicable).Alltheac/vestakeholdersmustbeincluded,aspreviously
defined.
2. Drawanobjectandlabelingitwiththenameofthesolu/ontobedeveloped.Thus,yoursolu/onistreatedasablackbox(asingleen/tywithnodetailsofwhatisinsideofthesolu/on).
3. Surroundthissolu/on-objectwithotherobjectslabeledwiththenamesoftheac/vestakeholders,externalsystemsandtheenvironment(ifapplicable).
Usingdifferentshapestodis/nguishdifferentcategoriescanbehelpfulin
understandingtheoverallsolu/onboundariesandinterfaces.
4. Addtheinputsandoutputsbetweenthesolu/onandtheac/vestakeholders.Theseinputsandoutputsshouldbebasedon(orsummarize)thesolu*on
usagespreviouslydefined,andmaybesummarizedtomakethediagram
morereadable.
19
-
7/30/2019 625 Module 07a Study F12
20/30
HereisanexampleofaContextDiagramforanATM.Thisisclearlyamore
complicatedandmorecompleteexampleofasystemcontextdiagram.Notethat
thereareuserscustomersincludingoneunfriendlycustomer,maintainers,admin,
andservicers,evenbankmanagement.
ThisslidealsoillustrateshowtoshowexternalsystemsintheContext
Diagram.SomeoftheATMstakeholdersareexternalsystems(e.g.BankorComputerNetwork)butallofthesestakeholdersareac/veones.
20
-
7/30/2019 625 Module 07a Study F12
21/30
30
-
7/30/2019 625 Module 07a Study F12
22/30
31
-
7/30/2019 625 Module 07a Study F12
23/30
Pleasereadthroughthesecaseexampleonyourown.Itprovidesastep-by-step
exampleforthismodulesteamassignment.
32
-
7/30/2019 625 Module 07a Study F12
24/30
33
-
7/30/2019 625 Module 07a Study F12
25/30
34
-
7/30/2019 625 Module 07a Study F12
26/30
Thesearetypicallyderivedfromthestakeholdercapabilityrequirements.
Ensureconsistencyandcompletenesswithyourac/vestakeholderlistand
stakeholderexpecta/onsrequirements,createdinanearliermodule.
Youmayneedtoiterateyourstakeholderlists,ac/vepassivedis/nc/onand
stakeholderexpecta/onsrequirementstoensureyouhaveaccuratelycapturedtheir
desiredcapabili/es(func/ons).
35
-
7/30/2019 625 Module 07a Study F12
27/30
Moredefini/onofoneofthesystemusagesinaUseCaseformatandincludingtext.
36
-
7/30/2019 625 Module 07a Study F12
28/30
Moredefini/onofoneofthesystemusagesinaUseCaseformatandincludingtext
37
-
7/30/2019 625 Module 07a Study F12
29/30
Haveyouincludedyourac/vestakeholdersfromtheearliermodule?Doyou
havenewinforma/onthatmighthavechangedapassivestakeholderintoan
ac/veone(orviceversa)?Haveyouincludedappropriateexternalsystems?
Besureyouareconsistentwiththestakeholderexpecta/onsrequirements.
38
-
7/30/2019 625 Module 07a Study F12
30/30
ContextDiagramonlyshowsopera/onalinterface(interfacestotheAc/ve
Stakeholders).ItmayormaynotshowinterfacestoPassiveStakeholders,sincethose
interfacesarenotopera/onalones.
Ifimportanttothesolu/on,thecontextdiagramwillalsoshowtheopera/onal
interfacetotheenvironment,butthatinterfaceisnotimportantinthisexample.