Procesní a datové modelování: a) procesní modelování, UML, b) datové modelování, princip tří architektur, normalizace dat, SQL

Procesní modelování

Procesní modelování je nástroj, který umožňuje kromě analýzy samotných aktivit, zobrazit i vztahy mezi jednotlivými aktivitami. Této vlastnosti se využívá zejména při hledání a opravování problémů v procesech, jejich vylepšování, vývoji procesů a porovnávání procesů. [1] V rámci procesního modelování jde tedy o znázornění procesu ve formě diagramatického modelu, což vede k jeho zpřehlednění a snadnějšímu pochopení. [2]

Pro procesní modelování můžeme využít:

  • procesní mapu,
  • procesní diagram,
  • workflow diagram,
  • aktivity diagram,
  • diagram datových toků. [2]

Procesní modelování se používá se zejména při modelování (tvorbě definice) nějakého procesu, optimalizaci či simulaci, protože pomáhá zmapovat procesy a rozeznat rozhodovací body. [2]

UML

Hierarchie UML

UML (celým názvem Unified Modeling Language) je grafický jazyk používaný pro vizualizaci, specifikaci, navrhování a dokumentaci programových systémů. Slouží jako podpůrný nástroj pro komunikaci mezi vývojáři (a zadavateli) a pro zaznamenání myšlenek a návrhů. Kreslí se pouze věci podstatné pro grafické vyjádření návrhu, části návrhu před tím, než se začne programovat. Vždy je důležitá srozumitelnost, rychlost nakreslení a snadnost změny či navržení alternativ řešení. [3] UML je výsledkem analytiků a návrhářů, kterým lze popsat objektově orientovanou analýzu a návrh. Je to souhrn grafických notací k vyjádření analytických a návrhových modelů.

Tento jazyk slouží pro sjednocení a spojení dosavadních modelovacích postupů v softwarovém inženýrství. Krátce po představení začalo být UML podporováno většinou výrobců modelovacích nástrojů. Obsahem jazyka UML nejsou v žádném případě metodiky modelování. Neříká nic o tom, jak bychom měli systém navrhovat. UML jako celek poskytuje jen standard pro popis modelů a jejich zobrazení. [4]

Jazyk UML je možné použít třemi způsoby:

  • Jako náčrt: diagramy se mohou používat v zjednodušené podobě jako náčrty, které jsou často kreslené ručně na papír, při jednání se zákazníkem nebo při diskutování nad určitým problémem v týmu. Je to mnohdy rychlejší způsob předání informací mezi lidmi než popisování problematiky textem.
  • Jako plán: diagram je podstatně detailnější než náčrt. Je tvořen pomocí CASE nástroje (označením pro Computer Aided Software Engineering, což v překladu znamená počítačem podporované softwarové inženýrství nebo vývoj software s využitím počítačové podpory) a využívá se jako implementační plán pro programátory systému. Tím se zlepšuje týmová komunikace a ulehčuje průběh celé implementace, jelikož programátoři se v systému lépe orientují.
  • Jako programovací jazyk: pokud vytvoříme detailní diagram, lze z něj vygenerovat kódovou šablonu, která se stává základem pro implementaci. Např. v databázovém prostředí je často využíváno těchto modelů pro generování zakládacích skript. [4]

Nejznámější a nejpoužívanější části standardu UML:

  • diagramy chování: zaměřují se na dynamické aspekty softwarového systému nebo procesu. Tyto diagramy ukazují funkčnost systému a zdůrazňují, co se musí v modelovaném systému dít. Mezi typy diagramů chování patří diagram aktivit, diagram užití, diagram interakcí, diagram časování, stavový diagram, sekvenční diagram a diagram komunikace.
  • strukturní diagramy: jedná se o statickou strukturu softwaru nebo systému, zobrazující různé úrovně abstrakce a implementace. Slouží k lepší vizualizaci jednotlivých struktur, ze kterých se skládá databáze anebo aplikace. Ukazuje hierarchii součástí nebo modulů, jejich propojení a vzájemné interakce. Mezi typy strukturních diagramů patří diagram tříd, diagram komponent, diagram balíčků, profilů a objektů, diagram složených struktur a diagram nasazení. [5]

Datové modelování

Datové modelování patří k nejvýznamnějším analytickým metodám a využívá se pro dokumentaci a k popisu stávajících i k navrhování nových databází. Využívá se zejména v druhé fázi životního cyklu aplikace, tj. ve fázi analýzy a návrhu aplikace. Datové modelování je tedy proces vytvoření datového modelu za účelem zachycení a popsání části reality, o které chceme uchovávat informace.

Princip tří architektur

Princip tří architektur

Před samotným začátkem vytváření datového modelu je nutné vědět, jakou část reality chceme zobrazit a jakým způsobem budeme v konečné fázi vývoje s daty pracovat. Zpravidla pro popis procesu vývoje těchto modelů se využívá princip tří architektur, též známý pod zkratkou P3A. Právě tato metodika umožňuje rozdělit problematiku návrhu datové základny na části, které jsou na různé úrovni abstrakce. [4]

P3A tedy definuje způsob použití abstrakce pro vývoj informačního systému po jednotlivých vrstvách (vrstvená abstrakce). Jednotlivé vrstvy se zaměřují na 3 hlavní aspekty vyvíjeného systému. Tyto hlavní aspekty tvoří přirozenou posloupnost úkolů, a to od specifikace obsahu systému, přes vyplývající možnosti technologického řešení, až ke konkrétní použité technologii určující implementační možnosti.

Návrh IS potom podle principu tří architektur probíhá ve třech po sobě následujících úrovních:

  1. Konceptuální úroveň: zde je vytvořen zcela obecný, čistě obsahový model systému, nezatížený o technologickou koncepci řešení, ani jeho implementačními specifiky. Určuje, CO je obsahem systému.
  2. Technologická úroveň: zde je vytvořen model systému, zohledňující technologickou koncepci řešení, tj. ve strukturovaném pojetí koncepci organizace dat (technologie souborová, síťová či relační databázová) a technologickou koncepci jejich zpracování. Nesmí být zatížen implementačními specifiky řešení. Určuje JAK je obsah systému v dané technologii realizován.
  3. Implementační úroveň: zde je vytvořen model systému, zohledňující implementační specifika použitého vývojového prostředí (programovací jazyk, vývojové prostředí). Určuje, ČÍM je technologické řešení realizováno. [6]

Důvodem takového rozdělení, je docílení pružnosti případných změn databáze. Před zpracováním každé změny je zjištěno, jaké úrovni náleží. [4]

Normalizace dat

Normalizace dat, respektive relačního datového modelu je jedna z funkcí potřebných při navrhování databází. Normalizace představuje především odstranění redundantních dat a prevenci vzniku aktualizačních anomálií při vkládání, rušení a editaci dat. Rovněž podporuje flexibilitu struktury databáze. Normalizace by měla vést ke vzniku tabulek, které lze snadno udržovat a efektivně se na ně dotazovat. Normalizované schéma musí zachovat všechny závislosti původního schématu a relace musí zachovat původní data, což znamená, že je potřeba dostat se k původním datům pomocí přirozeného spojení. Při normalizaci se ověřují vztahy mezi daty v tabulkách a dochází ke snaze o odstranění nežádoucích záležitostí, jako je eliminace redundance, zvýšení konzistence dat a zjištění možnosti poskytování jednoznačných odpovědí na otázky. Je to tedy úprava struktury dat podle pravidel tzv. normálních forem (NF). [7]

SQL

Jazyk SQL (Structured Query Language) je jazyk určený pro práci s relačními databázovými systémy. Na začátku 70. let 20. století jej začala vyvíjet společnost IBM (konkrétně Raymond F. Boyce, Donald C. Messerly a Andrew Richardson). O několik let později na trh vstoupila společnost Oracle (tehdy ještě Relational Software, Inc.), která své produkty úspěšně dodávala i americkým vládním organizacím (např. CIA a U.S. Navy). [8] SQL je tedy jazyk, na který lze pohlížet jako na nástroj, který je integrován v SŘBD a dále jako jazyk, pomocí kterého lze konstruovat dotazy. Pomocí jazyka SQL popisujeme, CO je zadáním úlohy, ale nezabýváme se tím, JAK bude úloha vyřešena. Např. zkonstruujeme dotaz, který chceme, aby nám databázový systém odpověděl, ale už nás nezajímá, jakým algoritmem databázový systém projde jednotlivé tabulky a spočítá výsledek. Využívají ho administrátoři a návrháři databázových systémů, programátoři uživatelských aplikací běžících nad relačním databázovým systémem anebo koncoví uživatelé, kteří si pomocí aplikací mohou konstruovat např. své dotazy nad databází. [9]

Jazyk SQL se skládá z několika částí:

  • Jazyk pro definici dat (DDL – Data Definition Language): tato část jazyka SQL umožňuje vytvářet, odstraňovat a modifikovat tabulky v relačních schématech. Příklady: CREATE, ALTER, DROP.
  • Jazyk pro manipulaci dat (DML – Data Manipulation Language): dovoluje uživateli či programátorovi formulovat dotazy a dále realizovat vkládání, mazání a aktualizaci záznam v jednotlivých tabulkách. Příklady: SELECT, INSERT, UPDATE, DELETE.
  • Dynamický SQL: jazyk SQL je vnořen do hostitelského programovacího jazyka, kde je možné konstruovat SQL dotazy dynamicky za běhu programu.
  • Další části jazyka SQL jsou: definice přístupových práv, definice integritních omezení, nebo řízení databázových transakcí (např. DCL – Data Control Language) [9]

Odkazy

Reference

  1. KMOŠEK, Petr. Procesní modelování – Procesní mapa. Petr Kmošek - Poradce rodinných firem a podniků [online]. 2018 [cit. 2022-01-09]. Dostupné z: https://www.kmosek.com/slovnik/pojem/procesni-modelovani-procesni-mapa/
  2. 2,0 2,1 2,2 Vizualizace procesů. Informační systém Masarykovy univerzity [online]. 2013 [cit. 2022-01-09]. Dostupné z: https://is.muni.cz/do/rect/el/prezentace/11_09_2013/workshopy/ws-B3/priklady/priklad_procesni_rizeni.pdf?lang=cs
  3. NOVOTNÁ, Jitka. Procesní modelování a UML. Moodle pro výuku 1 Univerzita Karlova [online]. [cit. 2022-01-10]. Dostupné z: https://dl1.cuni.cz/pluginfile.php/1159938/mod_resource/content/1/04_Prezentace%20Procesn%C3%AD%20modelov%C3%A1n%C3%AD.pdf
  4. 4,0 4,1 4,2 4,3 KYBKALO, Anatoliy. Datové modelování. Praha, 2013. Bakalářská práce. UNICORN COLLEGE. Vedoucí práce Ing. Miroslav Žďárský.
  5. Jednoduchý návod k UML diagramům a modelování databází. Microsoft [online]. 2019 [cit. 2022-01-11]. Dostupné z: https://www.microsoft.com/cs-cz/microsoft-365/business-insights-ideas/resources/guide-to-uml-diagramming-and-database-modeling
  6. IBL, Martin. Informační systém pro Českou abilympijskou asociaci. Pardubice, 2009. Bakalářská práce. Univerzita Pardubice, Fakulta ekonomicko-správní, Ústav systémového inženýrství a informatiky. Vedoucí práce: Milan Tomše. Dostupné z: https://dk.upce.cz/bitstream/handle/10195/33800/IblM_Informacni%20system_MT_2009.pdf?sequence=5&isAllowed=y
  7. OTTE, Lukáš. Databázové systémy - Normalizace dat. Vysoká škola Báňská - Technická univerzita Ostrava, Fakulta strojní. Ostrava, 2013 Dostupné z: https://projekty.fs.vsb.cz/463/edubase/VY_01_044/Datab%C3%A1zov%C3%A9%20syst%C3%A9my/02%20Text%20pro%20e-learning/Datab%C3%A1zov%C3%A9%20syst%C3%A9my%2005.%20Normalizace%20dat.pdf
  8. HORDĚJČUK, Vojtěch. Jazyk SQL. Vojta Hordějčuk aha voho [online]. [cit. 2022-01-10]. Dostupné z: http://voho.eu/wiki/sql/
  9. 9,0 9,1 SKŘIVAN, Jaromír. Datové modely a návrhy relačních schémat. Univerzita Karlova, Filosofická fakulta, Ústav informačních studií a knihovnictví [online]. Praha, 2008 [cit. 2022-01-10]. Dostupné z: https://sites.ff.cuni.cz/uisk/wp-content/uploads/sites/62/2016/01/Datov%C3%A9-modely-a-n%C3%A1vrhy-rela%C4%8Dn%C3%ADch-sch%C3%A9mat_Sk%C5%99ivan.pdf

Doporučená literatura

  • RYDVAL, Slávek. 30+3 pravidel UML. 1. vydání. Praha: Elebedial, 2021. 103 stran. ISBN 978-80-906968-6-0.
  • POKORNÝ, Jaroslav. Databázové systémy 2. Vyd. 1. Praha: Nakladatelství ČVUT, 2007. 190 s. ISBN 978-80-01-03797-3.
  • ŠIMONOVÁ, Stanislava a PANUŠ, Jan. Databázové systémy I: pro kombinovanou formu studia. Vyd. 1. Pardubice: Univerzita Pardubice, 2007. 106 s. ISBN 978-80-7194-988-6.
  • MERUNKA, Vojtěch. Datové modelování. 1. vyd. Praha: Alfa Publishing, 2006. 177 s. Informatika studium. ISBN 80-86851-54-0.
  • LACKO, Ľuboslav. 1001 tipů a triků pro SQL. Vyd. 1. Brno: Computer Press, 2011. 416 s. ISBN 978-80-251-3010-0.

Související články

Klíčová slova

procesní modelování, datové modelování, SQL, UML, princip tří architektur, normalizace dat