Event-driven Process Chain
![ikona](http://upload.wikimedia.org/wikipedia/commons/thumb/c/ce/Wikitext.svg/48px-Wikitext.svg.png)
Můžete Wikipedii pomoci tím, že ho vhodně vylepšíte.
![](http://upload.wikimedia.org/wikipedia/commons/thumb/3/3f/EPC_diagram.png/350px-EPC_diagram.png)
Event-driven Process Chain v překladu „diagram procesu řízeného událostmi“ také EPC diagram je grafický modelovací jazyk, který můžeme použít k popisu procesů a pracovních postupů (nejčastěji podnikových). Zápis EPC nabízí mnoho způsobů pro modelování procesů a využívá se v mnoha průmyslových odvětvích. Společnosti ho především používají k modelování, analýze a redesignu podnikových procesů.
Historie
EPC diagram vznikl v Německu v roce 1990. Hlavní cíl autorů Kellera, Nüttgense a Scheera bylo vytvoření grafického jazyka, který bude efektivní a zároveň srozumitelný. EPC diagram se v základu skládá z událostí, aktivit a kontrolních šipek. Jde především o jednoduché prezentování procesu v čase. Tyto základní elementy umožňují velmi efektivně a srozumitelným způsobem popsat proces. EPC diagram byl navržen tak, aby mohl být využíván širokou skupinou lidí zabývajících se touto problematikou.
Nástroje pro tvorbu EPC diagramů
Existuje celá řada nástrojů pro tvorbu EPC diagramy, mezi ně patří:
- ARIS Express od společnosti IDS Scheer AG
- ARPO Business Modeler od společnosti KLUG Solutions
- bflow* Toolbox (Otevřený software)
- Mavim Rules od společnosti Mavim BV
- Semtalk od společnosti Semtation GmbH
- Atd...
K dispozici jsou také nástroje, které generují EPC diagramy od provozních údajů, jako jsou protokoly SAP. EPC diagramy používají symboly z několika druhů diagramů pro zobrazení toku řídící struktury (sekvence rozhodnutí, funkce, události a další prvky) podnikatelského procesu.
Tento typ diagramu přehledně definuje, pomocí jakých aktivit bude proces realizován, v jakém sledu a jak budou jednotlivé aktivity slaďovány. Tedy nachází způsob, jak budou tyto aktivity řízeny z časového pohledu. Řeší jejich posloupnost, případně, které z aktivit budou muset být vytvořeny paralelně.
Elementy EPC diagramu
Základní elementy
Business proces vytvořený pomocí EPC diagramu využívá tyto základní elementy:
1) Aktivity (Activities) jsou základními stavebními kameny a určují, co má být v procesu vykonáno. Tyto aktivní prvky mají za úkol modelovat činnosti v rámci procesu. Aktivity popisují změnu z počátečního stavu do výsledného stavu. V EPC diagramu jsou aktivity reprezentovány jako obdélníky se zaoblenými rohy. Aktivity vyjadřují nějaký děj. Viz obrázek 1.
Příklady funkcí jsou "přijetí objednávky ", "kontrola materiálu na skladě", atd.
V případě, že aktivita může mít více výsledků, musí být modelována pomocí logických spojek. Aktivity mohou být upravovány v jiných EPC diagramech. V tomto případě se nazývají „Vnořený proces“ nebo „Rozhraní procesu“.
2) Události (Events) jsou také základními stavebními kameny a jejich úkolem je popisovat situace před a/nebo po vykonání aktivity. Aktivity jsou tedy vzájemně propojeny pomocí událostí. To znamená, že nějaká událost může vyjadřovat výstupní podmínku jedné aktivity (nebo více aktivit) a současně vstupní podmínku jiné aktivity (více aktivit). Viz obrázek 1 a 7.
Tyto pasivní prvky popisují, za jakých okolností se aktivity spouští, nebo kterými aktivity byly spuštěny. V EPC diagramu jsou události reprezentovány jako šestiúhelníky. Obecně platí, že v EPC diagramech se musí událostmi zahajovat i ukončovat celý proces. Události vyjadřují stav.
Příklady událostí jsou "objednávka přijata", "materiál na skladě", atd.
Vždy se tedy setkáme s kombinací Událost a aktivita. Nemohou tedy navazovat dvě události na sebe bez aktivity, která by je spojovala. To samé platí pro aktivity, které také nemohou být za sebou, aniž by je spojovala událost.
3) Logické spojky (Connectors) se mohou používat k rozdělování toku aktivit a událostí. Tímto způsobem se popisuje řídící tok procesu. Existují tři typy logických spojek a všechny mají v modelovacím procesu dva významy. Za prvé mohou být použity k rozdělení toku činností (split) nebo za druhé, mohou tyto toky naopak slučovat (join). Pokud použijeme spojku split, znamená to, že musí mít spojka jeden vstup a alespoň dva výstupy. V druhém případě má spojka minimálně dva vstupy a vždy jeden výstup. Spojky se nemusí „uzavírat“. Znamená to, že konkrétní spojka split (například OR-split) nemusí navazovat na tu samou spojku join (například OR-join), může tedy navazovat i na jinou spojku join (například na AND-split).
EPC diagramy používají tyto typy logických spojek:
- AND (a současně) se značí znakem „∧“ nebo „+“. Spojkou AND-split vyjadřujeme rozdělení souběžných toků činností. Naopak spojku AND-join vyjadřujeme spojení toků do jednoho. Tato spojka se využívá pro synchronizaci toků.
Význam synchronizovaného sloučení spočívá v tom, že proces může pokračovat jedině tehdy, až se všechny rozdělené toky dostanou do bodu jejich sloučení. Viz obrázek 2.
![](http://upload.wikimedia.org/wikipedia/commons/thumb/0/0b/EPC_and.png/220px-EPC_and.png)
- OR (logické nebo) se značí znakem „∨“ nebo „O“. Spojka OR-split rozpojuje toky procesu a to tak, že si tok vybere první cestu, druhou cestu nebo obě cesty najednou. Spojka OR-join zase tyto toky spojuje do jediného toku a to velice podobně jako v případě spojky OR-split. Tok, který dorazí k bodu jejich sloučení, může a nemusí pokračovat dál v cestě, aniž by čekal na další z toků. Spojka tedy neslouží k synchronizaci toků procesu.
- XOR (vzájemně se vylučující nebo) se značí písmeny „XOR“ nebo znakem „X“. Spojkou XOR-split vyjadřujeme rozpojení toku procesu do jedné z možných cest. Spojka XOR-join se chová podobně jako spojka OR-join s tou výjimkou, že pokud tok dorazí k bodu jejich sloučení, musí (je zde jasně definováno, co tok musí udělat) pokračovat dál v cestě, aniž by čekal na další z toků. Spojka tedy neslouží, stejně tak jako v předešlém případě, k synchronizaci toků procesu. Viz obrázek 3.
![](http://upload.wikimedia.org/wikipedia/commons/thumb/5/5f/EPC_xor.png/220px-EPC_xor.png)
4) Kontrolní tok (Control flow) ukazuje směr toku procesu, který je znázorněn orientací šipky. Tyto kontrolní toky spojují aktivity, události a logické spojky. Ukazují také směr a přibližnou orientaci v čase procesu.
V základních EPC diagramech existuje ještě další značení. Jde o značení zjednodušující orientaci v procesech. Tyto značení se používají dvě:
5) Vnořený proces znamená, jak název již napovídá, vnořený proces. Pokud tedy budeme mít toto označení u aktivity, znamená to, že pod aktivitou je ukryt další podproces, který není tak důležitý, aby byl rozepsán v hlavním business procesu, nebo je příliš obsáhlý a tak je tento proces rozepsán jinde. Vnořený proces se využívá hlavně kvůli lepší čitelnosti EPC diagramů. Složitý a dlouhý proces můžeme teda takto rozdělovat a "škatulkovat". Vnořený proces poznáme podle toho, že u aktivity je malá ikonka znázorňující proces. Viz obrázek 4.
![](http://upload.wikimedia.org/wikipedia/commons/thumb/e/e2/EPC_vnoreny_proces.png/220px-EPC_vnoreny_proces.png)
6) Rozhraní procesu definuje odkaz na jiný proces, má podobnou vlastnost jako proces vnořený (používá se vždy po události). Je to značka, která zlepšuje přehlednost diagramu. Využívá se hlavně u dlouhých procesů, které je nutné rozdělit do menších částí kvůli jejich čitelnosti. Je to tedy značka rozdělení. Rozhraní procesu v EPC diagramu znázorňuje obdélník, který z velké části překrývá element události. Viz obrázek 5.
![](http://upload.wikimedia.org/wikipedia/commons/thumb/d/d7/EPC_rozhrani.png/220px-EPC_rozhrani.png)
Rozšiřující elementy
Rozšiřující elementy jsou zavedeny v dnes již novějším eEPC (extendedEPC) diagramu, který pouze do EPC diagramu přidává dva elementy navíc - jde tedy jen o rozšíření standardního EPC. Toto rozšíření nemá zásadní vliv na EPC metodu, takže používání elementů není zcela nutné. eEPC dokáže doplnit do diagramu pouze další informace. Například, kdo vykonává danou aktivitu nebo jaké informace či materiál potřebujeme k jejímu vykonání. eEPC diagram tedy může obsahovat další rozšiřující elementy:
![](http://upload.wikimedia.org/wikipedia/commons/thumb/e/ec/EPC_rozsireni.png/220px-EPC_rozsireni.png)
1) Organizační jednotky jsou vlastníci procesu a jsou zodpovědní za aktivity. Vlastník procesu je obvykle součástí organizační jednotky. Tyto elementy mohou rozšiřovat pouze aktivity. V eEPC diagramu jsou organizační jednotky reprezentovány jako elipsa se svislou čárou u levé strany. Organizační jednotky jsou z převážné většiny podstatná jména. Viz obrázek 6.
Například organizační jednotkou je knihovník, který je zodpovědný za rezervaci knih.
2) Informační zdroj definuje informace, které jsou v rámci aktivit využívané. Tyto elementy mohou rozšiřovat pouze aktivity, stejně tak jako u organizační jednotky. V eEPC diagramu jsou informační zdroje reprezentovány jako obdélníky. Informační zdroje jsou z převážné většiny také podstatná jména. Viz obrázek 6.
Například Informačním zdrojem je „databáze“, „informační systém“ apod.
Pravidla EPC diagramu
Proces musí mít smysl a tak je důležité definovat podmínky, které musí být splněny. Jak už bylo výše uvedeno, začátek i konec každého procesu musí obsahovat událost, nikdy tedy nesmí začínat aktivitou. Za každou aktivitou může následovat událost nebo události. Za každou událostí musí následovat aktivita nebo aktivity. Existují ale pravidla, které je nutno dodržovat. Tato pravidla se nazývají "nebo", "a", nebo "XOR" a jsou zastoupeny logickými spojkami. Následující tabulka znázorňuje všechny možné kombinace různých prvků, které mohou v procesu nastat:
![](http://upload.wikimedia.org/wikipedia/commons/thumb/5/54/EPC_tabulka.png/850px-EPC_tabulka.png)
Pokud prostudujeme pravidla, zjistíme, že pouze dvě kombinace nesmíme v EPC diagramu použít. První kombinace, kterou nemůžeme vytvořit, je událost, která po svém nástupu vyvolá dvě aktivity. Tyto aktivity jsou rozděleny logickou spojkou XOR, která má za následek to, že může nastat pouze jedna z aktivit – první nebo druhá, nikoliv obě dvě naráz. Taková situace je nereálná, protože nemáme žádný jiný vstup, který by ovlivnil rozhodnutí, jakým směrem se daný proces má vydat. Druhá z nepovolených kombinací je spojka OR, která může vytvářet stejně nereálnou situaci jako v případě spojky první.
Příklad eEPC diagramu
V příkladu se budu snažit ukázat a popsat všechny druhy elementů, které eEPC využívá.
Hlavní proces
![](http://upload.wikimedia.org/wikipedia/commons/thumb/3/3b/EPC_priklad1.png/220px-EPC_priklad1.png)
Máme firmu na výrobu a prodej deskové hry. Potřebujeme zjistit, alespoň pro představu, co proces objednání hry obnáší. Vytvoříme si tedy tok našeho hlavního procesu objednávky. Viz Obrázek 8.
Tok začíná událostí „Objednávka přijata“. Tato událost nastane, pokud do naší firmy dorazí objednávka na naší deskovou hru.
V následném kroku jí tedy budeme muset zpracovat a tím definovat všechny aktivity a události v procesu obsažené. Pokud obdržíme objednávku, spustíme tím aktivitu „Ověření dostupnosti zboží“. Za zpravování této aktivity bude zodpovědná organizační jednotka „Obchodní oddělení“. Tým obchodního oddělení bude při aktivitě využívat informace, které napoví, jestli hru máme na skladě nebo je potřeba hru vyrobit. Informace se čerpají z informačního zdroje „Skladová databáze“. Další krok bude vložení spojky XOR-split do procesu, který určuje, jaký daná aktivita bude mít výsledek. Spojka s aktivitou souvisí a tak má aktivita dva nezávislé výsledky událostí – „Zboží k dispozici“ a „Zboží musí být vyrobeno“. Jiná situace v tomto případě nemůže nastat. Provede se jedna z těchto událostí:
- 1) Pokud nastane událost „Zboží k dispozici“, znamená to, že zboží máme na skladě a následně tok proteče spojkou XOR-join, na související aktivitu „Dodání zboží“.
- 2) Pokud nastane událost „Zboží musí být vyrobeno“, znamená to, že zboží nemáme na skladě a musí být vyrobeno. Tato událost spouští vnořený proces aktivita, která je popsána na Obrázku 9. Až se tato aktivita zpracuje, vytvoří událost „Zboží vyrobeno“. V této chvíli máme hru vyrobenou. Následně tok proteče spojkou XOR-join, na související aktivitu „Dodání zboží“ (XOR-join tedy nečeká na obě události a propouští tok dále).
Tok procesu se v tomto kroku nachází v aktivitě „Dodání zboží“. Dodání zboží má na starosti organizační jednotka „Expedice“. Poté, co tým zodpovědný za dodání naší hry aktivitu vyřídí, tok procesu se posune na událost „Zboží dodáno“.
V tomto kroku událost „Zboží dodáno“ znamená, že jsme fyzicky hru odeslali a hra byla dodána zákazníkovi.
V posledním kroku nám zbývá hru vyfakturovat a dostat za ní zaplaceno. O tento krok se stará rozhraní procesu „Fakturace a inkaso“, který spojuje tok objednávky s dalším procesem. Tento další samostatný proces je oddělen od hlavního procesu pro lepší čitelnost v EPC diagramu. Řeší tedy samostatně jen fakturaci a inkaso a nic jiného. Pokud se dostane tok procesu do tohoto bodu, náš hlavní proces objednávky skončil. Hra v této fázi je doručena zákazníkovi a čeká se na platbu.
Vedlejší proces
![](http://upload.wikimedia.org/wikipedia/commons/thumb/4/40/EPC_priklad2.png/220px-EPC_priklad2.png)
Vnořený proces aktivity „Výroba“ z hlavního procesu je samostatný separovaný proces znázorněný na Obrázku 9. Tento proces začíná událostí „Zahájení výroby“, která byla vyvolána za základně aktivity „Výroba“ z hlavního procesu.
Abychom hru mohli vytvořit, potřebujeme vyrobit všechny její části. Části hry se skládají z hracích figurek, návodu a krabičky. Proto je zde nutné použít spojku AND-split, která vyvolá všechny 3 aktivity „Výroba krabiček“, „Výroba návodů“ a „Výroba hracích figurek“.
Aby hrací sada byla kompletní, musí obsahovat všechny 3 části hry. Je tedy nutné toky opět spojit synchronizační spojkou AND-join, aby nenastala situace, při které se vyrobí dříve návody, než ostatní komponenty a nenastala by předčasně událost „Ukončení výroby“. Spojka musí propustit tok dále jedině v případě, že všechny aktivity nad ní jsou dokončené. Pokud se tok procesu dostane do události „Ukončení výroby“, pod proces skončil a tím je splněná aktivita „Výroba“ z hlavního procesu.
Závěr a zhodnocení funkčnosti EPC diagramu
Metoda EPC diagramu díky svým zásadám struktury řazení aktivit a událostí, zodpovídá otázky typu „Jak bude proces vykonáván?“. Pokud budeme potřebovat rozšířit otázku na „Kdo může obsluhovat proces a co k obsluze bude potřebovat?“, využijeme k zodpovězení otázky modelování s rozšiřujícími elementy z diagramu eEPC. Obecně platí, že se metodika snaží zachovat svojí jednoduchost a přehlednost. Metoda vytváří takové podmínky, které při validním zápisu zaručí procesu dosáhnout pokaždé koncového smysluplného bodu.
Výhoda EPC diagramu spočívají určitě v metodě, která usnadňuje vytváření i velmi složitých procesů, protože poskytuje velice jednoduchý princip spojení aktivit a událostí, do kterého se stěží můžeme zamotat. Druhou výhodou je, že se EPC diagramy staly standardním nástrojem k popisu procesů. Jde o masové rozšíření a tak je znalost EPC diagramů v odvětví vývoje SW nebo navrhování business procesů pouze výhodou.
Na druhou stranu má tato metoda i své nedostatky. Jazyk, který je v této metodě používán není formálně definován. Syntaxe ani sémantika není důsledně dána. Například logická spojka OR-join nemá jasně definováno, zdali jde o synchronizovaný tok, či nikoliv - to může vést k nepřesnostem a chybám ve čtení specifikací procesu. Také není zaručeno, že se proces dostane do koncového stavu. Proces například může uvíznout v bodě, kdy čeká na nesplnitelnou podmínku nebo se může dostat do nekonečného cyklu.
I přes tyto nedostatky, je EPC diagram pořád schopný a velice užitečný pomocník.
Související články
Externí odkazy
Obrázky, zvuky či videa k tématu Event-driven Process Chain na Wikimedia Commons
- Metody byznys modelování – Prof. Ing. Ivo Vondrák, CSc. Archivováno 27. 3. 2014 na Wayback Machine.
- Event-driven process chain (EPC) – Aris Community