Databázové a informační systémy NÁVRH IMPLEMENTACE 1
1
Zadání – analýza - návrh - implementace IS
2
Návrh implementace (design) Analýza ~ CO evidovat, CO s daty dělat Návrh ~ JAK to dělat vstupem je – výsledek analýzy = data, funkce, stavy ⇒ systémové funkce, data – návrh komunikace, ovládání, formáty ⇒ systémové funkce – nefunkční požadavky ⇒ HW, SW, legislativa, … výstupem bude – detailní zadání pro rutinní implementaci = databázi, kódování
Dělení návrhu systémový návrh = koncepce řešení vlastní návrh implementace = upřesnění a doplnění algoritmů, dat
3
Návrh implementace Systémový návrh • volba koncepce řešení – dělení na velké podsystémy (paralelní práce, postupné zavádění) – řešení subsystémů (vlastní implemen, koupit, koupit a dodělat) • zařazení do kontextu ostatních IS • nefunkční požadavky (doba ⇒ harmonogram, cena, legislativa) • prostředí ⇒ přidělení HW a SW subsystémům • určení priorit zpracování (čas, postupně subsystémy ∨ úplnost, 100% provoz, …)
4
Návrh implementace Systémový návrh model systému
zadání systému
možná výpočetní prostředí
možná vývojová prostředí
Systémový design
strategická řešení nákupů
upravený model systému
strategická řešení tvorby
5
Návrh implementace Objektový návrh • upřesnění algoritmů minispecifikace nemá podrobný algoritmus, jen IO optimalizace algoritmu popsaného málo nebo neefektivně manipulace s daty, BEFORE/AFTER příkaz pro řádek, pro atribut (triggery, procedury, ...) jednoduché, průhledné, bez fint ⇒ pružnost, flexibilita budoucích změn • optimalizace přístupů k datům pořadí výpočtů nad tabulkami (RA ⇒ SQL, ne opačně) časová a prostorová složitost (počet průchodů tabulkou, přístupů do databáze) odvozené atributy - výpočet a uložit, periodický výpočet, explicitní příkaz (trigger, uložená proc, proc) indexová analýza 6
Upřesnění algoritmů Příklad: Faktura_prijata (fakt, rok, typ, ci_objed, dodavat, fakt_dodav, da_vyd, te_spl, cena, proc_DPH, DPH, suma, zaloha, k_uhrade, da_prik, da_zapl, storno, da_stor, odvod_DPH) Minispecifikace: Nová faktura 1. Zobraz prázdný formulář faktury, vyplň automaticky číslo a rok faktury Číslo faktury: ______ / ____ Typ: _ Číslo objednávky: ______ Dodavatel: ….. 2. Uživatel zadá hodnoty typ, ci_objed, … Minispecifikace: Měsíční odvod DPH 1. Zobraz dotaz uživateli: Měsíční odvod DPH Zadejte měsíc [mm.rrrr]: 2. Uživatel zadá měsíc 3. Vyber z Faktura_prijata faktury daného měsíce + nezaúčtované minulé 4. Spočítej sumu DPH … 7
Upřesnění algoritmů Příklad: Minispecifikace: Příjem do skladu 1. Pro všechen přijatý materiál na faktuře dodavatele proveď 2. zobraz seznam karet ze Sklad uživatel vybere kartu 3. zapamatuj Sklad.karta, Sklad.cenj a Sklad.mnoz 4. zobraz formulář příjmu pro vybranou kartu, uživatel vyplní karta : vybraná, opsáno ze Sklad, jen pro čtení název : opsáno z tabulky Sklad, jen pro čtení … 5. zapiš vyplněný formulář jako nový záznam do Pohyb 6. vypočti nové množství ve Sklad, cenu jednotkovou zprůměruj … legislativa, vybrat metodu průměrování 7. modifikuj v záznamu Sklad.karta hodnoty Sklad.mnoz a Sklad.cenj 8. Konec cyklu pro jeden materiál 9. Kontrola součtu cen přijatého materiálu 8
Indexová analýza Indexová analýza • Funkce nad každou tabulkou projdeme z hlediska každého atributu, podle nějž se v některých funkcích – hledá, – pořizuje setříděný seznam – ve výpisu, v nápovědě apod., – realizuje spojení s jinou tabulkou, – ověřuje jednoznačnost v téže tabulce, – ověřuje existence v jiné tabulce. • Určíme četnost používání takové funkce a navrhneme způsob indexování každého atributu (udržovaný, dočasný, částečný) • Informace o navržených indexech doplníme do datového slovníku
9
Indexová analýza Příklad: Faktura_prijata (fakt, rok, typ, ci_objed, dodavat, fakt_dodav, da_vyd, te_spl, cena, proc_DPH, DPH, suma, zaloha, k_uhrade, da_prik, da_zapl, storno, da_stor, odvod_DPH) Minispecifikace: Nová faktura: fakt … inkrement, automaticky setříděno dodavat … nabídka při vyplňování dle abecedy, indexována tabulka dodavatelů dle názvu firmy fakt_dodav … kontrola na jednoznačnost v Faktura_prijata pro téhož dodavatele … dodavat, fakt_dodav zaloha … ověření zálohy dle čísla objednávky … jen pro typ = Z dle dodav, ci_objed … částečný denní používání - všechny udržované Měsíční seznam faktur: dle typu, dodavatelů, fakt_dodav … měsíčně – dočasný … 10