QGEAPUBLICBPMN 2.0 guideline
QueenslandGovernmentEnterpriseArchitecture
BPMN2.0guideline
RecommendedBusinessProcessModelandNotation2.0Elements
Final
January 2016
V3.0.0
PUBLIC
Documentdetails
Securityclassification / PUBLICDateofreviewofsecurityclassification / January 2016
Authority / QueenslandGovernmentChiefInformationOfficer
Author / Queensland GovernmentBPMNWorkingGroup
DepartmentofScience,InformationTechnologyandInnovation(chair)
Documentationstatus / Workingdraft / Consultationrelease / / Finalversion
Contactforenquiriesandproposedchanges
Allenquiriesregardingthisdocumentshouldbedirectedinthefirstinstanceto:
ChiefInformationOffice
DepartmentofScience,InformationTechnologyandInnovation
Acknowledgements
ThisversionoftheBusinessProcessModelandNotation(BPMN2.0)GuidelinewasdevelopedbyaQueenslandGovernmentworkinggroupcomprisingstafffrom
- DepartmentofScience,InformationTechnologyandInnovation(chair)
- DepartmentofCommunities,ChildSafetyandDisabilityServices
- DepartmentofTransportandMainRoads
- QueenslandGovernmentChiefInformationOffice
- QueenslandSharedServices
- SmartServiceQueensland.
Copyright
BusinessProcessModelandNotation(BPMN2.0)guideline
Copyright©TheStateofQueensland(DepartmentofScience,InformationTechnologyandInnovation)2015
Licence
BusinessProcessModelandNotation(BPMN2.0)guidelineislicensed under a Creative Commons Attribution 4.0 International licence. To view the terms of this licence, visit
Informationsecurity
ThisdocumenthasbeensecurityclassifiedusingtheQueenslandGovernmentInformationSecurityClassificationFramework(QGISCF)asPUBLICandwillbemanagedaccordingtotherequirementsoftheQGISCF.
Contents
1Introduction
1.1Purpose
1.2What is BPMN?
1.3Audience
1.4Scope
1.5Benefits
2Background
2.1Uses of BPMN models
2.2Business and operational views of processes
2.3Terminology
3BPMN recommendations
4BPMN elements
5Queensland Government business process model conventions
5.1Process descriptions
5.2Business processes and sub-processes
5.3Tasks
5.4Words to avoid in the business view of a process
5.5Events
5.6Pools and swim lanes
5.7Connecting objects
5.8Data objects
5.9Diagram layout
6References
6.1Document history
Appendix ATable of event symbols
Appendix BThe case to be used for element names
Appendix CGateways and conditional flows
Appendix DBusiness process description
Final| v3.0.0| January 2016Page1of30
PUBLIC
QGEAPUBLICBPMN 2.0 guideline
1Introduction
1.1Purpose
ThisguidelineprovidesinformationandadvicetoQueenslandGovernmentagenciesontherecommendedpracticesfordocumentingbusinessprocessesusingtheBusinessProcessModelandNotation(BPMN[1])SpecificationVersion2.0releasedJanuary2011.Thisguidelineisforinformationonlyandagenciesarenotrequiredtocomply.However, alignmentwiththeguidelinewillsimplifythesharingandreuseofBPMNdiagramsanddocumentationbetweenagencies.
1.2WhatisBPMN?
BPMNisagraphicalnotationfordrawingbusinessprocesses.Itisanindustrystandardfirstdevelopedin2002astheBusinessProcessModellingNotationandnowmanagedastheBusinessProcessModelandNotation2.0[2]bytheinternational,openmembership,not-for-profit,technologystandardsconsortium,theObjectManagementGroup(OMG).BPMNisaflowchartingtechniqueverysimilartoactivitydiagramsfromtheUnifiedModellingLanguage(UML).
TheobjectiveofBPMNisto
- assist communicationaboutbusinessprocesses
- support business process management
- provideamappingbetweenthenotationandcomputingexecutionlanguagessuchastheBusinessProcessExecutionLanguage(BPEL)[1].
1.3Audience
Thisdocumentisprimarilyintendedfor:
- business processanalysts
- business analysts
- business architects.
Itisassumedthatthereaderhas:
- some knowledgeofbusinessprocessmodelling
- a basicunderstandingoftheBPMNSpecificationv1.2.
ItshouldbenotedthatthisisnotaBPMNtrainingdocument.
1.4Scope
1.4.1Inscope
ThisguidelineisavailabletoallQueenslandGovernmentdepartmentsandagencies.
ThisguidelinerelatestothebusinesslayeroftheQueenslandGovernmentEnterpriseArchitecture(QGEA).
ThefocusoftheguidelineisontherecommendedpracticesforQueenslandGovernmentuseofBPMN2.0suchastherecommendedelements,namingconventions,diagramlayoutandprocessdescriptions.
1.4.2Outofscope
- Definingorganisationalmodelsandresourcessuchas:
–strategy models
–functional models
–data andinformationmodels
–business rulesmodels
–value chain.
- Operationalsimulation,monitoringanddeploymentofbusinessprocesses.
1.5Benefits
Avarietyofmodellingnotationsisavailabletodocumentbusinessprocesses.Theuseofdifferentprocessmodelsincursahighoverheadacrossgovernmentinmaintainingthevariousknowledgeandskills.Itcanalsobeproblematictosharemodelsbetweensystemswhichusedifferentnotations.
Thebenefitsofestablishingacommon,standardandroyalty-freenotationforbusinessprocessmodellingacrossQueenslandGovernmentinclude:
- Improvedcommunicationandunderstandingamongstallusers,fromthebusinessanalyststhatcreatetheinitialdraftsoftheprocesses,tothetechnicalstaffresponsibleforimplementingthetechnologythatwillsupporttheprocesses,throughtothebusinesspeoplewhowillown,undertakeandmonitortheprocesses[2]
- Decreasedtrainingcostsduetorationalisationofskillsetsbasedonanindustrystandard
- Increasedpotentialforcomparing,sharingandreusingmodelsamongstdifferentbusinessunitsandagencies.Thiswillsimplifyanalysisandenableanarchitecturalapproachtobeappliedtoidentifysynergiesacrossbusinessareasandagencies.
2Background
2.1UsesofBPMNmodels
Businessprocessesareunderlyingmechanismsthatsupportthedeliveryofeveryorganisation'sday-to-dayservices.Abusinessprocessencompassesparticipants,tasksandsupportingsystemsthatworktogethertoproduceanendresultthatisofvaluetotheorganisation.Organisationsarebecomingincreasinglyawareoftheimportanceofadoptingaprocess-centricviewoftheirbusinessactivitiestobettercoordinateimplementationactivities.
Businessprocessmodellingisatechniquethatpromotesthevisualrepresentationofanorganisation'sbusinessprocesses.TheuseofBPMNprocessmodelsallowsanorganisationtoobtainaviewofitsbusinessactivitiessothatitcanthen:
- identify interactionsandinter-dependenciesbetweenvariouscomponentsofaprocess
- analyse aprocessforimprovements
- allocate ownershipofaprocess
- identify riskinaprocess
- apply metricstoaprocesstomeasuretheimpactofanyprocesschange
- report themetricsandkey performance indicators foruseinbusinessperformancemanagement
- determine thealignmentofaprocesswithbusinessstrategyandobjectives
- identify theinformation,applicationsandtechnologiesassociatedwithaprocess
- simulate changestoaprocessanddeterminetheoutcome.
2.2Businessandoperational views of processes
Processmodelsaredevelopedtoprovideacertainlevelofdetailorgranularityaboutprocesses.Itisimportanttoensurethatthegranularitylevelofanymodelisappropriatefortheaudienceandtheuseofthemodel.
ThisdocumentreferstotwoviewsofprocesseswhicharemodelledusingBPMN:
- Businessview–thisistheviewofthestraightforwardprocessthatdealswiththestandardscenario.Exceptionsaregenerallynotmodelled.Thelevelofdetailisappropriateforcommunicatingwithbusinessstaff.Thevarietyofsymbolsusedisminimaltoassistwithcommunication.
- Operationalview–thisviewmayincludemoredetailsoftheprocesssuchascomputersystemsorexceptions.Itissuitableforconveyingworkinstructionsorfortestingsoftwarerequirements.Agreatervarietyofsymbolsisusedinordertoprovidethedetailrequired.
Agenciesmaydetermineaseriesoflevelsorviewsfortheirbusinessprocesses–ineffectahierarchy.Thisisoutsidethescopeofthisguideline.However,acommongovernmenthierarchymaybeconsideredinthefuture.
2.3Terminology
Activity / Workthatanorganisationperformsusingprocesses.Anactivitycanbeatomic(suchasatask)ornon-atomic(ProcessorSub-Process).Process / Adefinedsequenceofactivitiesinanorganisationthatrepresentthestepsrequiredtocarryoutworkandachieveabusinessobjective.Itincludestheflowanduseofinformationandresources.InBPMN,aProcessisdepictedasagraphofFlowElements,whichareasetofActivities,Events,Gateways,andSequenceFlows.
Sub-Process / AProcessthatisincludedwithinanotherProcess.TheSub-Processcanbeinacollapsedviewthathidesitsdetails.
Task / AnatomicactivitythatisincludedwithinaProcess.ATaskisusedwhentheworkintheProcessisnotbrokendowntoafinerlevelofProcessModeldetail.Generally,anend-user,anapplication,orbothwillperformtheTask.
Forfurtherdefinitions,pleaserefertotheglossaryonpage499oftheOMGspecification[2]at
3BPMNrecommendations
Thisguidelinesupportstheuseof:
collaborationmodels
data object references
loop sub-processes
some specialisteventtypessuchas:
–link,message,andtimereventsforthebusinessviewofaprocessand
–conditional,error,signal,andterminateeventsfortheoperationalviewofaprocess
minimal colour – inordertosupportcolourperceptionissuesandblackandwhiteprinting,symbolsshoulduseameansotherthancolourtodifferentiatethemselves.
Thisguidelinedoesnotrecommendtheuseoftheelementslistedbelow.PleasenotethattheelementslistedbelowarepartoftheBPMN2.0specification[2]butsimplyhavenotbeenrecommendedinthisguidelineinordertoimprovereadabilityofBPMNdiagramsandtosimplifylearningandcommunicatingthecommonly-usedBPMNelementset.RefertotheOMGspecificationformoreinformationontheseelements.
conversations
choreographies
some specialisteventtypessuchasescalation,cancel,compensation,multipleandparallelmultipleevents
non-interruptingstartandintermediateevents
event sub-processes, transactionsub-processes, ad-hoc sub-processes, multi-instance sub-processes and call activities
multi-instance loop sub-processes
compensation and hence compensation events, compensation event sub-processes, and compensation activities
event-based, parallel event-based or complex gateways
multi-instance pools
message symbolsonmessageflowsasthisrequireseachmessagetobeclassifiedaseitherthefirst(initiating)messageorareturn(non-initiating)message,andthesymboltobecoloured(clearforinitiating,lightfillfornon-initiating)makingthemodelverybusy
numbering ofprocesses,sub-processes,activitiesandtasks.
4BPMNelements
Thefollowingtableprovidestherecommendedsubsetofelementstouse.Itisbasedonthetablesinthespecification[2]pages29-41.Allpagereferencesaretothespecificationunlessotherwisenoted.Therecommendedsubsetcoversthefollowingelements:
Final| v3.0.0| January 2016Page1of30
PUBLIC
QGEAPUBLICBPMN 2.0 guideline
- FlowObjects
- Event
- Activity
- Gateway
- Data
- DataObject
- DataObjectReference
- DataStore
- ConnectingObjects
- SequenceFlow
- MessageFlow
- DataAssociation
- Swimlanes
- Pool
- Lane
- Artefacts
- Group
- TextAnnotation
Final| v3.0.0| January 2016Page1of30
PUBLIC
QGEAPUBLICBPMN 2.0 guideline
Category/element / Description / Notation- Flowobjects
Event / AnEventissomethingthat‘happens’duringthecourseofaProcess(seepage233[2]).ThusEventsaffecttheflowoftheprocess.TherearethreetypesofEvents,basedonwhentheyaffecttheflow:Start,Intermediate,andEnd.ExamplesofeventsincludethestartofanActivity,theendofanActivity,thechangeofstateofadocument,orthearrivalofaMessage.TheStartEventandsomeIntermediateEventshave‘triggers’thatdefinethecausefortheEvent.EndEventsmaydefinea‘result’thatisaconsequenceofaSequenceFlowpathending.StartEventscanonlyreactto(‘catch’)atrigger.EndEventscanonlycreate(‘throw’)aresult.IntermediateEventscancatchorthrowtriggers.Eventsareshownascircleswithopencentrestoallowinternalmarkerstodifferentiatedifferenttriggersorresults.Forthetriggersthatcatch,theeventmarkersareunfilled,andfortriggersandresultsthatthrow,themarkersarefilled.SeeTableofEventSymbolsinAppendixAonpage24ofthisguideline.
a)Startevent / TheStartEventindicateswhereaparticularProcesswillstart(see[2]page238).ItdoesnothaveanyincomingSequenceFlows.ItmusthaveatleastoneoutgoingSequenceFlow.AStartEventmayhavezeroormoreincomingMessageFlows;eachoneisatriggerfortheProcess.OnlyoneofthetriggersisrequiredtostarttheProcess.AStartEventcannothaveoutgoingMessageFlows.UseofaStartEventisrecommended.UseofmultipleStartEventsisnotrecommendedasitimpedesunderstanding.AStartEventisacircledrawnwithasinglethinline.IthasanopencentresothatmarkerscanbeplacedwithinthecircletoindicatevariationsoftheEvent.
None / TheNoneStartEventdoesnothaveadefinedtrigger.Itisdisplayedwithoutamarker. /
Conditional / Thistypeofeventistriggeredwhenaconditionsuchas‘Projectexpendituretodateexceedstolerance’,or‘Temperatureabove300C’becomestrue.TheConditionExpressionfortheEventmustbecomefalseandthentruebeforetheEventcanbetriggeredagain.TheConditionExpressionofaConditionalStartEventmustnotrefertothedatacontextorinstanceattributeoftheProcess(astheProcessinstancehasnotyetbeencreated).Instead,itmayrefertostaticProcessattributesandstatesofentitiesintheenvironment.Itisdisplayedwithalinedpapermarker. /
Message / TheMessageStartEventindicatesthataMessagearrivesfromaParticipantandtriggersthestartoftheProcess.Itisdisplayedwithanenvelopemarker. /
Signal / SignalsaretriggersgeneratedinthePoolinwhichtheyarepublished.TheyaretypicallyusedforbroadcastcommunicationwithinandacrossProcesses,acrossPools,andbetweenProcessdiagrams.ASignalthathasbeenbroadcastfromanotherProcessarrivesandtriggersthestartoftheProcess.NotethattheSignalisnotaMessage,whichhasaspecifictargetfortheMessage.MultipleProcessescanhaveStartEventsthataretriggeredfromthesamebroadcastedSignal.TheSignalEventisdisplayedwithatrianglemarker. /
Timer / Aspecifictime-dateoraspecificcycle(e.g.everyMondayat9am)canbesetthatwilltriggerthestartoftheProcess.Itisdisplayedwithaclockmarker. /
b)EndEvent / TheEndEventindicateswhereapathoftheProcesswillend(see[2]page246).ItmusthaveatleastoneincomingSequenceFlowbutdoesnothaveanyoutgoingSequenceFlows.AnEndEventmustnothaveanyincomingMessageFlows.ItcanhavezeroormoreoutgoingMessageFlows;eachonewillhaveaMessagesentwhentheEventistriggered.TheremaybemultipleEndEventswithinasinglelevelofaProcess.UseofanEndEventisrecommended.AnEndEventisacircledrawnwithasinglethickline.IthasanopencentresothatmarkerscanbeplacedwithinthecircletoindicatevariationsoftheEvent.
None / TheNoneEndEventdoesnothaveadefinedresult.Itisdisplayedwithoutamarker. /
Error / TheErrorEndEventindicatesthatanamedErrorshouldbegenerated.AllcurrentlyactivethreadsintheparticularSub-Processareterminatedasaresult.TheErrorwillbecaughtbyaCatchErrorIntermediateEvent.ThebehaviouroftheProcessisunspecifiedifnoActivityinthehierarchyhassuchanErrorIntermediateEvent.ThesystemexecutingtheprocesscandefineadditionalErrorhandlinginthiscase,acommononebeingterminationoftheProcessinstance.TheErrorEventusesafilledlightningmarker. /
Message / TheMessageEndEventindicatesthataMessageissenttoaParticipantattheconclusionoftheProcess.Itusesafilledenvelopemarker. /
Signal / ThistypeofEndEventindicatesthataSignalwillbebroadcastwhentheEndhasbeenreached.NotethattheSignal,whichisbroadcasttoanyProcessthatcanreceivetheSignal,canbesentacrossProcesslevelsorPools,butisnotaMessagethathasaspecificsourceandtarget.Itusesafilledtrianglemarker. /
Terminate / ThistypeofEndEventindicatesthatallActivitiesintheProcessshouldbeimmediatelyended.Itusesafilledcirclemarker. /
c)IntermediateEvent / IntermediateEventsoccurbetweenaStartEventandanEndEvent(see[2]page249).TheywillaffecttheflowoftheProcessbutwillnotstartor(directly)terminatetheProcess.
None / TheNoneIntermediateEventisonlyvalidinnormalflow,i.e.itmaynotbeusedontheboundaryofanActivity.AlthoughthereisnospecifictriggerforthisEvent,itisdefinedasathrowEvent.ItisusedformodellingmethodologiesthatuseEventstoindicatesomechangeofstateintheProcess. /
Conditional
(catching) / ThistypeofEventistriggeredwhenaconditionbecomestrue.AconditionisatypeofExpression,whichcanbeinnaturallanguagetextoraformalexpressionlanguage.Itisdisplayedwithalinedpapermarker /
Error
(catching) / AcatchIntermediateErrorEventcanonlybeattachedtotheboundaryofanActivity,i.e.itmaynotbeusedinnormalflow.Ifusedinthiscontext,itreactsto(orcatches)anamedError,ortoanyErrorifanameisnotspecified.Itusesanunfilledlightningmarker. /
Link
(catching)
(throwing) / ALinkisamechanismforconnectingtwosectionsofaProcess.ItcanbeusedtocreateloopingsituationsortoavoidlongSequenceFlowlines.Itisparticularlyusefulforsplittingaprocessintoseveralscreensorpagesforviewing.Seesection5.9.1Fragmentationonpage22ofthisguideline.LinkEventusesarelimitedtoasingleProcesslevel(i.e.theycannotlinkaparentProcesswithaSub-Process).Theycanalsobeusedasgeneric‘GoTo’objectswithintheProcesslevel.TherecanbemultiplesourceLinkEvents,buttherecanonlybeonetargetLinkEvent.LinkEventsuseablockarrowmarker.Whenusedto‘catch’fromasourceLink,theblockarrowisunfilled.Whenusedto‘throw’toatargetLink,theblockarrowisfilled.LinkIntermediateEventsareonlyvalidinnormalflow,i.e.theymaynotbeusedontheboundaryofanActivity. /
Message
(catching)
(throwing) / AMessage(catching)IntermediateEventisusedtoreceiveaMessage.ThiscausestheProcesstocontinueifitwaswaitingfortheMessage.Theenvelopemarkerisunfilled.AMessage(throwing)IntermediateEventisusedtosendaMessage.Theenvelopemarkerisfilled. /
Signal
(catching)
(throwing) / ASignalisatriggergeneratedinthePoolinwhichitispublishedandisusedforgeneralbroadcastcommunicationwithinandacrossProcesslevels,acrossPools,andbetweenBusinessProcessDiagrams.Itissimilartoasignalflarethathasbeenshotintotheskyforanyonewhomightbeinterestedtonoticeandthenreact.Thus,thereisasourceoftheSignal,butnospecificintendedtarget.ThistypeofIntermediateEventcansend(throw)orreceive(catch)aSignaliftheEventispartofanormalflow.WhenattachedtotheboundaryofanActivity,theEventcanonlyreceiveaSignal.TheSignalEventdiffersfromanErrorEventinthattheSignaldefinesamoregeneral,non-errorconditionforinterruptingActivities(suchasthesuccessfulcompletionofanotherActivity)aswellashavingalargerscopethanErrorEvents.Whenusedto‘catch’theSignal,thetrianglemarkerisunfilled.Whenusedto‘throw’theSignal,thetrianglemarkerisfilled. /
Timer
(catching) / Timertriggersareimplicitlythrown.WhentheyareactivatedtheywaitforatimebasedconditiontotriggerthecatchEvent.InnormalflowtheTimerIntermediateEventactsasadelaymechanismbasedonaspecifictime-dateoraspecificcycle(e.g.,everyMondayat9am)whichcanbesetandtriggertheEvent.ThisEventisdisplayedwithaclockmarker. /
Activity / AnActivityisagenerictermforworkthatanorganisationperformsinaProcess(see[2]page151).AnActivitycanbeanatomicTaskoranon-atomic(compound)Sub-Process.AnActivitycanhavemultipleincomingandmultipleoutgoingSequenceFlows.AnActivitycanhavezeroormoreincomingandzeroormoreoutgoingMessageFlows.
a)Task / ATaskisanatomicActivityinaProcess(see[2]page156).ATaskisusedwhentheworkintheProcesscannotbebrokendowntoafinerlevelofdetail.Generally,anend-useroranapplicationisusedtoperformtheTaskwhenitisexecuted.Tasksaredrawnasaroundedrectanglewiththetasknameinthecentre.
Taskscanloop.Loopsaremarkedwithasmalllinewithanarrowheadthatcurlsbackuponitselfinthelower-centreoftheroundedrectangle.
Inanoperationalviewofaprocess,theTypeoftheTask(see[2]page158)maybeindicatedthroughtheuseofgraphicalmarkersintheupperleftcornerofthetaskshape.IfthereisnomarkertheTaskiscalledanAbstractTask(thiswasreferredtoasthe‘NoneTask’inBPMN1.2).Itisalsopossibletocombineanintermediateeventsymbolwithatask(see[2]page47)orasub-process(see[2]page179)asatypeofshorthand. /
b)CollapsedSub-Process / ASub-ProcessisacompoundActivitythatisincludedwithinaProcess(seepage173).Itiscompoundinthatitcanbebrokendownintoafinerlevelofdetail(aProcess)throughasetofsub-Activities.InaCollapsedSub-Process,thedetailsoftheSub-Processarenotvisibleinthediagram.ThisguidelinerecommendsthatSub-ProcessesarepresentedintheircollapsedformintheoriginalProcessdiagram,unlesstheyareverysimple(suchasatwoorthreetasksub-process).TheexpandedviewoftheSub-Processcanbeprovidedseparately.Sub-ProcessescanbeusedtoindicateagroupofActivitiesinaless-cluttered,morecompactway.A‘plus’signinasquareinthelower-centreoftheroundedrectangleindicatesthattheActivityisaSub-Process(notaTask)andhasalowerlevelofdetail.ForexamplesofexpandedSub-Processes,pleaseseesection5.2.1ExamplesofExpandedSub-Processesinthisdocumentonpage18. /
Gateway / AGatewayisusedtocontrolthedivergenceandconvergenceofSequenceFlowsinaProcess(see[2]page287).Theterm‘Gateway’impliesthatthereisagatingmechanismthateitherallowsordisallowspassagethroughtheGateway.Thus,itwilldeterminebranching,forking,merging,andjoiningofpaths.ItisrecommendedthatasingleGatewayhaseithermultipleinputormultipleoutputflowsbutnotboth.Thus,itwouldtaketwosequentialGatewaystofirstconvergeandthentodivergetheSequenceFlows.Itisrecommendedthatsequenceflowsconnecttothecornersofthediamondwherepossible.Gatewaysdonotrepresent‘work’beingdoneandtheyareconsideredtohavezeroeffectontheoperationalmeasuresoftheProcessbeingexecuted(cost,time,etc.).AGatewayisadiamondthatmayhaveinternalmarkerstoindicatethetypeofbehaviourcontrol.
a)Exclusive / Exclusivegatewaysperform‘either/or’decisions(diverging)andmerging(seepage290).AdivergingExclusiveGateway(Decision)isusedtocreatealternativepathswithinaProcessflow.Thisisbasicallythe‘diversionpointintheroad’foraProcess.Onlyoneofthepathsistaken.ADecisioncanbethoughtofasaquestionthatisaskedataparticularpointintheProcess.Thequestionhasadefinedsetofalternativeanswers.EachanswerisassociatedwithaconditionExpressionthatisassociatedwiththeGateway’soutgoingSequenceFlows.Adefaultpathcanoptionallybeidentified,tobetakenintheeventthatnoneoftheconditionalExpressionsevaluatetotrue.However,thisguidelinedoesnotrecommendtheuseofexplicitdefaultsequenceflows.IfadefaultpathisnotspecifiedandtheProcessisexecutedsuchthatnoneoftheconditionalExpressionsevaluatestotrue,aruntimeexceptionoccurs.AnExclusiveGatewaycanbeshownwithorwithoutan‘X’marker.However,diagramsmustbeconsistentintheiruseofthe‘Xmarker. Thisguidelinerecommendsthatifexclusivegatewaysaretheonlytypeofgatewayusedinacollectionofmodelsthenno‘X’markerisusedthroughoutthecollection. /
b)Inclusive / InclusiveGatewaysperform‘or’decisionsandmergingwheremorethanonepathcanbetaken(see[2]page292).AdivergingInclusiveGateway(InclusiveDecision)canbeusedtocreatealternativebutalsoparallelpathswithina
Processflow.UnliketheExclusiveGateway,allconditionExpressionsareevaluated.Thetrueevaluationofone
conditionExpressiondoesnotexcludetheevaluationofotherconditionExpressions.AllSequenceFlowswith
atrueevaluationwillbetraversed.Sinceeachpathisconsideredtobeindependent,allcombinationsofthe
pathsMAYbetaken,fromzerotoall.However,thegatewayshouldbedesignedsothatatleastonepathistaken.Adefaultpathcanoptionallybeidentified,tobetakenintheeventthatnoneoftheconditionalExpressionsevaluatetotrue.However,thisguidelinedoesnotrecommendtheuseofexplicitdefaultsequenceflows.IfadefaultpathisnotspecifiedandtheProcessisexecutedsuchthatnoneoftheconditionalExpressionsevaluatestotrue,aruntimeexceptionoccurs.AconvergingInclusiveGatewayisusedtomergeacombinationofalternativeandparallelpaths.TheInclusiveGatewayMUSTuseamarkerintheshapeofacircleoran‘O’placedwithintheGatewaydiamondtodistinguishitfromotherGateways. /
c)Parallel / AParallelGatewayisusedtomodel‘and’forkingandjoining,i.e.tocreateparallelflowsandtosynchronize(combine)parallelflows(see[2]page293).AParallelGatewaycreatesparallelpathswithoutcheckinganyconditions;eachpathistaken.Forincomingflows,theParallelGatewaywillwaitforallincomingflowsbeforetriggeringtheflowthroughitsoutgoingSequenceFlow.TheParallelGatewayMUSTuseamarkerintheshapeofaplussignplacedwithintheGatewaydiamondtodistinguishitfromotherGateways. /
- Data
a)DataObject / DataObjectsprovidetheinformationrequirementsorinformationproductsofanActivity(see[2]page205).DataObjectsmodeldatawithintheProcessflowandmustbecontainedwithinaProcessorSub-Processelement.ADataObjectcanrepresentasingleinstanceofadatastructureor,withtheadditionofasetofthreeverticallinesinthelower-centreofthedocumentshape,itcanrepresentaCollectionofdatastructures.ADataObjectcanberepresentedinaProcessmultipletimes,eachtimereferencingthesameDataObjectinstance. /
b)DataInput / DataInputandDataOutputprovideinformationaboutthedatarequiredanddataproducedbyProcesses(see[2]page211).Theyarerepresentedbyanarrowinthetopleftcornerofthedatashape–unfilledarrowforDataInput,filledarrowforDataOutput.TheremaybemultipleDataInputsandDataOutputsrelatedtoaTaskorinaProcess. /
c)DataOutput
d)DataObjectReference / DataObjectReferencescanbeusedtospecifydifferentstatesofthesamedataobjectatdifferentpointsinaprocess(see[2]page205).TheyarerepresentedasDataObjectName>[DataObjectReferenceState>]
Forexample:ICTStrategicPlan[Draft],ICTStrategicPlan[Approved] /
e)DataStore / ADataStoreprovidesamechanismforActivitiestoretrieveorupdatestoredinformationthatwillpersistbeyondthe
scopeoftheProcess(see[2]page208).ThesameDataStorecanbevisualised,throughaDataStoreReference,inoneormoreplacesintheProcess.TheDataStoreReferencecanbeusedasthesourceortargetforaDataAssociation.WhendataflowsintooroutofaDataStoreReference,itiseffectivelyflowingintooroutoftheDataStorethatisbeingreferenced.ThisguidelinerecommendsthatDataStoresareonlyusedinoperationalviewsofbusinessprocesses. /
- ConnectingObject
a)SequenceFlow / ASequenceFlowisusedtoshowtheorderinwhichActivitieswillbeperformedinaProcessi.e.theorderoftheflow(see[2]page97).EachSequenceFlowhasonlyonesourceandonlyonetarget.ThesourceandtargetMUSTbefromthesetofthefollowingFlowElements:Events(Start,Intermediate,andEnd),Activities(TaskandSub-Process;forProcesses),andGateways.TwokindsofSequenceFlowarerecommendedforuse:
- Standard–hasnoadditionalmarkings.Itisasolidlinewithasolidarrowhead.
- Conditional–ASequenceFlowcanoptionallydefineaconditionExpression,indicatingthepathtakeniftheExpressionevaluatestotrue.IfaconditionalSequenceFlowisusedfromasourceActivity,thenthereMUSTbeatleastoneotheroutgoingSequenceFlowfromthatsameActivity.AconditionaloutgoingSequenceFlowfromanActivityMUSTbedrawnwithamini-diamondmarkeratthebeginningoftheline,andasolidarrowheadattheend.Ineffect,thegatewaydiamondshapeisbeingreplacedbythemini-diamondmarker.SeeGatewaysandConditionalFlowsonpage26ofthisguideline.
b)MessageFlow / AMessageFlowisusedtoshowtheflowofMessagesbetweentwoParticipantsthatarepreparedtosendandreceivethem(see[2]page43and120).TheParticipantsMUSTbeintwoseparatePools.TheMessageFlowconnectseithertothePoolboundaryortoFlowObjectswithinthePool.TheyMUSTnotconnecttwoobjectswithinthesamePool.AMessageFlowisadashedlinewithanopencirclelinestartandanopenarrowheadlineend.ItisrecommendedtoavoidusingMessages(envelopeshape).Ifmessagesareshownthentheyneedtobecoloured(clearforinitiatingmessage,darkfornon-initiatingmessage–see[2]page411).Thiscanmakeadiagramverybusy,sotheMessageshapeisnotrecommended. /
c)DataAssociation / DataAssociationsareusedtomovedatabetweenDataObjectsandinputsandoutputsofActivitiesandProcesses(see[2]page221).TheyhavenodirecteffectontheflowofaProcess.ADataAssociationhassources,atarget,andanoptionaltransformation.Whenadataassociationis‘executed,’dataiscopiedtothetarget.Whatiscopieddependsifthereisatransformationdefinedornot.Ifthereisnotransformationdefinedorreferenced,thenonlyonesourceMUSTbedefined,andthecontentsofthissourcewillbecopiedintothetarget.Ifthereisatransformationdefinedorreferenced,thenthistransformationExpressionwillbeevaluatedandtheresultoftheevaluationiscopiedintothetarget.Therecanbezerotomanysourcesdefinedinthiscase,butthereisnorequirementthatthesesourcesareusedinsidetheExpression.Inanycase,sourcesareusedtodefineifthedataassociationcanbe‘executed,’ifanyofthesourcesisinthestateof‘unavailable,’thenthedataassociationcannotbeexecuted,andtheActivityorEventwherethedataassociationisdefinedMUSTwaituntilthisconditionismet.DataAssociationsarealwayscontainedwithinanotherelementthatdefineswhenthesedataassociationsaregoingtobeexecuted.Activitiesdefinetwosetsofdataassociations,whileEventsdefineonlyone.ForEvents,thereisonlyoneset,buttheyareuseddifferentlyforcatchorthrowEvents.ForacatchEvent,dataassociationsareusedtopushdatafromtheMessagereceivedintoDataObjectsandproperties.ForathrowEvent,dataassociationsareusedtofilltheMessagethatisbeingthrown.AnalternativetousingaDataAssociationisavisualshortcutwhichdirectlyassociatesaDataObjectwithaSequenceFlowconnectorbyusinganAssociation.ADataAssociationisadashedlinewithanarrowheadwhichindicatesthedirectionofthedataflow. /
4.Swimlane / Groupselements
a)Pool / APoolisthegraphicalrepresentationofaParticipantinaCollaboration(see[2]page112).Italsoactsasa‘swimlane’andagraphicalcontainerforpartitioningasetofActivitiesandtheirSequenceFlowsfromotherPools,usuallyinthecontextofbusiness-to-businesssituations.TheSequenceFlowscancrosstheboundariesbetweenLanesofaPoolbutcannotcrosstheboundariesofaPool.Thatis,aProcessisfullycontainedwithinthePool.TheinteractionbetweenPoolsisshownthroughMessageFlows.AnotheraspectofPoolsiswhetherornotthereisanyActivitydetailedwithinthePool.Thus,agivenPoolMAYbeshownasa‘WhiteBox,’withalldetails(e.g.aProcess)exposed,orasa‘BlackBox,’withalldetailshidden(see[2]page45).NoSequenceFlowsareassociatedwitha‘BlackBox’Pool,butMessageFlowscanattachtoitsboundaries.APoolisasquare-corneredrectanglewithalabelnameseparatedfromthecontentsofthePoolbyasingleline.Itisrecommendedthatallpoolshaveaboundary.TohelpwiththeclarityoftheDiagram,aPoolextendshorizontallytheentirelengthoftheDiagram.However,thereisnospecificrestrictiontothesizeand/orpositioningofaPool. /
b)Lane / ALaneisasub-partitionwithinaProcess,sometimeswithinaPool,andwillextendhorizontallytheentirelengthoftheProcess(see[2]page305).LanesareusedtoorganiseandcategoriseActivities.Lanesareoftenusedforsuchthingsasinternalroles(e.g.Manager,ContactCentreStaff),systems(e.g.anapplication),orinternalbusinessunits(e.g.Finance).ALaneisasquare-corneredrectanglewithasolidsingleline.Thisguidelinedoesnotrecommendtheuseofnestedlanes. /
5.Artefact / ProvidesadditionalinformationabouttheProcess
a)Group / AGroupisagroupingofgraphicalelementsthatarewithinthesameCategory(see[2]page68).Itprovidesavisualmechanismtogroupelementsofadiagraminformally.ThistypeofgroupingdoesnotaffecttheSequenceFlowswithintheGroup.TheCategorynameappearsonthediagramasthegrouplabel.Categoriescanbeusedfordocumentationoranalysispurposes.GroupsareonewayinwhichCategoriesofobjectscanbevisuallydisplayedonthediagram.AsanArtefact,aGroupisnotanActivityoraFlowObject,and,therefore,cannotconnecttoSequenceFlowsorMessageFlows.Inaddition,GroupsarenotconstrainedbyrestrictionsofPoolsandLanes.ThismeansthataGroupcanstretchacrosstheboundariesofaPooltosurroundDiagramelements,oftentoidentifyActivitiesthatexistwithinadistributedbusiness-to-businesstransaction.GroupsareoftenusedtohighlightcertainsectionsofaDiagramwithoutaddingadditionalconstraintsforperformanceasaSub-Processwould.Thehighlighted(grouped)sectionoftheDiagramcanbeseparatedforreportingandanalysispurposes.AGroupisaroundedcornerrectanglewithadashedline. /
b)TextAnnotation / TextAnnotations(attachedwithanAssociation)areamechanismforamodellertoprovideadditionaltextinformationforthereaderofaBPMNDiagram(see[2]page71).ItdoesnotaffecttheflowoftheProcess.ATextAnnotationisanopenrectanglewithasolidline‘bracketing’thetext. /
5Queensland Governmentbusiness processmodelconventions
5.1Processdescriptions
Providingatextualdescriptionofthebusinessprocessisessentialtoensureunderstandingandmaintenanceofprocessmodels.
ItisstronglyrecommendedthatthebusinessprocessisfullydescribedaspertheinformationanddataelementsdetailedinBusinessprocess descriptioninAppendixDonpage28ofthisguideline.
5.2Businessprocesses and sub-processes
Whennamingbusinessprocessesandsub-processes:
- Specify'what'isbeingdone–theobjectiveoroutcomeoftheprocess.
- Anacronymmaybeusedinaprocessname,however,itshouldbefullyspelledoutthefirsttimeitisusedandalsointheaccompanyingprocessdescription.Ifthereareseveralacronyms,considerassociatingatextannotationorincludingalegendinthemodeldiagram.
- Usetitlecase―eachwordbeginswithacapitalletterfollowedbylowercaselettersfortherestoftheword.SeeThecase to be used for element namesonpage25ofthisguideline.
- Avoidtheuseofthebusinessareaororganisationalunitinthenameoftheprocess.Ifitseemsdifficulttonametheprocess,carefullyconsidertheobjectiveoftheprocess.Notethatthebusinessareanamemaybeneededinordertodifferentiatetwosimilarprocessesindifferentbusinessareas.
- Todistinguishbetweenthecurrent,futureandarchivedprocessmodelsuseversionnumbersfortheprocessmodels–forexample,useversionnumberswhenthereismorethanoneto-bestate,totestandaccommodatewhento-bebecomesthecurrentstate,forevidenceofwhentheto-beprocessbecamethecurrentprocess,orforperformancemanagementcomparisonsbetweendifferentversionsoftheprocess.Theadvantageofversionnumberingoverlabellingmodelswith‘as-is’and‘to-be’isthatthelabelsdonotneedtobeupdatedwhentheto-bemodelisimplementedandbecomestheas-isprocess.
- Examples:‘TravelBooking’,‘IncidentManagement’[6]and‘SmartServiceQueensland(SSQ)PolicyDevelopmentv1.0’.
- Thefollowingdiagramsareexamplesofexpandedsub-processes.
5.2.1ExamplesofExpandedSub-Processes
Figure1:Expandedsub-process(standard)
Figure2:Expandedsub-process(parallel)
5.3Tasks
Whennamingtasks:
- Specify'what'isbeingdone–theobjectiveoroutcomeofthetask.Avoidnamesthatindicatewho,when,whereorhowsomethingisdone.Forexample,ReviewPatientChart,OrderDiagnosticTest.
- Forthebusinessviewofaprocess,tasksshouldreflectthebusinessactions,notaninformationsystemorasystemactivity.Systemactivitiesaremodelledastheoperationalviewofaprocess.
- Beginwithaverbfollowedbyabusinessobjectname,whichcanbequalifiedwithanadjectiveifnecessary.Forexample,EndorseProjectProposal,RenewSeniorsCard,ObtainPayment.
- DonotstartwithgenericverbssuchasProcess,Handle,Record,Manage,orMaintain,etc.UsewordssuchasIssue,Reissue,Renew,RegisterorAssessthatindicatetheobjectiveoroutcomeoftheprocess.Refertothefollowingsection5.4WordstoAvoidintheBusinessViewofaProcess.
- Donotincludethewordsto,and,for,from,etc.inthenames.Refertothefollowingsection5.4WordstoAvoidintheBusinessViewofaProcess
- Bepreciseandconcise.Thenameshouldideallybethreewordsandnevermorethanfivewordsunlessthereisaverygoodneedforit.Thelongerthenamethemoreclutteredthediagram,whichreducesreadability.
- Usetitlecase―eachwordbeginswithacapitalletterfollowedbylowercaselettersfortherestoftheword.
- Anacronymmaybeusedinataskname,howevertheacronymshouldbefullyspeltoutthefirsttimeitisused.Italsoneedstobeconsistentlyusedthroughouttheprocessandintheaccompanyingprocessdescription.Ifthereareseveralacronyms,considerassociatingatextannotationorincludingalegendinthemodeldiagram.Forexample,‘AmendSmartServiceQueensland(SSQ)InformationAssetRegister(IAR)’.
- Colours,prefixesorsuffixesmaybeusedtodifferentiatebetweenaspectsofatasksuchasownership,andversioncontrol.However,thisguidelinesupportstheuseofblackandwhiteprinting,sotasksshoulduseameansotherthancolourtoconveymeaning.
- Taskdirectives(policies,procedures,workinstructions,standards,legislation,etc.)maybecapturedinthetask'sdescriptionintheprocessdocumentation.
- Tasknameexamples:SurrenderMarineLicence,LodgeIndustryAuthorityApplication.
5.4Wordstoavoid in the business view of a process
Thetablebelowlistsverbswhichshouldnotbeusedinthenameofaprocess,sub-processortaskinabusinessviewofaprocess.
Chooseareplacementverbcarefullysothatitreflectstheobjectiveoftheprocess.
Verb / Donotusebecause… / RecommendedReplacementUpdate / Tootechnical/systemfocussed. / Amend,Change
Create / Tootechnical/systemfocussed. / Generate,Produce
Read / Tootechnical/systemfocussed. / Retrieve,Obtain
Delete / Tootechnical/systemfocussed. / Remove
Record / Tootechnical/systemfocussed. / Capture,Log,Register
Download / Tootechnical/systemfocussed. / Retrieve
Transmit / Tootechnical/systemfocussed. / Send
Process
Handle
Manage / Toogeneric,wouldnotreflectthespecificobjectivesoftheprocess. / Dependsontheobjectiveoftheprocessbutcouldbe
Assess,Coordinate,Review
Maintain / UsuallyindicatesaCreate,Read,Update,Delete(CRUD)transactionthatisICT-specificnotbusiness.Additionally,ifitdoesindicateCRUDthentherewouldbeseparatebusinessevents,sooneprocesswouldbeincorrect. / Dependsontheobjectiveoftheprocess
Receive / Therecipientmustdomorethanjustreceivesomeinformation.Itshouldbewhatthereceiverdoesafterreceivingtheinformation. / Dependsontheobjectiveoftheprocess
Input / Impliesdataentry.Whyareweenteringtheinformation? / Dependsontheobjectiveoftheprocess
Thetablebelowlistswordswhichshouldnotbeusedinprocess,sub-processortasknames.
Word / Donotusebecause…and,or / Indicatesmorethanoneprocess.
to,for,by / Impliedbythelaneitisflowingto.
data / Tootechnical.Useinformationordetails.
from,of,when / Shouldbedetailedintheprocessdescriptiondocumentation.
5.5Events
Iftheeventtypeisknown(e.g.ifitisamessageortimer)thentheappropriatetriggertypeshouldbedisplayedfortheevent.
Alleventsaretobenamed.Aneventnameshould:
- Clearlyreflectthetypeofevent(start,end,timer,etc.),forexample:
–Startevent:InvoiceReceived,ApplicationReceived(suggeststhatitisamessage)
–Endevent:UrgentOrderSent,ApplicationRejectionAdviceSent(suggeststhatitisamessage)
–Timerevent:Monthly,Weekly,InvoiceDue,9amon1stofmonth,etc.(suggeststhatitisatimedevent)
- Beintitlecase―eachwordbeginswithacapitalletterfollowedbylowercaselettersfortherestoftheword(asshownintheexamplesabove),and
- Notincludetherole,document,systemorapplicationnameinthebusinessviewoftheprocess.
Startandendeventnames(nottimerevents)should:
- Beginwitheitheranounoranounprefixedbyaqualifierandendwithapasttenseverb.Forexample,InvoiceReceived,UrgentOrderSent,FileReceived,DriverLicenceApplicationReceived.
Thenamingofthrowandcatchlinkintermediateeventsusedtofragmentlargemodelsisdescribedinsection5.9.1Fragmentationonpage22.
5.6Poolsandswim lanes
Whennamingpools:
- usetitlecase―eachwordbeginswithacapitalletterfollowedbylowercaselettersfortherestoftheword.
- organisational unitnamesarepermittedwithinpools.
- examples ofpoolsareQueenslandStateArchives(QSA),InformationTechnologyBranch(ITB).
Whennamingswimlanes:
- usetitlecase―eachwordbeginswithacapitalletterfollowedbylowercaselettersfortherestoftheword.
- use functionalareanamesratherthanorganisationalunitnameswheneverpossible.
- system orapplicationnamesarepermittedwithinswimlanes.
- examples ofswimlanesareOrderProcessing,CustomerServiceCentre,FinanceSystem,RiskManagementSystem.
Notethat:
- when modellinganexternalorganisationasablackbox,therearenolanes(oranyotherdetails)inthepool.
- white boxeshaveatleastonelane.
- best toavoidbutifyouhaveto – Poolsandlanesmayberepeatedintheonediagramprovidedthenameoftherepeatedpoolorlaneisitalicised.
5.7Connectingobjects
Foreaseofreadability,sequenceandmessageflowsshouldbedrawnfromlefttorightandtoptobottom.
5.7.1MessageFlows
- Useanounandconsiderusinganadjective,forexample,validsalesorder,invoicedetails,etc.,butdonotuseaverb,e.g.‘validsalesordersent’isincorrect;‘validsalesorder’iscorrect.
- Amessageflowshouldbenamedinawaythatdescribeswhatisbeingsentorreceivedandnottheactionitself.Forexample,productrequest,invoicedetails,paymentreceipt,etc.
- Amessageflownameshouldbeinlowercase.
- Thisguidelinerecommendsplacingthemessageflownamewithinthe'white'spacebetweenpools.
5.7.2Sequenceflows
- Sequenceflowsto/fromataskshouldbepositionedasfollows:
–Inputflowscomeinfromthetoportheleft
–Outputflowsgooutatthebottomortheright.
- Onlynameasequenceflowifitisaconditionalflow.Aconditionalflownameshouldcontainthenameoftheconditionbeingapplied.Forexample,‘Applicationapproved’couldbeaconditionforoneflowand‘Applicationrefused’fortheother.
- Conditionalflowsareinsentencecase–thefirstwordbeginswithacapitalletterfollowedbylowercaselettersfortherestoftheword;eachsubsequentwordisinlowercase.SeeTheCasetobeusedforElementNamesonpage25ofthisguideline.
- Theassociatedbusinessrulewhichdefinestheconditionshouldbedetailedintheprocessdocumentationforthetaskwheretheconditionalfloworiginates.
5.8Dataobjects
Whennamingdataobjects
- Usetitlecaseandanoun.Thedataobjectnamemaycontainanadjective,forexample,CustomerContactDetails,PurchaseOrder,ChangeRequest,butitcannotcontainaverb.
- Thenameofthedataobjectmaybequalifiedbyitsstate(calledDataObjectReference),forexample,EndProjectReport[Draft],ICTStrategicPlan[Approved].
- Theuseofdataobjectsanddataobjectreferencesrequirescarefulconsideration–judicioususeaddsvaluableinformation,buttoomanyandthediagrambecomesunreadable.
5.9Diagramlayout
Aimtokeeptheprocessmodelsassimpleandunclutteredaspossible.Thelevelofdetailrequireddependsontheobjectiveofthemodellingtask.Notethattheabilitytoapplythefollowingconventionsmaybelimitedbythesoftwaretoolused.
- Forreadability,itisrecommendedthatabusinessprocessmodelcanhaveasmanytasksthatcomfortablyfitonasinglepage(preferablyA4).Ifthebusinessprocessmodelhasseveraltasksandreducedreadability,re-assessthelevelofdetailinthediagramorfragmenttheend-to-endprocess(refertothefollowingsectiononFragmentation–LinkIntermediateEvents).
- Allbusinessprocessmodelsshouldreadlefttoright.
- Orderpoolsandlanesbythewaythetasksflow.Thatis:top-downandlefttoright.
- Besttoavoidbutifyouhaveto – Poolsandlanesmayberepeatedintheonediagramprovidedthenameoftherepeatedpoolorlaneisitalicised.
- Keeptasksandsubprocessesthesamesizewherepossible.Ifthetasknamedoesnotfitintothetask,eitherdecreasethefontsizeorexpandallthetasksandprocessboxessothattheyarethesamesize.Closelyexaminethenameofthetask–isitcomprehensible?
- Alignalltaskshorizontallyandverticallyasmuchaspossible.
5.9.1Fragmentation
Linkintermediateevents
Fragmentationisusedtomakeaprocessmorepresentableandreadable.Fragmentationbreaksalargeprocessatlogicalpointssothatthefragmentscaneasilyfitontoapageorascreen.Thepointsatwhichtheprocessisfragmenteddependontheprocessitselfbutthekeyguidelinesare:
- Usetheintermediateeventtype‘Link’toshowfragmentation.
- Forthefragmentedprocess:
–the firstfragmentstartswithaStarteventandhasanintermediateLinkThrowingEventatitsend
–subsequent fragments(exceptthelast)haveanintermediateLinkCatchingEventatthestartandanintermediateLinkThrowingEventattheend
–the lastfragmenthasanintermediateLinkCatchingEventatthestartandanEndeventattheend.
- Ensureeachlinkeventhasthenameoftheprocessthatitlinkstoorfrom.Namethethrowingevent‘ToProcess_Name’andthecatchingevent‘FromProcess_Name’forexample,ToIssueNewLicence,FromChangeLicenceDetails.
- Manythrowinglinkscangotoasinglecatchinglink.
- Eachthrowinglinkcangotoonlyonecatchinglink.
Sub-processes
Ifaprocesscouldbereused,thentypicallyitisasub-processratherthanaprocess.
6References
[1]Wikipedia,BusinessProcessModelandNotation,accessed13March2013
[2]OMG,BusinessProcessModelandNotationVersion2.0,January2011
[3]OMG,BusinessProcessModelandNotationhomepage,accessed13March2013
[4]OMG,SemanticsofBusinessVocabularyandRules(SBVR),accessed13March2013
[5]QueenslandGovernmentBusinessProcessDiscoverReporttemplatev1.0.0January2011
[6]BPMNv2.0Examples,2June2010
6.1Documenthistory
Version / Date / Status / Keychangesmade / Author/s1.0.0 / 28/05/2009 / Final / PublishedonQGCIOMethodologieswebsite / QGCIO
1.0.2 / 23/12/2011 / Draft / RevisedusingQGCIOguidelinetemplate / QGCIO
1.0.3 / 8/04/2013 / Draft / RevisedtoalignwithBPMN2.0,providedtoQGBPMNWG10AprilMeeting / DSITIA
1.0.4 / 30/04/2013 / Draft / Revisedbasedoncommentsat10Aprilmeeting,providedtoQGBPMNWGfor30Aprilmeeting. / DSITIA
1.0.5 / 13/05/2013 / Draft / Revisedbasedoncommentsat1Maymeeting,providedtoQGBPMNWGfor15Maymeeting. / DSITIA
1.0.6 / 27/05/2013 / Draft / Revisedbasedoncommentsat15Maymeeting,providedtoQGBPMNWGfor29Maymeeting / DSITIA
1.0.7 / 11/06/2013 / Draft / Revisedbasedoncommentsat29Maymeeting,providedtoQGBPMNWGfor13Junemeeting / DSITIA
1.0.8 / 23/06/2013 / Draft / Revisedbasedoncommentsat13Junemeeting,providedtoQGBPMNWGfor26Junemeeting / DSITIA
1.0.9 / 26/06/2013 / Draft / Revisedbasedoncommentsat26Junemeeting. / DSITIA
1.0.10 / 6/05/2014 / Draft / Versionprovidedtorecordsmanagementstaff. / DSITIA
1.0.11 / 7/07/2014 / Draft / ContentplacedinlatestQGEAtemplate. / DSITIA
1.0.12 / 12/02/2015 / Draft / VersionprovidedtoWGforcomments. / DSITIA
1.0.13 / 16/03/2015 / Draft / VersionprovidedtoQGEAReferenceGroupforcomments. / DSITI
1.0.14 / 23/12/2015 / Final / Updatedtonewertemplate.
ProvidedtoQGCIOforpublication. / DSITI
Appendix ATableofevent symbols
Useofeventsymbolsisrecommendedasfollows:
Type / Start / Intermediate / EndCatching / Throwing
Forbusinessandoperationalviewsofprocesses
None / / / /
Link / /
Message / / / /
Timer / /
Inadditiontotheabove,foroperationalviewsofprocesses
Conditional / /
Error / /
Signal / / / /
Terminate /
Appendix BThecase to be used for element names
Element / CaseConditionalsequenceflow / Sentencecase
DataObject / TitleCase
DataObjectReference / TitleCase
DataStore / TitleCase
Event / TitleCase
Gateway / TitleCase
Group / TitleCase
messageflow / lowercase
Pool / TitleCase
Process / TitleCase
Sub-Process / TitleCase
SwimLane / TitleCase
Task / TitleCase
Textannotation / Sentencecase
Appendix CGatewaysandconditional flows
ThefollowinginformationmaybeusefulfromabusinessviewofBPMN.
AGatewayisusedtocontrolhowaProcessflowsalongSequenceFlowsastheyconvergeanddivergewithinaProcess.Iftheflowdoesnotneedtobecontrolled,thenaGatewayisnotneeded.Theterm‘gateway’impliesthatthereisagatingmechanismthateitherallowsordisallowspassagethroughtheGateway.Thus,theGatewaywilldeterminebranching,forking,merging,andjoiningofpaths[2].
AConditionalFlowisaSequenceFlowwhichhasaconditionalExpressionwhichisevaluatedatruntimetodeterminewhetherornottheSequenceFlowwillbeused[2].AConditionalFlowwhichisoutgoingfromanActivitysuchasaTask,hasamini-diamondatthebeginningoftheconnector.
Thus,bothGatewaysandConditionalFlowscanbeusedtomodeldecisionpointsandeachhasitsownadvantages.Sohowdoyoudecidewhichelementtouse?
Gateways:
- Tendtobemoreuniversallyunderstoodbybusinessusersasthediamondshapehasahistoryofuseinworkflowdiagrams.
- Canflowtoasecondgateway,whereasitisnotpossibletojointwosequentialflows.However,joininggatewaysisnotencouraged.
- Mustbeusedwhennoconditionexists,asaconditionalflowwouldnotbepossible.Forexample,aparallelgatewaywouldbeusedwhenseveraltasksaretobeperformedinparallel.
- Canbeusedtoreplacesimpletasksthatresultinadecisionpoint.Thegatewayisthenlabelledwithasummaryquestion.
ConditionalFlows:
- Areusefulinsavingspacewhenthemodelcontainsmanyconditions.
Thisguidelinedoesnotrecommendonemethodovertheother.However,itdoesrecommendtakingintoaccount:
- Organisationalculture–usethemethodthatbestsuitstheorganisationandtheaudience.
- Consistency–wherepossible,useallconditionalflowsorallgatewaysintheonediagram.However,thereareoccasionswhereusingbothelementsintheonediagramisadvantageous.
- Simplicity–gatewaysareexclusivebydefaultsoforexclusivegateways,alwaysomitthe‘X’marker.
- Simplicity–describethebusinessrulesassociatedwiththedecisionpointintheprocessdescriptiondocument.Donotincludeanydetailsofthebusinessrulesintheprocessmodel.
- Simplicity–forthebusinessviewofaprocesstheexception-freescenarioisdepicted.Thisoftenrequiresminimaluseofdecisionpoints(i.e.gatewaysorconditionalflows).Operationalviewsofprocesseswhichmustincludethespecificsteps,decisionsandactionsaremorelikelytoincludeseveraldecisionpoints.
- Responsibilityforthedecision–agatewaycanbeplacedinanyswimlane,whereasaconditionalflowisinthelaneofthetaskfromwhichitislinked.
- Point–dogatewaysneedtobeprecededbythetaskwhichmakesthedecision?Thiswouldavoidhavingamodelwith2sequentialgateways.Onesolutionisthatthebusinessviewofasimpledecisiontaskcouldhavegateways(withaquestion),whereasoperationalviewsarebestmodelledwithanexplicittaskbeforethegateway.
Option1:DecisionsarerepresentedbyConditionalFlowsandassociatedbusinessrules. /
Option2:DecisionsarerepresentedbyGatewaysandassociatedbusinessrules.
Associatedbusinessruleintheprocessdescriptiondocument:
IF(sellerisauthenticatedANDitem-is-verified-by-trading-authority)OR(item-has-been-auctioned-before-by-our-organisation)THEN
ItemAllowedforSale
Appendix DBusinessprocess description
ThisdescriptionwaspreviouslycapturedintheCurrentstatesectionoftheQueenslandGovernmentBusinessProcessDiscoverReportv2.0(nolongeravailable).
Businessareafunctions
Insertabriefdescriptionofthefunctionsofthebusinessarea.
Consultationlist
Insertabriefdescriptionofthestakeholdersconsulted.
Currentstate
<Process1
Replicatethiscompletesectionforeachprocessinscope.
Replace<Process1>withBusinessProcessname.
Namemuststartwithaverb.
Businessprocessmodel
Insertcurrentstateprocessmodeldiagram.
Businessprocessdescription
Highleveldescriptionoftheendtoendprocess.
Businessprocessdetail
Processowner:Positionandnameofnominatedprocessowner.Processdirectives:Listoflegislation,policies,standards,procedures,workinstructionsthatsupportand/orconstrainthisprocess.
Scopeofuse(internal):Thenumberandtypeofparticipantsinvolvedinand/orimpactedbythisprocess.Includeabriefdescriptionofanybusinessareasnotalreadycoveredinthe‘Businessareafunction’above.
Scopeofuse(external):Thenumberandtypeofparticipantsinvolvedinand/orimpactedbythisprocess.Includeabriefdescriptionofparticipants.
Frequencyofuse:Statehowoftenthisprocessisperformed.
Constraints:Limitationstothepossiblechangestoaprocess.
Assumptions:Anyassumptionsmadeduringperformingthisprocessordocumentingthisprocess.
Informationcapture:Themechanismsusedtocapturetheinformationtosupporttheprocess(e.g.paperorelectronicforms,informationmanuallyenteredintoanapplication).
Associatedapplication:Theassociatedapplication/sname.
Upstreamprocess:Theprocesswhichoccursbeforethis.
Downstreamprocess:Theprocesswhichoccursafterthis.
Issues:Shortdescriptionofproblemswiththisprocess.
Metrics:Metricsusedforthisprocesse.g.Percentoutstandingrequestsmorethan5daysold.
Baselinemeasures:Currentvaluese.g.25%outstandingrequestsmorethan5daysold.
Targetmeasures:Targetvaluese.g.Lessthan3%outstandingrequestsmorethan5daysold.
Reporting:Describeanyreportingassociatedwiththisprocess.
Notes:Anyadditionalnotescaptured.
Taskdescriptions
Insert/addadditionaltasksasrequired.
Startevent / NameofstarteventDescription / Descriptionofstartevent(ifnecessary),specificallytriggersthatcausetheprocesstocommence
Startevent / Itisrarebutaprocesscanpotentiallybetriggeredbymultiplestartevents
Description / Descriptionofstartevent(ifnecessary),specificallytriggersthatcausetheprocesstocommence
Taskname / Nameofthefirsttask
Description / Briefdescriptionofhowandwhythistaskisperformed,includingactionsordecisionsinvolved
Roles / Ifpoolsorlanesalreadypresentenoughinformation,leaveblank.Otherwise,providerolesofpeopleinvolvedinenactingthetask
SupportingICT / AnyICTusedtosupportthetask
Businessrules / Thebusinessrulesthatsupportorconstraintheexecutionofthistask
Input / Optional.Infoflowsshouldalreadyhavebeendocumentedintheprocessmodel.Couldincludenamesofdataobjectsusedasinputtosupporttheexecutionofthistask
Output / Optional.Infoflowsshouldalreadyhavebeendocumentedintheprocessmodel.Couldincludenamesofdataobjectsproducedasaresultofexecutingthistask
Taskname / Nameofthesecondtask
Description / Briefdescriptionofhowandwhythistaskisperformed,includingactionsordecisionsinvolved
Roles / Ifpoolsorlanesalreadypresentenoughinformation,leaveblank.Otherwise,providerolesofpeopleinvolvedinenactingthetask
SupportingICT / AnyICTusedtosupportthetask
Businessrules / Thebusinessrulesthatsupportorconstraintheexecutionofthistask
Input / Info,materials,products,services,inputfrequencyandvolume
Output / Info,materials,products,services,outputfrequencyandvolume
Endevent / Nameofendevent
Description / Descriptionofendevent(ifnecessary)–includinganylinkstootherprocessesthatmightfollowfromthecompletionofthisprocess
Processproblems
Insertanyproblemscurrentlyexperiencedwiththeprocess.
Aprocessproblemissomethingthathasalreadyhappenedduringaprocess.Forexample,mailarriveslateandthereforeisdistributedtoolateinthedayfordirectorstoactionbeforecloseofbusiness.
Riskexposure
Insertanyriskexposureassociatedwiththecurrentstate.
Ariskissomethingwhichcouldhappenduringaprocessandhasaconsequence.Forexample,amajorfireinthebuildingisrelativelyunlikelytohappen,butwouldhaveenormousimpactonBusinessContinuity.Conversely,occasionalcarbreakdownsarefairlylikelytohappen,butwouldnotusuallyhaveamajorimpactontheorganisation.
Assumptions
Insertanyassumptionsmadeinobservingthecurrentstate.
Anassumptionissomethingaprocessmodellerhasassumedduringthedocumentationofaprocess.Forexample,ithasbeenassumedthesecondapprovalinthisprocessisonlyrequiredifthefirstapprovalisrejected.
Queries
Insertanyunresolvedquestionsaboutprocessuncertaintiesorinformationgaps.
Aqueryissomethingaprocessmodellerhasraisedaquestionaboutduringthedocumentationofaprocess.Forexample,doesthedirectorcompletethisprocessiftheseniormanagerisunavailableoraway?
Exceptions
Insertanyexceptionstotheprocess.
Anexceptionissomethingthebusinesshasmadeclearduringthecollectionofinformationonaprocess.Forexample,thisprocessisnotcompletediftheministerformallyrequeststhegranttobeapprovedregardlessofrestrictions.
Final| v3.0.0| January 2016Page1of30
PUBLIC
[1]PleasenotethatsinceBPMN2.0theabbreviationBPMNrefersto‘BusinessProcessModelandNotation’andnot “BusinessProcessModellingNotation”.
[2] All page references are to the specification [2] unless otherwise noted.