PŘEDNÁŠKA č. 6 Důvody potřeby a užitečnosti prostředků CASE - archivace - pořádek řada tabulek instalací u uživatelů specielních přání uživatelů specielních potřeb uživatelů tabulka základních informací označení provozovatele systému parametrické chování vazeb mezi nimi programů verzí programu je nutno opravit program u uživatele potřebné přenést zpět a přenést k ostatním uživatelům někdy i změna databáze constraint běžná verze pomocná verze transporty rozsáhlých dat u většiny DBS nelze za provozu jedině v noci (resp. při omezeném provozu) tudíž snaha o práci z disku na disk dostatečná kapacita disku disková pole vývojová verze Typický (typový) program Rozšířený názor - pravděpodobně ze školení a DEMO verzí práce s jednotlivými tabulkami Hledej Oprav Vlož Zruš Ukaž vznikal v dřívějších dobách Westmout Case v podstatě postaven na tomto přístupu z hlediska školení - prakticky ideální praktický život je jiný skutečně jsou to základní prvky každého programu Hledej - specielní konvence - INFORMIX : * a pipe-line jinak nutno ošetřovat specielně běžné potřeby: najít pacienta rodným číslem začínajícím na jménem přijdou i složitější požadavky Dvě školy jedna upřednostňuje výčtem v menu snaží se enumericky vyjmenovat nejčastější (všechny) požadavky začínající uživatelé preferují druhá právě spec. konvencemi a kombinací podmínek postihne i předem neošetřené výběry náročnější na znalosti uživatelů - preferují pokročilí uživatelé V praxi kombinace – nejčastější tj. kombinované zadání menu a ostatní konstrukcí Problém MENU a přístupových práv lze opět cvičně dobře ukázat na přístupu Ukaž, Oprav některé údaje jsou jen pro vybrané pracovníky jiní mohou jen vidět jiní mohou opravovat, rušit Ošetření přístupových práv implicitně neumožňují žádné systémy Řešení v rámci systému přístupy k adresářům k souborům např. unix owner group others jen z hlediska souborů z hlediska sezení login v profile přístupy jen k vybraným programům kombinováno s tabulkou uživatelů v DBS a dalšími právy uživatele teoreticky správné - organizační struktura - vázána na funkční místo tento krok je nezbytný, nikoliv postačující umožní automatizovat činnosti řešit jen výjimky side efect - např. neobsazená funkční místa prakticky - po změně osoby na funkčním místě i změna pracovní náplně a tudíž přístupových práv Praktické problémy varianty Hledej většinou nebývá hledání v jedné tabulce, ale složitější construct i v silných databázových systémech je řešen kartézským součinem, je-li výběr ze tří a více rozsáhlých tabulek, je nutno ošetřit specielním postupem optimalizujícím nelze tudíž zcela obecný výběr jiný problém stav dvě školy příklad smlouva vytváří 1 kontroluje 2 rozhoduje 3 podepisuje 4 podepisuje druhá strana 5 mohu mít stavové slovo 1 - 5 vypočítat stav z naplnění, či nenaplnění údajů v prvém případě snadno hledám stav 5 ale poměrně složitější údržba konsistence po opravě hodnoty automaticky - compute value ve druhém musím ošetřit tuto podmínku opět výpočtem nelze automatizovaně vytvořit takový construct protože neexistuje proměnná stav, je jen zobrazen Problém Oprav jen výjimečně opravuji hodnotu, která s ničím nesouvisí např. telefon, žádanku o vyšetření, která ještě nebyla odeslána a pod. častěji opravuji složitě provázané hodnoty nejstarší přístup - uživateli je umožněno mít něco dobře ručí za správnost dat později - je upozorněn na potřebu provést další činnost prakticky nezbytné - provést všechny další kroky programově nemohu tedy např. opravit žádanku na vyšetření rentgenem byl li rentgen již pořízen mohu, pokud jsem ještě žádanku neodeslal a pod. tyto - sémantické vazby se obtížně automatizují některé nelze Pojem Zruš velmi často nelze rušit, z obdobného důvodu, jako opravovat Na druhé straně řada činností programátora - ale i analytika je automatizovatelná Obecně case Definuji řadu pojmů uskupuji je do celků předepisuji jejich vlastnosti a vazby definuji obecný prvek používám jej k definování konkrétního prvku tabulky upřesňuji jeho vlastnosti příklad datum od datum do vytvářím pohled na datovou z kladnu Poměrně nekomplikované je pořizování záznamu požaduji standardní chování zejména validaci nápovědu - zoom (číselníky) defaultní funkční klíče (např kalkulačka, telefonní seznam atd) standardní cestu k pokynům - popisu programu problém jiný tvar popisu programu na obrazovce jiný v textovém provedení (řídící znaky textového editoru) volání jiných modulů z daného modulu např. stručný přehled detail grafické vyjádření další - návazné činnosti pomocí trigger ošetřuji další požadavky Pojem debugger prapůvodně trasovaní programu ve stroj. kódu vazba do zdrojového kódu strukturu takového zdroje stále musím znát generátory sestav ne doslova tiskové - často jen obrazovkové rozdíl - právě ve funkčních klíčích Obecný problém činnosti - příchod pacienta do systému odchod pacienta ze systému dvě možnosti ošetření nutno i písemný - tištěný dokument generátory textů na základě vzorového textu paradox řada uživatelů by raději používala takovéto formuláře vlastní výpočtové programy Specielní přístupy Prostředky case Data modeling Data Architect Conceptual Data Model Physical Data Model Generating Program nejběžnější omyl - důraz na ošetření běžného stavu, běžných potřeb nejobtížnější jsou právě neběžné abnormality - pravidlo 80/20 Case je nástroj - nikoliv řešení volně přirovnáno: mám kalkulačku - nemusím umět počítat Metody vedení rozsáhlých projektů jednotný design jednotné ovládání jádro systému standardní funkce