Turinys ↑
BPMN procesų modeliavimo (ir aprašymo) taisyklės nėra labai sudėtingos ir yra pagrįstos logika bei lengvu suvokimu. Taisyklės, paaiškinimai ir rekomendacijos skirtos išvengti painiavos verslo procesų modeliuose ir palengvinti jų supratimą bei modeliavimą.
Pagrindinės procesų modeliavimo taisyklės ↑
Keletas pagrindinių BPMN taisyklių:
Sekos srautas Sequence Flow
Naudojamas parodyti proceso veiksmų vykdymo seką (eiliškumą, kryptį).
Jie negali kirsti (peržengti) subproceso ribų.
Jie negali kirsti (peržengti) baseino ribų.
Pranešimų srautai Message Flows
Naudojami parodyti proceso dalyvių komunikacijai.
Jie negali sujungti objektų esančių tame pačiame baseine.
Ribiniai įvykiai Boundary Events
Turi būti ne daugiau kaip vienas išeinantis sekos srautas.
Neturi turėti įeinančio sekos srauto.
Subprocesas Sub-Process
Pradžios įvykis subprocese turi būti paprastas (neapibrėžtas, be tipo).
BPMN paaiškinimai ↑
Keletas paaiškinimų dėl kai kurių BPMN paplitusių klaidingų nuomonių:
Procesai, modeliai, schemos ir bylos Processes, Models, Diagrams and Files
BPMN sąvokos Procesas, Modelis, Schema ir Byla nėra lygiavertės (nereiškia to pačio).
BPMN modelyje gali būti vienas ar keletas BPMN verslo procesų.
Įvairios BPMN modelio dalys gali būti išsaugotos įvairiose bylose (failuose).
BPMN schema atvaizduoja BPMN proceso modelio poaibį (o gali atvaizduoti ir visą modelį).
BPMN modelis gali būti atvaizduotas panaudojant kelias schemas.
Duomenų srautas Dataflow
BPMN schema nėra duomenų srauto schema.
Nors duomenų objektai yra vieni iš pagrindinių BPMN elementų, tačiau nerekomenduojama modeliuoti duomenų (informacinius) srautus naudojant BPMN.
Rankinės, automatizuotos ir pusiau automatizuotos užduotys Manual, Automated and Semi-automated Tasks
Rankinę užduotį naudokite, vaizduodami darbą (pastangas), kurį numatoma atlikti be jokios programinės įrangos pagalbos.
Vartotojo užduotį naudokite, vaizduodami darbą (pastangas), kurį žmogus atlikdamas naudos programinę įrangą.
Serviso užduotį naudokite, vaizduodami darbą (pastangas), kuris atliekamas automatizuotai (be žmogus).
Pranešimų siuntimas ir gavimas Sending and Receiving Messages
Naudokite pranešimo siuntimo ar gavimo įvykį, jeigu pranešimo siuntimas ar gavimas laikomas momentiniu.
Naudokite pranešimo išsiuntimo ar pranešimo gavimo užduotį, jeigu pranešimo siuntimas ar priėmimas gali būti nutrauktas.
Žiūrint iš laiko perspektyvos: pranešimo siuntimo ar gavimo įvykis žymi laiko tašką (momentą) laiko juostoje, o pranešimo siuntimo ar priėmimo užduotis – laiko intervalą.
BPMN objektų pavadinimų rekomendacijos ↑
BPMN nėra nustatytų oficialių pavadinimų taisyklių, tačiau yra gerosios praktikos, kurias galima laikyti nerašytomis taisyklėmis:
Visada naudokite verslui (veiklai) svarbius ir raktinius žodžius, kurie parodo esmę.
Nenaudokite nepaplitusių, neaiškių santrumpų.
Elemento pavadinime nenaudokite jo tipo.
Venkite įvardžių.
Veiksmai Activities
Visi veiksmai privalo turėti pavadinimus.
Skirtingiems veiksmams nenaudokite tų pačių pavadinimų (išskyrus iškviečiamus veiksmus).
Vartai Gateways
Vartai neatlieka jokio darbo ir nepriima sprendimų, tai yra proceso sekos srautų išsiskyrimo ir sujungimo vizualizacija.
Srautus išskiriančius išskirtinio ARBA vartus pavadinkite klausiamąja fraze (klausimu), aiškiai nusakančia srauto išsiskyrimo sąlygas.
Sekos srautai Sequence Flows
Sekos srautams išeinantiems iš visų išskiriančio tipo vartų (Išskirtinių ARBA, Imtinų ARBA, Sudėtinių) pavadinimams panaudokite atsakymus į srauto išskyrimo sąlygų klausimą (tai yra panaudokite pavadinimus tų veiksmų ir įvykių į kuriuos tie srautai įeina).
Sąlyginius sekos srautus pavadinkite pagal jų atsiradimo sąlygas.
Numatytiesiems sekos srautams pavadinimai nereikalingi.
Įvykiai Events
Visi įvykiai privalo turėti pavadinimus.
Įvykių Pranešimas, Signalas, Eskalavimas, Klaida pavadinimus sudarykite iš dalyvio – daiktavardžio arba daiktavardžio – veiksmažodžio – daiktavardžio frazės, nusakančios to įvykio esmę.
Įvykių Nuoroda pavadinimams naudokite daiktavardį.
Suporuoti įvykiai Pranešimas, Nuoroda, Signalas, Eskalavimas ir Klaida turi turėti tokį patį pavadinimą.
Laikmačio įvykių pavadinime nurodydami laiko ciklus, laiko momentus, laiko periodus ar laikotarpius naudokite laiko matavimo vienetus (valandas, dienas, savaites, mėnesius ir pan.).
Sąlyginius įvykius pavadinkite pagal jų suaktyvinimo priežastį taip, kad būtų aišku kokią būseną jie parodo.
Pabaigos įvykių pavadinime nurodykite pabaigos būseną.
Duomenų objektai Data Objects
Visi duomenų objektai privalo turėti pavadinimus.
Duomenų objektus pavadinkite naudodami daiktavardžio, kuris yra svarbaus verslo objekto arba informacinio objekto pavadinimas, vardininku (arba su juo sudaryta fraze).
To paties duomenų objekto skirtingų egzempliorių (kurie iš tikrųjų yra nuorodos į to paties duomenų objekto skirtingas būsenas) pavadinimuose (pačiame pavadinime, jo pabaigoje) naudodami laužtinius skliaustus […], nurodykite atitinkamą objekto būseną.
Dalyviai Participants
Proceso dalyviams pavadinti naudodami daiktavardžio vardininką arba su juo sudaryta frazę.
Vaidmenys Roles
Proceso dalyvių vaidmenims pavadinti naudodami daiktavardžio vardininką arba su juo sudaryta frazę.
Baseinai Pools
Baseinų pavadinimams naudokite proceso dalyvių pavadinimus.
Procesų modeliavimo gerosios praktikos ↑
Proceso apimtis Process Scope
Aiškiai apibrėžkite proceso ribas (nustatykite apimtį), atsakydami sau į KAS, KĄ, KADA, KUR procese daro. Procesas atsako į klausimą KAIP.
Panaudodami pradžios įvykius, nustatykite įvairius galimus (visus alternatyvius) būdus kaip procesas gali būti paleistas (aktyvuotas).
Panaudodami pabaigos įvykius, nustatykite įvairias galimas (visas alternatyvias) proceso, proceso egzempliorių, pabaigos būsenas.
Schemų išdėstymas ir apipavidalinimas Diagram layouts
Siekite kurti tokias schemas, kurios tilptų ant vieno spausdinto lapo (A4, A3).
Tvarkingai išdėstykite schemos elementus. Venkite srautų susikirtimų bei visko, kas gali kliudyti aiškiam ir greitam suvokimui.
Sekos srautus (ir veiksmus) išdėstykite horizontaliai, o duomenų asociacijas ir pranešimų srautus vertikaliai.
BPMN neturi nustatytos griežtos proceso vykdymo krypties (nes galimas grįžimas atgal), bet įprastai proceso vykdymas schemoje vaizduojamas iš kairės į dešinę.
Srauto elementų neišdėstykite zigzagais.
Pagrindinis („geriausias“) proceso eigos variantas turi būti akivaizdus („centrinė ašis“ schemoje).
Kai tik įmanoma, proceso atkarpas pertvarkykite į (aprašykite kaip) verslo taisykles. Verslo taisyklių užduočių naudojimas leidžia procesų modelius padaryti glaustais ir lanksčiais.
Skirtingiems komunikavimo tikslams ir suinteresuotiems asmenims (šalims) sukurkite alternatyvias to pačio proceso schemas (skirtingas proceso vizualizacijas). Pavyzdžiui:
Proceso savininkams – aukščiausiojo lygio schemose rodomi tik sutraukti subprocesai bei iškviečiami veiksmai ir nerodomi jokie duomenų objektai.
Proceso vykdytojams – detalios schemos su parodytais išplėstais subprocesais bei iškviečiamais veiksmais ir visais duomenų objektais bei komentarais.
Procesų suskaidymas ir struktūra Process Partitioning and Structure
Procesą detalizuokite sukurdami hierarchinius (kelių lygių) sluoksnius.
Proceso padalinimui į etapus („žingsnius“, „fazes“) naudokite subprocesus.
Pakartotiniam kitų procesų panaudojimui, naudokite iškviečiamus veiksmus.
Pradžios Start ir pabaigos End įvykiai Events
Kiekviename procese turi būti bent po vieną pradžios ir pabaigos įvykį.
Atskirkite (pažymėkite schemoje) alternatyvias proceso pradžias atskirais pradžios įvykiais.
Atskirkite (pažymėkite schemoje) alternatyvias proceso pabaigas (pabaigos būsenas) atskirais pabaigos įvykiais.
Proceso srautai kurie baigiasi ta pačia būsena (tuo pačiu „rezultatu“, taip pat), turėtų būti apjungti (sujungti) tuo pačiu pabaigos įvykiu.
Vartai Gateways
Visada naudokite vartus proceso srauto išsiskyrimui (atskyrimui, išsišakojimui, suskaidymui) ir proceso srautų sujungimui (prijungimui).
Nenaudokite tų pačių vartų (to pačio vartų elemento) srautų sujungimui ir išskyrimui
Visada (būtinai) prieš visus tipų Išskirtinio ARBA, Imtino ARBA bei Sudėtinius, srautą išskiriančius vartus, patalpinkite veiksmą, kuriame nustatomos srauto išsišakojimo sąlygos.
To nauda yra ta, kad toks sprendimo veiksmas, esant poreikiui, gali būti nutrauktas.
Kelis sujungtus srautą išskirstančius vartus perdarykite į verslo taisyklės užduotį.
To nauda yra ta, kad schema taps mažiau perkrauta elementais (paprastesnė) ir todėl lengviau suvokiama.
Bendradarbiavimas Collaborations
Jeigu procesą schemoje atlieka (vykdo) vienas vaidmuo, nereikia proceso patalpinti (nereikia modeliuoti) į baseiną. Ne šiame proceso schemos hierarchiniame lygyje.