Dokumentace informačního systému
Dokumentace k zadání Zpracovává se na začátku řešení Obsahuje Globální popis problému Funkční požadavky Nefunkční požadavky Vypracuje zadavatel Upřesňuje s analytikem
Dokumentace k analýze Datová analýza Funkční analýza Dynamická analýza Konceptuální schema ER diagram Datový slovník Funkční analýza Minispecifikace Dynamická analýza ST diagram Návrh uživatelského rozhraní
Dokumentace k návrhu implementace Doplněný datový model (atributy a jejich typy) Doplněné minispecifikace Konkrétní způsob komunikace algoritmů s databází Algoritmy systémových funkcí
Uživatelská dokumentace (manuál) Specifikace zadání a logická stavba systému Požadavky systému na HW a SW Instalace systému Spuštění systému Obecné principy obsluhy systému Data, se kterými se pracuje Vstupní formuláře a jejich popis Výstupní sestavy a jejich popis Elementární funkce, jejich popis a ovládání FAQ
Doporučení k uživatelským příručkám Vzhled Cílová skupina Logická struktura Styl Příklady Otestování Recenze Redakční a jazyková úprava
Programátorská dokumentace Komentáře zdrojových textů programu Informace o návazném HW a SW Je třeba udržovat úplné a aktuální
Testování informačního systému
Motto Každý program obsahuje alespoň jednu chybu Každý program lze optimalizovat alespoň o jednu řádku kódu Důsledek: Každou úlohu lze řešit programem o jedné řádce kódu, která je chybně
Chyba v programu Chování programu neodpovídá zadání Při zadání vstupů z povolené množiny hodnot nedává program požadované výstupy Program neodpovídá dokumentaci Program nepracuje tak, jak může uživatel rozumně očekávat
Míry spolehlivosti programu Program neobsahuje chyby Během jisté doby činnosti programu se nevyskytla chyba Pravděpodobnost výskytu je chyby během dané doby je menší, než požadovaná mez Náklady vzniklé uživateli v důsledku chyb během dané doby jsou menší, než požadovaná mez
Kontrola správnosti programu Verifikace Produkt odpovídá specifikaci ve všech případech (obvykle prakticky neproveditelné) Validace Produkt odpovídá v běžných případech představě uživatele Testování Pro jistou konečnou sadu příkladů produkt dává požadované výsledky
Testovací data Typické případy Mezní případy Chybové případy
Úrovně testování Testování systémové specifikace Testování modulů Testování interakcí mezi moduly Testování celku
Testovací metody Černá skříňka Bílá skříňka Testování podle dat Testování podle struktury programu
Testování programových jednotek Projít všechny funkční jednotky Projít všechny větve programu Použít mezní hodnoty dat Každý cyklus ověřit s maximální a minimální hodnotou počtu opakování Vyzkoušet všechny chybové výstupy Vyzkoušet reakci na náhodná vstupní data
Testování kompletního systému Testování shora dolů (při implementaci) Testování zdola nahoru (před předáním systému)
Plánování testování Testovací strategie Testovací nástroje Dokumentace testování Testované objekty Kvantifikace testování Testovací kritéria
Vyhodnocení testů Porovnání dosažených výsledků s předpokládanými Lokalizace chyby Trasování toku řízení Trasování stavových hodnot Monitorování hodnot Odstranění chyby Prozkoumání vlivu odstranění chyby na okolí
Typické chyby Dělení nulou Překročení mezí polí Nekonečný cyklus Neinicializování proměnných
Dokumentace testů Plán testování Popis použitého prostředí Specifikace testových běhů Výsledky jednotlivých testovacích běhů Počet a typ detekovaných chyb Popis oprav