Modelování podnikových procesů Štěpán Kuchař stepan.kuchar@vsb.cz VŠB-TUO FEI Katedra informatiky
Model podnikového procesu abstraktní reprezentace podnikového procesu, která umožňuje další zpracování a používání také se používají pojmy jako specifikace nebo definice procesu model procesu sestává ze sítě navzájem navazujících činností a jejich přidružených informací (využívané zdroje, pracovníci,...)
Význam modelování procesů popis procesu ujasňuje postupy při zpracování požadavků zákazníků umožňuje měření a vylepšování procesů umožňuje automatické provádění částí procesů (ERP a WFM systémy) jednoznačně identifikuje kompetence a zodpovědnosti pracovníků slouží při zaučování nových pracovníků je nedílnou součástí procesního řízení
Náhledy na proces zdroj: Vondrák, Ivo: Metody byznys modelování, 2004
Náhledy na proces abstrakce nahlížející na proces s různých stran každý náhled se zaměřuje na jiné specifické vlastnosti procesu tři používané náhledy: funkční specifikace chování strukturální
Funkční náhled popisuje hlavní funkce/služby nabízené zákazníkům procesu, jejich vstupy a výstupy zaznamenává spojitosti a spolupráci mezi jednotlivými funkcemi nejobecnější pohled na proces, nezajímá se o detaily provádění funkcí, jen o jejich existenci, rozhraní a vazby na okolí
Funkční náhled
Náhled specifikace chování popisuje dynamiku jednotlivých funkcí procesu každá funkce je rozebrána na přesnou posloupnost činností, které se musí provést pro naplnění jejího cíle pro každou činnost jsou uvedeny její podmínky spuštění i stav po provedení popisuje všechny možné scénáře průběhu procesu, včetně alternativních průběhů a paralelismů
Náhled specifikace chování
Strukturální náhled nahlíží na statickou strukturu objektů (pracovníků a dokumentů) vystupujících v procesu a jeho prostředí postihuje vzájemné vztahy a komunikaci mezi těmito objekty a jejich vlastnosti pro každou funkci popisuje všechny entity, se kterými funkce pracuje nebo které při provádění funkce vznikají + pracovníky, kteří ve funkci vystupují
Strukturální náhled
Zdroje získávání informací interní předpisy, směrnice vhodné pro doladění detailů Service Level Agreement (SLA) vhodné k identifikaci procesů a zákazníků pracovní postupy a návody nevyskytují se moc často většinou uloženy jen v hlavách pracovníků závazné normy mohou pomoct odhalit části procesů
Zdroje získávání informací interview s pracovníky nebo manažery nejčastější metoda získávání informací provádět iterativně nejprve zjistit obecné věci a postupně směřovat k detailům cílené dotazníky vhodné až v pokročilejší fázi, kdy vykrystalizují konkrétní dotazy na popisované procesy příliš obecné dotazníky vedou k příliš obecným (tedy nepoužitelným) odpovědím
Zdroje získávání informací pozorování analytik přímo sleduje pracovníky při provádění procesů pracovník případně doplňuje samotné činnosti jejich slovním popisem názorné a méně časově náročně než interview zaučování analytik se přímo učí provádět části procesu vhodné pro složité a těžko popsatelné části
Zdroje získávání informací hierarchizace a dekompozice identifikování podprocesů volba vhodné úrovně podrobnosti popisu analýza dokumentů a dat z IS vhodné pro popis struktury entit v procesu zkušenosti procesy podniků s podobnými záměry se budou lišit hlavně v detailech vhodné pro popis procesů na vyšší úrovni
Neformální metody popisu popis procesů pomocí přirozeného jazyka nemá přesnou syntaxi ani sémantiku nestrukturovaný popis volný text Franta dostane od zákazníka objednávku, zkontroluje ji a zajde s ní do skladu, kde zjistí od Tondy, jestli vůbec takové zboží máme... strukturovaný popis v tabulce Pořadí Aktivita Pracovník Vstup Výstup 1. Přijetí objednávky Franta Objednávka Je objednávka úplná? 2. Vyhledání ve skladu Objednávka, Je zboží dostupné? Sklad Tonda
Neformální metody popisu výhody: pro vytvoření popisu není třeba zvláštního vzdělání ani zvláštních nástrojů snadné porozumění popisu nevýhody: nepřehlednost, nevhodné pro prezentaci složitá správa a zavádění změn nemožnost automatické analýzy a zpracování každý píše jinak, každý vidí jiné detaily problém při popisu alternativy a souběžnosti
Semiformální metody popisu popis procesů pomocí grafických notací přesná syntaxe, volná sémantika existuje velké množství dostupných notací: IDEF, EPC, UML, BPMN, NPC, RAD,... každá má své klady a zápory použití více různých notací vede k chaosu
Semiformální metody popisu výhody: grafický zápis je přehlednější než volný text možnost automatické analýzy a zpracování jednodušší správa a zavádění změn při dodržení několika omezení je možné převést do formálního popisu nevýhody: složitější tvorba, potřeba zvláštních nástrojů potřeba základní znalosti notací i při čtení může docházet k rozdílným výkladům obsahu
ARIS Framework semiformální grafická metodika založená na nástroji ARIS od firmy IDS Scheer využívaná v ERP SAP R/3 modelovací nástroje: ARIS Platform ARIS Express
ARIS funkční náhled funkční náhled v ARISu je popsán pomocí modelu tvorby přidané hodnoty model tvorby přidané hodnoty popisuje jednotlivé procesy podniku a jejich návaznosti je popsán diagramem tvorby přidané hodnoty, který obsahuje: procesy podniku vztahy mezi procesy
Diagram tvorby přidané hodnoty
ARIS specifikace chování náhled specifikace chování je popsán pomocí modelu EPC (příp. eepc) EPC je založeno na střídání událostí a aktivit, jejichž návaznost vede k naplnění cíle procesu každá událost je vstupní podmínkou následující aktivity každá aktivita produkuje výstupní událost, která se opět stává vstupní podmínkou
Event-driven Process Chains diagram EPC obsahuje: aktivity atomická činnost, která je v procesu vykonávána události popis reálné situace, která v procesu nastává a slouží pro uschopnění aktivity logické spojky rozdělují a spojují tok činností tok činností šipkami se popisuje, v jakém pořadí se provádějí aktivity a vznikají události rozhraní procesu vazba na spolupracující nebo podřízený proces
Význam logických spojek EPC každá spojka může tok činností rozdělovat (split) nebo spojovat (join / merge) AND split/join rozdělují/spojují tok na několik souběžných větví, které probíhají paralelně a synchronizují se XOR split/join rozdělují/spojují tok na několik samostatných větví, probíhá vždy jen jedna z možných větví OR split/join rozdělují/spojují tok na několik větví, které mohou být souběžné nebo samostatné
Událost EPC diagram Aktivita XOR-split Rozhraní procesu XOR-join
Extended EPC rozšíření základního EPC o další modelovací prvky: organizační informace organizační jednotky, role, pracovníci informace o datech dokumenty, entity informace o systémech IT systémy, databáze informace o prostředí produkty, rizika
Extended EPC Dokument Role IT systém
ARIS strukturální náhled strukturální náhled v ARISu je popsán datovým modelem a modelem organizace datový model popisuje všechny entity v procesu a jejich vazby model organizace zaznamenává organizační jednotky a pracovníky podniku a jejich vzájemné vazby
Datový model datový model je znázorněn ER diagramem (Entity-Relationship), který obsahuje: entity artefakty, které se vyskytují v procesu atributy entit vlastnosti entit, které se v procesu evidují vazby mezi entitami vzájemné vztahy mezi entitami, mohou být 1:1, 1:N, N:M s vyjádřením povinnosti nebo volitelnosti vztahu
ER diagram Entita Primární klíč Atribut Cizí klíč
Model organizace pro zobrazení modelu organizace slouží organigram, který obsahuje: organizační jednotky logické útvary v organizaci role pracovníků skupiny pracovníků vyznačující se společnými vlastnostmi, dovednostmi a znalostmi pracovníci konkrétní lidé v podniku vazby vztahy mezi jednotlivými prvky diagramu
Organigram Organizační jednotka Role Pracovník
UML semiformální grafická metodika založená na univerzálním modelovacím jazyce UML standard pod správou skupiny OMG výhodou je použití jedné notace jak pro popis procesů, tak pro případný vývoj softwarového systému počínaje verzí UML 2.0 jsou diagramy aktivit jednoduše převoditelné na Petriho síť a poskytují tak možnosti a výhody formálního zápisu
UML funkční náhled funkční náhled je v UML zaznamenán pomocí modelu případů užití (Use Cases) grafickou částí tohoto modelu je diagram případů užití, který popisuje funkce/služby podniku a jejich vazby s vnějšími aktéry diagram případů užití obsahuje: případy užití procesy probíhající v podniku aktéři externí objekty interagující s procesy vazby mezi aktéry a případy užití vazby mezi případy užití obsažení, rozšíření
Diagram případů užití Vazba obsažení (podproces je spouštěn vždy) Aktér Vazba rozšíření (podproces je spouštěn jen za určitých podmínek) Případ užití
UML specifikace chování náhled specifikace chování je v UML graficky popsán diagramem aktivit diagram aktivit znázorňuje tok činností při provádění jednotlivých procesů podniku, včetně podmíněných aktivit a paralelismu do diagramu se zakresluje i zodpovědnost pracovníků za provádění aktivit je možné přidat i datový tok, který popisuje tok informací a práci s objekty v procesu
UML specifikace chování diagram aktivit obsahuje: začátek a konec procesu aktivity atomické činnosti procesu podprocesy odkaz na obsažené podprocesy tok činností posloupnost provádění činností rozdělení/sloučení toku činností alternativa a paralelismus swimlanes zodpovědnosti pracovníků objekty objekty zpracovávané v procesu datový tok tok informací v procesu
Diagram aktivit dělení toku v diagramu aktivit je možné rozdělit a sloučit tok činností pomocí: alternativy provede se jen jedna z možných větví na základě uvedené podmínky slučování se v diagramu nemusí speciálně zakreslit odpovídá XOR-split/join v EPC paralelismu provádí se všechny větve souběžně a při slučování dochází k jejich synchronizaci odpovídá AND-split/join v EPC
Diagram aktivit Swimlane Začátek procesu Aktivita Alternativa Podproces Konec procesu
Diagram aktivit s objekty Objekt a jeho stav Datový tok
UML strukturální náhled strukturální náhled v UML je zakreslen pomocí diagramu tříd diagram tříd popisuje všechny objekty, pracovníky a aktéry, kteří v procesu vystupují, a jejich vzájemné vztahy diagram tříd obsahuje: role pracovníků a aktérů stereotyp <<worker>> třídy objektů stereotyp <<entity>> vazby mezi třídami asociace a dědičnost
Diagram tříd Objekt Pracovník Asociace
UML modelovací nástroje StarUML Rational Rose Enterprise Architect Poseidon for UML MDT-UML2Tools pro Eclipse Netbeans Visual Studio 2010 Ultimate
BPMN semiformální notace pro popis náhledu specifikace chování vytvořená skupinou BPMI, která se později stala součástí skupiny OMG hodně přesná s mnoha detailními informacemi hlavně pro technické uživatele přímá vazba na jazyk BPEL pro integraci a automatizaci procesů
Business Process Diagram jediný diagram notace BPML popisuje tok činností v procesu a zohledňuje různé typy událostí, které mohou v procesu nastat stejně jako v UML je i v BPD možné zaznamenat zodpovědnosti pracovníků umožňuje zakreslit i zasílání zpráv mezi jednotlivými činnostmi a jejich synchronizaci
BPD aktivity aktivity (Activity) jsou souhrnný název pro vykonávání nějaké činnosti v procesu za aktivity se považují: úlohy (Task) atomické činnosti podprocesy (Sub-Process) logicky oddělená část procesu, která se dá dále rozkreslit vlastním diagramem
BPD aktivity prvky aktivit mohou nést další informace aktivita je spouštěna několikrát za sebou aktivita je spouštěna několikrát souběžně (paralelně) aktivita je kompenzační aktivitou (spouští se při vyvolání události kompenzace) podproces je složen s ad-hoc aktivit (není přesně dáno pořadí aktivit)
BPD rozhodovací body rozhodovací bloky (Gateway) rozdělují tok činností na několik větví (Path) nebo spojují několik větví do jedné typy rozhodovacích bloků: exkluzivní XOR exkluzivní založené na událostech proběhne větev s první provedenou událostí inkluzivní chytrý OR paralelní AND komplexní založený na výrazovém jazyce
BPD spojovače spojovače (Connectors) slouží k propojování jednotlivých objektů diagramu typy spojovačů: sekvenční tok podmíněný tok proveden za určité podmínky implicitní tok provede se, pokud není splněna žádná jiná podmínka tok zpráv předávání zpráv mezi procesy asociace přiřazuje artefakty k aktivitám komentář doplňující komentář
BPD ukázka rozhodování
BPD události událost (Event) je jev, který nějak ovlivňuje provádění procesu, nebo při něm vzniká události se dělí na tři základní typy: vstupní (Start) jejich výskyt spouští instanci procesu vnitřní (Intermediate) vyskytují se v průběhu provádění procesu výstupní (End) vyskytují se při ukončení procesu
BPD kategorie událostí pro rozlišení kategorie událostí se používá symbol v prvku události prázdný symbol je příjem plný symbol je vyvolání události se umisťují buď rovnou do toku činností nebo přímo na hranu aktivity (Error, Cancel,...) zdroj: Business Process Model and Notation v1.2, 2009
BPD ukázka událostí
BPD swimlanes swimlanes slouží k určení zodpovědnosti za určité aktivity rozdělení na dva typy: kontext (Pool) kontext prostředí, ve kterém se proces provádí většinou celý podnik nebo jeho část role (Lane) konkrétní role, které se přiřazuje zodpovědnost za aktivity
BPD příklad swimlanes
BPMN modelovací nástroje ARIS Platform / Express Adonis Bizagi Process Modeler TIBCO Business Studio Enterprise Architect 7.0 (nebo 6.5+plugin) Business Process Visual Architect BPMN Modeler pro Eclipse
Formální metody popisu popis procesů pomocí přesných matematických operací a výrazů přesná syntaxe i sémantika metody založené na různých matematických přístupech: konečné automaty stavové diagramy Petriho sítě Workflow sítě, BPM procesní algebra Pi-calculus ontologie
Formální metody popisu výhody: naprosto exaktní popis, nemůže dojít k různým výkladům možnost automatické verifikace a simulace nevýhody: nejsložitější popis, náročnější údržba díky striktním pravidlům se musí i některé jednoduché problémy řešit složitými modely příliš složité pro komunikaci s manažery i pracovníky
Petriho sítě Petriho sítě jsou jednou z formálních metod používaných pro popis procesů expresivně stejně silné jako Turingův stroj existuje velké množství rozšíření, např. časované sítě přidávají dobu provádění aktivit stochastické sítě přidávají pravděpodobnostní rozdělení do trvání aktivit objektově orientované sítě umožňují pracovat s objekty
Struktura Petriho sítě struktura Petriho sítě je popsána pěticí (P, T, I, O, H): P je množina míst sítě T je množina přechodů sítě, T P = I je zobrazení T PMS popisující vstupní funkci přechodů sítě O je zobrazení T PMS popisující výstupní funkci přechodů sítě H je zobrazení T PMS popisující vstupní inhibiční funkci přechodů sítě
Multimnožina PMS je množina všech multimnožin nad množinou P multimnožina je množina, v níž se mohou prvky vyskytovat vícekrát než jednou zápis: p1 + 2'p3 + 7'p2 + 2'p5 nad multimnožinami jsou pak definovány operace sčítání a násobení skalárem při splnění podmínky m1 m2 pak i operace rozdílu m1 m2
Struktura Petriho sítě příklad P = {p1, p2, p3, p4, p5, p6} T = {t1, t2, t3, t4} I(t1) = 2'p1; I(t2) = p2; I(t3) = p3; I(t4) = p3 + p4 O(t1) = p3; O(t2) = p4; O(t3) = p5; O(t4) = p5 + 3'p6 H(t1) = ; H(t2) = p3; H(t3) = ; H(t4) =
Značení Petriho sítě struktura Petriho sítě definuje jen strukturu, pro popis chování je potřeba přidat značení značení popisuje aktuální stav sítě/procesu značení M je zobrazení P N; N={0;1;2;...}, které každému místu přiřazuje počet tokenů (značek) značení se také dá definovat jako multimnožina nad množinou P
Systém Petriho sítě systém Petriho sítě je popsán šesticí (P, T, I, O, H, M0): pětice (P, T, I, O, H) je struktura Petriho sítě M0 je počáteční značení sítě počáteční značení je značení, ve kterém se Petriho síť nachází před prvním krokem provádění procesu
Systém Petriho sítě příklad struktura z předchozího příkladu M0(p1) = 3; M0(p2) = 1 M0(p3) = 0; M0(p4) = 0 M0(p5) = 0; M0(p6) = 0 možno zapsat multimnožinou M0 = 3'p1 + p2
Dynamika Petriho sítě pravidlo uschopnění (enabling rule) říká, jestli je přechod schopný provedení v aktuálním značení přechod je v M uschopněný, pokud platí ( p t) [M(p) I(t, p)] ( p t) [M(p) < H(t, p)], kde t = {p P: I(t,p) > 0} vstupní místa přechodu t t = {p P: H(t,p) > 0} inhibující místa přechodu t uschopněných přechodů může být v jednom značení i více najednou
Dynamika Petriho sítě pravidlo provedení přechodu (firing rule) říká, jak se změní aktuální značení, když se přechod provede při provedení přechodu t se změní M na M': M' = M I(t) + O(t) v multimnožinovém zápisu, neboli ( p P) [M'(p) = M(p) I(t,p) + O(t,p)] v jednom kroku může být proveden právě jeden uschopněný přechod
Dynamika Petriho sítě - příklad
Dynamika Petriho sítě - inhibice
Graf dosažitelnosti obsahuje všechna dosažitelná značení v systému Petriho sítě znázorňuje se jako orientovaný graf uzly grafu odpovídají značením sítě hrany grafu jsou popsány názvy přechodů konstruuje se od počátečního značení postupným prováděním přechodů může být nekonečný (pro neomezené sítě)
Graf dosažitelnosti příklad
Vlastnosti Petriho sítí dosažitelnost identifikuje dosažitelná značení značení je dosažitelné, pokud existuje posloupnost provedení přechodů, které vede z počátečního značení do tohoto značení M je dosažitelné ze značení M0, když platí: M 1, M 2,..., M k 1 t 1,t 2,..., t k T [M t1 0 t2 tk M 1 M 1 M 2... M k 1 M ] množina dosažitelných značení ze značení M se označuje jako RS(M)
Vlastnosti Petriho sítí omezenost omezení značek (tokenů) v místech místo je k-omezené, pokud počet tokenů v tomto místě nepřekročí číslo k, tedy: ( M RS(M0)) [M(p) k] síť je k-omezená, pokud jsou všechna její místa k-omezená bezpečnost síť je bezpečná, pokud je 1-omezená
Neomezená a bezpečná síť...
Vlastnosti Petriho sítí živost identifikuje uzamčení (deadlocky a lifelocky) přechod je živý, pokud nikdy neztrácí možnost být v budoucnu proveden přechod t je živý ve značení M, pokud platí: t M x RS M M y RS M x M y [ ] síť je živá, když jsou všechny její přechody živé v počátečním značení
Deadlock a Lifelock
Petriho sítě a procesy Petriho sítě dokáží popsat specifikaci chování procesu díky možnosti určovat jejich vlastnosti jsou ideální pro verifikaci (ověření funkčnosti) při použití časových a stochastických rozšíření jsou vhodným nástrojem pro simulaci procesů možnost validace (ověření správnosti) možnost zjištění výkonnostních parametrů
Petriho sítě a procesy - příklad
Paralelismus v procesech
Paralelismus v procesech Ošetření nežádoucích stavů
Workflow sítě Workflow sítě jsou formální metodou určenou výhradně pro popis byznys procesů Workflow sítě jsou speciálním typem Petriho sítí bez inhibičních hran (H = ), které navíc splňují následující tři podmínky: existuje právě jedno vstupní místo i P, i = existuje právě jedno výstupní místo o P, o = všechna místa i přechody jsou na cestě z i do o
Workflow sítě rozšíření WF-sítě definují pár zjednodušujících prvků, které kopírují potřeby modelování procesů AND-split AND-join
Workflow sítě rozšíření XOR-split XOR-join
Workflow sítě hierarchizace hierarchizace WF-sítí umožňuje rozkreslit model procesu do úrovní podrobnosti jinými slovy umožňuje rozdělit proces na podprocesy libovolná podsíť
Workflow sítě spouštěče Petriho sítě se vyznačují tím, že přechod je proveden v okamžiku, kdy je uschopněn v realitě ale aktivity většinou vyžadují navíc nějakou podmínku (událost, pracovník,...) WF-sítě kvůli tomuto požadavku zavádějí tři základní spouštěče aktivit zdroj externí událost čas
Workflow sítě příklad
Vlastnosti Workflow sítí dosažitelnost i omezenost/bezpečnost jsou totožné s Petriho sítěmi z definice WF-sítě plyne, že není živá (obsahuje výstupní místo) živost je důležitá vlastnost (absence uvíznutí), bylo by dobré, kdyby určit šla pro určení živosti se zavádí tzv. nakrátko spojená WF-síť
Nakrátko spojená WF-síť WF-síť se zkratuje přidáním jednoho přechodu, který se umístí mezi výstupní a vstupní místo
Spolehlivost Workflow sítě WF-sítě zavádějí vlastnost spolehlivost (soundness), která nejde určit u obecných Petriho sítí pokud M0= i, pak je WF-síť spolehlivá, když: pro každé značení je dosažitelné znač. Mend= o Mend je jediné dosažitelné značení obsahující značku v o WF-síť obsahuje jen proveditelné přechody
Spolehlivost Workflow sítě M0 Mend
Spolehlivost Workflow sítě spolehlivost určuje, jestli byl proces korektně ukončen, jestli vše proběhlo správně a jestli se na nic nezapomnělo její určování podle grafu dosažitelnosti je pro větší procesy náročné (hodně stavů) je možné ji určit převodem na zjištění omezenosti a živosti nakrátko spojené sítě WF-síť je spolehlivá právě tehdy, když její nakrátko spojená síť je omezená a živá
Verifikace procesů verifikace ověřuje, zda má proces dobré vlastnosti, které jsou společné pro všechny procesy (nezávislé na doméně a prostředí) požadované vlastnosti jsou: dosažitelnost požadovaných stavů absence deadlocku a lifelocku podmínka pro aktivitu je jen splněná/nesplněná, aktivita proběhne při splnění všech podmínek po ukončení procesu není žádný prvek aktivní (vše proběhlo správně a na nic se nezapomnělo)
Verifikace procesů verifikaci základních vlastností je možné provádět automaticky (formální metody) základní vlastnosti WF-sítí odpovídají dobrým vlastnostem procesu: dosažitelnost stavů = dosažitelnost značení absence deadlocku a lifelocku = živost sítě splnění/nesplnění podmínky = bezpečnost aktivita až při splnění podmínek = enabling rule korektní ukončení = spolehlivost
Validace procesů validace rozhoduje, jestli proces popisuje reálný průběh aktivit, jak jsou v podniku prováděny validace je tedy závislá na konkrétním procesu i konkrétní firmě validnost musí být ověřena znalcem procesu, nejde provádět automaticky při validaci může pomoct simulace, protože názorně ukazuje průběh procesu
Verifikace a validace příklad je tato síť spolehlivá? je tato síť validní?
Verifikace a validace příklad není spolehlivá => asi nebude ani validní při provedení větve s omluvou zákazníkovi zůstane v p4 značka tím pádem není dosažitelné značení Mend = o
Verifikace a validace příklad je spolehlivá, není validní uživatel musí zaplatit, i když není zboží k dispozici
Verifikace a validace příklad je spolehlivá i validní
Petriho sítě nástroje HISim CPN Tools HPSim PIPE2 WoPeD umožňuje modelovat a analyzovat i WF sítě