Obsah A. Úvodem... 9 A. 1. Projektování informačního systému... 10 A. 2. O co jde při vývoji IS... 16 A. 3. Historie vývoje metodik, metod a technik... 33 B. O Metodikách... 37 B. 1. Metody a metodiky... 38 B. 2. Základní postup vývoje IS (metodika MDIS)... 47 B. 2. 1. Principy metodiky... 47 B. 2. 2. Definice vybraných základních pojmů... 47 B. 2. 3. Etapy vývoje informačních systémů... 49 B. 2. 4. Klíčové dokumenty... 71 B. 2. 5. Konvence... 72 B. 3. Metodika SDM... 75 B. 3. 1. Základní principy SDM... 75 B. 3. 2. Fáze SDM... 80 B. 3. 3. Přizpůsobování fází SDM... 92 B. 4. Euromethod... 100 B. 4. 1. Principy Eurometody... 100 B. 4. 2. Struktura Eurometody... 105 B. 5. Postup vývoje IS v metodikách SSADM a Systems Engineering... 106 B. 5. 1. SSADM... 106 B. 5. 2. Systems Engineering (SE)... 109 B. 6. Metodika SIV... 113 B. 6. 1. Náležitosti metodiky SIV... 113 B. 6. 2. Model vztahů SIV... 115 B. 6. 3. Postup metodiky SIV... 117 B. 6. 4. Popisné techniky SIV... 121 B. 6. 5. Hodnoticí kriteria SIV... 123 B. 7. Implementace metodiky... 125 B. 7. 1. Postup zavádění metodiky do používání... 125 B. 7. 2. Rozvoj metodiky... 127 C. O Metodách... 135 C. 1. Principy metod analýzy... 136 5
Obsah C. 1. 1. Princip abstrakce... 137 C. 1. 2. Princip modelování... 153 C. 2. Metody strukturované (funkční a datové) analýzy a návrhu... 160 C. 2. 1. Úvod... 160 C. 2. 2. Nástroje strukturovaných metod... 163 C. 2. 3. Konzistence modelů... 196 C. 2. 4. Techniky... 207 C. 3. Objektově orientované metody analýzy a návrhu... 221 C. 3. 1. Objektově orientovaný přístup... 221 C. 3. 2. Principy objektového přístupu... 224 C. 3. 3. Metodika OOMT... 236 C. 4. Hybridní metoda Procesní modelování PDIT... 249 C. 4. 1. Postup procesního modelování... 258 C. 4. 2. Používané nástroje... 262 C. 5. Metoda BSP... 266 C. 5. 1. Postup BSP... 267 C. 6. Metoda ISAC... 278 C. 6. 1. Fáze ISAC... 279 C. 7. Jackson System Development (JSD)... 289 C. 7. 1. Programový systém z pohledu JSD.... 290 C. 7. 2. Postup tvorby systému v JSD a základní pojmy... 295 C. 7. 3. Grafické a jazykové prostředky používané JSD... 323 C. 7. 4. Příklad modelů JSD... 328 D. Přílohy... 331 D. 1. Charakteristika vybraných CASE na českém trhu... 332 D. 2. Funkční model procesu vývoje IS podle metodiky MDIS... 359 D. 3. Případová studie - školní informační systém... 369 E. Seznam literatury... 396 F. Seznam použitých zkratek... 400 6
Předmluva Předmluva Vážení čtenáři. Držíte v rukou knihu, která je určena širokému okruhu čtenářů. Původně vznikla pro studenty vysokoškolského oboru informatika a oborů příbuzných, zejména pro studenty oboru Informatika Vysoké školy ekonomické. Vzhledem k aktuálnosti zde diskutovaných témat je tato kniha určena též široké praxi oblasti vývoje informačních systémů. Předpokládáme, že jejími čtenáři též budou: vedoucí pracovníci v informatice; projektanti, analytici a konstruktéři informačních systémů; a nakonec všichni profesionálové z oboru IS/IT. Kniha se orientuje na metody, techniky a nástroje vývoje informačních systémů jako prostředek dosažení příslušné kvality informačních systémů v podmínkách: principiálně nejasných uživatelských požadavků na IS/IT; stále se zrychlujícího vývoje technických a softwarových prostředků; měnících se vnějších podmínek fungování IS/IT - podstaty a organizace věcné oblasti (tzv. business processes). Text analyzuje a hledá řešení alespoň pro takové problémy současné informatiky, jako jsou: chybějící vazby funkcí IS/IT na prioritní, strategické potřeby podniku, či instituce; zdlouhavý a často neúměrně nákladný vývoj informačního systému; obtížná údržba a další rozvoj systému ve vztahu k měnícím se potřebám uživatelů a současně ve vztahu k velmi rychlým změnám v informačních technologiích (hardware a základní software) a možnostem integrace nových produktů do stávajícího systému; obtížné dosažení potřebné úrovně tzv. vnitřní a vnější integrace IS/IT, tj. vazeb uvnitř systému a systému k okolí; problematické ekonomické efekty vzhledem k vynaloženým nákladům, či dokonce malá úspěšnost projektů vývoje informačního systému; neúměrnou složitost IS/IT a náročnost na řešitele i uživatele; provozní otázky, jako např. doba odezvy, zajištění spolehlivosti atd. Cíle této publikace lze shrnout do tří hlavních bodů: 1. vymezit a klasifikovat metody, techniky a nástroje vývoje IS na základě zhodnocení dosavadních teoretických přístupů a získaných praktických zkušeností; 2. analyzovat základní principy metod a technik za účelem vytvoření obecného logického rámce této problematiky a snadného pochopení vývojových trendů; 3. seznámit s širšími souvislostmi metod a technik vývoje IS svývojeminformačních technologií a s technologickými nástroji pro jejich podporu. 7
Předmluva Na vzniku této knihy se autorsky spolupodílela řada lidí. Dík patří zejména kolegyni Ing.Ivě Stanovské, která je autorkou kapitol: B.4, B.5, C.5 ac6ačásti kapitoly C.2.2, pojednávající o nástroji Structure Chart a mou spolupracovnicí na řadě metodických textů, které v této knize posloužily jako podklady adálekolegům: Doc.RNDr. Pavlovi Drbalovi, CSc., který poskytl výchozí text ke kapitole C.3, jakož i spoluautorům jeho díla, zejména pak Ing.Zdeňkovi Kadlecovi Ing.Dušanu Chlapkovi, autorovi části kapitoly C.2.2, pojednávající o nástroji Entity Relationship Diagram a textu o technice normalizace dat z kapitoly C.2.4, jenž je rovněž spolupracovníkem na řadě podkladových metodických textů Prof.Ing.Jiřímu Voříškovi, Csc. a Doc.Ing.Janu Pourovi, Csc. za podklady kněkterým částemkapitoly A.1 a za cenné a velice podrobné obsahové připomínky Ing.Petrovi Hřebejkovi, jehož texty a pronikavá kritika obohatily části této knihy, týkající se klasifikací abstrakcí, nástrojů modelování a kriterií nástrojů CASE Ing. Martinu Bergnerovi, spolupracovníkovi Petra Hřebejka na kriteriích CASE studentům mnoha generací VŠE oboru informatika, kteří vrámcikursucasepo dlouhá léta vytvářeli texty, které posléze posloužily jako podklad k příloze D1, zejména Martinovi Loušovi, který se ujal závěrečné edice této přílohy Ing.Petrovi Širokému, CSc., který poskytl cenné podklady ke kapitole B.3 Ing.Heleně Jilkové, Csc., jejíž texty též pomohly co podklady k některým částem kapitoly C.2.2 Jiřímu Mácovi za ochotnou pomoc při technických úpravách výsledného tvaru a rovněž za pár obsahových připomínek akonečně i mé ženě Haně zato,žesemnoutrpělivě snášela dlouhé útrapy a existenční nejistotu, nutné to průvodní jevy vzniku této knihy. Václav Řepa 8
Úvodem A. Úvodem 9
Úvodem A. 1. Projektování informačního systému Tato kniha pojednává o vývoji informačního systému. To je dostatečně široký pojem na to, aby bylo nutno jej přesněji vymezit. Problematiku vývoje informačního systému můžeme vidět zmnoharůzných úhlů avmnoharůzných kontextech. V této knize převládá hledisko technické a ekonomické - je zde především popisováno proč ajak informační systém vyvíjet ve vztahu k jeho základním cílům, definovaným v tzv. informační strategii organizace. Jsou zde popisovány existující metodiky, metody, techniky i nástroje pro vývoj informačního systému, jejich vzájemné souvislosti, vývojové následnosti, meze a oblasti jejich praktické použitelnosti (v technickém smyslu) apod. Oproti tomu například hledisko sociální, nebo psychologické, či organizační zde nejsou příliš akcentována (to se týká v mnohem větší míře spíše problematiky řízení projektů, což považujeme za relativně samostatnou záležitost, která není přímým předmětem zájmu této knihy - viz dále). Oblast, jíž se tato kniha zabývá, bývala tradičně nazývána též oblastí projektování informačního systému. I když je toto označení již dávno přežité a dnes velice nepřesné (nejde tu jen o vytváření projektu vývoje IS, ale především o věcný obsah prací v něm 1 ), síla tradice mu stále ještě zajišťuje místo na slunci. I v této knize (především v odkazech na další literaturu) je tento termín občas použit. Kde je tedy místo vývoje IS v celkovém kontextu problematiky informačních systémů? Jan Pour v [POU1] klasifikuje v rámci celkového přehledu architektury informačního systému jednotlivé úlohy v aplikační vrstvě informačního systému podniku na: 1 V zájmu spravedlnosti je zde třeba dodat, že pojem projektování vznikl nejspíše prostřednictvím analogie procesu vzniku IS do oblasti stavebnictví (vzniku stavebního díla). Bylo to v době, kdy bylo samozřejmé, že jistá skupina odborníků informační systém projektovala (projektanti), jiná jej vyráběla (programátoři). Pojem projektování tak zahrnoval pouze koncepční práce na vývoji IS, nikoliv ty následné realizační. Vývoj teorie, bohatě podněcovaný jejím praktickým používáním v souvislosti se stále lepší technologickou podporou projektování (viz následující kapitolu) potom šel směrem ke komplexnějšímu pojetí celého procesu, kde i hranice mezi koncepcí a realizací IS již není zdaleka tak zřetelná a jednoznačná. A to z mnoha důvodů. Uveďme ty nejdůležitější: ukázalo se, že celý proces vývoje IS je třeba brát iterativně -jetřeba počítat s návraty z oblasti realizace IS do oblasti jeho koncepce a zpět, protože některé části koncepce je třeba ověřit prototypem, nebo i jen proto, že můžeme při realizaci zjistit chybu koncepce, kterou je třeba nejprve opravit a teprve potom pokračovat dál vývoj technologické podpory vývoje IS pomalu odbourává netvůrčí činnosti, které již nemusí vykonávat člověk - realizátor (programátor), ale program - generátor. Opačnou stranou téže mince je zdokonalování analytických (projektantských) metod a technik, které umožňuje mnohem více (nežli předtím) rozhodnutí ve věci obsahu budovaného IS činit již ve fázi jeho koncepčního návrhu - nenechávat je až na programátory. Má smysl za těchto okolností stále ještě hovořit o projektantech (kteří již jen neprojektují, ale přímo i realizují) versus programátorech (kteří vpůvodním významu již skoro neexistují)? 10