Data Flow Diagramming by Example: Process Modeling...

329

Transcript of Data Flow Diagramming by Example: Process Modeling...

Page 1: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which
Page 2: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which
Page 3: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which
Page 4: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which
Page 5: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

DataFlowDiagrammingbyExample

ProcessModeling

Page 6: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

Techniquesfor

RequirementsElicitation

ThomasHathawayAngelaHathaway

©2015byBA-Experts.

Page 7: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

Allrightsreserved.Nopartofthispublicationmaybereproduced,storedinaretrievalsystem,or

transmittedinanyformorbyanymeans,electronic,

mechanical,photocopying,recording,orotherwise

withoutpriorpermissionofthecopyrightholder.

Thecontentsofthis

Page 8: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

publicationareprovidedingoodfaithandneitherTheAuthorsnorThePublishercanbeheldresponsibleforanyerrorsoromissions

containedherein.Anypersonrelyingupontheinformationmustindependentlysatisfyhimselforherselfastothe

safetyoranyotherimplicationsofactinguponsuchinformationandnoliabilityshallbeacceptedeitherbyTheAuthororThe

Page 9: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

Publisherintheeventofrelianceuponsuch

informationnorforanydamageorinjuryarisingfrom

anyinterpretationofitscontents.Thispublicationmaynotbeusedinany

processofriskassessment.

Page 10: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

PrefaceThiseBookwasneithercreated“ForDummies®”nor“ForCompleteIdiots®”,butfornormalpeopleintherealworldtogivethemabasicunderstandingofbusinessanalysisconceptsandtechniques.Manypeopledobusinessanalysisalthoughit

Page 11: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

isnotintheirjobdescription.WhetheryouaretheCEO,COO,Director,Manager,oronthefrontlines,youmaybeinvolvedindefininghowtechnologycanbenefityouandyourorganization.Whenyouareinthatawesomerole,youareatthattime“theonewearingtheBusinessAnalysis(BA)hat”.

Intoday’swiredworld,softwareapplicationsoften

Page 12: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

takecenterstageinoptimizingworkflowandincreasingproductivity.Unfortunately,theprocessofdeliveringtherightsoftwaretotherightpeopleattherighttimeischallengingtosaytheleast.ThiseBookpresentsDataFlowDiagrams(DFDs)asaphenomenaltoolforvisualizingandanalyzingdependenciesandinteractionsamongstmanualandautomatedbusiness

Page 13: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

processes.ItexplainswhataDFDis,whyyouneedone,andhowtocreateit.Youwilllearnthebenefitsofprocessvisualizationforthebusinesscommunity,fortheonewearingtheBAhat,forthosetaskedwithdevelopingthesolution,andultimatelyfortheentireorganization.YouwillalsodiscoverhowDFDsarepowerfultoolsforrecognizingandeliminatingtwoofthemajorproblems

Page 14: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

thathauntITprojects,namelyScopeCreepandProjectOverrunscausedbylateprojectchangerequests.

Page 15: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

AbouttheAuthorsAngelaandTomHathawayhaveauthoredanddeliveredhundredsoftrainingcoursesandpublicationstothousandsofbusinessanalystsaroundtheworld.Theyhavefacilitatednumerousrequirementsdiscovery

Page 16: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

sessionsforinformationtechnologyprojectsunderavarietyofacronyms(JAD,ASAP,JADr,JRP,etc.).

Basedontheirpersonaljourneyandexperiencesreportedbytheirstudents,theyrecognizedhowmuchanyonecanbenefitfromabasicunderstandingofwhataDataFlowDiagramis,whattheyrepresent,whoneedsone,andhowtogetstarted

Page 17: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

creatingone.

Angela’sandTom’smissionistoallowanyone,anywhereaccesstosimple,easy-to-learntechniquesbysharingtheirexperienceandexpertiseintheirtrainingseminars,blogposts,eBooks,videocourses,KnowledgeKnuggets™,andpublicpresentations.

Page 18: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

AdditionalResourcesThecontentsofthiseBookarealsocontainedinourinstructor-ledtrainingwhichweofferonlineoratyoursite.Peruseourtrainingprogram.

Page 19: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

TableofContents

Preface

AbouttheAuthors

TableofContents

IntroductiontoDataFlowDiagrams(DFDs)forthe

Page 20: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

BusinessBusinessProcesses,DataFlows,andValueChainsWhyCreateaDataFlowDiagram?

ModelingtheFlowofMaterialandData

VisualizingProjectScope

HowtoIdentifyInternalProcessesonaDFD

Page 21: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

GettingtotheNextLevelMiningforProcesses

DrawingaDetailLevelDFD

DiscoveringMissingProcessesandData

DetailedProcessandDataSpecificationsOptionalProcessMini-Specs

Page 22: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

CapturingDataElementsHorizontalBalancingRevealsMissingDataElements

ThePowerofDataFlowDiagramsWhatDoestheDataFlowDiagramDoforYou?AFullyBalancedDFDCreatingaDFDFragment

Page 23: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

Summary

Page 24: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

IntroductiontoDataFlowDiagrams(DFDs)fortheBusiness

Page 25: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

Questionsansweredinthischapter:

Page 26: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

WhatisaDataFlowDiagram(DFD)?WhendoIneedone?

Page 27: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

BusinessProcesses,DataFlows,andValueChains

Apicturereallyisworthathousandwords,especiallyintheworldofBusiness

Page 28: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

AnalysisforITprojects.TrytodescribeworkflowsorbusinessprocessesinnaturallanguageandthechancesthatITwilldeliverthesolutionyouwantareverysmallindeed.Thechallengeiswhatpicturedoyouneedtodraw?

Thereareseveraltechniquesfordrawingprocessmodelsordiagramsatvariouslevelsofdetailandeachhasaspecificfocus.DataFlow

Page 29: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

Diagrams(DFDs)representtheworkfloworstepswithinaprocesswithafocusontheflowandtransformationofdata.YoucancreateDFDsatthebusinesslevel(asinthisexample)representingbusinessprocessesandbusinessdataoratthesystemleveldepictingITapplications,databases,andfiles.Sincewearetalkingaboutbusinessanalysis,ourfocuswillbecreatingand

Page 30: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

usingdataflowdiagramsatthebusinesslevel.

Everybusinessprocessisamore-or-lesscomplexsequenceofstepsthatchangessomethingcomingin

Page 31: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

tocreatesomethingnew.Assuch,theprocessneedssomeformofinput,whichcouldbeinformationoranyotherresource.Bydefinition,adataflowdiagramisapictureofhowthedepictedprocessescreate,consume,transport,andstoredata.ADFDistherightchoiceforbusinessprocessmodelingifyouneedtounderstandthecreationanduseofdatawithintheindividualbusinessprocesses.

Page 32: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

Thoseprocessescanbemanualorautomated;itdoesnotmatterasfarasthediagramisconcerned.

Processesuseinputtocreateoutput,whethertheoutputissomethingaltogetherneworsimplyanalteredversionof

Page 33: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

theoriginalinput.Sincetheprocessaddssomemeasurablevaluetotheinput,weoftenrefertothe“valuechain”oftheorganization.

Fundamentally,anydiagramissimplyapicturewithconstraints.InthecaseoftheDFD,theconstraintsarewhichsymbolsyoucanuseandwhateachsymbolmeans.Therearereallyonlytwowidelyusedconventionsfor

Page 34: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

drawingDFDsandthedifferencesareminimal.Bothallowonlyfourbasicsymbols.

Aroundedrectangle(oracircledependingonwhichconventionyoufollow)representsaprocessatsomelevelofdetail.Thenameoftheprocesstellsuswhattheprocessdoes(i.e.,whatitsprimaryfunctionis)incommonbusinessterms.

Page 35: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

Sincefunctionsareactions,thenameconsistsofanactiveverb(whatisdone)andadirectobject(whatisitdoneto—e.g.,PROCESSCREDITCARD,SELLPRODUCT,CHECKITEMPRICE).

Asyoucanseefromthe

Page 36: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

examples,thenamedprocesscanbeatanylevelofdetail,fromtheveryhigh-level(SELLPRODUCT)totheverylow-level(CHECKITEMPRICE).

ProcessesInteractwithData

Anarrowrepresentsadataflow,meaninginformationcomingfromsomewhereandgoingsomewhereelse.

Page 37: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

Becausethedataismovingfromsomewheretosomewhere,thearrowpointsinthedirectionofmovement.Everydataflowhastohaveaname.Becauseitrepresentsdataanddataisathing,thenamehastobeanounwithorwithoutappropriatemodifiers(i.e.,CreditCardAuthorization,Invoice,ItemNumber).Aswiththeprocess,thenameddataflowcanbeatanylevelofdetail.

Page 38: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

Adatastoreissimplydataatrest.Itisnotgoinganywheresoitcannotbeadataflow;itiswaitingtobeconsumedbyaprocess.Adatastoreisnotnecessarilyafilealthoughafileisadatastore(likeasquareisarectanglebutarectangleisnotnecessarilyasquare).Aspecialsymbol

Page 39: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

consistingofasmallsquarewiththetopandbottomlinesextendingoutwardtotheright(orsimplytwoparallellines,againdependingonconvention)representsadatastore.

ADFDMakesScopeVisible

Asimplesquare(withor

Page 40: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

withoutanoptionalshadow)representsanexternalentity.Intheworldofdataflowdiagramming,anexternalentityrepresentsaperson,organization,orapplicationthatisoutofscopefortheprojectfromtheperspectiveoftheDFD.Specifically,itimpliesthattherepresentedobjectisnotgoingtobeanalyzedorimpactedbyanyprojectusingthisdiagramalthoughdataflowstoand

Page 41: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

fromtheexternalentityhavetobeanalyzed.

Page 42: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

WhyCreateaDataFlowDiagram?

ADFDservesmultiplepurposes.Youmightcreateonetobeabletoanalyzethecurrentsituationwiththegoalofidentifyingroadblocksandimprovingefficiency.You

Page 43: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

mightalsocreateonetopresentanddiscusstheprocesswithothers.YoucouldcreateaDFDofaproposedbusinessprocessbeforeyoudevelopdetailedprocessesandsupportingITapplicationstoidentifypotentialissuesbeforetheyoccur.Itsprincipleuseispresumablytoidentify,document,andcommunicatestakeholderrequirementsforanITproject.

Page 44: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

Fundamentally,therearetwogoodreasonswhyyouneedadiagram.Firstoff,peoplecanpointtothediagramtodiscussaprocessorflowinsteadofusingwordstodescribewhattheymean.Thediagramrepresentsavisualmodeofcommunication,whichallstudiesshowismuchmoreeffectivethanmerewords.Pointingpowerprovesthatitworks.Secondly,studyingthe

Page 45: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

diagramgeneratesquestionsthatmightindicatemissingstepsorexternalentities.Ifthediagrampiquesyourcuriosity,itiswellworthyourwhiletoinvestigatethesituationtofindananswer.

Page 46: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

ModelingtheFlowofMaterialandData

Page 47: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

Questionsansweredinthischapter:

Page 48: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

WhatisaRigorousPhysicalProcessModel(RPPM)andwhydoIneedone?Whatsymbols

Page 49: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

doesituse?HowcanIcreateanRPPMfrominterviewnotes?

ARigorousPhysicalProcessModelshowsthemovementofphysicalobjectsanddataamongsttheunitsinan

Page 50: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

organization.Theideaistorepresenttherealworldascloselyaspossible.Giventhattheproposedinformationtechnology(IT)solutionwillneedtoknowsomethingaboutthephysicalobjects,thesewillhavetoberepresentedindataaswell.ThepowerofanRPPMliesinitssimplicity.Itonlyallowstwosymbols,acircletorepresentpeopleorplacesandanarrowrepresentingthe

Page 51: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

movementofphysicalmaterialordata.ThissimplicitymakesiteasytoimplementanditisanidealprecursortoaDataFlowDiagram.

NowthatyouknowthesymbolsforcreatinganRPPM,Iwouldliketowalkyouthroughtheexerciseofanalyzingasituationtocreateoneusingastandardscenariofromourinstructor-ledclass.

Page 52: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

FYI,thisisatranscriptofaninterviewwiththeManageroftheOrderEntryDepartment,Mary(theprojectsponsor).

InterviewNotes

Thecustomertriggersalltheactioninour

Page 53: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

department.Wereceiveanorder(withorwithoutpayment),acomplaintorapayment(withorwithoutinvoicecopy)fromthecustomer.These

Page 54: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

areseparatedandthefollowing

actionstakeplace:

Ifitisanorder,weverifyanexistingcustomer'screditstatusandthenweverifythattheitemnumbers

Page 55: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

arevalidbycheckingourinventoryfile.Newcustomer'sordersaresentto

thecreditdepartmentandhelduntiltheyclearacredit

Page 56: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

check.(Ifhalfpaymentormoreisincluded,that

orderistreatedasifitwereacreditorderwithgood

credit.)

Validordersareaccumulated

Page 57: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

andgroupedintoshippingzonesandtransmittedtothewarehousetobefilled.Afteran

orderisfilled,thecustomeraddressisattached,thebestorrequested

Page 58: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

shippingmethoddetermined,postageor

shippingcostscalculated,theorderisshipped,andthewarehouse

inventoryisreduced.Acopyof

Page 59: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

thepackingslipgoestoaccountingwhereaninvoiceiscreatedandsenttothecustomer,andthecustomer'saccountupdated.Copiesoforderswithpaymentsand

Page 60: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

paymentsgotoaccounting,wherethepaymentsareappliedtothecustomer's

account.Theiteminventoryis

officiallyupdatedinaccounting.

Page 61: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

Customercomplaintsgodirectlyto

customerservice.Theyresearchthesituationandrespondtothecustomerassoonaspossible.Any

Page 62: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

actiontakenbycustomerservice,whichaffectsaccountingorinventory,is

passedtothemforupdating.Possibleactionsareaneworder,adebit,ora

Page 63: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

credit.Theselookexactlyliketheregularorderprocess.

MyapproachistoreadthetextandlookforpeopleandplacesthatIwanttorepresentinmyRPPM.WhenIfindanoun,Idecidewhetheritnamesapersonorplaceon

Page 64: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

myprocessmodelorsimplynamesdataorphysicalmaterialIneedtotrack.I’lltrymybest,butdon’thavetobeperfectasthisismyfirstcutatit.

InterviewNotes

Thecustomertriggersallthe

Page 65: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

actioninourdepartment.Wereceiveanorder(withorwithoutpayment),a

complaint,orapayment(withorwithoutinvoicecopy)fromthe

Page 66: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

customer.Theseareseparatedandthefollowing

actionstakeplace:

Ifitisanorder,weverifyanexistingcustomer'screditstatusandthenweverifythat

Page 67: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

theitemnumbersarevalidbycheckingourinventoryfile.Newcustomer'sordersaresentto

thecreditdepartmentandhelduntilthey

Page 68: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

clearacreditcheck.(Ifhalf

paymentormoreisincluded,that

orderistreatedasifitwereacreditorderwithgood

credit.)

Validorders

Page 69: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

areaccumulatedandgroupedintoshippingzonesandtransmittedtothewarehousetobefilled.Afteran

orderisfilled,thecustomeraddressisattached,the

Page 70: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

bestorrequestedshippingmethoddetermined,postageor

shippingcostscalculated,theorderisshipped,andthewarehouse

inventoryis

Page 71: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

reduced.Acopyofthepackingslipgoestoaccountingwhereaninvoiceiscreatedandsenttothecustomer,andthecustomer'saccountupdated.Copiesoforders

Page 72: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

withpaymentsandpaymentsgotoaccounting,wherethepaymentsareappliedtothecustomer's

account.Theiteminventoryis

officiallyupdated

Page 73: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

inaccounting.

Customercomplaintsgodirectlyto

customerservice.Theyresearchthesituationandrespondtothecustomerassoon

Page 74: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

aspossible.Anyactiontakenbycustomerservice,whichaffectsaccountingorinventory,is

passedtothemforupdating.Possibleactionsareanew

Page 75: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

order,adebit,oracredit.Theselookexactlyliketheregularorderprocess.

Iusuallyusecolor-codingwhileIamdoingthis,soasyouseehere,IhighlightedfivenounsthatIthink

Page 76: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

representpeopleorplaces(ourdepartment–akaORDERENTRY,CREDITDEPARTMENT,WAREHOUSE,ACCOUNTING,andCUSTOMERSERVICE)andtheCUSTOMER.Therearealotofothernounsinthenarrative,butIthinktheyareallsimplythingsImayneedtokeeptrackof,soIamgoingtoignorethemfornow.Atthistime,Iamonly

Page 77: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

interestedinpeopleandplaces(inthiscase,organizationalunits)wherethedatamightcomefromorgoto.

Sincethetextindicatesthateverythingstartswiththecustomer,Istartmydiagrambydrawingacircleintheupperleft-handcornerofthepageandlabelingitCUSTOMER.Thenextpartmentionedinthenarrativeis

Page 78: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

‘ourdepartment’,soIdrawanothercirclediagonallytotherightofandbelowtheCUSTOMERandnameitORDERENTRY.SinceIwilladdflowsbetweentheentities,Ineedtoleaveroomenoughforalabelandoneormorearrowsbetweenthetwocircles.Analyzingthenarrative,IseethatORDERENTRYreceivesOrders,Payments,andComplaintsfromtheCUSTOMER,soI

Page 79: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

drawthearrowindicatingtheflowfromtheCUSTOMERtoORDERENTRYandlabelitrespectively.

Next,IreadseveralthingsthatORDERENTRYdoeswiththeincomingflow.Iam

Page 80: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

goingtobeinterestedinthesespecificactionslater(onceIknowthescopeofthisproject)butforthetimebeing,Iamignoringthem.AllIamreallyinterestedinatthistimeistheflowofdatabetweendepartmentsandnotwhateachdepartmentdoeswithit.Becauseofthat,thenextflowIfindinthenarrativeisthatORDERENTRYsendsnewcustomerorderstotheCREDIT

Page 81: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

DEPARTMENT.ThatcausesmetoaddacirclediagonallyaboveandtotherightoftheORDERENTRYsymbol,labellingitCREDITDEPARTMENT,addinganarrowfromORDERENTRYtotheCREDITDEPARTMENT,andlabellingthearrowNewCustomerOrder.Again,Ineedtomakesurethespacingbetweenthecirclesleavesroomforthearrowandits

Page 82: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

label.

Readingon,InotethatvalidordersaretransmittedtotheWAREHOUSE,soIaddacirclelabelled“WAREHOUSE”belowtheonelabelledCREDIT

Page 83: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

DEPARTMENTandaddaValidOrderarroworiginatingfromORDERENTRY.Asyoucanbynowsurmise,Iamtryingtodrawthediagramdiagonallyfromtheupperlefttothelowerrightofthepagefollowingtheflowoftheorderasexpressedinthenarrative.Themajorreasonforthisiscultural.Englishandmanyotherlanguagesarewrittenfromlefttorightstartingatthetopofthepage

Page 84: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

andcontinuedowntothebottom.Ifmydiagramconformstothisconvention,itiseasierformostpeopletofollow.

Page 85: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

Backtothenarrative,thenextflowofdatathatInoteistheWAREHOUSEshippingtheordertothecustomer.Torepresentthisflow,IcoulddrawanarrowfromtheWAREHOUSEaroundtheCREDITDEPARTMENTbacktotheCUSTOMERbutthatwouldviolatemyleft-to-right,top-to-bottomflow.SinceIconsiderthereadabilityofthediagramtobecritical,I’mgoingto

Page 86: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

‘cheat’byaddingasecondcirclelabelledCUSTOMER/2(indicatingthatthissymbolisarepeat)diagonallybelowandtotherightoftheWAREHOUSEsymbolandinsertanarrowlabelledShipmentfromtheWAREHOUSEtotheCUSTOMER/2symbol.Thispositioningkeepsthedirectionalflowintact.

Page 87: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

Next,IreadacopyofthePackingSlipgoesfromtheWAREHOUSEtoACCOUNTING,soIaddan

Page 88: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

appropriatelylabelledcirclebelow,totheleftoftheWAREHOUSEsymbol,andaddtheflowCopyofPackingSlipfromtheWAREHOUSEtoACCOUNTING.ACCOUNTINGsendsaninvoicetothecustomerwhichIrepresentwithanarrowlabelledinvoicefromACCOUNTINGtoCUSTOMER/2,againmaintainingtheproperreadingdirectionofthe

Page 89: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

diagram.WhenIread‘copiesoforderswithpaymentsandpaymentsgotoaccounting’,IhavetobacktracktothebeginningofthenarrativetodiscoverthatthesearecomingfromtheCUSTOMERtoORDERENTRY,sothissimplyaddsanewflowfromORDERENTRYtoACCOUNTINGwiththelabelCopyofOrderwithPayment,Payments.UpdatingtheItemInventory

Page 90: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

isinternaltoACCOUNTING,soitdoesnotconcernmehere.

Page 91: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

Thefinalparagraphisabitmoreconfusing.Firstoff,complaintsgodirectlytoCUSTOMERSERVICE.Again,byrereadingthefirstparagraph,IrecognizethatORDERENTRYreceivedthecomplaints,soIaddthearrowcomplaintsgoingfromORDERENTRYtoCUSTOMERSERVICE.CUSTOMERSERVICEsendsaResponsetothecustomerwhichisanarrow

Page 92: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

betweenCUSTOMERSERVICEandCUSTOMER/2.InreadingtheactionsCUSTOMERSERVICEtakes,IconcludethatIalsoneedaflowlabeledDebitorCreditfromCUSTOMERSERVICEtoACCOUNTINGandaNewOrderflowfromCUSTOMERSERVICEbacktotheORDERENTRYdepartment(whichmakesthese“lookexactlyliketheregularorderprocess”as

Page 93: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

expressedintheinterviewnotes).

Inowhaveapictureofthe

Page 94: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

processdepictedintheinterviewnotesfromMary.Icanuseittopresenttheprocesstoanyaudience.Wecanfocusourdiscussionsabouttheprocessbypointingatthevariousunitsandflows.Asimple,clearpicturelikethisincreasescomprehensionandretention.OnceIhavegainedMary’sapprovalthatmydiagramisanaccuraterepresentationoftheprocessflow,wecaninitiatethe

Page 95: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

processofmorphingthisRigorousPhysicalProcessModelintoalegitimateDataFlowDiagram.

Page 96: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

VisualizingProjectScope

Page 97: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

Questionsansweredinthischapter:

Page 98: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

WhatisthedifferencebetweenaRigorousPhysicalProcessModelandaContext-LevelDFD?HowcanI

Page 99: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

converttheRPPMtoalegitimateDFD?Whyisthisconversionnecessary?

Atthispoint,Ihaveagreatdiagramofthesituationdescribedinthenarrative.

Page 100: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

TheproblemisthatitdoesnotfollowtherulesgoverningsymbolsonaDataFlowDiagram.AllIhavearecircleswithNOUNnamesbutaccordingtotherules,circlesrepresentPROCESSESonaDFDandPROCESSEShavetohaveaVERB/OBJECTname(dosomethingtosomething)!ThereasonforthisisthatIdrewtheRigorousPhysicalProcessModelwithoutknowing

Page 101: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

whichofthesedepictedpeopleandplacesareinscopeformyprojectandwhicharenot.IneedtogetananswertothescopequestiontoconvertthisRigorousPhysicalProcessModeltoaContextDataFlowDiagram.

AstheonewearingtheBAhat,Icannotmakeadecisionregardingthescopeoftheproject.Thatdecision

Page 102: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

ultimatelyhastobemadebytheprojectsponsor(thecommontitlefortheindividualintheorganizationwhoisfundingtheproject).MaryisourprojectsponsorandtheDepartmentManagerofOrderEntry.HerauthorityislimitedtoanythingtheOrderEntryDepartmentdoes.Basedonherauthority,Icannowconvertmyinitialdiagrambyfollowingafewsimplerules.Firstoff,since

Page 103: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

ORDERENTRYisinscopeformyproject,IneedtochangethenounORDERENTRYtoaVERB/OBJECTtomakeitalegitimatefunction.WhatIlookforistheprimaryfunctionthatORDERENTRYperformsandMaryagreesthattheirprimaryfunctionistoENTERORDERS.

Page 104: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

BychangingthenameofthecirclefromthedepartmentORDERENTRYtothefunctionENTERORDERS,I

Page 105: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

notonlyhavealegitimatefunction,Ialsomadeacriticalpsychologicalshift.Astheprojectprogresses,IamgoingtoanalyzewhathappensinsidetheENTERORDERSprocesswhichwillleadtotherecognitionthatthereareseveralproblemswithhowtheunitcurrentlyprocessesorders(that’swhytheprojectwasinitiated).

IfIleavethenameofthe

Page 106: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

objectORDERENTRY,Iwouldbeaccusingthedepartmentofmakingerrors,whichleadstopointingfingersandmakingaccusations.Thiscanresultinalotofpushbackfromtheemployeesinthedepartmentastheyfeelunjustlycriticized.Havingchangedthenamefromthedepartmenttothefunction,IcancriticallyanalyzetheENTERORDERSfunctionandfind

Page 107: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

flawsinit.Inthiscase,thesameemployeeswilljoininenthusiasticallybecausetheproblemsarecausedbytheprocessanditisnottheirfault.Thisseeminglysimplestepcanliterallymakeorbreaktheproject.

Next,Iconvertallothercirclesonthediagramtosquarestoturnthemintolegitimateexternalentitiestogettoanalmostlegitimate

Page 108: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

DFD.Theonlyremainingproblemisthatthediagramviolatesasimplebutpowerfulruleofdataflowdiagramming,namelythatflowsbetweentwoexternalentitiesarelogicallyoutofscope(sincebothendsoftheflowareoutofscope).

Page 109: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

Tocomplywiththatrule,IeliminatetheDebitorCreditflowfromCUSTOMERSERVICEtoACCOUNTING

Page 110: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

andtheflowResponsefromCUSTOMERSERVICEtoCUSTOMER/2.IcanfurtherignoretheShipmentflowfromtheWAREHOUSEtoCUSTOMER/2,theCopyofPackingSlipfromtheWAREHOUSEtoACCOUNTING,andtheInvoiceflowfromACCOUNTINGtoCUSTOMER/2.Aftereliminatingalloftheseout-of-scopeflows,Iseethatthe

Page 111: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

CUSTOMER/2entityIhadaddedtomaintainthelogicalleft-to-right,top-downflowisunnecessarysinceitisnolongerinvolvedinanydataflows,soIcanalsodeleteit.

Page 112: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

InowhaveaperfectlylegitimateContextLevelDataFlowDiagram(akaa“ContextDiagram”,a“Level

Page 113: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

O(Zero)DFD”,orsometimesa“Level1DFD”)fortheproject.Notethateveryflowonthediagrameithergoesintoorcomesoutoftheoneprocessonthediagramthatisinscope,namelyENTERORDERS.ThatisoneofthehallmarksofagoodContextLevelDFD.Itsprimaryreasonforbeingistomanagethescopeoftheproject.Assumingmydiagramisanaccurate

Page 114: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

representationofthesituation,anythingdoneduringtheENTERORDERSprocessisinscopeandsubjecttochange;everythingelseisoutofscopeforthisproject.Ifanyonestartstodiscussproblemswithselectingthebestshippingmethodforashipment(basedonthenarrativethisisdoneintheWAREHOUSE),Ipointtothediagramtoshowwhythatproblemisirrelevant

Page 115: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

tothecurrentscopeoftheprojectandthereforeweshouldnotspendprojectresourcesdiscussingit.

WhenIlookatthisdiagram,Irecognizeadifferentproblem.IamsendingNewCustomerOrderstotheCREDITDEPARTMENTwhereaccordingtothenarrativetheyare‘helduntiltheyclearacreditcheck’.Thatbegsthequestion,‘What

Page 116: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

happenstothemoncetheyhaveclearedthecreditcheck?’WhatdoestheCREDITDEPARTMENTdowiththem?WhenIposethatquestiontomyprojectsponsor,sheexplainsthattheCREDITDEPARTMENTsendsapprovedordersbacktoORDERENTRY,whichODERENTRYhastocontinueprocessingthesameasotherordersfromknowncustomerswithgoodcredit.

Page 117: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

ThatfactcausesmetoaddtheflowCreditOKOrdersfromtheCREDITDEPARTMENTtotheENTERORDERSprocess.

Page 118: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

Asasidenote,itisnotunusualtodiscovermissingflowssuchasthisonceyoustarttoworkwiththeContext

Page 119: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

LevelDFD.Theearlierintheprojectthatyoucanidentifythem,thecheaperitistoincorporatethemintoyourprojectwork.Bytheway,ifyouidentifiedthisissuewhileyouwerecreatingtheoriginaldiagramandaddedthisflowatthattime,kudos,youareonestepaheadofme.

Page 120: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

HowtoIdentifyInternalProcessesonaDFD

Page 121: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

Questionsansweredinthischapter:

Page 122: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

Whatdoes“explodingaprocess”mean?Whatisthebusinessvalueofdoingit?Whatprocesses

Page 123: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

willthelowerleveldiagramcontain?

Page 124: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

GettingtotheNextLevel

AsrevealingandusefulasaContextDiagrammaybe,itiscertainlylackingalotofdetail.InDataFlowDiagramminglingo,thedetailisrevealedby“exploding”or“levelling”complexprocesses(e.g.ORDER

Page 125: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

GOODS)toidentifyinternalprocessesandflowsthatarenotvisibleatthehigherlevel.Byexplodingaprocess,youwillalsoidentifyinternaldatastores,meaningplaceswherethedatajustsitswithintheprocesswaitinguntilitisusedbyanotherprocess.DelvingintothislevelofdetailmayallowyoutodiscoveradditionalmissingflowssuchastheCreditOKOrdersflowwedealtwith

Page 126: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

previously.

Eachoftheseinternalprocessescreatesand

Page 127: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

consumesspecificdata.Ifyoudrawadataflowdiagramatthismoredetailedlevel,youuncoverinternaldataflowsanddatastoresthataremorespecificanddetailedaswell.Anyprocessatanylevelofdetailisapotentialcandidateforexploding.Theonlyfactortoconsideriswhetheryouunderstandtheprocesssufficientlytopredicthowchangewillaffectit.

Page 128: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

Forexample,toanalyzehowtheENTERORDERSprocessworks,Ineeddetails.Torepresentit,IamgoingtolookinsidetheENTERORDERSprocessanddefinehowitcurrentlyworks.

Page 129: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

MiningforProcesses

GiventhatallIhaveatthistimearemyinterviewnotesfromtheprojectsponsor,Istartbyanalyzingthemtofindtheselower-leveldetails.Specifically,Iamlookingforactionsthatrepresentlowerlevelprocessesperformed

Page 130: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

withinENTERORDERS.Weexpressactionsasverbs,buttheverbshavetopassacoupleofothertestsbeforeIwillconsiderthemcandidatesforaprocessonmydetail-leveldiagram:

1. Verb-Object

Iwillonlyacceptverbsintheiractivevoice(e.g.,‘enterorders’isactivewhereas‘orders

Page 131: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

areentered’ispassive).WhenIfindaverbinthepassivevoice,Iconvertittoactivevoicetoevaluateifitisalegitimateprocess.Specifically,Itrytogiveeachprospectaproperactive-verb-direct-objectnameasrecommendedfornamingprocessesonaDFD(e.g.,CheckInventory,Separate

Page 132: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

Mail).

2. TransformingAction

Thestatedactionhastodosomethingthatwillultimatelyberepresentedintheformofdata,meaningittransformsincomingdataintooutgoingdata.Iftheactionaffectsphysicalmaterial(e.g.,‘Shipment’),the

Page 133: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

applicationwillhavetoknowsomethingaboutthematerialandthatsomethingwillalsobedatainsomeformoranother.

3. InScope

TheactionhastobewithinthescopeoftheprocessIamanalyzing(inthiscase,EnterOrders).

Page 134: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

OnlyiftheactionpassesallthreeruleswillIconsideritasapotentialinternalprocess.

TomakesurethatmylowerleveldiagramisanaccuratedepictionofhowtheENTERORDERSprocessreallyworkstoday,Iinvolvearepresentativefromthegroupwhoactuallydoesthework.ManagerssuchasMarytypicallydonotneedtoknowthelevelofdetailIneed.

Page 135: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

Assumingtheywerepromotedfromtheranks,theyprobablyknowhowtheydidtheworkbackthenbuttheymaynotbeuptodateonexactlyhowtheworkisdonetoday.TogetatrulyaccurateandcurrentpictureoftheENTERORDERSprocess,IreviewthenarrativeandidentifytheinternalprocesseswithPaul,anOrderEntryClerk.SinceprocessesonaDFDareactions,wesimply

Page 136: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

lookforverbsstatingorimplyingactionsandthenapplymythreerules.Hereisalistofthecandidatesweidentifyinouranalysisoftheinterviewnotes.

InterviewNotes

Thecustomertriggersallthe

Page 137: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

actioninourdepartment.Wereceiveanorder(withorwithoutpayment),a

complaint,orapayment(withorwithoutinvoicecopy)fromthe

Page 138: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

customer.Theseareseparatedandthefollowing

actionstakeplace:

Ifitisanorder,weverifyanexistingcustomer'screditstatusandthenweverifythat

Page 139: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

theitemnumbersarevalidbycheckingourinventoryfile.Newcustomer'sordersaresentto

thecreditdepartmentandhelduntilthey

Page 140: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

clearacreditcheck.(Ifhalf

paymentormoreisincluded,that

orderistreatedasifitwereacreditorderwithgood

credit.)

Validorders

Page 141: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

areaccumulatedandgroupedintoshippingzonesandtransmittedtothewarehousetobefilled.Afteran

orderisfilled,...

Afterapplyingour

Page 142: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

aforementionedrules,thefollowingpictureemerges:

Ananalysisoftheremaining

Page 143: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

interviewnotesdoesnotrevealanyadditionalactionsthatareinscopeANDtransformdata.Asyoucansee,outoftheratherlengthyinterviewnotesfromMaryweactuallyidentifiedonlyfourinternalprocessesthatarepartoftheENTERORDERSprocess:

SORTMAIL

VERIFYCREDIT

Page 144: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

VALIDATEITEMS

GROUPVALIDORDERS

ALevel2DataFlowDiagramwillshowhowthesefourinternalprocessestransformtheincomingflowstocreatealloutgoingflows.Whiledrawingthediagram,wemaydiscovermissingflowsand/ormissinginternalprocesses.Thatisnotabad

Page 145: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

thing;itisoneofthemajorbenefitsofexplodingorlevelingaprocess.

Page 146: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

DrawingaDetailLevelDFD

Page 147: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

Questionsansweredinthischapter:

Page 148: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

Whatisasimpleapproachfordrillingdownintoaprocess?WhydoitandwherecanIstart?HowcanI

Page 149: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

showtheinternalprocessesandflowsthatproducetheresults?

LookingattheContextdiagram,the“Orders,Complaints,andPayments”dataflowfromthe

Page 150: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

CUSTOMERiswhereitallstartsandlookingatourlistofpotentialinternalprocesses,SORTMAILappearstobethefirststepintheprocess.

Thecustomertriggersalltheactioninourdepartment.We

Page 151: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

receiveanorder(withorwithoutpayment),a

complaint,orapayment(withorwithoutinvoicecopy)fromthecustomer.Theseareseparatedand

Page 152: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

thefollowingactionstakeplace:

Therefore,IstartmydetaileddiagramontheleftsideofanewsheetofpaperwiththeOrders,Complaints,andPaymentsflowcomingfromtheleftintotheprocessSORTMAIL.Bytheway,dataflowdiagramstendtogrowwide

Page 153: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

asopposedtohighsoIsuggestdrawingthediagramin‘Landscape’orientation.Withthatlayoutoption,Iamgoingtotrytosimplydrawthediagramhorizontallyacrossthemiddleofthepage,leavingspacebothaboveandbelowthesymbolsforadditionalinformationthatIsomehowalwaysneed.

NotethatIamexplodingaprocessENTERORDERS

Page 154: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

fromahigherleveldiagramwhichclearlyshowstheOrders,Complaints,andPaymentsdataflowcomingfromtheexternalentityCUSTOMER.Technicallyspeaking,Idonothavetorepeattheexternalentitysymbolonthelowerleveldiagram—butIwillifitaddsclarity.

BasedonPaul’sexplanationofwhattheSORTMAIL

Page 155: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

processentails,IaddthreeseparateflowsOrders,Complaints,Paymentsastheoutcomeoftheprocess.SincemyprimaryinterestistheOrders,thatisthedataflowgoingouttotherightoftheprocess.Theothertwosecondaryflowscomeoutofthelowerpartoftheprocesssymbol.

Page 156: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

Basedonthenarrative,thenextstepintheprocessisVERIFYCREDITsoIaddaprocesswiththatnametothe

Page 157: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

rightoftheSORTMAILprocesswiththeOrdersdataflowcomingintoitfromtheleft.

InterviewNotes

Ifitisanorder,weverifyanexistingcustomer'screditstatusand

Page 158: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

thenweverifythattheitemnumbersarevalidbycheckingour

inventoryfile.Newcustomer'sordersaresenttothe

creditdepartmentandhelduntilthey

Page 159: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

clearacreditcheck.(Ifhalf

paymentormoreisincluded,that

orderistreatedasifitwereacreditorderwithgood

credit.)

Page 160: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

Theverb‘Verify’onaprocessmodelalwaysimpliestwoinputs.Ineedsomethingtoverify(inthiscasethecustomerinfofromtheOrder)andsomethingtoverifyitagainst.ThenarrativedoesnotstatewhatthatisbutPaulexplainstomethatheverifiesacustomer’screditstatusbycheckingtheCUSTOMERSdatastore.

Thisrevelationcausesmeto

Page 161: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

addthedatastoreCUSTOMERSabovetheVERIFYCREDITprocessandthedataflowCustomerCreditStatusfromCUSTOMERStoVERIFYCREDIT.DrawingthisforcesmetoaskPaulwhathappensifthecustomerisnotintheCUSTOMERSdatastore?“Well,thatwouldmeanitisanewcustomerinwhichcasewesendtheorderovertotheCREDITDEPARTMENTfor

Page 162: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

acreditcheck,”Paulreplies.

IrepresentthisknowledgebyaddingadataflowlabeledNewCustomerOrdercomingoutofthebottomoftheVERIFYCREDITprocess.SincetheflowwiththatnameisshownontheContextDiagramgoingfromENTERORDERStotheCREDITDEPARTMENT,IdonothavetodrawtheexternalentityCREDIT

Page 163: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

DEPARTMENTonmydetaileddiagram(butIwillifitaddsclarity).

Page 164: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

Customerswithgoodcreditgotothenextprocess,whichournarrativeindicatesistheVALIDATEITEMSprocesssoIaddCreditOKOrderscomingoutoftheright-handsideoftheVERIFYCREDITprocessgoingintotheleftsideofthenewVALIDATEITEMSprocess.

InterviewNotes

Page 165: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

Ifitisanorder,weverifyanexistingcustomer'screditstatusandthenweverifythattheitemnumbersarevalidbycheckingour

inventoryfile.New

Page 166: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

customer'sordersaresenttothe

creditdepartmentandhelduntiltheyclearacreditcheck.(Ifhalf

paymentormoreisincluded,that

orderistreatedas

Page 167: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

ifitwereacreditorderwithgood

credit.)

Thatbegsthequestion,“Whathappenstocustomerswithbadcredit?”whichPaulexplainsarealsosenttotheCREDITDEPARTMENT.ThisaddstheflowCreditNOKOrdersdrawnparallel

Page 168: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

totheNewCustomerOrdersflowbelowtheprocess.SincebothdataflowsaregoingtotheCREDITDEPARTMENT,Iaddthatexternalentitytothediagramtomakeitvisibleatthislevel.

Page 169: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

Havingdonethat,IreferbacktothecontextdiagramandseetheCreditOKOrdersdataflowcomingfromthe

Page 170: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

CREDITDEPARTMENTonceanewcustomerhasclearedacreditcheck.IaskPaulandheexplainsthattheseordersgodirectlyintotheVALIDATEITEMSprocessthesameastheCreditOKOrderscomingfromourinternalVERIFYCREDITprocess.Icansimplifymydiagramthenbymergingthetwoincomingflowsandremovingthenamefromthedataflowfromthe

Page 171: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

CREDITDEPARTMENT.Iliketokeepthediagramas‘clean’aspossibleastoomuchclutterconfusespeople.Iftwoflowsareidentical,Iwouldliketohavethenameofthedataflowonthediagramwherethetwobecomeone.

Page 172: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

Accordingtothenarrative,theVALIDATEITEMSprocessneedsaccesstoanINVENTORYfile,soweadd

Page 173: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

thedatastoresymbolwiththatname.WhenIaskPaulwhattheyneedfromtheINVENTORYfiletoverifytheitemnumbers,herepliesItemNumbersandDescriptions,soIaddthatflowfromINVENTORYtoVALIDATEITEMS.

Theaction‘validate’isjustlike‘verify’inthattherewillalwaysbetwopossibleoutcomes,agoodandabad.

Page 174: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

OrdersonwhichallitemnumbersarevalidarecalledValidOrdersandtheseareaccumulated—whichisnotalegitimateinternalprocessbutimpliesadatastore.IaddthedataflowValidOrdersgoingouttherightsideofVALIDATEITEMSintoanewdatastorewiththesamename.

AnotherconventionofDFD’sstatesthatifthedataflow

Page 175: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

goingintoadatastorehasthesamenameasthedatastoreitself,Idonothavetonamethedataflowasitisself-evident.RemovingthenamefromtheflowallowsmetoshortenthearrowandmovethedatastoreVALIDORDERSclosertoVALIDATEITEMS,whichfreesupspaceforonemoreprocess.

First,however,Ihavetoask

Page 176: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

PaulwhathappensifthereisamismatchbetweenanitemnumberanddescriptionontheorderandtheitemnumberanddescriptionontheINVENTORYfile.HerepliesthatwouldmakeitanInvalidOrderwhichtheysendtoCUSTOMERSERVICEsotheycancontactthecustomertoclarifyexactlywhatthecustomerintendedtoorder.Sincethisrevelationisnewtome,Iaddtheexternal

Page 177: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

CUSTOMERSERVICEbelowtheVALIDATEITEMSprocessastherecipientoftheComplaintsflowandaddthedataflowInvalidOrderscomingfromVALIDATEITEMStoCUSTOMERSERVICE.

Page 178: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

AsalwayswhenIdiscoveranewflowtoanexternal,Ineedtoaskthefollow-onquestion,“Doyouget

Page 179: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

anythingback?”

“Sure,wegetaValidOrderbackfromCUSTOMERSERVICE,”Paulreplies.

“AndwhatdoyoudowiththatValidOrder?”

“ItgoesdirectlyintotheVALIDORDERSpilejustlikethoseordersthatpassedtheVALIDATEITEMtest.”

Page 180: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

ThisstatementaddstheflowfromCUSTOMERSERVICEtothedatastoreVALIDORDERS.Again,sincethedataflowandthedatastorehavethesamename,Idonotputthenameonthedataflow.

Page 181: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

ThefinalinternalprocessonourlistofcandidatesisGROUPORDERSandthenarrativeconfirmsthatvalid

Page 182: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

ordersare‘groupedintoshippingzones’,soIaddaprocessGROUPORDERStothediagramandaddadataflowcomingfromtheVALIDORDERSdatastore.

InterviewNotes

Validordersareaccumulated

Page 183: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

andgroupedintoshippingzonesandtransmittedtothewarehousetobefilled.Afteran

orderisfilled,thecustomeraddressisattached,thebestorrequested

Page 184: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

shippingmethoddetermined,postageor

shippingcostscalculated,theorderisshipped,andthe...

MydiscussionwithPaul

Page 185: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

revealsthatSHIPPINGZONESisadatastore,whichIaddabovetheprocessGROUPORDERSandconnectthetwowithadataflowdowntotheprocess.

Page 186: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

Thephrase‘transmittedtothewarehouse’representsaflowfromtheGROUPORDERSprocesstotheWAREHOUSE.

InterviewNotes

Validordersareaccumulatedandgroupedinto

Page 187: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

shippingzonesandtransmittedtothewarehousetobefilled.Afteran

orderisfilled,thecustomeraddressisattached,thebestorrequestedshippingmethod

Page 188: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

determined,postageor

shippingcostscalculated,theorderisshipped,andthe...

Logically,wenamethedataflowGroupsofValidOrderstoindicatethatboththe

Page 189: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

validationandgroupingprocessesarecomplete.Asperconvention,IcaneitherputtheWAREHOUSEentityonthediagramorleaveitoff,asitisobviousonthecontextdiagram.

Page 190: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

ThenextsentencesintheinterviewnotesfromMarydescribewhattheWAREHOUSEthendoeswiththeorder.TheWAREHOUSEmightbeofinterestifIdecidetocreateadataflowdiagramoftheorderfulfillmentprocess,butinthatcase,IwouldreallyhavetotalktosomeoneintheWAREHOUSEtomakesureIunderstandthatprocess.SincetheWAREHOUSEis

Page 191: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

anexternalentity,Idonothavetoworryaboutthatforthisproject.

Atthispoint,wehaveusedalloftheinternalprocessesweidentifiedinourinitialanalysisoftheinterviewnotes.Lookingatthediagram,Inoticethateveryflowleavingoneoftheinternalprocessesgoestoanexternalentityatthislevelwiththeexceptionofthe

Page 192: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

Paymentsflow,soIaddACCOUNTINGtothediagramtomakeitconsistent.Voila,wenowhaveafirstcutdataflowdiagramofhowtheENTERORDERSprocessworks.Theonlyquestionis,howcanweconfirmthatitiscomplete?

Page 193: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which
Page 194: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

DiscoveringMissingProcessesandData

Page 195: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

Questionsansweredinthischapter:

Page 196: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

WhatdoesbalancingaDataFlowDiagrammean?Whatisthebusinessvalueofbalancing?Whatisthe

Page 197: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

mostefficientapproachtobalancingaDFD?

Toconfirmthatitisindeedcorrectandcomplete,thenextstepisto‘balance’thetwodiagrams.Whatdoesthatmean?

Page 198: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

ThereareactuallytwostepstobalancetheindividuallevelsofDFDs.Thefirststepisverysimpleinthatyouarecomparingflowsenteringandleavingthedetailleveldiagramwiththehigherleveldiagram.Todothat,Ineedtobeabletoviewbothdiagramsatthesametime.

Page 199: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

Inourexample,weexplodedtheENTERORDERSprocessfromthecontextdiagram.IfInowcomparetheexplodedversionwiththecontextversion,logicdictatesthatallflowsgoingintoorcomingoutoftheENTERORDERS

Page 200: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

processonthecontextdiagramhavetoshowupontheexplodedversiongoingintoorcomingfromoneofthemoredetailedprocessesatthatlevelandviceversa.

Ifinditsimplesttobalancestartingattheupperlevelandcomparingflowsclockwisefromthatdiagramtomakesuretheyallappearonthelowerlevel.IchecktheflowsoffonbothdiagramsasIgo

Page 201: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

tohaveavisibletrailandensurethatIamnotmissinganything.Lookingatthecontextdiagram,IseeOrders,Payments,ComplaintscomingfromcustomerintoENTERORDERS.IseethesameflowonthedetailedviewcomingfromCUSTOMERintoSORTMAIL.Theseflowsarethesame;therefore,Iputacheckmarkonthemoneachdiagram.

Page 202: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which
Page 203: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

ContinuingclockwisearoundENTERORDERSontheContextLeveldiagram,IseeaNewCustomerOrdergoingtotheCREDIT

Page 204: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

DEPARTMENT.Iseethesameflowinthesamedirectiononthelowerleveldiagram,soIcheckthoseoff.IalsoseematchingCreditOKOrderscomingbackfromtheCREDITDEPARTMENTandcancheckthemoffaswell.

Page 205: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

NextIseeValidOrdersgoingfromENTERORDERStotheWAREHOUSE.Onthedetaileddiagram,IseeGroupsofValidOrdersgoingtotheWAREHOUSE.AfterconfirmingwithPaulthatthatistheonlydataflowtothewarehouse,Iwouldliketoremovethediscrepancytoavoidmisinterpretation.Sincethedetailedlevelismorespecific,Ichangethecontext

Page 206: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

diagramtoreadGroupsofValidOrdersandcheckbothflowsoff.

Onthecontextdiagram,thenextflowoutofENTER

Page 207: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

ORDERSistheCopyofOrderwithPayment,PaymentsbeingsenttoACCOUNTING.OnthedetaillevelIseePaymentsgoingfromSORTMAILtoACCOUNTING,soIcancheckoffthatpartoftheflow,butwhatabouttheotherhalf?Itappearsthatwemissedsomething.

Page 208: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

IaskPaulwheretheCopyofOrderwithPaymentcomesfromandheexplainsthatACCOUNTINGrequestedacopyofanyorderthathasanattachedpayment.Asaresult,

Page 209: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

whiletheysortthemail,theyseparateorderswithpaymentfromorderswithoutpayment.Oncetheyaredonesorting,theygothroughthestackwithattachedpayments,removeattachedchecksfromorders,makeaphysicalcopyofthatorder,attachthechecktothecopy,andputthecopyoftheorderwiththeattachedcheckonthestackofpaymentsdestinedforACCOUNTING.Ifthe

Page 210: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

attachedpaymentisatleasthalfofthetotalorderprice,theoriginalorderisstamped“CreditOK”andsentdirectlytotheVALIDATEITEMSprocess,bypassingtheVERIFYCREDITprocess.

Thisadditionalinformationcreatesaproblem.Obviously,wemissedthislittlenuanceinouroriginalanalysis,sowehavenochoicebuttocorrectthelowerleveldiagramto

Page 211: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

reflectthenewlydiscoveredfacts.WeaddaprocessCOPYORDERSw/$betweenSORTMAILandACCOUNTING.WeaddaflowOrdersw/$fromSORTMAILtoCOPYORDERSw/$andthenaddtheoutgoingflowsCopiedOrdersw/$toACCOUNTING,OriginalOrdertoVERIFYCREDIT,andCreditOKORDERSflowtotheVALIDATEITEMSprocess.Ihavetochangethe

Page 212: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

OrderflowbetweenSORTMAILandVERIFYCREDITtoreadOrdersw/o$.Inaddition,IchangethecontextdiagramflowCopyofOrderwithPayment,PaymentstoreadCopiedOrdersW/$,Paymentsandcheckmatchingflowsoffonbothdiagrams.

Page 213: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

Thatisagreatexampleofhowexplodingandlevelingadataflowdiagramcanidentifyamissingprocess.

Backtothecontextdiagram,IseeaNewOrdercomingin

Page 214: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

fromCUSTOMERSERVICE.Onthedetailview,IhaveaValidOrderandaCreditOKOrderbothcomingfromCUSTOMERSERVICE.WhichistheNewOrder?PaulexplainsthattheNewOrderisonethatCUSTOMERSERVICEcreatesinresponsetoacomplaint.ItisconsideredaCreditOKOrderbytheOrderEntryDepartmentandtheyjustchecktheitem

Page 215: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

numbers,soIchangetheNewOrderflowonthecontextdiagramtoreadCreditOKOrderandmarkthosetwoflowsoff.Note,IcanonlymarktheCreditOKOrderfromCUSTOMERSERVICEoffonthedetaileddiagramalthoughIhavethreeotherflowsonthatdiagramthatareallnamedCreditOKOrders.IalsomarkthematchingflowsComplaintsgoingfromENTERORDERSto

Page 216: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

CUSTOMERSERVICEonbothdiagrams.

Havingcompletedthatstep,IamsatisfiedthatallflowsthatareonthecontextdiagraminvolvingENTERORDERS

Page 217: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

aretakencareof.Whatabouttheopposite,haveIcheckedoffalloftheflowscomingintoorleavingthedetaileddiagram?HereIamonlyinterestedinflowsthatarebetweenthedetailedprocessesandexternalentitiesandcanignoretheinternalflowsbetweenprocesses.

Page 218: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

StartingwiththedataflowOrders,Payments,ComplaintscomingfromtheCUSTOMER,Iproceedclockwisearoundthelower-leveldiagramtoseeifthere

Page 219: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

areanyunmatchedflows.InoteanInvalidItemsdataflowgoingtoCUSTOMERSERVICEthathasnomatchatthecontextlevel.ConfirmingwithPaulthatthedetailedviewiscorrect,IsimplyhavetoaddthatflowtothecontextdiagramflowingfromORDERENTRYtoCUSTOMERSERVICE.Icanthenmarkbothflowsasmatching.

Page 220: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

Continuing,IdiscoverthatthedetaileddiagramalsoshowsCUSTOMERSERVICEsendingValidOrdersdirectlyintotheinternaldatastorewiththat

Page 221: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

name.Onthecontextleveldiagram,theyonlysendCreditOKOrders.CheckingwithPaul,IdiscoverthatValidOrdersfromCustomerServicearethecorrectedInvalidOrderstheyreceivedfromVALIDATEITEMS.Asaresult,IaddaseparateflowValidOrdersfromCUSTOMERSERVICEtoENTERORDERSonthehigherleveldiagram.

Page 222: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

Finally,IfindaCreditNOKOrdergoingtotheCREDITDEPARTMENTonthelowerlevelthatisalsounmatched.Again,sincetheflowiscorrect,Isimplyaddittothecontextdiagramandmarkitoffonbothdiagrams.

Page 223: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which
Page 224: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

Inowhaveawonderfullybalancedsetoftwodiagrams,oneshowingthecontextoftheprojectandtheseconddetailingtheENTERORDERSprocess.Obviously,

Page 225: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

ifmyprojecthadincludedtheWAREHOUSEorCREDITDEPARTMENT,Iwouldrepeattheprocessforeachrespectivelyandwouldprobablyidentifyadditionaldisconnectsthere.Giventhescopeofthisproject,Icouldbedoneatthistime.IfIfeelthatallprojectstakeholdersunderstandeveryprocessonmylowerleveldiagramatthelevelofdetailtheyneedtomaketheircontributions,I

Page 226: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

wouldconsiderthediagrammingstepcomplete.Otherwise,thereisstillworktobedone.

Page 227: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

DetailedProcessandDataSpecifications

Page 228: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

Questionsansweredinthischapter:

Page 229: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

Whatbusinessvaluedodetailedprocessspecificationsoffer?HowcanIexpressdetailed

Page 230: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

specificationsforprocessesanddata?Whatis“metadata”andwhydoyouneedit?

Page 231: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

OptionalProcessMini-Specs

Ifwefeelthataprocessonthedetaildiagram,e.g.,theVERIFYCREDITprocess,isstilltoovagueandweneedmoredetail,wecouldexplodethatprocessfollowingthe

Page 232: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

stepsIjustoutlined.Indataflowdiagramminglanguage,anyprocessthatyoudonotexplodetoalowerlevelofdetailiscalleda‘FunctionalPrimitive’.FunctionalPrimitivesarenotgoodcandidatesforfurtherexplosionbecauseanalyzingthedataflowswithinthemwouldrevealnothingofvalue.

Page 233: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

Nonetheless,youmayneedtodescribewhathappensinsideaFunctionalPrimitiveusingadifferenttooltoenableathoroughanalysisorto

Page 234: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

informthedownstreamdeveloperswhattheprocessreallydoes.AdescriptionofaFunctionalPrimitiveiscalleda‘Mini-Spec’ora‘ProcessSpecification’.YouhaveawiderangeofpossibletoolsfordocumentingtheseSpecifications.

Youcoulduseplain,simpleEnglishbywritingabriefdescriptionofhowweSORTMAIL.Inourexample,I

Page 235: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

couldwrite:

Themailarrivesbetween8amand10amMondaythroughFriday.TheMailClerkopenseachenvelopeandseparatesthecontentsintofourstacks:OrderswithPayments,OrderswithoutPayments,Payments,andComplaints.Oncethatiscomplete,theMailClerkprocessesthestackofOrderswith

Page 236: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

Payments.

Foreachorder,hecarefullyseparatesthecheckfromtheorderwithoutdamagingeither,makesacopyoftheorder,staplesthechecktothecopy,andaddsthecopywithcheckattachedtothestackofPaymentsdestinedforACCOUNTING.Iftheamountofpaymentexceeds50%ofthetotalprice,hestampstheorder“Credit

Page 237: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

OK”andputsitonastacklabeledPrepaidOrders;otherwise,heplacestheoriginalorderontheOrderswithoutPaymentstacks.

OncehehasprocessedallOrderswithPayment,theMailClerkdistributesthestackstotheappropriatedepartment:

OriginalOrdersstay

Page 238: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

intheOrderEntryDepartmentPaymentsandCopiesofOrderswithPaymentgottoAccountingComplaintsgotoCustomerService

IfyouandyourtargetaudiencearecomfortablewithconceptssuchasPseudoCodeorStructuredEnglish,

Page 239: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

youcouldalsowritethespecificationthusly:

Iftheprocessisprimarilyadecision-makingprocessand

Page 240: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

yourtargetaudienceiscomfortablewiththem,youcanalsouseadecisiontable(alsocalled‘TruthTables’).Tocreateadecisiontable,openaspreadsheet,andwritedowneachpotentialactionasacolumnheaderstartingwiththesecondcolumn.Ourcolumnheadersforthisexamplewillbe:

Page 241: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

Iftheprocessinvolvesalotoflogicalbranching,youmightconsideranActivityDiagram,anEvent-ResponseDiagram,aSystemFlowChart,oranyothertoolsuitedfordepictingconditional

Page 242: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

sequencesofactions.

IftheFunctionalPrimitiveisalreadyautomated,considerreferencingexistingdocumentationfromthatapplication.Ifitisnotautomated,checkforaproceduremanualdescribinghowtodoit.

Often,processesarecontrolledbybusinessrules.Youmightconsidersimply

Page 243: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

listingtherelevantbusinessrulesasprocessspecifications:

SortMailRules:

1. Orderswithmorethan½paymentarecreditOKorders.

2. Checkswillbeforwardedtoaccountingforimmediatedeposit.

3. Complaintswillbe

Page 244: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

forwardedtoCustomerService.

Giventhestateoftechnologytoday,youcanuseyoursmartphonetomakeavideoshowingthepeopleperformingtheprocess.ThekeyhereisthatyouhavemanyoptionsforcapturingandexpressingwhataFunctionalPrimitivedoesandtheseoptionsfarexceedthescopeofthispublication.

Page 245: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

EachofthepresentedexamplescontainthesameinformationabouttheSORTMAILprocess.AstheonewearingtheBAhat,youhavetopickthemodeofpresentationthatissuitablefortheprocessitdefinesandthatyouandyourtargetaudiencebothunderstand.

Page 246: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

CapturingDataElements

Theothersideofadataflowdiagramisthedata.Recognizethateveryarrowonthediagramrepresentsdataflowingfromsomewheretosomewhereandeverydatastorerepresentsdataatrest.Atthelowestlevelofdetail,

Page 247: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

youneedtounderstandexactlywhatdataiscontainedwithineachdataflowandineachdatastore.

Veryoften,problemsina

Page 248: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

processarecausedbymissing,incomplete,inaccurate,oruntimelydata.Tobeabletoisolatedataissuesandtodefinetherequirementsforhowafutureapplicationcanavoidthem,youneedtoknowthedataelements.Youcouldconsiderthistheequivalentofexplodingaprocess.Ifyouexplodeadatafloworadatastoretoitslowestlevelofdetail,youfindabunchof

Page 249: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

DataElements.

ADataElementisatomicdata,meaningapieceofdatathatonlyhasvalueasawhole.Forexample,thedataflowCreditOKOrdercontainsallofthedatadescribingtheorder(customernameandaddress,itemsordered,orderdate,etc.)andsomeindicatorthatthiscustomerhasgoodcredit.Toshowthedataonyour

Page 250: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

dataflowdiagram,youcanlistallofthedataelementsoneverydataflowandeverydatastore.Whereasthislevelofdetailisoverkillformostprojects,itmightbeveryvaluabletoexplodeoneortwodataflowsordatastoresdowntotheelementaryleveltouncoverhiddenproblemsorensureunderstandablerequirements.Youmightalsoconsiderhyperlinkingthedataflowordatastoretoa

Page 251: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

worddocumentlistingtherelevantdataelements.

Letuslookataconcreteexample.ThisistheOrderFormthatourexampleuses:

Page 252: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

IfIignorethephysicallayoutandlookonlyattheindividualdataelementsontheform,Igetthislist:

Page 253: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

OrderDateOrderNumberCustomerPO#CustomerIDCustomerNameShip-ToAddressBill-ToAddressItem#ItemDescriptionUnitPriceQuantityOrderedExtendedPriceDesiredShippingMethodTotalPrice

Page 254: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

ThislistrepresentstheminimumdatacontentforeverydataflowonmydiagramthatcontainsthewordOrder(e.g.,Ordersw/$,Ordersw/o$,NewCustomerOrder,etc.).ItisalsothedatacontentforthedatastoreValidOrders.Ofcourse,thatisprimarilybecausethediagramrepresentsamanualprocessinvolvingphysicalorderformsbeingmovedfromoneprocesstoanother.

Page 255: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

Therewillbeadditional,flow-specificdataelementsassociatedwiththestatetheorderisin(withpayment,withoutpayment,newcustomer,etc.)butthislistismystartingpoint.

WhatdoestheonewearingtheBAhatneedtocommunicateabouteachofthesedataelementstothesolutionproviderssotheycandotheirjob?Typically,they

Page 256: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

needtoknowwhattheelementcontains(itsdescription),wheredoesitcomefrom(itssource),whohastheauthoritytochangeit(itsowner),whatkindofdatadoesitcontain(itstype),howtovalidateitscontents(datarange,validationrules),etc.Collectively,thisdataabouteachdataelementiscalled‘Metadata’.DependingontheroleyouastheonewearingtheBAhathaveonthe

Page 257: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

project,capturingandcommunicatingtheMetadatamayormaynotfallintoyourareaofresponsibility.

Ifyoudohavetocapturethis,Irecommendcreatingasimplespreadsheetcontainingallrelevantmetadataabouteachdataelement,forexample:

Page 258: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

Obviously,thecolumnsinthespreadsheetcanbedifferentbasedonyourorganization’sneedsandtheproject.Thekeytakeawayhereisthatsolutionprovidersneedto

Page 259: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

knowatonofdetailsaboutthedatathatthesolutionwillmanipulate.WhethertheresponsibilityoftheonewearingtheBAhatoranotherrole(i.e.,theonewearingthedataanalysthat)doesthis,itshouldbebusinessdecisionsmadebytheappropriatedecisionmakerswithinthebusinesscommunityandnotlefttotheimaginationofthosetaskedwithdevelopingthesolution

Page 260: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

oreventheonewearingtheBAhat.

Page 261: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

HorizontalBalancingRevealsMissingDataElements

Ifyouinvestthetimetocreateadataflowdiagram(DFD),makesurethatyouaregettingthemostoutofit.

Page 262: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

Youcanusethediagramtoidentifypotentiallymissingdata,redundantdata,andpossibledataconflicts.Wewouldliketointroduceatechniquecalled‘HorizontalBalancing’orthe‘PreservationofData’law.Thetechniquecanbeveryusefulforidentifyingdatadiscrepancies,inconsistencies,andconflictswhicharethreemajorcontributorstoITproject

Page 263: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

overrunsandfailures.

BasedontherulesgoverningDFDs,aprocesshastotransformdata,meaningthedataitproduceshastobedifferentthanthedataitconsumes.Logicdictatesthatthedatacomingoutofaprocesscanonlycomefromtwopossiblesources:eitheritcomesdirectlyviaanincomingdataflowORtheprocesscreatesitusingthe

Page 264: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

dataitreceives.

Adataflowcancomefromadatastore,anotherprocess,oranexternalentity.Processesneedalgorithmsorbusinessrulestocreatedata.Forexample,thesimpleprocessDetermineAgecontainsthealgorithmAge=CurrentYear(fromtoday’sdate)–BirthYear(fromtheEmployee’sDateofBirth).Algorithmsandbusinessrules

Page 265: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

inturnneeddata(gettingtheBirthYearrequiresanEmployeeIDtoselecttheappropriateemployee)whichhastoeithercomeintotheprocessfromanincomingdatafloworitselfbecreatedbyadifferentalgorithmorbusinessrule.Intheend,youshouldaccountforeverydataelementtheprocesscreatesandeverydataelementitneedstocreatetheoutput.

Page 266: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

Tosimplifyhorizontalbalancing,focusondatafromtheincomingdataflowthateachprocessneedstocreate

Page 267: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

therelevantoutput.Forexample,thephysicalorderformissentfromoneprocesstothenextinourexample,buteachprocessonlyneedsspecificdataelements.Forexample,theVERIFYCREDITprocessonlyneedstheCustomerIDand/orCustomerNametoaccesstheCUSTOMERSdatastore.CustomerIDandCustomerNameareessential;alloftheotherdataelementsonthe

Page 268: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

orderformareirrelevanttoaccessingthecustomerdata.

IwilldemonstratethisconceptusingtheVERIFYCREDITprocessfromourretailstoreorderentryexample.

Page 269: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

Allthreeoutgoingdataflowshavetheword‘Orders’intheirnamebecausetheydealwithphysicalorderforms.

Page 270: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

InmyanalysisoftheOrderFormshowninthelastchapter,Idiscovereditcontainsthedataelements:

OrderDateOrderNumberCustomerPO#CustomerIDCustomerNameShip-ToAddressBill-ToAddressItem#ItemDescription

Page 271: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

UnitPriceQuantityOrderedExtendedPriceDesiredShippingMethodTotalPrice

FromthesampleordersPaul,anOrderEntryClerk,provided,Ialsonotethatsomehaveastamp‘AttachedPayment’withadollaramounthandwrittenbelowit.Somealsohavea‘CreditOK’stampandothershaveone

Page 272: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

stating‘CreditCheckRequested’.Inriflingthroughthosestamped‘CreditCheckRequested’,IalsofindseveralordersinwhichtheCustomerIDfieldisblank.

Page 273: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

Iinitiatehorizontalbalancingstartingwiththe‘norm’ormostcommonflowcreatedbytheprocess.Accordingto

Page 274: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

Paul,thatistheCreditOKOrdersdataflowgoingtotheVALIDATEITEMSprocess.WhenIaskPaultoidentifytheEssentialDataElementsonthatflow,hereplies,“TheonlyEssentialDataElementinthiscasewouldbetheCreditOKIndicatorontheorder.Itjustshowsthattheorderisapprovedforfurtherprocessing.”

“Iunderstand.ButIalso

Page 275: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

thinkyouwouldneedtoknowwhichorderthat‘CreditOKStamp’ison,wouldn’tyou?”

Paulreplies,“Thatmakessense.IguesswealsoneedtheOrderNumber,whichisassignedwhenwesortthemail.Itisaddedtoeachorderbywhicheverofusissortingthemail.Itsimplyconsistsofthecurrentdateplusa4-digitrunningnumber.The

Page 276: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

exampleIhaveherehasordernumber141103_1966writtenonitbywhoeversortedthemailonNovember3,2014.”

Basedonthatinformation,IaddOrder#,CreditOKIndicatorbeneaththelinelabeledCreditOKOrdersinparenthesistoindicatethesearedataelements.

Page 277: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

“OK,thenextflowistheCreditNOKOrdersbeingsenttotheCREDITDEPARTMENT.Whatisthe

Page 278: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

essentialinformationonthatflow?IassumetheOrderNumberandsomekindofastampindicatingthecreditisnotOK?”

Paul:“Thosewouldbetheoneswith‘CreditCheckRequested’stampedonthem.Thatindicatesitiseitheranewcustomerwhichweindicatebyleavingthe‘CustomerID’blankoranexistingcustomerwhoowes

Page 279: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

usfrompreviousorders.”

“Makessense.SoEssentialDatafortheCreditNOKOrdersdataflowwouldbethe‘OrderNumber’andthe‘CheckCreditRequestStamp’,right?DoestheCREDITDEPARTMENTneedanyotherinformationtodealwiththeseorders?”

“Sure,theyneedtoknowthe‘TotalPrice’ontheorderso

Page 280: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

theycandeterminewhethertheyshouldOKtheorderandsenditbacktouswiththe‘CreditOKStamp’onitornot.”

“WhatdotheydowithCreditNOKOrdersthatyousendthemthattheydonotapprove?”

“YouwouldhavetoasksomeoneintheCREDITDEPARTMENTthat.Ithink

Page 281: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

theysendthemovertoCustomerServicetocontactthecustomersincetheyaretheonlyonesinthecompanywhoarealloweddirectcustomercontact.”

“Ifthatistrue,thatwouldbebetweentheCREDITDEPARTMENTandCUSTOMERSERVICE,bothofwhomareoutofscopeforourprojectsowewon’tworryaboutthose

Page 282: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

orders.”IjotdownOrder#,CheckCreditRequestIndicator,TotalPricebelowtheCreditNOKOrderslabel.

Page 283: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

“AndIguessthesameistrueforNewCustomerOrders,right?”

“No.Anorderisfromanewcustomerifwecan’tmatchthe‘CustomerName’and‘Bill-To’fromtheorderwithanycustomersinourCUSTOMERSfile.Actually,ifthecustomerprovidesa‘CustomerID’,welookforthatfirstandifwefinditinourfile,wecomparethe

Page 284: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

‘CustomerName’and‘Bill-ToAddress’fromthe‘Order’toourfile.Iftheymatch,thenwesimplylookatthecustomer’s‘CreditStatus’andputtherespectivestampontheorder.

“Ifthe‘CustomerID’ontheformisblank,wehavetosearchthealphabeticalcustomerlisttotrytofindthecustomer.Ifwehaveacustomerwithamatching

Page 285: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

name,wecomparethe‘Bill-ToAddress’ontheformwiththeoneinourCUSTOMERSfile.Iftheymatch,wefillinthe‘CustomerID’onthe‘Order’andagain,addtherespective‘CreditStatusStamp’.Ifwecan’tfindthecustomereitherbythe‘CustomerID’orbythe‘CustomerName’,westampthe‘OrderCreditCheckRequested’andputitonthepilegoingtotheCREDIT

Page 286: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

DEPARTMENT.”

IaddthedataelementsCustomerID,CustomerName,Bill-ToAddress,andCreditStatustothedataflowcomingfromtheCUSTOMERSdatastoreintotheVERIFYCREDITprocess.Inaddition,IaddtheCustomerName,Bill-ToAddress,CheckCreditRequestIndicator,andTotalPrice

Page 287: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

belowtheNewCustomerOrderslabelandask,“Doesthataccuratelyrepresentwhatyoujusttoldme?”

Page 288: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

Paulreplies,“Ithinkso.Idon’tknowwhethertheCREDITDEPARTMENTneedsanythingelsefromusforaNewCustomerOrder,butwhatyouwrotedownmakessensetome.Iamnotsuretheydon’tneedtheShip-ToAddressforthecustomeraswell.Youmightwanttocheckwiththemtoconfirmthattheydonotneedanythingelse,though.”

Page 289: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

“IwillcertainlyrunthisbythemtoseeifthisisallthedatatheyneedtoprocesseitheraNewCustomerOrderoronefromacustomerwithbadcredit.Fornow,wewillassumethattheDataElementsIlistedonthediagramaretheessentialDataElementsoneachflowcomingoutoftheVERIFYCREDITprocess.AsIexplainedearlier,eachofthesedataelementshasto

Page 290: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

comeintotheprocessononeoftheincomingdataflowsorbecreatedintheprocess.ComingbacktotheprimarydataflowCreditOKOrders,youtoldmethattheOrder#iscreatedintheSORTMAILprocess,right?”

“Right.That’sthenumberwehavetoaddtomakesurewecankeeptrackoftheorder.”

“Great.”IwriteOrder#

Page 291: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

beneaththedataflowlabelsOrdersw/o$andOriginalOrderandadd“Iassumethatthisistruewhethertheorderhadanypaymentattachedornot,correct?”Paulconfirmsmyassumption.

“Furthermore,Iunderstoodyouearliertoindicatethatyoualwaysgeta‘CustomerName’,and‘Bill-toAddress’fromtheorderandsometimesyoualsogeta‘CustomerID’.”

Page 292: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

AfterPaulconfirms,IaddthoseDataElementnamesbelowtheOrder#onboth,theOrdersw/o$andOriginalOrderdataflows.IalsonoticethattheTotalPriceisonorderformsoIadditasadataelementtotheOrdersw/o$andtheOriginalOrderdataflows.

Page 293: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

Havingdealtwithalloutgoingandincomingflows,InowreviewtheresultswithPaul.“Itappearsthattheonly

Page 294: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

dataVERIFYCREDITcreatesistheCreditOKIndicatorortheCheckCreditRequestIndicator.BothofthemarecreatedbasedonthecontentsoftheCustomer’sCreditStatus,whichiscomingoutoftheCUSTOMERSFile.YoufindthecustomerbasedoneithertheCustomerIDorbothCustomerNameandBill-ToAddress.Bothofthemarecominginononeofthetwoorderdataflows.Is

Page 295: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

thatallcorrect?”

Paulagrees.

Page 296: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

ThePowerofDataFlowDiagrams

Page 297: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

Questionsansweredinthischapter:

Page 298: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

WhyshouldIdrawaDataFlowDiagram?WhatdoesafullybalancedDFDlooklike?Whatvalue

Page 299: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

doesaDFDfragmentprovide?

Page 300: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

WhatDoestheDataFlowDiagramDoforYou?

FromtheperspectiveoftheonewearingtheBAhat,theactofcreatingadataflowdiagramisanawakening.

Page 301: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

Drawingthediagramforcesyoutoaskquestionsthatyoumightotherwiseoverlook.Itisalsoanawakeningformembersofthebusinesscommunitywhoseprocessyouaredepicting.Thepeopleinthetrenchesandthosemanagingthemquiteoftenhaveneverseenapictureoftheirprocessandapictureactivatespartsofthehumanbrainthatwordscannot.Asaresult,thephrase,“Isee”

Page 302: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

takesonawholedifferentmeaningwhenyouarepresentedwithapictureofyourprocess.Forthatreason,IrecommenddrawingaDFDjusttogeteveryoneinvolvedonthesamepage.

OnceyouhaveaDFD,explodingaprocessandbalancingthedatainputsandoutputsbetweenthelevelsoftenrevealsmissingdataflows.

Page 303: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

Afterall,noonecanthinkofeverythingatonce.Ifthetoolfindsasinglemisseddataflow,itisprobablywell

Page 304: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

worththetimeittooktodrawthediagramandapplythetechnique.Thesameistrueofhorizontalbalancingtorevealmissingdataelements.IfweaskedITtoautomateaprocesswithamissingdataflow,wemostlikelywillendupwithanapplicationthatdoesnotmeetthebusinessneeds.

ITprofessionalsaregenerallyextremelygoodattheirjob

Page 305: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

andtheywillmostlikelyrecognizethattheyaremissingsomethingatsomepointinthedevelopmentprocess.Theproblemisthetimingofthediscoveryandtherelatedcostwhentheomissionisdiscovered.Addingamissingprocesslateintheprojectisarelativelysimplestep,butmissingdataoftenaffectsamultitudeofprocesses,makingitoneofthemostexpensiveerrorsfor

Page 306: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

ITprojects.Thesimpleactofidentifyingdataelementsandensuringtheircompletenessallowsyoutorecognizeandresolvetheseissuesbeforeyouinvolvedevelopers.Inmyexperience,thatisoneofthemostpowerfulargumentsforspendingtimetodevelopandanalyzeadataflowdiagram.

Page 307: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

AFullyBalancedDFD

Torecap,acompletelybalanced(levelled)dataflowdiagramstartsatthetopwithacontextdiagramconsistingofoneormoreprocessesthatareinscopeforyourprojectandallexternalentitieswithwhichthoseprocesses

Page 308: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

exchangedata.

EachofthoseLevel1processesexplodestoaLevel2dataflowdiagramdepictingthedetailedprocessesinsidetheLevel1processwithalldataflowsanddatastoresthatareinternaltotheexplodedprocess.EachprocessontheLevel2diagramwouldeitherexplodefurthertoaLevel3DFD(andfromLevel3toLevel4,etc.)orbedescribed

Page 309: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

indetailedprocessspecifications.EachdataflowandeachdatastoreonthelowestlevelDFDwouldexplodetoalistofthecontaineddataelements.

Page 310: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which
Page 311: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

CreatingaDFDFragment

AlthoughbalancingacompletelylevelledDFDrevealsdatadiscrepanciesanddisconnects,itmaynotbenecessaryforyourproject.Manypeople(inparticularonprojectsfollowinganAgileapproachtodelivering

Page 312: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

technology)onlyneedasmallfragmentofaDFDtounderstandtheinnerworkingsofaspecificprocess.ThetimerequiredtocreateacompletelybalanceddiagramisnotjustifiedifadeveloperonlyneedstoknowhowtheCREDITDEPARTMENTestablishesthecreditlimitforanewcustomer.Inthatcase,aDFDfragmentmightsuffice.

Page 313: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

ThefollowingisanexampleofaDFDfragmentbasedonanexercisethatweuseinourinstructor-ledclasses.Totestyourunderstandingoftheconceptspresented,youmightwanttotakethisopportunitytodrawaDFDfragmentusingtheprojectScopeStatementandtheInterviewNotesthatfollowbeforepeekingatoursolution.

Page 314: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

ScopeStatement:Thisprojectwillenhanceourweb-basedPolicyMaintenanceSystembyallowingpolicyholderstointeractdirectlywiththeirinsurancepoliciesorclaims.Thesystemwillsupportweb-basedpolicypaymentsandallowprospectstoapplyfortemporarycoveragependingunderwritingrateapproval.Oncethe

Page 315: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

applicationisreceivedbyUnderwriting,itwillfollowstandardUnderwritingprocedures.

InterviewNotes:Inthefuture,aprospectwillsubmithis/herapplicationviaourwebsite.Iftheprospectdoesnotyethaveapolicywithus,thesitewillrequestacreditcheckwebserviceandeitherrejectorapprovethe

Page 316: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

applicationdirectly.Iftherequestisfromoneofourcurrentcustomersingoodstandingorapprovedviathecreditcheck,thesitewillprovideatemporaryproofofinsurancecertificatethattheprospectcanprintoutandusetoregisterhis/hervehicle.Inanycase,therequestwillthenbeforwardedtounderwritingfornormalprocessing,whichwill

Page 317: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

eitherleadtoacceptance(thenorm),modification(overridingawebrejection)orrejection(badrisk).Iftherequestisapproved,apolicywillbeissuedandsenttothecustomerviastandardmail.

Page 318: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

Hereisanexampleofthediagramthatmanyofourstudentshaveproducedforthisscenario.

Page 319: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

Notethatthisdataflowdiagramshowsabusinessprocessatsomeindeterminatelevelofdetail.Someoftheprocessesmightbeveryhigh-levelwhereasothersareveryspecific.Ifyouneedtounderstandhowanyoftheseprocessesworksindetail,youcould“explode”ittoseeitsinternalprocesses.

Page 320: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

Summary

CreatingaDataFlowDiagramisanextremelyrevealingandrewardingstepintheanalysisofabusinessprocess.Ihaveneverusedanyothertoolthatisaseffectiveattriggeringanimateddiscussionsamongstthestakeholders

Page 321: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

abouthowabusinessprocessworksandhowitcouldbeimproved.Obviously,creatingthediagramisjustthefirststep.Thediagramopensthedoortoaseriesofspecificbusinessanalysistechniquesthatwillhelpthebusinesscommunityrecognizehowtheiractionsimpactotherdownstreamprocesses.Youcanalsoidentifyproblemareas,timinganomalies,anderror

Page 322: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

handlingissuesthatcanleadtomissingrequirements.

Itisimportanttonotethatthediagramisasnapshotintime.Onceyoupresentthebusinesscommunitywiththisversatilevisualaid,theymayimmediatelystarttomakechanges.Becauseofthecumulativeeffectofthosechanges,youshouldneverassumethatthediagramyoucreatedafewmonthsoreven

Page 323: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

yearsagoisvalid.Ifyoureallyneedtounderstandthecurrentbusinessprocess,youarebestservedbystartingfromscratchaswedemonstrated.Theproblemyoufaceis,ofcourse,theeffortrequiredtoflushoutallofthedetailspresentedinthebalancingsection.Isitreallyworththetime?

Adataflowdiagramasatoolthatbenefitstheprojector

Page 324: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

reducestheriskofpotentialprojectfailurecanbeworthitsweightingold.Werecommendagainstspendingprojectresourcesdevelopingonejustforthesakeofhavingapicture.

“Ithinkbydrawing,soI'lldrawordiagrameverythingfromapieceoffurnituretoastagegesture.Iunderstandthingsbestwhenthey'rein

Page 325: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

graphics,notwords.”-RobertWilson

Page 326: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

Tableof

ContentsPreface

AbouttheAuthors

TableofContents

IntroductiontoDataFlowDiagrams(DFDs)fortheBusiness

Page 327: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

BusinessProcesses,DataFlows,andValueChainsWhyCreateaDataFlowDiagram?

ModelingtheFlowofMaterialandData

VisualizingProjectScope

HowtoIdentifyInternalProcessesonaDFDGettingtotheNextLevel

Page 328: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

MiningforProcesses

DrawingaDetailLevelDFD

DiscoveringMissingProcessesandData

DetailedProcessandDataSpecificationsOptionalProcessMini-SpecsCapturingDataElements

Page 329: Data Flow Diagramming by Example: Process Modeling ...1.droppdf.com/files/HSq1a/data-flow-diagramming-by-example-process-tom... · such, the process needs some form of input, which

HorizontalBalancingRevealsMissingDataElements

ThePowerofDataFlowDiagramsWhatDoestheDataFlowDiagramDoforYou?AFullyBalancedDFDCreatingaDFDFragment

Summary