625 Module 07a Study F12

download 625 Module 07a Study F12

of 30

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.