Obsah

AP13 Analýza a návrh systémů

Zadání

(Problémy spojené s řešením rozsáhlých systémů. Empirické zákony softwarového inženýrství. Modelovací nástroje funkční a datové dekompozice. Konzistence modelu. Metody strukturované analýzy. Yourdonova metoda. Strukturovaný návrh, nástroje, metody, metriky a heuristiky návrhu)

Problémy spojené s řešením rozsáhlých systémů

Empirické zákony softwarového inženýrství

Postřehy, nadsázky

Lehmanovy „zákony“

Brooksův zákon

Modelovací nástroje funkční a datové dekompozice

Funkční dekompozice

Diagram datových toků DFD

je modelovací nástroj, který umožňuje zobrazit systém jako síť procesů, které plní určené funkce a předávají si mezi sebou data. Tímto způsobem jde modelovat nejen toky dat, ale i toky fyzických předmětů v systému. Diagram obsahuje čtyři základní typy komponent:

Diagram datových toků s řízením CDFD

je rozšířenou variantou DFD, na které jsou zakresleny i řídící procesy, jejichž účelem je řízení a synchronizace funkcí systému. Komunikují pomocí vstupních a výstupních signálů. Každý řídící proces je specifikován pomocí stavového diagramu (STD)

Seznam událostí

textový výčet stimulů, jež se objevují ve vnějším světě a na něž musí systém odpovědět. Tři typy událostí:

Minispecifikace

definuje logiku procesů DFD. Pro každý proces na nejnižší úrovni rozkladu DFD existuje právě jedna minispecifikace. Forma:

Stavově přechodový diagram STD

slouží ke specifikaci řídících procesů zakreslených na CDFD. STD se skládá ze stavů a přechodů mezi stavy, které obsahují podmínku, při jejímž splnění nastává změna stavu, a názvu akce, kterou systém provede při změně stavu.

Datová dekompozice

Entitně relační diagram ERD

definuje neměnné atributy a strukturu dat. Datový model vyjadřuje vztahy, které nejsou zachyceny v procesních modelech. Komponentami datového modelu jsou:

Datový slovník DD

je seznam definicí datových prvků systému. Opisuje obsah dat v datových tocích a pamětech na DFD, entity a atributy na ERD i další klíčová slova, která se vyskytují ve specifikaci systému

Konzistence modelu

Vyvažování – vzájemná kontrola mezi modely a uvnitř hierarchie modelů

Vyvažování DFD a DD

Vyvažování DFD – minispecifikace

Vyvažování DD – minispecifikace

Pro každý odkaz v minispecifikaci procesu musí platit jedna z následujících možností:

Vyvažování ERD – DFD + minispecifikace

Vyvažování CDFD a STD

Matice CRUD

Matice obrazovek

Metody strukturované analýzy

Strukturovaná analýza a specifikace (SASS)

Analýza pomocí 4 modelů

—-

Pro modelování systému používá metodika tyto nástroje:

Logické modelování

Pohledová analýza

Základní kroky pohledové analýzy:

DSSD

SSADM

  1. Analýza stávajícího systému
  2. Specifikace požadavků
  3. Výběr technických možností
  4. Návrh logických dat
  5. Návrh logických procesů
  6. Fyzický návrh

Yourdonova metoda

Esenciální model = model okolí + model chování

  1. Vytvoření modelu okolí systému
    • Dokument o účelu systému – textový dokument, který vyjadřuje cíle systému
    • Kontextový diagram
    • Seznam událostí
  2. Vytvoření prvotního modelu chování systému
    • Dekompozice systému na jednotlivé procesy, toky, paměti
    • Postup zdola nahoru
    • Pro každou odezvu na událost zakreslíme do prvotního DFD jeden proces
    • Proces pojmenujeme podle očekávané odezvy na tuto událost
    • Zakreslíme esenciální paměti
    • Doplníme odpovídající vstupní a výstupní toky
    • Vytvořený DFD ověříme proti kontextovému diagramu
    • Hledáme seskupení vzájemně souvisejících procesů do agregovaného procesu na diagramu vyšší úrovně
    • Seskupení procesů má zahrnout blízké, obdobné odpovědi
    • Paměti zakrýváme, pokud paměť používá pouze skupina procesů na nižší úrovni
    • Dokončení ERD a datového modelu jako celku
    • Dokončení stavového modelu
    • Minispecifikace
    • Definice datových komponent
  3. Dokončení esenciálního modelu (1 + 2)
    • Zjednodušení složitého DFD – vyvažování v obou směrech
    • Dokončení minispecifikací procesů
    • Dokončení datového modelu
  4. Vytvoření implementačního modelu
    • Nutno stanovit, které procesy esenciálního modelu budou při implementaci automatizovány a které budou vykonávány manuálně
    • Manuální procesy jsou následně nahrazeny terminátory, které představují osoby, jež tyto procesy vykonávají

Strukturovaný návrh, nástroje, metody, metriky a heuristiky návrhu

Přechod od výsledků analýzy k podkladům pro programování. Během návrhu jsou identifikovány moduly a jejich rozhraní.

Nástroje strukturovaného návrhu

Metody modulárního návrhu

Transformační analýzy

Transakční analýzy