Lekce 5 - 1 Přehled metodiky vývoje GIS aplikací (vytvořeno pro seminář na FIMU: Vybrané kapitoly z GIS, podzimní semestr) Lekce 5: Konceptuální funkční model Lekce 5: Konceptuální funkční model...................................................................................................... 1 Cíl funkčního modelování........................................................................................................................ 2 Vyjadřovací prostředky konceptuálního funkčního modelu................................................................... 2 Diagram funkční hierarchie................................................................................................................. 2 Diagram datových toků ....................................................................................................................... 3 Use case............................................................................................................................................... 3 Tabulka užití entit funkcemi................................................................................................................ 5 Příklady DFH ............................................................................................................................................ 6 Vyjádření hierarchie funkčního modelu pomocí use case .................................................................. 7 Vztah procesů a funkcí ............................................................................................................................ 7 Přístup přes aktéry .............................................................................................................................. 7 Procesní přístup................................................................................................................................... 7 Příklad procesního přístupu (proces a funkce aktualizace dat ISKS)................................................... 8 Funkce a procesy v Archimate................................................................................................................. 9 Lekce 5 - 2 Cíl funkčního modelování Cílem funkčního modelování na konceptuální (business) úrovni je zachytit co musí vyvíjený systém umět. Funkční model představuje hierarchii a popis funkcí, které řeší nějakou oblast z celkového WOI (world of interest). Funkční model slouží jako podklad pro následující design, programování a testování IS. Pro udržení přehlednosti a zároveň dostatečné podrobnosti, tvoří model hierarchickou strukturu, kde každý prvek (funkce) diagramu může být popsán diagramem (například diagramem datových toků). Při tvorbě jednotlivých úrovní modelu musíme zajistit jejich vzájemnou (vertikální) konzistenci. Zároveň musíme zajistit konzistenci s konceptuálním datovým modelem, který by měl tudíž vznikat současně. „Každému elementárnímu skladišti dat, použitému ve funkčním modelu, musí odpovídat určitá část datového modelu – entita, relace, nebo entita a její relace. V hierarchii funkčního modelu musí být dosaženo alespoň tzv. elementárních funkcí, tedy funkcí, které má smysl buď celé provádět, nebo celé neprovádět (konceptuální pojem transakce). Hierarchie funkcí může podle potřeby pokračovat i do dalších úrovní (až do listů stromu – tzv. atomických funkcí). Vyjadřovací prostředky konceptuálního funkčního modelu Diagram funkční hierarchie ad Diagram funkční hierarchie Funkce úrovně 0 funkce úrovně 1 funkce úrovně 1 . . . funkce úrovně 1 funkce úrovně 2 funkce úrovně 2 funkce úrovně 2 funkce úrovně 3 funkce úrovně 3 . . . Lekce 5 - 3 Diagram datových toků ad Diagram datových toků funkce 1 funkce 2 «datastore» datové úložiště 1 «datastore» datové úložiště 2 terminátor 1 terminátor 2 datový tok datový tok datový tok časová posloupnost Use case Diagramy případů užití (UseCase diagrams) poskytnou představu o jednotlivých funkcích systému. Případy užití jsou modelovány pomocí diagramů s popisem. V diagramech jsou zachyceny případy užití, aktéři (aktoři) a jejich vztahy. Objekt Definice / Použití Případ užitíuc Primary Use Cases Případ užití Use case (případ užití) modeluje chování systému (nebo jeho části) z hlediska uživatele. Lekce 5 - 4 Objekt Definice / Použití Aktor (Aktér)uc Primary U... Název aktora Aktor (aktér, účastník) reprezentuje kohokoliv (či cokoliv), kdo se systémem komunikuje a interaguje (člověk nebo jeho role, HW, čidlo, jiný systém,…). Jediné, co aktér může, je přijímat nebo předávat do systému informace. Struktura aktérů může být znázorněna samostatným diagramem. Přiřazení případu užití k aktorovi uc Primary Use Cases Hranice systému Případ užití 1 Název aktora Případ užití Nejdůležitějším vztahem v diagramu je přiřazení případu užití k aktorovi. Přiřazení je vyjádřeno plnou nepřerušovanou čárou. Generalizace případů užitíuc Primary Use Cases Případ užití (předek) Případ užití 1 Případ užití 2 Zobecnění případů užití. Obdobné typy případu užití mohou být zobecněny a sdruženy v jednoho předka. Výhodou je zpřehlednění diagramu případů užití a seskupení souvisejících případů užití. Vkládání povinných případů užití – vztah includeuc Primary Use Cases Hlavní případ užití Vložený případ užití 1 Vložený případ užití 2 «include» «include» Více případů užití sdílí stejnou funkčnost. Společnou část případů užití můžeme vyjmout do samostatného případu užití a ostatní případy užití se na něj budou odkazovat pomocí relace <>. Lekce 5 - 5 Objekt Definice / Použití Rozšiřování případů užití – vztah extenduc Příklady Případ užití A Případ užití B Případ užití C «extend»«extend» Chování případu užití A (rozšiřovaný prvek) je za určitých podmínek rozšířeno chováním případů užití B a C (rozšiřující prvky). Tabulka užití entit funkcemi Tabulka vyjadřuje vztah mezi entitami a funkcemi: zda funkce entitu vytváří (C), čte (R) mění (U) nebo ruší (D). Tabulka podporuje zajištění konzistence datového a funkčního modelu. Entita/funkce Funkce 1 Funkce 2 … Funkce n Entita 1 C, D R Entita 2 R R C, D, U … Entita m R C, D R, U Pro každou entitu musí existovat funkce, která ji vytváří. Pokud existuje entita, kterou neruší žádná funkce, je nutné tuto skutečnost vysvětlit v komentáři k tabulce. Lekce 5 - 6 Příklady DFH ad Příklad DFH IS správce kanalizace digitalizace papírové dokumentace aktualizace dat příprava podkladů pro vyjadřování o síti komunikace s výpočtovým programem příprava podkladů pro údržbu sítě zpracování podkladů zahájení změnového řízení pořízení změn kontroly změn ukončení změnového řízení export dat import dat výběr dat provedení exportu definice šablony pro výběr import dat do pracovního prostředí kontroly dat provedení změn v aktuálních datech ad Příklad DFH IS správce kanalizace digitalizace papírové dokumentace aktualizace dat příprava podkladů pro vyjadřování o síti komunikace s výpočtovým programem příprava podkladů pro údržbu sítě ad aktualizace dat zpracování podkladů zahájení změnového řízení pořízení změnkontroly změn ukončení změnového řízení aktualizace dat Lekce 5 - 7 Vyjádření hierarchie funkčního modelu pomocí use case uc Business funkce IS ESF 2014+ Evidence projektů Evidence akcí v rámci projektů Evidence podpořených osob Indikátory projektů Publikace dat Správa uživatelů a skupin Správa číselníků Anonymizace dat Vztah procesů a funkcí Problém: určit funkce? Jak zajistit, aby funkční model byl úplný? (www.objects.cz) Přístup přes aktéry  Identifikace aktérů (prvků, uživatelů, kteří budou s IS  Identifikace jejich funkční požadavků  Vytvoření funkčního modelu Rizika:  Neúplnost výčtu aktérů  Různorodá kvalita sdělení požadavků  Obtížná identifikace podobných (téměř shodných) funkcí Procesní přístup  Identifikace procesů  Přiřazení funkcím procesům („funkce realizuje proces“) v hierarchickém procesním modelu Lekce 5 - 8  Identifikace podobných (téměř shodných) funkcí podle aktivit procesního modelu  Vytvoření funkčního modelu Příklad procesního přístupu (proces a funkce aktualizace dat ISKS) Business Process Aktualizace dat v ISKS SprávaISKS PřípravapodkladůSprávadat Zahájení příjmu podkladů Formální kontrola Pořízení dat Věcné kontroly dat Zpracování zprávy o převzetí Ukončení příjmu podkladů Informace o převzetí podkladů Zahájení aktualizace Pořízení změn Změna kontextu nových dat Kontrola nového stavu dat Ukončení aktualizace Konec aktualizace Pořízení geografických dat Kontroly geografických dat Zpracování podkladů Práce s transakcemi Lekce 5 - 9 Funkce a procesy v Archimate Příklad funkce a procesy v EESSI EESSI = Elektronická výměna informací o sociálním zabezpečení (Electronic Exchange of Social Security Information) business Procesní mapa sektoru S Výměna informací v rámci EESSI pro oblast nemocenská (S) S_BUC_24 - Sčítání dob – druh pojistného rizika: nemoc, otcovství a mateřství S_BUC_14b - Peněžité dávky - Informace související s peněžitými dávkami při pracovní neschopnosti – poskytnuté institucí v místě bydliště nebo pobytu S_BUC_14a - Peněžité dávky - Informace související s peněžitými dávkami při pracovní neschopnosti – poskytnuté příslušnou institucí S_BUC_14 - Peněžité dávky z důvodu pracovní neschopnosti - informace o výplatě S_BUC_12 - Peněžité dávky z důvodu pracovní neschopnosti - žádost S_BUC_24 ČSSZ v roli protistrany - podprocesy S_BUC_24 ČSSZ v roli vlastníka případu - podprocesy S_BUC_24 ČSSZ v roli protistrany - hlavní proces S_BUC_24 ČSSZ v roli vlastníka případu - hlavní proces S_BUC_14b ČSSZ v roli protistrany - podprocesy S_BUC_14b ČSSZ v roli vlastníka případu - podprocesy S_BUC_14b ČSSZ v roli protistrany - hlavní proces S_BUC_14b ČSSZ v roli vlastníka případu - hlavní proces S_BUC_14a ČSSZ v roli protistrany - podprocesy S_BUC_14a ČSSZ v roli vlastníka případu - podprocesy S_BUC_14a ČSSZ v roli protistrany - hlavní proces S_BUC_14a ČSSZ v roli vlastníka případu - hlavní proces S_BUC_14 ČSSZ v roli protistrany - podprocesy S_BUC_14 ČSSZ v roli vlastníka případu - podprocesy S_BUC_14 ČSSZ v roli protistrany - hlavní proces S_BUC_14 ČSSZ v roli vlastníka případu - hlavní proces S_BUC_12 ČSSZ v roli protistrany - podprocesy S_BUC_12 ČSSZ v roli vlastníka případu - podprocesy S_BUC_12 ČSSZ v roli protistrany - hlavní proces S_BUC_12 ČSSZ v roli vlastníka případu - hlavní proces Lekce 5 - 10 Proces Žádost o peněžité dávky z důvodu pracovní neschopnosti Vlastníkem případu je OSSZ dle místa výkonu práce ošetřujícího lékaře žadatele v případě, kdy bydlištěm nebo místem pobytu žadatele v době pracovní neschopnosti je Česká republika a žadatel je účasten pojištění v zahraničním pojistném systému. Business Process S_BUC_12 CO Peněžité dávky z důvodu pracovní neschopnosti – žádost ŽadatelProtistrana Vlastník případu «BusinessProcess» Identifikace účastníků (from Common) «BusinessProcess» Identifikace účastníků (from Common) Konec BUC Pojištěnec chce získat lékařské potvrzení o pracovní neschopnosti z důvodu nemoci, mateřství nebo otcovství «BusinessProcess» Vytvoření SED S055 Žádost o peněžité dávky «BusinessProcess» Vytvoření SED S055 Žádost o peněžité dávky Je doba trvání práceneschopnosti delśí než je doba uvedená v lékařském potvrzení, které bylo odesláno společně s S055? ne ano Lekce 5 - 11 Business Process S_BUC_12 CP Peněžité dávky z důvodu pracovní neschopnosti – žádost Vlastník případu Protistrana Konec BUC Obdrží SED S055 «BusinessProcess» Zpracování SED S055 Žádost o peněžité dávky «BusinessProcess» Zpracování SED S055 Žádost o peněžité dávky «BusinessProcess» Identifikace účastníků (from Common) «BusinessProcess» Identifikace účastníků (from Common)