Funkční analýza (FA) je jedna z metod, používaných při návrhu a realizaci informačních a řídících systémů (IS) ve všech oblastech lidské činnosti. Jak už bylo zmíněno, není FA součástí jen jedné metodiky. V tomto kurzu je zdůrazněno její použití v metodice Strukturované analýzy. Eventuální použití FA v jiných metodikách, obzvláště v OOT, kde může být užitečná mezi jiným i v metodice OOP (Objektově Orientované Projektování) při návrhu metod objektu (pojem metoda je zde myšlena jako jedna z funkcí - reakcí na přijatou zprávu - objektu v OOP), je obsahem jiných kurzů.
V žádné metodice nevystačíme při analýze IS pouze s metodou FA. V každé z nich je FA použita spolu s jinými metodami, které se vzájemně doplňují. V metodice Strukturované analýzy je např. nutno souběžně s FA použít některou metodu datové analýzy, většinou ERA. Schematicky je tato spolupráce na .
My si povíme něco o následujících diagramech:
Na obr. je vidět, že podkladem pro úspěšné použití metody FA v analýze informačního (IS) či řídícího (ŘS) systému (dále jen IS) je dokonalé zpracování vstupních a výstupních údajů té části reality, kterou má náš IS popisovat, eventuálně řídit. Jinými slovy, je třeba dobře popsat a zařadit navrhovanou část IS do jeho okolní prostředí, případně do již existujícího IS. Tyto údaje většinou vyplývají jednak z dokumentu "Specifikace požadavků" na IS a posléze z "Kontextového diagramu". První z uvedených dokumentů je výsledkem zpracování projektu IS a závisí na použité projekční technologii. Projektování IS není obsahem tohoto kurzu.
Proč by měl být součástí a výchozím stavem analýzy vždy Kontextový diagram a o zásadách jeho tvorby si povíme dále.
Kontextový diagram (KD) popisuje na nejvyšší úrovni vztah systému k jeho okolí. Je to základní diagram, ze kterého vychází další analýza funkcionality systému!
Událost může být různého typu a může být vyvolána:
Subjekty mohou být
Kontextový diagram může mít několik úrovní podle rozsahu a složitosti okolí, které popisuje. Informační systém, kterého se naše analýza týká, se v kontextovém diagramu vždy vyskytuje jako uzavřený objekt, označený pouze svým jménem (černá skříňka) bez jakéhokoliv popisu nebo náznaku vnitřní analýzy. Ukázka kontextového diagramu v nejjednodušším tvaru je na obr. . Zde je zobrazen kontextový diagram pro informační systém zásobování nějakého výrobního podniku materiálem. Tato ukázka je velmi hrubá a není specifikováno, o jaké výrobky nebo materiál se jedná. Vlastní analyzovaný informační systém se jmenuje Zásobování a je ve středu diagramu. Dále je na obrázku jeden vnější subjekt jménem Dodavatel. Vnější subjekty v kontextovém diagramu mají obecný název Terminátor. Seznam možných terminátorů je uveden ve vysvětlivce v pravé části obrázku. Tok informací je zastoupen pouze jednosměrnou informací o zaslání objednávky materiálu Dodavateli.
Na obr. je ukázka detailního KD pro modul Zásobování a jeho zasazení do okolí.
Náš informační systém je ve středu obrázku. Dále jsou zde čtyři terminátory, z nichž tři mají přímý kontakt se Zásobováním (Dodavatel materiálu, Výrobní oddělení, Banka). Terminátor Zakázkové oddělení je zde zobrazeno jen pro připomenutí, že vlastní popud k výrobě a tedy potřebě materiálu, vychází z něj. Dále si všimněte informačních toků mezi jednotlivými terminátory a Zásobováním. Vidíme, že jde jednak o tok dokumentů, jedna o tok materiálu. Tvar a způsob dopravy dokumentů (jestli jde jen o elektronickou nebo i papírovou formu) se zde neřeší. Rovněž doprava a příjem materiálu zde řešena není. Může být součástí modulu Zásobování, včetně takových činností, jako Příjem materiálu, Technická kontrola, Řešení reklamací, Fakturace, atd.
Pro základní představu si přečtěme definici, uvedenou v encyklopedii Wikipedia, která poměrně přesně vystihuje, k čemu DFD slouží:
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ů. …
…
Datová úložiště by měla být výsledkem souběžně prováděné analýzy metodou ER diagramů.
Projektant se táže subjektu 1 : „Proč posíláte dokument A subjektu 2 ?“
Subjekt 1 odpovídá : „Oni jej od nás vyžadují.“
Projektant se táže subjektu 2 : „ Nač potřebujete od subjektu 1 dokument A ?“
Subjekt 2 odpovídá : „Zakládáme jej. Oni nám jej posílají.“
Z výčtu těchto základních vlastností DFD je patrné, že pro jeho funkce je důležité již mít alespoň rámcově zpracovanou datovou analýzu.
Na obr. je jedna možná, nejčastěji používaná množina konstruktů, které tvoří notaci DFD.
Na tomto obrázku vidíme DFD procesu OBJEDNÁVKY (nebo Zpracování objednávky). Je zde jeden datastore (Objednávky) a dva terminátory (Dodavatel a Zásobovací odd.). Z tohoto (zjednodušeného) DFD je vidět, že ze Zásobování přijde požadavek na zpracování objednávky, která je pak zaslána Dodavateli. I když terminátor Zásobovací odd. je náš vlastní útvar a terminátor Dodavatel je v cizí firmě, z hlediska popisu našeho procesu Zpracování objednávky jsou to oba vnější útvary. Ve skutečnosti bude jistě DFD složitější. Dodavatel např. může poslat zpět potvrzení objednávky, čímž se v DFD zmnoží toky (šipky). Co všechno proces Zpracování objednávky bude dělat, může být dekomponováno do DFD nižší úrovně.
DFD bývá často součástí různě sofistikovaných metodik, kde jsou DF diagramy generovány pomocí prostředků typu Case. (vyjmenovat nejznámější CASE).
Všimněte si, že v DFD se neřeší v jaké formě, případně s jakými parametry, probíhají datové toky. DFD je tedy nezávislý na použitém implementačním nástroji. Pravda je, že při zpracování analýzy pomocí nějakého prostředku typu CASE, bývá dán i implementační nástroj.
Na obr. je již reálnější DFD, vycházející z příkladu, uvedeného v kapitole, popisující KD. Tuto úroveň, která přímo vychází z KD, můžeme označit jako úroveň 0.
V diagramu přibyl proces Zpracování faktury a k němu příslušný datastore Faktury.
Pozn. Výrobní odd. změnit na Zásobovací odd.
Podle potřeby je možno DFD členit do nižších úrovní, kde se detailněji popíší jednotlivé toky dat. Je jasné, že spolupráce FA s DA je nezbytná.