Diagram datových toků
Data Flow Diagram (DFD, Diagram datových toků) je jeden z nástrojů pro modelování funkcí systémů (zejména informačních systémů). Pomocí DFD lze modelovat celé organizace, slouží tedy i jako nástroj podnikatelského a strategického plánování. DFD je součástí strukturované analýzy a návrhu systémů, dalšími součástmi jsou Entity Relationship Diagram (ERD), State Transition Diagram (STD), Data Dictionary a Process Specification. Modifikované DFD lze použít i pro popis real-time systémů. DFD využívá např. komerční metodika SSADM (Structured Systems Analysis and Design Method).
DFD reprezentuje toky dat procesu nebo systému (obvykle informačního systému). Poskytuje také informace o výstupech a vstupech každého jednotlivého prvku a samotného procesu. Diagram toku dat nemá žádný řídicí tok, neexistují žádná pravidla pro rozhodování a žádné smyčky. Specifické operace založené na datech mohou být reprezentovány vývojovým diagramem (flowchart).[1] Datové vývojové diagramy se mohou pohybovat od jednoduchých, dokonce i ručně kreslených přehledů procesů, až po hloubkové, víceúrovňové DFD, které postupně procházejí hlouběji do zpracování dat. Mohou být použity pro analýzu existujícího systému nebo modelování nového. Stejně jako všechny nejlepší diagramy a grafy, DFD mohou často vizuálně „říkat“ věci, které by bylo těžké vysvětlit slovy, a pracují pro technické i netechnické publikum, od vývojáře až po generálního ředitele. Proto DFD zůstávají po všech těch letech tak populární. I když fungují dobře pro software a systémy pro tok dat, jsou dnes méně použitelné pro vizualizaci interaktivního, real-time nebo databázově orientovaného softwaru nebo systémů.[2]
Data-flow diagramy mohou být považovány za invertované Petriho sítě, protože místa v těchto sítích odpovídají sémantice datových pamětí. Analogicky by sémantika přechodů z Petriho sítí a datových toků a funkcí z diagramů datového toku měla být považována za rovnocennou.
Pro zobrazování diagramů datových toků existuje několik notací. Notace uvedená na obrázku byla popsána v roce 1979 Tomem DeMarcem jako součást strukturované analýzy.[3] Jako dvě nejpoužívanější notace pro DFD jsou známé Yourdon & Coad notace (systémová analýza a návrh) a notace od Gane & Sarson (informační systémy). Hlavní rozdíl těchto dvou notací je v jejich vizuální reprezentaci.[4] Pro tvorbu DFD existují specializované nástroje, ale i zdarma přístupné online nástroje. Online nástroje se však nedají srovnat s komplexností a robustností desktopových aplikací.
-
Notace DFD – Yourdon
-
Notace DFD – Gane & Sarson
DFD a UML
[editovat | editovat zdroj]Zatímco DFD ilustruje datové toky uvnitř systému, UML je modelovací jazyk používaný v objektově orientovaném softwarovém návrhu, který poskytuje detailnější pohled. DFD může být stále dobrým výchozím bodem, ale při vývoji systému se mohou vývojáři obrátit na diagramy UML, jako jsou diagramy tříd a diagramy struktury, aby dosáhli požadované specifičnosti.[2]
Logický DFD vs. fyzický DFD
[editovat | editovat zdroj]Existují dvě kategorie diagramů datových toků. Logický DFD zobrazuje tok dat, který je nezbytný pro provoz podniku. Zaměřuje se na podnikání a na potřebné informace, nikoli na to, jak systém funguje nebo je navržen pro práci. Fyzický DFD však ukazuje, jak je nebo bude systém skutečně implementován. Například v logickém DFD by procesy představovaly obchodní aktivity, zatímco ve fyzickém DFD procesy reprezentují programy a manuální procedury.[2]
Historie
[editovat | editovat zdroj]Notace DFD čerpá z oblasti teorie grafů, původně byla používána v operačním výzkumu při modelování workflow v organizacích. DFD vznikl z diagramu aktivit (Activity Diagram), používaném v metodice SADT (Structured Analysis and Design Technique) na konci sedmdesátých let 20. století. Popularizátory DFD jsou Edward Yourdon, Larry Constantine, Tom DeMarco, Chris Gane a Trish Sarson. [5]
Přispěly také dva související koncepty:
- Objektově orientovaná analýza a návrh (OOAD), který předložil Yourdon a Peter Coad k analýze a návrhu aplikace nebo systému.
- Analýza strukturovaných systémů a návrhová metoda (SSADM), vodopádová metoda pro analýzu a návrh informačních systémů. Tento rigorózní dokumentační přístup je v rozporu s moderními agilními přístupy, jako je Scrum and Dynamic Systems Development Method (DSDM).
Dalšími třemi odborníky, kteří se na tomto vývoji podíleli, byli Tom DeMarco, Chris Gane a Trish Sarson. Oni se spojili v různých kombinacích být hlavní definici symbolů a zápisů užitých na diagram datového toku.[2]
Prvky DFD
[editovat | editovat zdroj]DFD sestává z procesů, toků, skladů a terminátorů. Existuje několik způsobů zobrazení těchto komponent DFD – viz Notace DFD. [6]
Proces
[editovat | editovat zdroj]Proces (funkce, transformace – aj. Process) představuje část systému, která transformuje vstupy na výstupy. Symbolem procesu je kruh, ovál, obdélník nebo obdélník se zaoblenými rohy (dle použité notace). Proces je nazýván jedním slovem, krátkou větou nebo frází, která má jasně vyjadřovat jeho podstatu.[5]
Tok
[editovat | editovat zdroj]Tok (aj. Flow, Data Flow, Dataflow) znázorňuje přesun informací (někdy též materiálu) z jedné části systému do jiné. Symbolem datového toku je šipka. Tok by měl mít název, který vystihuje, jaké informace (nebo jaký materiál) jsou přemísťovány. Výjimkou jsou toky, kde je zřejmé, jaké informace jsou přenášeny prostřednictvím entit, které jsou s těmito toky spojeny. Přesuny materiálu jsou modelovány v systémech, které nejsou jen informativního charakteru. Tok by měl přenášet pouze jeden typ informací (materiálu). Šipka znázorňuje směr toku (může být i obousměrná, pokud jsou informace z/do entity logicky závislá – např. otázka a odpověď). Toky propojují procesy, skladiště a terminátory.[5]
Sklad
[editovat | editovat zdroj]Sklad, skladiště, soubor, databáze (aj. Datastore nebo Data Store) slouží k uložení dat k pozdějšímu použití. Symbolem skladu jsou dvě vodorovné čáry, mezi kterými je název skladu. Další způsob zobrazení viz Notace DFD. Název skladu bývá podstatné jméno v množném čísle (např. Objednávky) – odvozuje se od vstupních a výstupních toků skladu. Sklad nemusí být ve skutečnosti jen datovým souborem, může to být např. i složka s papírovými dokumenty, kartotéka, optické disky. Zobrazení skladu v DFD je tedy nezávislé na implementaci. Tok vycházející ze skladu většinou znázorňuje čtení dat uložených ve skladu a tok do skladu vyjadřuje většinou zápis nebo aktualizaci dat (někdy také vymazaní/odstranění dat).[5]
Terminátor
[editovat | editovat zdroj]Terminátor (aj. Terminator) představuje externí entity, které komunikují se systémem a stojí vně systému. Jsou to zdroje a cíle informací vstupujících do systému nebo opouštějících systém. Obvykle jsou kresleny na okrajích diagramu.[2] Mohou to být např. různé organizace (např. banka), skupiny lidí (např. zákazníci), úřady (např. finanční úřad) nebo také oddělení (např. personální odbor) téže organizace, které ovšem nepatří do modelovaného systému. Terminátorem může být i jiný systém, s kterým modelovaný systém komunikuje.[5]
Pravidla vytváření DFD
[editovat | editovat zdroj]Názvy entit by měly být srozumitelné i bez dalších komentářů a poznámek. DFD je tvořen systémovým analytikem na základě interview s uživateli systému. Je určen vývojářům systému na jedné straně a na druhé straně zadavateli projektu, proto by měly být názvy entit přizpůsobeny jak odborníkům na modelovanou doménu, tak i laikům. Měly by být obecné (nezávislé např. na konkrétních osobách vykonávajících danou činnost) a přesto by měly jasně specifikovat danou entitu. Procesy by měly být očíslované pro jednodušší orientaci v diagramu a odkazování na konkrétní procesy. Číslování je náhodné, nutné je však zachovat konzistenci napříč všemi úrovněmi DFD (viz Hierarchie DFD). DFD by měl být přehledný, jako maximální počet procesů v jednom DFD je doporučován 6 až 9, minimum jsou 3 procesy v jednom DFD.[5][6] Výjimkou je tzv. kontextový diagram, kde je jediný proces symbolizující modelovaný systém a všechny terminátory, s kterými systém komunikuje.
Konzistence DFD
[editovat | editovat zdroj]DFD musí být konzistentní s dalšími modely systému – ERD, STD, Data Dictionary a s Process Specification. Každý proces musí mít svůj název, vstupy a výstupy. Každý tok by měl mít svůj název (výjimka viz Tok). Každý sklad musí mít vstupní a výstupní tok. Vstupní a výstupní toky nemusejí být zobrazeny v jednom DFD – musí ale existovat v jiném DFD, popisujícím stejný systém. Výjimkou je sklad stojící mimo systém (externí sklad), s kterým systém komunikuje.[5]
Hierarchie DFD
[editovat | editovat zdroj]Aby byly DFD přehlednější (tzn. aby neobsahovaly příliš mnoho procesů), lze vytvářet víceúrovňové DFD. DFD, které jsou ve vyšší úrovni, jsou méně detailní (agregují detailnější DFD v nižších úrovních). Nejvýše je v hierarchii kontextový DFD (viz Pravidla vytváření DFD). Následuje tzv. nultá úroveň – DFD 0, kde se začíná s číslováním procesů (např. proces 1, proces 2). V další, tzv. první úrovní (DFD 1) se pokračuje v číslování. Např. proces 1 je v první úrovni DFD rozdělen do dalších třech procesů, které jsou očíslovány 1.1, 1.2 a 1.3. Analogicky jsou procesy v druhé úrovni (DFD 2) číslovány např. 1.1.1, 1.1.2, 1.1.3 a 1.1.4. Počet úrovní závisí na velikosti modelovaného systému. Procesy DFD 0 nemusejí mít stejný počet úrovní rozkladu. DFD 0 obsahuje nejdůležitější (agregované) funkce systému. Nejnižší úroveň by měla zahrnovat procesy, které umožňují vytvořit specifikaci procesu (Process Specification) o rozsahu přibližně jedné stránky formátu A4. Pokud by tato specifikace měla být delší, je vhodné vytvořit další úroveň pro proces, kde bude rozložena do více procesů. Pro přehlednou prezentaci celé hierarchie DFD lze vytvořit vertikální (průřezový) diagram. Sklad je zobrazen v nejvyšší úrovni, kde je poprvé použit a také na každé nižší úrovni.[5]
Odkazy
[editovat | editovat zdroj]Reference
[editovat | editovat zdroj]- ↑ BRUZA, P. D.; VAN DER WEIDE, Th. P. (1990-11-01). "Assessing the quality of hypertext views". [s.l.]: ACM SIGIR Forum DOI 10.1145/101306.101307.
- ↑ a b c d e What is a Data Flow Diagram. Lucidchart [online]. [cit. 2019-06-08]. Dostupné online. (anglicky)
- ↑ DEMARCO, Tom. Structured Analysis and System Specification. New York: Yourdon Press, 1979. 352 s. Dostupné online. ISBN 978-0138543808.
- ↑ Data Flow Diagram - Everything You Need to Know About DFD. www.smartdraw.com [online]. [cit. 2019-06-08]. Dostupné online.
- ↑ a b c d e f g h YOURDON, Edward. Just Enough Structured Analysis [online]. Rev. 2006 [cit. 2008-12-30]. Dostupné v archivu pořízeném dne 2013-05-28. (anglicky)
- ↑ a b ŘEPA, Václav. Analýza a návrh informačních systémů. Praha: Ekopress, 1999. ISBN 80-86119-13-0. S. 403.
Literatura
[editovat | editovat zdroj]- GANE, Chris; SARSON, Trish. Structured Systems Analysis: Tools and Techniques. New York: Improved Systems Technologies, 1977. Dostupné online. ISBN 978-0930196004. S. 373. (anglicky)
- DEMARCO, Tom. Structured Analysis and System Specification. New York: Yourdon Press, 1979. Dostupné online. ISBN 978-0138543808. S. 352. (anglicky)
- YOURDON, Edward. Structured Design: Fundamentals of a Discipline of Computer Program and Systems Design. New York: Yourdon Press, 1979. Dostupné online. ISBN 978-0138544713. S. 473. (anglicky)
- PAGE-JONES, Meilir. Practical Guide to Structured Systems Design. New York: Yourdon Press, 1988. ISBN 978-8120314825. S. 384. (anglicky)
- YOURDON, Edward. Modern Structured Analysis. New York: Yourdon Press, 1988. Dostupné online. ISBN 978-0135986240. S. 688. (anglicky)
Související články
[editovat | editovat zdroj]- Diagram
- Diagram aktivit
- Proces (informatika)
- Analýza požadavků
- BPMN
- UML
- Koncepční model
- Petriho síť
- SADT
- Graf struktury
- Kontextový diagram
- Workflow
Externí odkazy
[editovat | editovat zdroj]- Obrázky, zvuky či videa k tématu Diagram datových toků na Wikimedia Commons
- Galerie Diagram datových toků na Wikimedia Commons
- Wiki strukturované analýzy (anglicky)
- Stránky Edwarda Yourdona (anglicky)