3. Z kladn‚ techniky analìzy a n vrhu softv‚rovìch syst‚mov ----------------------------------------------------------- ¦ivotnì cyklus programu predstavuje hrubì n crt aktiv¡t pri vìvoji softv‚rovìch syst‚mov. V kontexte §ivotn‚ho cyklu programu predstavuje metodol¢gia s£bor pravidiel a presnì popis postupu pri vìvoji softv‚rov‚ho syst‚mu, Ÿi§e spresnenie jednotlivìch et p §ivotn‚ho cyklu do konkr‚tnych krokov a £loh. V s£Ÿasnosti sa v praxi pou§¡va viacero metodol¢gi¡, napr. SSADM a MERISE ako najviac rozçiren‚ çtandardy, spolu s mno§stvom metodol¢gi¡ vyvinutìch na z klade çpecifickìch po§iadaviek konkr‚tneho producenta softv‚ru. Metodol¢gia pou§ivan  v urŸitej softv‚rovej firme mus¡ byœ pre potreby tejto firmy podrobne pop¡san  a zdokumentovan . Pou§ivan  metodol¢gia m“ze byœ buÔ prevzat , "dom ca", alebo z¡skan  prostredn¡ctvom poradenskej firmy. Pod prevzatou metodol¢giou sa rozumie aplik cia normy çtandardnej metodol¢gie pre potreby konkr‚tnej softv‚rovej firmy. V tomto pr¡pade prevedie firma podrobn£ analìzu dostupnìch materi lov a metodol¢giu zavedie do praxe firmy. Tento pr¡stup je vìhodnì pre firmy, ktor‚ maj£ sk£senosti s vìvojom v„csich syst‚mov a chc£ daœ vlastn‚mu procesu vìvoja metodologickì z klad. Dom ca metodol¢gia je metodol¢gia vypracovan  v r mci firmy, ktor  ju n sledne aj pou§iva. Tento pr¡stup vy§aduje mno§stvo vedomost¡ a najm„ mno§stvo praktickìch sk£senost¡ s rozsiahlymi softv‚rovìmi projektami. Preto k vypracovaniu vlastnìch metodol¢gi¡ pristupuj£ iba ve–k‚ a renomovan‚ softv‚rov‚ firmy. ZaŸinaj£cim softv‚rovìm firm m sa doporuŸuje aplikovaœ z¡skan£ metodol¢giu od çpecializovanej konzultaŸnej firmy. Tak‚to konzultaŸn‚ firmy maj£ dostatok sk£senost¡ s vìvojom a prisp“soben¡m existuj£cich metodol¢gi¡ specifickìm po§iadavk m konkr‚tnej softv‚rovej firmy. KonzultaŸn‚ firmy maj£ z roveå sk£senosti so zav dzan¡m tìchto metodol¢gi¡ do praxe z kazn¡ckych firiem. Metodol¢gia vo v„csine pr¡padov pozost va z nasledovnìch komponentov: - techniky definuj£ce ako realizovaœ jednotliv‚ cinnosti - çtrukt£rny model çpecifikuj£ci kedy vykon vaœ jednotliv‚ kroky v metodol¢gii a ich n v„znosœ (tzv. met¢dy) - zoznam çtandardnìch dokumentov definuj£cich Ÿo je potrebn‚ vykonaœ Aplik cia presne definovanej metodol¢gie prin sa nieko–ko vìznamnìch vìhod: - zmençuje sa riziko plytvania prostriedkov (materi lnych, finanŸnìch i intelektu lnych) na vìvoj softv‚rov‚ho syst‚mu. Aplik cia vysk£sanej metodol¢gie znamen , §e najefekt¡vnejçi sp“sob realiz cie pou§ivate–skìch po§iadaviek na vytv ranì syst‚m je presne definovanì eçte pred zaŸiatkom vlastn‚ho vìvoja syst‚mu a predstavuje çtandard, na z klade ktor‚ho realizaŸnì t¡m postupuje. - zvìsenie produktivity realizaŸn‚ho t¡mu. Toto zvìsenie produktivity je mo§n‚ vidieœ v nasledovnìch d“sledoch pou§itia metodol¢gie: - aplik cia zau§ivanej metodol¢giu pre ka§dì projekt. Nie je potrebn‚ metodol¢giu "objavovaœ" pre ka§dì projekt zvl st. - metodol¢gia obsahuje n stroje umo§nuj£ce kontrolovaœ progres pr c a zabezpeŸuj£cich £speçn‚ ukonŸenie ka§dej f ze projektu - metodol¢gia nav dza ku kontrole, ktor  odhal¡ chyby a nekonzistencie u§ v rannìch f zach projektu - vy§adovan¡m vytv rania priebe§nej dokument cie redukuje mno§stvo Ÿasu potrebn‚ k vytvoreniu dokument cie - zvìsenie kvality vyv¡jan‚ho softv‚rov‚ho syst‚mu. Metodol¢gia vy§aduje prec¡znu çpecifik ciu po§iadaviek pou§ivate–a a umo§nuje pou§ivate–ovi çpecifikovan‚ po§iadavky sp„tne overiœ. Dobr  metodol¢gia navyçe n£ti tvorcu vytv raœ flexibiln‚ syst‚m, ktorìch dokument cia je vytv ran  s£be§ne s ich vìvojom. - merate–nosœ vlastnost¡ procesu vìvoja produktu. Tìm, §e sa pou§iva çtandardizova  metodol¢gia, st va sa proces merate–nì a porovn vate–nì. Je mo§n‚ vyhodnocovaœ a porovn vaœ r“zne projekty a na z klade takto z¡skanìch inform ci¡ v bud£cnosti tento proces zefekt¡våovaœ. - koordin cia pr c. Metodol¢gia pre ka§d£ etapu predpisuje zoznam £loh, ktor‚ je potrebn‚ v danej etape vykonaœ a ktor‚ s£ potrebn‚ pre prechod k nasleduj£cej etape. Manager projektu m“ze bezprostredne sledovaœ, kde postup pr c zaost va a identifikovaœ pr¡ciny a mo§n‚ d“sledky zaost vania. - zjednoduçenie pl novania. Bez pl novania nie je mo§n‚ niŸ realizovaœ. Dobr  metodol¢gia umo§nuje pl novaœ, sledovaœ postup, iniciovaœ opravn‚ a korekŸn‚ akcie a spresåovaœ pl novanie tak, ako postupuje projekt. - poskytuje komunikaŸn‚ prostriedky pre £castn¡kov projektu. V ka§dej etape je na vìvoji syst‚mu zainteresovanìch viacero profesi¡ odborn¡kov. Metodol¢gia pre ka§d£ etapu predpisuje komunikaŸne prostriedky tak, aby boli zrozumite–n‚ pre vçetkìch, ktor¡ s£ na danej etape zainteresovanì. Jedn  sa najm„ o komunik ciu: - pou§ivate– - analytik - analytik - program tor - analytici - vedenie projektu Komunik cia je vylepçen  zaveden¡m grafickìch formalizmov a pou§ivan¡m çtrukt£rovan‚ho textu namiesto rozsiahleho slovn‚ho popisu. Ka§d  metodol¢gia obsahuje s£hrn techn¡k, ktor‚ sa pou§ivaj£ pre vytv ranie a opis produktov (vìstupnìch dokumentov) r“znych et p. Tieto techniky bìvaj£ r“znorod‚ tak, aby zachytili r“zne aspekty opisu vytv ran‚ho syst‚mu. Vo vçebecnosti je potrebn‚ zachytiœ nasledovn‚ aspekty: - funkŸnosœ syst‚mu a jeho funkŸn£ dekompoz¡ciu - £dajov‚ strukt£ru a vzœahy medzi £dajovìmi çtrukt£rami - Ÿasov‚ z vislosti (najm„ casov£ n slednosœ) Pre opis tìchto aspektov sa v praxi vyu§iva cel  sk la existuj£cich techn¡k. Pou§ivan‚ techniky je mo§n‚ rozdeliœ do troch ve–kìch skup¡n: - techniky pre syst‚mov£ analìzu. Pou§ivaj£ sa pri analìze pou§ivate–skìch po§iadaviek a architektonickom n vrhu syst‚mu. Do tejto skupiny partia nasledovn‚ techniky: - spoloŸnì n vrh (Joint Application Design) - diagramy toku d t (Data Flow Diagram) - £dajov‚ slovn¡ky (Data Dictionary) - entitno-funkŸn‚ matice - modely §ivotn‚ho cyklu ent¡t (Entity Life Histories) - rozhodovacie tabu–ky (Decision Table) - analìza zaœa§enia (Workload Analysis Chart) - stavov‚ diagramy (State Transition Graphs) - techniky pre modelovanie £dajov. Tieto techniky sl£zia na çpecifik ciu çtrukt£ry £dajov a ich vz jomnìch z vislost¡. K tejto skupine techn¡k patria: - modelovanie £dajov (Data Model Diagram) - entito-relaŸn‚ diagramy (Entity-Relationship Diagram) - normaliz cia - techniky pre syst‚movì n vrh. Tieto techniky sl£zia k opisu n vrhu syst‚mu na r“znych £rovniach. Patria sem: - çtrukt£rne diagramy (Structure Chart) - akŸn‚ diagramy (Action Diagram) - vìvojov‚ diagramy (Flow Chart) - prototypovanie pou§ivate–skìch rozhran¡ (Illustrative Output) - techniky pre implement ciu. ImplementaŸn‚ techniky sl£zia pre zabezpeŸenie kvality vytv ran‚ho k¢du realizuj£ceho syst‚movì n vrh. Patr¡ sem najm„: - çtrukt£rovan‚ programovanie Z uveden‚ho preh–adu vidno, §e spektrum pou§ivanìch techn¡k je çirok‚. Vo zvyçku tejto kapitoly sa budeme venovaœ opisu jednotlivìch techn¡k. 3.1. SpoloŸnì n vrh ------------------- SpoloŸnì n vrh (Joint Application Design) predstavuje techniku pou§ivan£ pri identifik cii a analìze pou§ivate–skìch po§iadaviek. Jej vyu§itie je rovnako v etape architektonick‚ho n vrhu syst‚mu. P“vodne bola t to technika vyvinut  firmou IBM na zaŸiatku 80-tych rokov a s£casnosti sa t to technika rozçirila vÔaka mo§nosti ustanovenia konsenzu u§ v prvìch etap ch §ivotn‚ho cyklu vyv¡jan‚ho syst‚mu. Podstatou techniky spoloŸn‚ho n vrhu je intenz¡vne 2 a§ 4 dåov‚ stretnutie reprezentat¡vnych pou§ivate–ov so syst‚movìmi analytikmi, na ktorom sa analyzuj£ dodan‚ po§iadavky, odstraåuj£ sa rozpory a nekonzistencie v nich a vyber  sa z mo§nìch alternat¡v. Pre tvorbu çpecifik cie a kostry architektonick‚ho n vrhu syst‚mu bìva potrebnìch viacero JAD stretnut¡. Vìsledkom tìchto stretnut¡ je jednak ucelen  specifik cia syst‚mu, ako aj kostra architektonick‚ho n vrhu syst‚mu reprezentuj£ca vybran£ alternat¡vu pre realiz ciu syst‚mu, ktor‚ sa st vaj£ z v„znìmi pre obe zainteresovan‚ strany. Na JAD stretnut¡ s£ za zad vate–ov projektu pr¡tomn‚ vybran‚ skupiny pou§ivate–ov, zodpovedn‚ za jednotliv‚ funkŸn‚ moduly projektovan‚ho syst‚mu, tzn reprezentuj£ci jednotliv‚ organizaŸn‚ subjekty pou§ivate–skej organiz cie. élohou tejto skupiny je presn‚ specifikovanie po§iadaviek, identifik cia pr¡padnìch konfliktov a ich rieçenie. Rovnako je ich £lohou vìber z alternat¡v dosahovania po§adovanìch vlastnost¡ predkladanìch analytikmi a stanovenie prior¡t jednotlivìch po§iadaviek. Tvorcovia syst‚mu m“zu byœ taktie§ ucastn¡kmi stretnutia, avçak iba v £lohe pozorovate–ov. Do diskusi¡ by nemali zasahovaœ. Tvorcov syst‚mu v tomto oh–ade zastupuje ved£ci projektu, ktorì sa na stretnut¡ mus¡ z£castniœ.. Stretnutie je moderovan‚ moder torom, çpeci lne pre tento £cel vybranìm. Jeho hlavnou £lohou je riadenie diskusie a jej zameranie na probl‚m "ak‚ inform cie je potrebn‚ spracov vaœ" a nesk’znuœ k rieçeniu probl‚mu "ako realizovaœ spracovanie inform ci¡". Na stretnut¡ mus¡ byœ pr¡tomn¡ taktie§ zapisovate–, ktorì zaznamen va prijat‚ rozhodnutia. Vìstupom zo spoloŸn‚ho stretnutia by mali byœ nasledovn‚ dokumenty: - podrobn  specifik cia pou§ivate–skìch po§iadaviek - modely procesov (napr. diagramy toku d t) - d tov‚ modely, resp. defin¡cie £dajov - spracovate–sk‚ po§iadavky - n vrhy vìstupnìch zost v a vstupnìch vìstupnìch obrazoviek - operaŸnì tok - oŸak van‚ pr¡nosy pre pou§ivate–a - çpecifik cia kritickìch atrib£tov éspeçn‚ zavêsenie JAD stretnutia vy§aduje dlhodobejçiu pr¡pravu. Vìchodiskom s£ podklady pre stretnutie pripraven‚ skupinou analytikou, ktor‚ s£ doruŸen‚ ka§d‚mu £castn¡kovi stretnutia. Tieto podklady m“zu obsahovaœ jednak vìsledky predch dzaj£cich analìz k overeniu, zoznam ot zok, ktor‚ je potrebn‚ na nasleduj£com strenut¡ vyrieçit" ako aj zoznam alternat¡v rieçenia vybranìch probl‚mov. Pre vlastn‚ stretnutie je d“le§it  n le§it  pr¡prava pln‚ nasadenie ka§d‚ho z £castn¡kov. Z tohoto d“vodu je vhodn‚ stretnutie organizovaœ mimo zad vate–skej organiz cie, aby nikto nebol rozpty–ovanì ka§dodennìmi probl‚mami svojho pracoviska. Pri vlastnom stretnut¡ je vhodn‚ vyu§ivaœ audiovizu lne prostriedky a hlavne prostriedky umo§nuj£ce modelovaœ, resp. prototypovaœ aspekty çpecifik cie (napr. pou§ivate–sk‚ rozhrania). Pre £spech stretnutia je potrebn‚ venovaœ pozornosœ najm„ nasledovnìm aspektom: - presvedŸiœ najvyçsi management o vhodnosti tejto met¢dy z¡skaœ jeho podporu - starostlivì vìber £castn¡kov stretnutia - sk£senì moder tor stretnutia - pr¡prava a pl novanie stretnutia, defin¡cia oŸak vanìch vìsledkov stretnutia Technika spoloŸn‚ho n vrhu prin sa pri jej spr vnej aplik cii nieko–ko nespornìch vìhod. Uvedieme aspoå nieko–ko z nich: - skr tenì cas pri tvorbe çpecifik cie a architektonick‚ho n vrhu - pritireŸiv‚ po§iadavky sa identifikuj£ pomerne skoro a na spoloŸnom stretnut¡, ako analìzou dielŸich po§iadaviek od r“znych skup¡n pou§ivate–ov - zvìsenie kvality n vrhu, preto§e po§iadavky s£ jasnejçie a reprezentuj£ vìsledok konsenzu - pou§ivatelia s£ zainteresovanì na vìvoji syst‚mu, preto nadob£daj£ pocit spolupatriŸnosti k syst‚mu (jeho vlastn¡ctva) 3.2. Diagramy toku d t ---------------------- Diagram toku £dajov predstavuje grafick£ reprezent ciu toku a spracovania £dajov v analyzovanom, resp. navrhovanom syst‚me. Reprezentuje vìsledky çtrukt£rovanej analìzy s£casn‚ho syst‚mu spracovania inform ci¡, alebo po§iadavky spracovania v navrhovanom syst‚me. V diagramoch toku d t (Ôalej budeme pou§ivaœ skr ten‚ oznaŸenie DFD) sa vyskytuj£ nasledovn‚ typy ent¡t: - procesy - toky £dajov (data-flow) - extern‚ entity - £dajov‚ arch¡vy (data-store) Pre oznaŸenie tìchto ent¡t sa v praxi pou§ivaj£ dve sady symbolov: DeMarco-Yourdon a Gane-Sarson, ktor‚ s£ ilustrovan‚ na OBR.3.1. Obe sady symbolov s£ z h–adiska pou§itia ekvivalentn‚. Pri pou§ivan¡ sa doporuŸuje nemieçaœ symboly z oboch mno§in, preto§e to m“ze viesœ k nedorozumeniam. OBR.3.1. Z kladn‚ entity DFD (DeMarco-Yourdon, Gane-Sarson) Ka§d£ z uvedenìch ent¡t v DFD je mo§n‚ identifikovaœ menom. T to identifik cia by mala byœ opisn , tzn. mala by vyjadrovaœ funkciu, resp. postavenie danej entity v procese spracovania inform ci¡ v analyzovanom, resp. vytv ranom syst‚me. Napriek n zvu, podstatou DFD je opis procesov v syst‚me a toku £dajov medzi jednotlivìmi procesmi. Pre lepçie pochopenie podrobnejçie op¡seme jednotliv‚ entity DFD. EXTERN� ENTITY -------------- Prvìm n vrhovìm rozhodnut¡m pri budovan¡ softv‚rovìch syst‚mov je definovanie rozhrania syst‚mu na okolit‚ prostredie, resp. jeho kontextu v okolitom prostred¡ spracovania inform ci¡. Toto rozhranie (kontext) rozde–uje vçetky entity na intern‚ (tzn. obsiahnut‚ v syst‚me) a extern‚, ktor‚ sa bud£ nach dzaœ mimo syst‚mu. Extern‚ entity z h–adiska syst‚mu predstavuj£ informaŸn‚ vstupy a vìstupy a v skutoŸnosti m“zu reprezentovaœ pou§ivate–ov, organiz cie a in‚ syst‚my spracovania inform ci¡, s ktorìmi vyv¡janì alebo analyzovanì syst‚m komunikuje. Extern‚ entity sa nach dzaj£ iba v kontextovom DFD, ktorì je niekedy nazìvanì aj DFD 0-tej £rovne. Kontextovì DFD m“ze byœ vo vçeobecnosti ve–mi zlo§itì. Aby sa zabr nilo kri§ovaniu £dajovìch tokov (a tìm zn¡zeniu preh–adnosti DFD) je povolen‚ pou§ivaœ viacero externìch ent¡t reprezentuj£cich jeden externì objekt. Tieto extern‚ entity je potrebn‚ oznaŸiœ ako duplik ty tak, ako je to ilustrovan‚ na OBR.3.2. Tento obr zok z roveå ilustruje, §e i Ôalçie entity *konkr‚tne data-store) je mo§n‚ reprezentovaœ duplicitne. OBR.3.2. Duplik ty ent¡t v DFD Ako pr¡klad pou§itia externìch ent¡t v kontextovom DFD je mo§n‚ uviesœ kontextovì DFD pre syst‚m spracovania reklam ci¡ v urŸitom abstraktnom podniku. Predpokladajme, §e tento podnik potrebuje zaviesœ automatizovanì syst‚m pre evidenciu a spracovanie reklam ci¡. Vstupy do syst‚mu (tzn. prijat‚ reklam cie) zad va reklamaŸn‚ oddelenie (z h–adiska syst‚mu extern  entita). Toto oddelenie m  z roveå maœ k dispoz¡cii preh–ad nespracovanìch reklam ci¡, z ktorìch vyberie jednu a spracuje ju. Tìm sa vybran  reklam cia stane spracovanou. Syst‚m by mal z roveå poskytovaœ managementu (Ôalçia extern  entita) z kladn‚ inform cie pre podporu rozhodovania, napr. zoznam najviac reklamovanìch vìrobkov. Ilustr cia kontextov ho DFD pre takto ve–mi jednoducho çpecifikovanì syst‚m je na OBR.3.3. OBR.3.3. kontextovì diagram pre pr¡klad spracovania reklam ci¡ TOKY éDAJOV ----------- Toky £dajov (data-flow) reprezentuje informaŸn‚ prepojenie medzi ostatnìmi typmi ent¡t v DFD. Tok £dajov je reprezentovanì sipkou, ktor  z roveå urŸuje smer toku £dajov. Pri vytv ran¡ tokov £dajov v DFD diagrame si treba uvedomiœ, §e tok £dajov mus¡ reprezentovaœ udaje, resp. pres£van‚ inform cie. T to z sada je pri tvorbe DFD najviac poruçovan  najm„ zaŸinaj£cimi analytikmi. ¬astokr t sa tok £dajov pou§iva na vyjadrenie n slednosti krokov v spracovan¡ udajov, Ÿo je pr¡stup prevzatì z vìvojovìch diagramov (o rozdieloch DFD a vìvojovìch diagramov budeme hovoriœ nesk“r). Pre vyvarovanie sa chìb tohoto druhu je vhodn‚ dodr§iavaœ nasledovn‚ pravidl : - toky £dajov je vhodn‚ nazìvaœ podstatnìmi menami. Pokia– tok £dajov takto nie je mo§n‚ nazvaœ, tak tok £dajov asi neexistuje. V pr¡klade na OBR.3.3. by chybe tohoto druhu zodpovedal n zov "Z¡skaj nespracovan£ reklam ciu". V danom pr¡pade by tok £dajov reprezentoval akciu alebo tok riadenia medzi procesmi a nie skutoŸnì tok £dajov. - pok£ste sa pop¡saœ strukt£ru £dajov v toku £dajov. Ak toto nie je mo§n‚, tak potom tok £dajov v skutoŸnosti neexistuje. V pr¡klade napr. tok £dajov "Najviac reklamovan‚ vìrobky" pozost va z prvkou s nasledovnou çtrukt£rou: - identifik cia vìrobku - celkov‚ reklamovan‚ mno§stvo vìrobku - ka§dì tok £dajov mus¡ zaŸinaœ alebo konŸiœ v procese, preto§e £daje z dan‚ho toku s£ buÔ vìsledkom spracovania ist‚ho procesu, alebo s£ vstupom pre spracovanie v istom procese. PROCESY ------- Procesy reprezentuj£ spracovanie alebo akcie vykon van‚ luÔmi, strojmi alebo poŸitaŸmi nad vstupuj£cimi £dajmi (cez data-flow) a produkuj£ce vìstupn‚ udaje (do data-flow). Men  procesov z visia na £rovni abstrakcie, ktor£ danì DFD vyjadruje. Proces m“ze reprezentovaœ celì syst‚m, subsyst‚m, alebo konkr‚tnu funkciu. Meno procesu by malo identifikovaœ cinnosœ, ktor  sa v danom procese prev dza. Proces m  vstupn‚ a vìstupn‚ toky £dajov. Ka§dì proces by mal maœ aspoå jeden vìstupnì a aspoå jeden vstupnì tok £dajov. Na tomto mieste je potrebn‚ si uvedomiœ, §e toky £dajov vstupuj£ce do procesu nijako neidentifikuj£ v akej kombin cii musia byœ udaje k dispoz¡cii pre spracovanie, tzn. Ÿasovanie procesu. Tieto detaily s£ obsiahnut‚ k popise procesu, nie v popise tokov £dajov v DFD. Na OBR.3.3. je kontextovì diagram syst‚mu obsahuj£ci jedinì proces. Tento proces reprezentuje spracovanie inform ci¡ v celom navrhovanom syst‚me. Vìznamnou vlastnosœou DFD je mo§nosœ opisu analyzovan‚ho alebo vytv ran‚ho syst‚mu na viacerìch £rovniach abstrakcie. T to vlastnosœ v praxi znamen , §e pod–a potreby je mo§n‚ ka§dì proces v DFD dekomponovaœ na Ôalçi DFD popisuj£ci danì proces na ni§sej £rovni abstrakcie. Procesy, ktor‚ sa Ôalej nedekomponuj£ sa nazìvaj£ primit¡vne procesy. Dekompoz¡cia procesu je ilustrovan  na OBR.3.4. Danì DFD reprezentuje DFD 1. £rovne, ktorej £roveå abstrakcie je ni§sia ako £roveå abstrakcie kontextov‚ho DFD. V tomto pr¡pade danì DFD obsahuje 4 procesy, reprezentuj£ce jednotliv‚ cinnosti syst‚mu vykon van‚ pri spracovan¡ reklam ci¡. OBR.3.4. DFD dekompoz¡cie kontextov‚ho DFD DATA-STORE ---------- Entita typu data-store sl£zi na reprezent ciu archiv cie £dajov v syst‚me. Mo§no ju prirovnaœ k internej pam„ti, ktor  vçak m“ze uchov vaœ prvky r“znej çtrukt£ry (napr. spracovan‚ aj nespracovan‚ reklam cie, ako vyplìva z OBR.3.4.). Ka§d‚ miesto v syst‚me, ktor‚ akumuluje £daje bude reprezentovan‚ entitou typu data-store, napr. poŸitaŸovì s£bor, arch¡v alebo çan¢n. N zov entity data-store m  zodpovedaœ udajom, ktor‚ s£ uchov van‚. Pre zabr nenie kri§ovania tokov £dajov je v DFD mo§n‚ pre reprezent ciu jednej entity typu data-store pou§iœ grafickìch symbolov. V tomto pr¡pade duplicita mus¡ byœ oznaŸen  pod–a konvencie na OBR.3.2. Pre spr vne vytv ranie DFD je okrem u§ uvedenìch pravidiel vhodn‚ poznaœ eçte nasleduj£ce: - iba procesy m“zu byœ pripojen‚ k entit m typu data-store, tzn. iba procesy m“zu Ÿitaœ a modifikovaœ udaje uchov van‚ v syst‚me. - nie je vhodn‚ pou§ivaœ reprezent ciu tokov £dajov pomocou obojsmernìch çipiek, preto§e smer toku £dajov je d“le§itì. Smer toku £dajov je mo§n‚ interpretovaœ nasledovne: - tok £dajov z data-store do procesu znamen , §e proces pou§iva £daje (pou§iva, nie Ÿita). V pr¡pade §e po pou§it¡ sa £daj v data-store zruçi, je potrebn‚ pou§iœ speci lnu n zvov£ konvenciu pre tok £dajov. - tok £dajov z procesu do data-store, §e proces modifikuje obsah data-store. Modifik cia m“ze znamenaœ: - pridanie alebo uchovanie nov‚ho z znamu - zruçenie existuj£ceho z znamu - modifik ciu obsahu existuj£ceho z znamu - pre program torov je jasn‚ ze napr. pre modifik ciu obsahu z znamu je potrebn‚ tento z znam najsk“r spr¡stupniœ. Tak£to £roveå detailu nie je potrebn‚ zahrn£t do DFD nakreslen¡m spojenia procesu a data-store v oboch smeroch. D“le§itì je iba vìsledok, tzn. modifik cia obsahu data-store. V tomto pr¡pade bude smer toku £dajov vedenì z procesu do data-store. - mnoh‚ procesy pou§ivaj£ a aj modifikuj£ udaje z data-store. V tomto pr¡pade je potrebn‚ nakresliœ udajov‚ toky sp jaj£ce obojsmerne proces a data-store. Najm„ pre analytikov-zaŸiatoŸn¡kov, ktor¡ maj£ predch dzaj£ce sk£senosti s vìvojovìmi diagramami, m“ze byœ pou§itie DFD spoŸiatku obtia§ne. UveÔme preto explicitne rozdiely medzi vìvojovìmi digramami a DFD diagramami: - procesy v DFD m“zu byœ vykon van‚ paralelne. Vìvojov‚ diagramy reprezentuj£ sekvenciu procesov a riadenie nad aktivitou. DFD nepopisuje riadenie, tzn. Ÿas a sp“sob aktiv cie jednotlivìch procesov. - DFD zachyt va tok £dajov cez vytv ranì syst‚m. Vìvojovì diagram zachyt va sekvenciu jednotlivìch krokov algoritmu realizuj£ceho spracovanie. DFD neumo§nuj£ (a ani sa o to nesna§ia) zachytiœ cykly a vetvenia (if-then-else) pri opise spracovania - DFD popisuj£ procesy, ktor‚ m“zu maœ v z sade odliçn‚ casovanie (napr. vìber a vkladanie na bankov‚ konto), priŸom toto Ÿasovanie priamo nedefinuj£ Pou§itie DFD je v procese analìzy syst‚mu vìznamn‚. D“le§itou vlastnosœou DFD je, §e umo§nuj£ modelovaœ syst‚m na r“znej £rovni abstrakcie. Ni§sia £roveå abstrakcie sa z¡ska dekompoz¡ciu procesu z vyçsej £rovne abstrakcie do samostatn‚ho DFD (ako je to zrejm‚ na OBR.3.3. a OBR.3.4.). T to dekompoz¡cia konŸi po dosiahnut¡ element rnych (primit¡vnych) procesov. Element rnym procesom sa vo vçeobecnosti nazìva takì proces, ktor‚ho opis sa zmest¡ na jednu stranu dokumentu form tu A4. DFD sa v mnohìch metodol¢gi ch rozde–uj£ na fyzick‚ a logick‚. Fyzick‚ DFD opisuj£ akìm sp“sobom syst‚m dosahuje analyzovan‚ alebo po§adovan‚ spr vanie. S£ v nich zachyten‚ fyzick‚ z vislosti v analyzovanom syst‚me, napr. Ÿasov‚ z vislosti (aktiv cia procesu napr. raz za deå, aktiv cia procesu po dosiahnut¡ isteho stavu atÔ.) a fyzick  podstata inform ci¡ (napr. "modrì dod vkovì list"). Logick‚ DFD opisuj£ co syst‚m rob¡, priŸom sa abstrahuje od toho, ako syst‚m realizuje po§adovan‚ funkcie. Na tejto £rovni sa neuva§uj£ casov‚ z vislosti, ako aj materi lna podstata inform ci¡. 3.3. édajov‚ slovn¡ky --------------------- édajov‚ slovn¡ky predstavuj£ prostriedok na uchov vanie r“znorodìch inform ci¡ o analyzovanom alebo navrhovanom syst‚me. Medzi hlavn‚ uchov van‚ inform cie partia inform cie o entit ch (produktoch a komponentoch produktov jednotlivìch techn¡k), ktor‚ sa pri analìze alebo n vrhu syst‚mu pou§ili, ako aj inform cie o pou§ivate–skìch a n vrhovìch ohraniŸeniach, pseudok¢d opisuj£ci proces, n vrhy pou§ivate–skìch rozhran¡ atÔ. Vytv ranie £dajovìch slovn¡kov je nevyhnutn‚ pri v„csich softv‚rovìch projektoch. D“le§it‚ pri vytv ran¡ slovn¡kov je, §e treba dodr§iavaœ n vrhov£ discipl¡nu a ka§d£ nov£ entitu automaticky vlo§iœ do slovn¡ka a pop¡saœ. édajov‚ slovn¡ky s£ podstatnou s£casœou dokument cie vytv ran‚ho syst‚mu. Pre ka§d£ entitu s£ v slovn¡ku uchov van‚ specifick‚ inform cie o nej. Jedn  sa najm„ o popis danej entity, jej vlastnosti, miesto jej vìskytu, jej kauz lne v„zby k Ôalçim entit m, ale najm„ v„zby k pou§ivate–skìm a n vrhovìm po§iadavk m. Tieto kauz lne v„zby pom haj£ identifikovaœ tie Ÿasti syst‚mu, ktor‚ je potrebn‚ prepracovaœ pri modifik cii niektorej z tìchto po§iadaviek vyplìvaj£cich z potrieb £dr§by syst‚mu. édajov‚ slovn¡ky m“zu byœ udr§iavan‚ v r“znej forme. Jedn  sa najm„ o ich udr§iavanie vo forme rozsiahlej dokument cie "na papieri", ako aj vo forme poŸitaŸovìch s£borov v CASE syst‚moch. Obe tieto formy uchov vania d tovìch slovn¡kov s£ ekvivalentn‚. 3.4. Entitno-funkŸn‚ matice --------------------------- Technika entitno-funkŸnìch mat¡c tvor¡ rozhranie medzi funkŸnou a d tovou analìzou. Jej cie–om je identifik cia vzœahov medzi funkciami (procesmi) a d tovìmi entitami uchov vanìmi v entit ch typu data-store. Pri vytv ran¡ entitno-funkŸnej matice sa mnohokr t vych dza z £dajov‚ho slovn¡ka. Vytvor¡ sa tabu–ka, ktorej riadky predstavuj£ udajov‚ strukt£ry a st’pce predstavuj£ jednotliv‚ procesy. Jednotliv‚ prvky tabu–ky m“zu byœ vyplnen‚ jednìm z nasledovnìch p¡smen, ak danì proces urŸitìm sp“sobom ovplyvåuje dan£ d tov£ entitu: I - £dajov  strukt£ra je vkladan  (vytv ran ) danìm procesom R - £dajov  strukt£ra je spr¡stupåovan  (Ÿitan ) danìm procesom M - £dajov  strukt£ra je modifikovan  danìm procesom D - £dajov  strukt£ra je danìm procesom zruçen  A - £dajov  strukt£ra je archivovan  danìm procesom Entitno funkŸn  matica sl£zi na analìzu doposia– vytvorenej çpecifik cie syst‚mu a pou§iva sa na jej valid ciu. Pre ka§d£ udajov£ strukt£ru (entitu) je potrebn‚ identifikovaœ celì jej §ivotnì cyklus, tzn. procesy ovplyvåuj£ce vytvorenie, modifik ciu, pou§ivanie a zruçenie danej entity. Ak u nejakej entity tento celì zivotnì cyklus nie je mo§n‚ identifikovaœ, pravdepodobne je v çpecifik cii syst‚mu chyba. Pr¡klad entitno-funkŸnej matice pre probl‚m spracovania reklam ci¡ je na OBR.3.5. OBR.3.5. - entitno-funkŸn  matica Z entitno-funkŸnej matice na OBR.3.5. je vidno, §e pre entitu "spracovan‚ reklam cie" nie je definovan  oper cia zruçenia. Znamen  to, §e uveden  analìza probl‚mu m“ze byœ ne£pln , preto§e uveden  entita v syst‚me iba vznik  a m“ze sp“sobiœ probl‚m so zaplnen¡m dostupn‚ho pam„tov‚ho priestoru. 3.5. Graf §ivotn‚ho cyklu ent¡t ------------------------------- Technika §ivotn‚ho cyklu entity £zko nadv„zuje na entitno-relaŸn‚ matice. Riadok v tejto matici definuje akìm sp“sobom je dan  entita ovplyvnen  jednotlivìmi procesmi (funkciami). Popisuje sekvenciu, v ktorej s£ funkcie na dan£ entitu aplikovan‚, alebo stavy, v ktorìch je mo§n‚ dan£ funkciu aplikovaœ. Tieto inform cie umo§nuje reprezentovaœ technika grafu §ivotn‚ho cyklu entity, ktorì sa vytv ra pre ka§d£ entitu z entitno-relaŸnej matice. Prvkami grafu §ivotn‚ho cyklu entity s£ procesy, ktor‚ transformuj£ stavy spracovania danej entity, ako aj vlastn‚ stavy spracovania danej entity. Tieto stavy m“zu byœ nazvan‚ menom, alebo jednoducho oŸislovan‚. Stavy v grafe urŸuj£ podmienky aplikovate–nosti jednotlivìch funkci¡. Technika §ivotn‚ho cyklu entity je pou§ivan  k valid cii çpecifik cie. Vytv ranie grafov umo§nuje identifikovaœ chìbaj£ce inform cie o Ÿasovan¡ a z vislostiach jednotlivìch procesov, ktor‚ s£ nevyhnutn‚ k spr vnej analìze vytv ran‚ho syst‚mu. Grafy §ivotn‚ho cyklu ent¡t s£ ilustrovan‚ na OBR.3.6. a OBR.3.7. OBR.3.6. - graf §ivotn‚ho cyklu pre nespracovan‚ rekl macie OBR.3.7. - graf §ivotn‚ho cyklu pre spracovan‚ reklam cie Grafy §ivotn‚ho cyklu programu umo§nuje analytikovi zameraœ sa na konkr‚tnu entitu a analyzovaœ vçetky funkcie a ich Ÿasovanie, ktor‚ t£to entitu ovplyvåuj£. 3.6. Rozhodovacie tabu–ky ------------------------- Rozhodovacie tabu–ky predstavuj£ techniku umo§nuj£cu zoskupovaœ akcie, ktor‚ maj£ byœ syst‚mom vykon van‚, spolu s podmienkami, za ktorìch je mo§n‚ tieto akcie vykonaœ. Rozhodovacia tabu–ka pozost va zo çtyroch Ÿast¡: - horn  lav  casœ pozost va z podmienok. Tieto podmienky s£ vyjadren‚ ako tvrdenia, ktorìm je mo§n‚ priradiœ hodnotu. Hodnota m“ze byœ buÔ logick  ( no/nie), alebo numerick  (poŸet det¡), alebo in . - horn  prav  casœ pozost va z kombin ci¡ hodn“t pre jednotliv‚ podmienky. - doln  lav  casœ pozost va z akci¡, ktor‚ s£ syst‚mom vykon van‚ - doln  prav  casœ pre ka§d£ akciu obsahuje X pre ka§dì st’pec, vyjadruj£ci podmienky, za ktorìch je dan  akcia aplikovate–n . Pr¡nos pou§itia rozhodovac¡ch tabuliek spoŸiva v dvoch aspektoch. Tìm prvìm je mo§nosœ analìzy £plnosti, konzistentnosti a jednoznaŸnosti inform ci¡ obsiahnutìch v çpecifik cii z h–adiska spojenia akci¡ a podmienok ich aplikovate–nosti. Druhìm pr¡nosom je, §e v rozhodovacej tabu–ke sa m“zu vyskytovaœ iba çtyri typy chìb: ne£plnosœ, protireŸivosœ, redundancia a viacznaŸnosœ, Ÿim sa zjednoduçuje analìza rozhodovac¡ch tabuliek. - ne£plnosœ znamen , §e urŸit‚ pravidl  chìbaj£, tzn. logika vyhodnotenia je ne£pln . Ne£plnosœ je mo§n‚ identifikovaœ n jden¡m takej kombin cie hodn“t podmienok, ktor  nie je pokryt  ziadnou z akci¡. Znamen  to, §e v urŸitej kombin cii podmienok by pre syst‚m nebola definovan  ziadna akcia, ktor£ m  vykonaœ. - protireŸivosœ mo§no rozdeliœ na prorireŸivosœ v akci ch a protireŸivosœ v podmienkach. ProtireŸivosœ v akci ch znamen , §e pri rovnakej podmienke je mo§n‚ aplikovaœ viacero akci¡. Znamen  to, §e v danom stave je mo§n‚ aplikovaœ viacero akci¡, Ÿi§e zav dza sa nedeterminizmus. Tieto pravidl  je potrebn‚ opraviœ. ProtireŸivosœ v podmienkach znamen , §e pravidl  sa l¡sia iba v jednej podmienke, priŸom akcia je rovnak . Pre tieto pravidl  je mo§n‚ vykonaœ kompresiu. - redundancia znamen , §e viacer‚ pravidl  maj£ aktivuj£ rovnak‚ akcie za rovnakìch podmienok. V praxi to znamen , §e uveden‚ pravidl  s£ ekvivalentn‚, tzn. pou§ivate–sk‚ inform cie s£ redundantn‚. - viacznaŸnosœ znamen , §e skompresovan  tabu–ka obsahuje skryt‚ protireŸenia a redundancie. Pr¡klad £plnej rozhodovacej tabu–ky je na OBR.3.8. OBR.3.9. ilustruje rovnak£ rozhodovaciu tabu–ku po kompresii. OBR.3.8. - £pln  rozhodovacia tabu–ka OBR.3.9. - rozhodovacia tabu–ka po kompresii Vìznamnou vlastnosœou rozhodovac¡ch tabuliek je mo§nosœ ich hierarchick‚ho sp jania, ktor‚ umo§nuje zachytiœ i komplexn‚ syst‚my. Toto spojenie je mo§n‚ vlo§en¡m akcie "Prejdi na tabu–ku... " medzi akcie v nadradenej tabu–ke. Rozhodovacia tabu–ka sa pri analìze syst‚mu pou§iva pomerne Ÿasto. Jej vìhodou je presnì form t pre vyjadrenie vzœahov medzi akciami a podmienkami. Pou§itie rozhodovacej tabu–ky n£ti analytika vytv raœ specifik ciu, ktor  je logicky £pln  a preto je mo§n‚ nekonzistencie identifikovaœ pomerne skoro. Rozhodovaciu tabu–ku je mo§n‚ pou§iœ rovnako na verifik ciu po§idaviek na procesy, ako aj ako technick£ specifik ciu pre program torov. Rozhodovacie tabu–ky vyzeraj£ pomerne jednoducho. Vytv ranie zlo§itejçej tabu–ky je vçak Ÿasovo n roŸn‚ a vy§aduje viacero cyklov spresåovania. Pri pr ci s pou§ivate–mi pou§itie rozhodovac¡ch tabuliek m“ze priniesœ probl‚my. Pou§ivatelia m“zu byœ strukt£rou tabu–ky vedenì k preçpecifikovaniu po§iadaviek uv dzan¡m kombin ci¡ podmienok, ktor‚ s£ s¡ce logicky mo§n‚, ale z h–adiska analyzovan‚ho syst‚mu nerelevantn‚. 3.7. Analìza zaœa§enia ---------------------- Analìza zaœa§enia (Workload Analysis Chart) umo§nuje identifik ciu a popis najd“le§itejçich transakci¡, ktor‚ vykon va analyzovanì alebo navrhovanì syst‚m. Cie–om tejto techniky je zoskupenie vçetkìch transakci¡ a n sledn‚ho odvodenia odhadu vìpoŸtov‚ho zaœa§enia a odozvy syst‚mu na jednotliv‚ transakcie. Analìza zaœa§enia umo§nuje odhad zachovania kritickìch atrib£tov eçte pred vlastnou implement ciou jednotlivìch transakci¡, pre ktor‚ s£ tieto kritick‚ atrib£ty definovan‚. Po§adovan‚ udaje o transakci ch sa usporad£vaj£ do tabuliek, v ktorìch ka§dì riadok zodpoved  konkr‚tnej transakcii. Pre ka§d£ transakciu je mo§n‚ definovaœ jej nasledovn‚ charakteristiky, reprezentovan‚ st’pcami tabu–ky: - meno transakcie - typ transakcie (on-line, batch) - zlo§itosœ (jednoduch , strednej zlo§itosti, zlo§it ) - zdroj aktiv cie - rozsah transakcie a v r mci neho: - rozsah naŸitavanìch £dajov - rozsah zapisovanìch £dajov - rozsah uchov vanìch £dajov - frekvencia aktiv cie priemern , ako aj çpiŸkov  - po§adovan  doba odozvy (okam§it , alebo poŸas noŸn‚ho spracovania) - pr¡p. podmienka, kedy mo§no transakciu aktivovaœ Technika analìzy zaœa§enia umo§nuje u§ v poŸiatkoch analìzy syst‚mu identifikovaœ rozsah spracov vanìch inform ci¡ a tìm definovaœ vìkonov‚ po§iadavky na vìpoŸtovì syst‚m. Sl£zi taktie§ na upresnenie po§iadaviek na jednotliv‚ transakcie, ktor‚ doposia– nemuseli byœ analyzovan‚ tak podrobne. T£to techniku mo§no z tohoto d“vodu vyu§iœ pre kompletiz ciu po§iadaviek v çpecifik cii. Ilustr cia vìsledku analìzy pre transakciu spracovania reklam cie je uveden  na OBR.3.10. OBR.3.10. analìza zaœa§enia - pre oper ciu spracovania reklam cie 3.8. Stavov‚ diagramy --------------------- Stavov‚ diagramy s£ prostriedkom pre vyjadrenie kauz lnych a Ÿasovìch s£vislost¡ (n slednosti) akci¡ a stavov v syst‚me. Stavovì diagram bìva reprezentovanì orientovanìm grafom, kde vrcholy reprezentuj£ jednotliv‚ stavy syst‚mu alebo stavy vybran‚ho podsyst‚mu. Mo§n‚ prechody medzi stavmi s£ reprezentovan‚ orientovanìmi hranami vych dzaj£cimi z urŸit‚ho stavu a konŸiace v nasleduj£com stave. Prechodov‚ hrany s£ oznaŸen‚ nasledovnìmi £dajmi: - podmienka, na ktor£ je viazanì prechod medzi danìmi stavmi. Touto podmienkou zv„csa bìva identifik cia istej udalosti, ktor  v danom stave iniciuje prechod do dan‚ho stavu. - akcia, ktor  sa m  aktivovaœ pro prechode medzi dvoma stavmi. T to akcia v koneŸnom d“sledku sp“sob¡ transform ciu stavu syst‚mu do stavu reprezentovan‚ho cie–ovìm vrholom danej hrany. V„csinou touto akciou bìva jedna z transakci¡. Stavov‚ diagramy je mo§n‚ vo vçeobecnosti rozdeliœ na deterministick‚ a nedeterministick‚. U deterministickìch stavovìch diagramov existuje v ka§dom stave pri zadanej podmienke iba jeden prechod k nasleduj£cemu stavu. U nedeterministickìch stavovìch diagramov existuje v danom stave za danej podmienky viacero prechodov k r“znym nasleduj£cim stavom. Znamen  to, §e pre danì stav a dan£ podmienku nie je mo§n‚ jednoznaŸne urŸiœ nasledovnì stav. Nedeterminizmu sa pri opise softv‚rovìch syst‚mov stavovìmi diagramami sna§ime vyhn£t. Stavov‚ diagramy s£ ve–mi ob–ubenou a pou§ivanou technikou najm„ pri analìze vz jomnìch s£vislost¡ jednotlivìch Ÿinnost¡ syst‚mu. Pri tvorbe stavov‚ho diagramu sa Ÿastokr t zist¡ ne£plnosœ specifik cie syst‚mu. Niektor‚ modifik cie stavovìch diagramov pou§ivaj£ aj hierarchickì pr¡stup k tvorbe stavovìch diagramov. V takomto stavovom diagrame reprezentuje danì stav Ôalçi stavovì diagram, ktorì m  definovanì poŸiatoŸnì stav (ktorì je pri prechode do dan‚ho stavu na vyçsej hiararchickej £rovni) a koncovì stav (je mo§nì prechod ddo Ôalçieho stavu na vyçsej hierarchickej £rovni). Stavov‚ diagramy sa okrem analìzy pou§ivaj£ i pri n vrhu. Typickìm, pr¡kladom je n vrh pou§ivate–skìch rozhran¡. Pr¡klad n vrhu jednoduch‚ho pou§ivate–sk‚ho rozhrania je ilustrovanì na OBR.3.11., hoci na tomto obr zku s£ definovan‚ iba podmienky prechodu medzi stavmi, nie akcie vykon van‚ pri tomto prechode. OBR.3.11. 3.10. Entitno-relaŸn‚ diagramy ------------------------------ Modelovanie £dajov predstavuje mno§inu techn¡k poskytuj£cich grafick‚ prostriedky pre opis çtrukt£ry a vz jomnìch vzœahov medzi £dajmi v syst‚me. Modelovanie £dajov sa niekedy uprednoståuje pred modelovan¡m syst‚mu (DFD), preto§e çtrukt£ra spracov vanìch £dajov bìva v Ÿase pomerne m lo modifikovan , zatia– co funkŸn  charakteristika syst‚mu sa m“ze podstatnìm sp“sobom meniœ. édaje v syst‚me s£ obrazom inform ci¡ vznikaj£cich a spracov vanìch v organiz cii, pre ktor£ sa danì softv‚rovì produkt vyv¡ja. Tieto inform cie maj£ svoje çpecifick‚ charakteristiky a vz jomn‚ s£vislosti. Cie–om d tovej analìzy a vytvorenia d tov‚ho modelu je zabezpeŸenie transform cie vçetkìch potrebnìch inform ci¡ do £dajovìch çtrukt£r a n vrh Ÿo najvhodnejçieho sp“sobu uchov vania tìchto inform ci¡ z h–adiska ich n sledn‚ho spracovania. D tov‚ modelovanie £zko s£vis¡ s n slednìm n vrhom sch‚my datab zy. D tov‚ modelovanie vy§aduje identifik ciu z kladnìch d tovìch ent¡t reprezentuj£cich spracov van‚ inform cie a ich vz jomnìch vzœahov. S d tovìm modelovan¡m s£vis¡ normaliz cia £dajovìch çtrukt£r zameran  k elimin cii redundancie, zabezpeŸenia £dajovej nez vislosti a jednoznaŸn‚ho pr¡stupu k £dajom. Pou§ivanìmi technikami s£ entitno-relaŸn‚ diagramy, d tov‚ modely a normaliz cia. Vhodne navrhnutì d tovì model m“ze podstatne u–ahŸiœ n sledn£ realiz ciu syst‚mu. Vlastnosti "dobr‚ho" d tov‚ho modelu je mo§n‚ zhrn£t nasledovne: - dobrì d tovì model m  byœ jednoduchì (d tov‚ elementy obsiahnut‚ v urŸitej entite sa maj£ vzœahovaœ iba k danej entite). - dobrì d tovì model mus¡ byœ neredundantnì (d tovì element m  popisovaœ iba jednu entitu) - dobrì d tovì model mus¡ byœ flexibilnì a adaptabilnì. Entitno-relaŸn‚ diagramy (Ôalej aj ERD) s£ prvou z pou§ivanìch techn¡k pre modelovanie £dajov. ERD s£ grafickìm prostriedkom pre vyjadrenie £dajovìch ent¡t a vzœahov medzi nimi. Cie–om pou§itia ERD je definovanie £dajovìch ent¡t v analyzovanom, resp. navrhovanom syst‚me a identifik cia vz jomnìch vzœahov medzi tìmito entitami na kvalitat¡vnej £rovni. Na rozdiel od DFD, ERD nezachycuj£ tok spracovania £dajov. Nemo§no ich preto "Ÿitaœ" ako DFD, alebo vìvojov‚ diagramy. Hoci ERD s£visia s modelovan¡m £dajov, nezachycuj£ proces vzniku, modifik cie a z niku £dajovìch ent¡t. ERD obsahuj£ dva typy objektov: £dajov‚ entity a vzœahy medzi £dajovìmi entitami. édajov  entita m“ze reprezentovaœ ak£ko–vek uchov van£ inform ciu. Entita v„csinou reprezentuje viacero vìskytov objektu dan‚ho typu v re lnom prostred¡. Ako pr¡klad je mo§n‚ uviesœ entitu reprezentuj£cu inform cie o pracovn¡koch firmy. Tieto inform cie m“zu byœ vo vytv ranom syst‚me reprezentovan‚ pomocou z znamov, priŸom pre ka§d‚ho pracovn¡ka existuje samostatnì z znam. V d tovom modele bude t£to mno§inu £dajov reprezentovaœ jedin  d tov  entita, reprezentuj£ca mno§inu z znamov tohoto typu. édajov‚ entity s£ v ERD reprezentovan‚ ako uzly v grafe. édajov‚ entity s£ pomenovan‚ podstatnìmi menami popisuj£ccimi objekt reprezentovanì danou entitou (napr. nespracovan  reklam cia, spracovan  reklam cia) édajov‚ entity reprezentuj£ strukt£rovan£ inform ciu. Pre z pis tejto çtrukt£ry je mo§n‚ pre ka§d£ entitu definovaœ £dajov‚ elementy. Vo v„csine pr¡padov aspoå jeden £dajovì element (alebo aj kombin cia viacerìch £dajovìch elementov) m  jedineŸn£ hodnotu charakterizuj£cu dan£ udajov£ entitu. Takìto element, resp. kombin cia elementov sa nazìva k–uc. ætrukt£ra £dajovej entity pre inform ciu o "tovare na sklade" je ilustrovan  na OBR.3.12. OBR.3.12. çtrukt£ra £dajovej entity Vzœahy medzi entitami reprezentuj£ prirodzen‚ vzœahy medzi inform ciami reprezetovanìmi danìmi entitami. Vzœahy medzi entitami s£ v ERD reprezentovan‚ samostatnìm vrcholom grafu, ktorì je vlo§enì medzi uzly grafu reprezentuj£ce entity tohoto vzœahu. Vrcholy reprezentuj£ce vzœahy medzi entitami bìvaj£ pomenovan‚, priŸom na pomenovanie sa v„csinou pou§ivaj£ sloves . Ka§dì takìto vzœah m“ze obsahovaœ podrobnejçi popis, reprezentuj£ci podstatu dan‚ho vzœahu z h–adiska pou§ivate–sk‚ho poh–adu na vzœah medzi danìmi entitami. D“le§itou charakteristikou ka§d‚ho vzœahu je po§iadavka kvantifik cie, tzn. stanovenia poŸtu vìskytov urŸitej d tovej entity pre jedinì exempl r druhej d tovej entity vo vzœahu. Tieto vzœahy s£ typu: - 1 ku 1 pre jeden vìskyt prvej entity vo vzœahu m“ze existovaœ iba jeden vìskyt druhej entity, a naopak - 1 ku M pre jeden vìskyt prvej entity vo vzœahu m“ze exitovaœ ve–a vìskytov druhej ent¡ty - M ku N pre jeden vìskyt prvej entity vo vzœahu m“ze exitovaœ ve–a vìskytov druhej ent¡ty a pre jeden vìskyt druhejej entity vo vzœahu m“ze exitovaœ ve–a vìskytov prvej entity Kvantifik cia vzœahov v ERD je vyjadren  priraden¡m oznaŸenia (1 alebo M) hran m sp jaj£cim vrchol reprezentuj£ci danì vzœah s uzlami reprezentuj£cimi jednotliv‚ entity. Pr¡klady entitno-relaŸnìch diagramov s£ ilustrovan‚ na OBR.3.13. OBR.3.13. pr¡klady entitno-relaŸnìch diagramov Ka§dì vzœah v ERD je mo§n‚ interpretovaœ obojsmerne. Inform cie z entitno-relaŸnìch diagramov ilustrovanìch na OBR.3.13. je preto mo§n‚ citaœ nasledovne: 1. Ku ka§dej dod vke m“ze existovaœ najviac jedna (tzn. 0 alebo 1) reklam cia Ku ka§dej reklam cii existuje pr ve jedna dod vka. 2. Ka§d  fakt£ra m“ze obsahovaœ viacero faktur ci¡ dod vok. Ka§d  faktur cia dod vky m“ze byœ obsiahnut  pr ve v jednej fakt£re. 3. ætudent navçtevuje viacero kurzov. Kurz je navçtevovanì viacerìmi çtudentami. 4. Modul obsahuje viacer‚ moduly. Modul je obsiahnutì vo viacerìch moduloch. 3.10. D tov‚ modely ------------------- D tov‚ modely vyjadruj£ kvantitat¡vnu str nku modelu £dajov. Na rozdiel od ERD sa v d tovìch modeloch (pou§iva sa aj oznaŸenie DMD) nepriraÔuj£ vzœahom çpeci lne uzly, ale vzœahy medzi entitami identifikovanìmi v ERD sa reprezentuj£ hranami. Z poh–adu optimaliz cie d tov‚ho modelu s£ postaŸuj£ce iba kvantitat¡vne aspekty modelu £dajov a vynechanie uzlov reprezentuj£cich vzœahy medzi entitami vedie k spreh–adneniu tohoto modelu. ERD reprezentuje pou§ivate–skì poh–ad na çtrukt£ru spracov vanìch inform ci¡, obsahuj£ci aj s‚mantiku vzœahov v tomto modele. D tovì model vyjadruje analytickì a n vrh rsky poh–ad na t£to çtrukt£ru £dajov, v ktorom s‚mantika vzœahov medzi entitami nie je potrebn . Na reprezent ciu vzœahov medzi d tovìmi entitami sa vyu§iva viacero not ci¡. Najpou§ivanejçie not cie s£ ilustrovan‚ na OBR.3.14. OBR.3.14. not cie pre d tov‚ modely Ilustr cia d tov‚ho modelu pre probl‚m jednoduch‚ho skladov‚ho hospod rstva a z sielkovej slu§by v Bachmanovej not cii je na OBR.3.15. OBR.3.15. d tovì model D tovì model ilustrovanì na OBR.3.15. je mo§n‚ "Ÿitaœ" nasledovne: 1. Pre jednu entitu typu z kazn¡k m“ze existovaœ viacero ent¡t typu objedn vka. Pre jednu entitu objedn vka existuje pr ve jedna entita typu z kazn¡k 2. Pre jednu entitu typu z kazn¡k m“ze existovaœ viacero ent¡t typu reklam cia. Pre jednu entitu reklam cia existuje pr ve jedna entita typu z kazn¡k 3. Pre jednu entitu typu objedn vka existuje pr ve jedna entita typy reklam cia. Pre jednu entitu typu reklam cia existuje pr ve jedna entita typy objedn vka. 4. Pre jednu entitu typu objedn vka m“ze existovaœ viacero ent¡t typu tovar. Pre jednu entitu tovar m“ze existovaœ viacero ent¡t typu objedn vka. 5. Pre jednu entitu typu reklam cia m“ze existovaœ viacero ent¡t typu tovar. Pre jednu entitu tovar m“ze existovaœ viacero ent¡t typu reklam cia. 3.11. Normaliz cia ------------------ ætrukt£ra £dajov a d tovì model navrhnutì pou§ivate–om nie v§dy zodpoved  po§iadavk m na efekt¡vne uchov vanie a spracov vanie inform ci¡. Z tohoto d“vodu sa prev dza transform cia tohoto modelu do modelu, ktorì tieto po§iadavky sp’na. T to transform cia sa nazìva normaliz ciou d tov‚ho modelu. Normaliz cia predstavuje postupn£ proced£ru transform cie d tov‚ho modelu do jednotlivìch norm lnych foriem. V praxi sa pou§ivaj£ nasledovn‚ druhy norm lnych foriem: - 1. norm lna forma - 2. norm lna forma - 3. norm lna forma Teoreticky bola odvoden  eçte aj 4. a 5. norm lna forma, ktor‚ sa vçak v praxi nepou§ivaj£. Cie–om normaliz cie je postupn  transform cia £dajov do 3. norm lnej formy, ktor  sa z h–adiska efekt¡vnosti uchov vania a spracov vania inform ci¡ pova§uje sa dostatoŸn£. TRANSFORMµCIA DO 1. NORMµLNEJ FORMY ----------------------------------- Transform ciu £dajov‚ho modelu do 1. norm lnej formy budeme ilustrovaœ na pr¡klade. Majme £daje o objedn vkach kn¡h organizovan‚ tak, ako ilustruje OBR.3.16. OBR.3.16. neçtrukt£rovan‚ udaje pred transform ciou do 1. NF Pre popis transform cie £dajov‚ho modelu do norm lnych foriem pre jednoduchosœ zavedieme nasledovn£ terminol¢giu: tabu–ka bude reprezentovaœ typ d tovej entity riadok tabu–ky bude reprezentovaœ inçtanciu d tovej entity st’pec tabu–ky bude reprezentovaœ d tovì element v entite Transform cia £dajov do prvej norm lnej formy s£vis¡ s odstr nen¡m opakuj£cich sa st’pcov v tabu–k ch. Opakovaœ sa m“ze buÔ jednotlivì st’pec, alebo skupiny st’pcov. V pr¡klade na OBR.3.16. sa jedn  o opakovanie st’pcov s n zvami "Meno", "ISBN", "N zov", "Autor", "Cena", "Mno§stvo" a "Suma". Transform cia do prvej norm lnej formy sa d  op¡saœ nasledovnìm algoritmom: Opakuj£ca skupina st’pcov sa vyjme z tabu–ky a vytvor¡ sa nov  tabu–ka. K–ucom novej tabu–ky bude k–uc zlo§enì k–uc pozost vaj£ci z k–uca p“vodnej tabu–ky rozçirenì o jednu, resp. i viacero opakuj£cich sa st’pcov. V konkr‚tnom pr¡pade je mo§n‚ z p“vodnej tabu–ky vytvoriœ dve tabu–ky, jednu reprezentuj£cu z kazn¡kov a druh£ objednan‚ knihy. K–ucom pre tabu–ku z kazn¡kov (zvyçok p“vodnej tabu–ky) je Ÿislo z kazn¡ka. Kl£com pre tabu–ku objedn vok (novo vytvoren  tabu–ka) bude zlo§enì k–uc pozost vaj£ci zo st’pcov "¬islo z kazn¡ka" a "ISBN". Ilustr cia vìsledku transform cie je na OBR.3.17. OBR.3.17. - tabu–ky po transform cii do 1. NF Tabu–ky v 1.NF neobsahuj£ opakuj£ce sa mno§iny st’pcov. Ka§dì riadok tabu–ky (reprezentuj£ci inçtanciu urŸit‚ho typu) m  rovnakì poŸet st’pcov a ka§dì st’pec reprezentuje hodnoty rovnak‚ho typu. Probl‚mom s £dajmi v 1.NF je funkŸn  z vislosœ jednotlivìch d tovìch elementov (st’pcov). Tento pojem znamen , §e element A sa mus¡ meniœ s£casne s elementom B, inak by bola poruçen  d tov  integrita. Tento probl‚m rieçi 2.NF. TRANSFORMµCIA DO 2. NORMµLNEJ FORMY ----------------------------------- Entity £dajov‚ho modelu v 2.NF sa vyznaŸuj£ vlastnosœou, §e ka§dì element (st’pec tebu–ky) je z vislì na celom k–uci. Normaliz cia do 2.NF sa prev dza iba pre tabu–ky so zlo§enìmi k–ucmi. Pre tabu–ky s jednoduchìmi k–ucmi znamen  normaliz cia do 2.NF mo§n‚ rozçtepenie tabu–ky. Transform ciu £dajovìch çtrukt£r z 1.NF do 2.NF je mo§n‚ pop¡saœ nasledovne: Ak v urŸitej tabu–ke zist¡me, §e niektorì st’pec je z vislì iba na Ÿasti k–uca tabu–ky, tento st’pec vyjmeme do samostatnej tabu–ky. K–ucom tejto tabu–ky sa stane t  casœ k–uca p“vodnej tabu–ky, na ktorej je danì st’pec z vislì. V naçom pr¡klade sa jedn  o tabu–ku objedn vok. Jej k–ucom je zlo§enì k–uc pozost vaj£ci zo st’pcov "¬islo z kazn¡ka" a "ISBN". Analyzujme postupne z vislosœ jednotlivìch st’pcov na komponentoch k–uca: "Titul" - z vis¡ iba na st’pci "ISBN" "Autor" - z vis¡ iba na st’pci "ISBN" "Cena" - z vis¡ iba na st’pci "ISBN" "Mno§stvo" - z vis¡ na st’pcoch "¬islo z kazn¡ka" aj "ISBN" "Suma" - z vis¡ na st’pcoch "¬islo z kazn¡ka" aj "ISBN" Vìsledkom normaliz cie bude teda rozçtiepenie tabu–ky s objedn vkami na dve tabu–ky: tabu–ku objedn vok, v ktorej z p“vodnej tabu–ky ostan£ st’pce ,Cislo z kazn¡ka", "ISBN", "Mno§stvo" a "Suma" a nov£ tabu–ku kn¡h, do ktorej sa presun£ st’pce "ISBN", "Titul", "Autor" a "Cena". Vìsledok je ilustrovanì na OBR.3.18. OBR.3.18. tabu–ky po transform cii do 2.NF TRANSFORMµCIA DO 3. NORMµLNEJ FORMY ----------------------------------- Transform cia £dajov‚ho modelu do 3.NF znamen  odstr nenie funkŸnìch v„zieb medzi st’pcami, ktor‚ nie s£ s£casœou k–uca. Tabu–ka v 3.NF m  t£ vlastnosœ, §e vçetky st’pce s£ z visl‚ iba od k–uca a nie s£ z visl‚ od §iadneho in‚ho st’pca. Transform ciu tabu–ky do 3.NF je mo§n‚ pop¡saœ nasledovne: Postupne sa analyzuj£ vçetky nek–ucov‚ st’pce tabu–ky. Pre vçetky st’pce sa testuje ich z vislosœ na inìch nek–ucovìch st’pcoch. T£to z vislosœ je mo§n‚ testovaœ polo§en¡m nasledovnìch ot zok: 1. Je obsah st’pca X z vislì od obsahu st’pca Y, alebo naopak ? 2. Ak je zn ma hodnota st’pca X, existuje iba jedna mo§n  hodnota st’pca Y ? Ak je odpoveÔ aspoå na jednu z tìchto ot zok kladn , z visl  polo§ka sa z tabu–ky vyjme a vytvor¡ sa pre åu nov  tabu–ka s k–ucom, na ktorej obsahu je vybrat  polo§ka z visl . T to polo§ka (tvoriaca k–uc novej tabu–ky) s£casne ost va v p“vodnej tabu–ke. Testovanie transformovania tabuliek do 3.NF je mo§n‚ na z klade nasledovnìch ot zok: 1. Plat¡, §e pre jednu hodnotu k–uca tabu–ky v 3.NF existuje iba jedna mo§n  hodnota £dajov v danom st’pci? 2. S£ jednotliv‚ d tov‚ polo§ky priamo z visl‚ na hodnote k–uca? Tabu–ky ilustrovan‚ na OBR.3.18. s£ u§ priamo v 3.NF. Pre transform ciu do 3.NF preto uvedieme inì pr¡klad. Predpokladajme, §e objedn vka m  strukt£ru ilustrovan£ na OBR.3.19. Je zrejm‚, §e polo§ky (st’pce) "Meno odberate–a", "Adresa odberate–a" a "Telef¢n odberate–a" nie s£ z visl‚ na k–uci tvorenìm polo§kou "¬islo objedn vky". Vìsledkom normaliz cie je rozdelenie tabu–ky na dve tabu–ky (OBR.3.19), ktor‚ sp’naj£ podmienky 3.NF. OBR.3.19. transform cia do 3.NF KONSOLIDµCIA ------------ Konsolid cia d tov‚ho modelu je vyn£ten  mechanickìm charakterom procesu normaliz cie. Normaliz cia zoh–adåuje iba syntax jednotlivìch ent¡t a ich elementov, nie ich vìznam. V d tovom modele m“zu existovaœ synonym , tzn. d tov‚ elementy rovnak‚ho informaŸn‚ho obsahu, ale s r“znym menom. Prvìm krokom konsolid cie je preto identifik cia synonìm a ich nazvanie rovnakìm menom. Normaliz ciou a identifik ciou synonìm mohlo vznikn£t viacero tabuliek s identickìmi k–ucmi. élohou konsolid cie je spojiœ tieto tabu–ky do jednej tabu–ky s vyl£cen¡m redundantnìch (tzn. viacn sobnìch) d tovìch elementov. Preto§e sp jan¡m sa do vytv ranìch tabuliek mohli dostaœ i z visl‚ elementy, je potrebn‚ uplatniœ na takto vytv ran‚ tabu–ky test na pr¡sluçnosœ k 3.NF a na z klade tohoto testu vykonaœ dodatoŸn£ normaliz ciu do 3.NF. 3.12. ætrukt£rne diagramy ------------------------- ætrukt£rne diagramy je mo§n‚ zaradiœ k technik m vytv rania n vrhu syst‚movej architekt£ry. Cie–om çtrukt£rnych diagramov je zachytenie organiz cie syst‚mu alebo programu, ktor  bìva odv dzan  zo çpecifik cie vo forme DFD. Z kladnou jednotkou çtrukt£rneho diagramu je modul. Modul çtrukt£rneho diagramu je ch panì ako "Ÿierna krabiŸka" obsahuj£ca logiku transform cie vstupnìch £dajov na vìstupn‚. Ka§dì modul je oznaŸenì menom charakterizuj£cim jeho funkciu, priŸom k modulu m“ze byœ pripojenì podrobnejçi opis jeho funkcie. Komunik cia medzi modulmi reprezentuje vìmenu inform ci¡, resp. tok riadenia medzi jednotlivìmi komponentami analyzovan‚ho alebo vytv ran‚ho syst‚mu. Tieto inform cie m“zu maœ udajovì, alebo riadiaci charakter. Pri konçtrukcii çtrukt£rnych diagramov sa doporuŸuje dodr§iavaœ nasledovn‚ z sady: - n vrh reprezentovanì strukt£rnym diagramom by mal byœ vyv zenì, aby mal‚ zmeny v po§iadavk ch ovplyvnili iba obmedzen‚ mno§stvo modulov - je vhodn‚ identifikovaœ moduly, ktor‚ s£ v syst‚me Ÿasto pou§ivane (tzv. common modules) - moduly by mali maœ malì poŸet v„zieb na okolie a vysokì stupeå koh‚zie (vn£tornìch z vislost¡) - komunik cia je mo§n  iba medzi nadradenìmi a podradenìmi modulmi, nie medzi modulmi na rovnakej hierarchickej £rovni - men  modulov by mali vyjadrovaœ funkciu modulu a odr zaœ ich £lohu v hierarchii modulov - §iadny modul by nemal maœ viac ako 7 nasledovn¡kov (podriadenìch modulov) - hierarchie çtrukt£rneho diagramu nebìva vo v„csine pr¡padov hlbçia ako 4 £rovne Ilustr cia jednoduch‚ho çtrukt£rneho diagramu pre spracovanie bankovìch £ctov je na OBR.3.20. OBR.3.20. çtrukt£rny diagram Transform cia vìsledkov analìzy do çtrukt£rneho diagramu je pomerne zlo§itì proces. Pre vykonanie tejto transform cie sa pou§ivaj£ met¢dy transformaŸnej a transakŸnej analìzy. Pou§itie tìchto met¢d pop¡seme v samostatnìch Ÿastiach. TRANSFORMA¬Nµ ANALíZA --------------------- Met¢da transformaŸnej analìzy je urŸen  k transform cii vìsledkov analìzy syst‚mu çpecifikovanej pomocou DFD do çtrukt£rneho diagramu syst‚mu. Met¢du je mo§n‚ pop¡saœ ako sekvenciu nasledovnìch krokov: 1. vytvorenie DFD diaramov. Pre ka§dì DFD je potrebn‚ skontrolovaœ jasn‚ nazvanie procesov a d tovìch tokov. 2. identifik cia aferentnìch a eferentnìch Ÿast¡. Aferentn‚ vetvy zahråuj£ vçetky procesy a £dajov‚ toky, ktor‚ sl£zia pre pr¡pravu £dajov a neprev dzaj£ vlastn‚ spracovanie £dajov charakterizuj£ce podstatu syst‚mu, resp. subsyst‚mu pop¡san‚ho pomocou dan‚ho DFD (napr. spr¡stupåovanie a z¡skavanie £dajov a ich valid cia). Eferentn‚ vetvy DFD zahråuj£ vçetky procesy a £dajov‚ toky, v ktorìch £daje po plnom spracovan¡ s£ pripraven‚ na vìstup (napr. form tovanie, vìstup z modulu). 3. identifik cia centr lnej transakcie. OznaŸia sa najvn£tornejçie £dajov‚ toky v aferentnej aj eferentnej vetve. Vytvorenia sa prepojenia medzi £dajovìmi tokmi v aferentnej a eferentnej vetve a toto prepojenie identifikuje centr lnu transform ciu. Centr lna transform cia zahêna vçetky procesy definuj£ce z kladn£ funkciu syst‚mu. 4. produkcia prvotn‚ho çtrukt£rneho diagramu. ætrukt£rny diagram reprezentuje organiz ciu modulov syst‚mu do vertik lnej hierarchie. Na najvyçsej hierarchickej £rovni çtrukt£rneho diagramu je mo§n‚ vidieœ koreçpondenciu medzi modulmi a procesmi DFD. Procesy zahrnut‚ v centr lnej transform cii s£ preto vhodnìmi kandid tmi pre vrchol çtrukt£rneho diagramu. Vhodn‚ho kandid ta je potrebn‚ "vytiahnuœ" na vrchol hierarchie a ostatn‚ procesy umiestniœ na ni§sie hierarchick‚ urovne. Ak sa nepodar¡ n jsœ vhodn‚ho kandid ta, je mo§n‚ aplikovaœ strat‚giu "bring the boss from the outside", tzn. vlo§enie modulu vybrat‚ho mimo danì DFD, ktorì bude riadiœ pr cu ostatnìch modulov. V tomto bode sa identifikuj£ aj moduly, ktorìch pou§itie je çirçie (common moduly), tzn. m“zu byœ aktivovan‚ z viacerìch modulov). 5. prepracovanie çtrukt£rneho diagramu. Prvotnì strukt£rny diagram m“ze poruçovaœ viacero z sad pre ich konçtrukciu. Jednìm z probl‚mov v çtrukt£rnom diagrame m“ze byœ, §e urŸitì modul je nadradenì v„csiemu poŸtu Ôalçich modulov. V tomto pr¡pade je potrebn‚ vytvoriœ dalçi riadiaci modul (podriadenì p“vodn‚mu), ktorì bude nadradenì casti tìchto modulov. V tejto Ÿasti sa prev dza kontrola taktie§ koh‚zie a viazanosti modulov. Moduly, ktor‚ maj£ siln‚ vz jomn‚ v„zby je mo§n‚ spojiœ do jedn‚ho modulu. Naopak, modul, ktorì realizuje viacero nez vislìch funkci¡, je mo§n‚ rozdeliœ naviacero nez vislìch modulov. Do çtrukt£rneho diagramu sa na z ver dopln¡ tok riadenia. 6. kontrola n vrhu çtrukt£rneho diagramu. Pod kontrolou n vrhu çtrukt£rneho diagramu sa rozumie kontrola vybalancovania n vrhu. V pr¡pade, §e mal  zmena po§iadaviek sp“sob¡ z sadn‚ zmeny v çtrukt£rnom diagrame, je mo§n‚ vybraœ inì proces ako vrchol çtrukt£rneho diagramu. Proces transformaŸnej analìzy je ilustrovanì na OBR.3.21.a. a§ OBR.3.21.c. Na OBR.3.21.c. je çtrukt£rny diagram konkretizovanì zaveden¡m oper ci¡ vstupu a vìstupu £dajov, ktor‚ tvoria listy çtruk£rneho diagramu. OBR.3.21. TRANSAK¬Nµ ANALíZA ------------------ TransakŸn  analìza predstavuje prostriedok pre odvodenie çtrukt£rneho diagramu pre syst‚m spracov vaj£ci transakcie. Na rozdiel od transformaŸnej analìzy, ktorej vìchodiskou s£ DFD analyzovan‚ho syst‚mu, transakŸn  analìza vych dza z vykon vanìch transakci¡ (napr. z vìsledkov analìzy zaœa§enia). Charakteristikou v„csiny transakŸnìch syst‚mov je skutoŸnosœ, §e transakcie v„csinou zdie–aj£ mnoho spoloŸn‚ho k¢du. TradiŸnì n vrh takìchto syst‚mov bìva organizovanì okolo modulov spoloŸn‚ho k¢du a pou§iva prep¡naŸe pre nasmerovanie £dajov na k¢d çpecifickì pre dan£ transakciu. Na rozdiel od tohoto pr¡stupu sa transakŸn  analìza sna§i vytvoriœ samostatnì modul (alebo mno§inu modulov) pre ka§d£ transakciu. Vytvorenie çtrukt£rneho diagramu je mo§n‚ aplik ciou nasledovnìch krokov: 1. Pre ka§d£ syst‚mov£ transakciu sa vytvor¡ samostatnì modul. Ak vrchol çtrukt£rneho diagramu sa vytvor¡ tzn. transakŸn‚ centrum, ktor‚ bìva v diagrame zn zoråovan‚ kosoçtvorcom. TransakŸn‚ centrum sl£zi ako riadiaci modul pre aktiv ciu zodpovedaj£ceho modulu pre po§adovan£ transakciu. 2. Pre ka§dì transakŸnì modul sa vykon  jeho dekompoz¡cia na podraden‚ moduly. H–bka dekompoz¡cie nie je urŸen , z vis¡ od zlo§itosti konkr‚tnej transakcie. 3. Identifikuj£ sa spoloŸn‚ moduly pre realiz ciu identickìch aktiv¡t v r“znych transakci ch. Tieto moduly sa oznaŸia ako common a ponech  sa iba jeden ich vìskyt v çtrukt£rnom diagrame. Pr¡stupom transakŸnej analìzy je teda predpoklad o rozdielnosti vçetkìch modulov a§ pokia– sa preuk ze ich zhoda.4. ætrukt£rny diagram sa prekontroluje, Ÿi zodpoved  z sad m n vrhu çtrukt£rnych diagramov. V praxi bìva transakŸnìm centrom aktivovanìch ve–a transakŸnìch modulov. V tomto pr¡pade sa medzi transakŸn‚ centrum a dan‚ moduly vlo§ia fikt¡vne moduly, ktor‚ realizuj£ postupn‚ odovzd vanie riadenia jednotlivìm transakŸnìm modulom. 3.13. Vìvojov‚ diagramy ----------------------- Ve–k£ skupinu techn¡k tvoria techniky reprezentuj£ce z pis kostier procesov (process outlines). Tieto techniky zachyt vaj£ sp“sob dosahovania po§adovanej funkŸnosti procesov definovan¡m vzœahu riadenia a spracovania. Tieto techniky zachyt vaj£ algoritmus spracovania, ktorì je nez vislì od implement cie v konkr‚tnom programovacom jazyku. K skupine techn¡k pre z pis procesov patria prostriedky umo§nuj£ce reprezent ciu algoritmu spracovania rozmanitìmi sp“sobmi, od grafickej a§ po çtrukt£rovanì jazyk. Vìvojov‚ diagramy patria ku grafickìm prostriedkom reprezent cie riadenia procesu spracovania inform ci¡. Predstavuj£ jeden z prvìch prostriedkov, s ktorìmi program tori pr¡du do styku. ¬asto sa vìvojov‚ diagramy pova§uj£ za analytickì n stroj, ale ich miesto je v n vrhovej Ÿasti §ivotn‚ho cyklu softv‚rov‚ho syst‚mu. Vìvojov‚ diagramy predstavuj£ orientovan‚ grafy. Uzly reprezentuj£ r“zne druhy spracovania: - blok zaŸiatku. Na tomto mieste zaŸina spracovanie popisovan‚ vìvojovìm diagramom. Vo vìvojovom diagrame m“ze byœ iba jeden zaŸiatoŸnì blok. - blok konca. Reprezentuje bod, v ktorom spracovanie opisovan‚ danìm vìvojovìm diagramom konŸi. Jeden vìvojovì diagram m“ze maœ aj viacero koncovìch bodov, ktor‚ s£ ovçem ekvivalentn‚. Viacero koncovìch bodov sa zav dza z d“vodu zamedzenia zbytoŸn‚ho kri§ovania hr n v grafe a tìm zvìseniu preh–adnosti grafu. - jednoduchì blok spracovania. Aktivitu reprezentovan£ tìmto modulom je mo§n‚ pop¡saœ jednoduchìm pr¡kazom, resp. skupinou pr¡kazov. Typickìm pr¡kazom bìva priradenie. - vstupno-vìstupnì blok. Reprezentuje naŸitanie vstupov, resp. vìstup inform ci¡ zo syst‚mu - rozhodovac¡ blok. Reprezentuje vetvenie Ôalçej Ÿinnosti v z vislosti na vyhodnoten¡ urŸitej podmienky. - blok modulu spracovania. Reprezentuje aktiv ciu zlo§itejçej aktivity, ktor  bìva pop¡sanì samostatnìm vìvojovìm diagramom. Tomuto modulu zodpoved  aktiv cia podprogramu. - spojovac¡ bod. Mnohokr t bìva vìvojovì diagram nato–ko zlo§itì, §e ho nie je mo§n‚ umiestniœ na jeden dokument. V tomto pr¡pade sa umiestni na viacero dokumentov a prepojenie riadenia sa vykon  pomocou spojovac¡ch bodov. Grafick  reprezent cia uvedenìch modulov je ilustrovan  na OBR.3.22. Uveden‚ moduly zodpovedaj£ minim lnej potrebnej mno§ine pre opis spracovania. ¬astokr t bìva t to mno§ina rozçirovan  o Ôalçie moduly, napr. modul viac-cestn‚ho vetvenia. OBR.3.22. - grafick  reprezent cia blokov vo vìvojovom diagrame Hrany v orientovanom grafe reprezentuj£ tok riadenia. V tomto spoŸiva z sadnì rozdiel medzi vìvojovìmi diagramami a DFD, kde hrany reprezentuj£ tok £dajov. Riadenie pri spracovan¡ reprezentovanom vìvojovìm diagramom prech dza blokmi reprezentuj£cimi spracovanie v smere çipok. V pr¡pade vetvenia sa vyhodnot¡ podmienka a riadenie pokraŸuje vetvou zodpovedaj£cou logickej hodnote vyhodnotenej podmienky. Vìvojov‚ diagramy ve–mi Ÿasto predstvuj£ vìsledok n vrhovej etapy. Z vìvojovìch diagramov je priamo mo§n‚ prejsœ k implement cii, priŸom jeden vìvojovì diagram m“ze priamo reprezentovaœ proced£ru v cie–ovom programovacom jazyku. Vìznamnou charakteristikou vìvojovìch diagramov je mo§nosœ ich hierarchick‚ho zoskupovania. 3.14. Jacksonove diagramy ------------------------- Jacksonove diagramy s£ prostriedok pre grafick‚ zn zornenie procesu spracovania inform ci¡. Navrhnut‚ boli çpeci lne pre spracovanie £dajov, k Ÿomu s£ prisp“soben‚ i z kladn‚ konçtrukcie. Jacksonove diagramy podporuj£ strukt£rovan‚mu pr¡stupu k tvorbe programov zachov vaj£c pravidlo jedin‚ho vstupu a vìstupu pre ka§dì modul. Poskytuj£ nasledovn‚ z kladn‚ riadiace konçtrukcie: - vìkonnì blok - sekvencia - vetvenie - iter cia Uveden‚ konçtrukcie s£ postaŸuj£ce pre vyjadrenie ak‚hoko–vek spracovania nad £dajmi. Ich grafick‚ vyjadrenie je ilustrovan‚ na OBR.3.23. OBR.3.23. 3.15. AkŸn‚ diagramy -------------------- AkŸnì diagram predstavuje prostriedok pre grafick£ reprezent ciu hiararchickej çtrukt£ry programu, tzn. sp jaœ spolu s£visiace Ÿasti programu do hierarchicky çtrukt£rovanìch logickìch celkov. AkŸn‚ diagramy je mo§n‚ pou§ivaœ pri çtrukturaliz cii popisu postupu spracovania v prirodzenom jazyku s pou§it¡m z kladnìch riadiacich konçtrukci¡. Na najvyçsej £rovni abstrakcie m“ze akŸnì diagram predstavovaœ ekvivalent çtrukt£rneho diagramu. AkŸnì diagram organizuje akcie do spolu s£visiacich celkov. Z kladnìm symbolom akŸn‚ho diagramu je vertik lne ohraniŸenie uzatv raj£ce logicky s£visiace Ÿasti procesu spracovania do spoloŸn‚ho celku. Not cia pre vytv ranie akŸnìch diagramov je ilustrovan  na OBR.3.24. OBR.3.24. not cia pre akŸn‚ diagramy AkŸn‚ diagramy sa pou§ivaj£ podobne ako vìvojov‚ diagramy ako dokument pre çpecifik ciu n vrhu postupu spracovania pre jednotliv‚ moduly vytv ran‚ho syst‚mu. 3.16. Prototypovanie pou§ivate–skìch rozhran¡ --------------------------------------------- N vrh pou§ivate–skìch rozhran¡ predstvuje d“le§it£ s£casœ n vrhu syst‚mu. Tento n vrh pozost va z dvoch Ÿast¡: n vrhu obrazoviek a n vrhu sp“sobu komunik cie. Prototypovanie pou§ivate–skìch rozhran¡ predstavuje jeden z pr¡stupov k n vrhu obrazoviek pou§ivate–sk‚ho rozhrania. Zachyt va zobrazenie £dajov na jednotlivìch obrazovk ch, ako aj sp“sob zad vania potrebnìch £dajov pou§ivate–om. Dokumenty n vrhu obsahuj£ popis ka§dej obrazovky. Sp“sob komunik cie je d“le§itou s£casœou n vrhu rozhrania. Obsahuje reakciu na vstupy od pou§ivate–a a Ÿinnosti, ktor‚ je potrebn‚ aktivovaœ. Pre opis sp“sobu komunik cie na najŸastejçie pou§ivaj£ stavov‚ diagramy. Pre vytv ranie pou§ivate–skìch rozhran¡ existuje viacero n vodov. V„csina z nich vych dza z praktickìch sk£senost¡ podlo§enìch vìsledkami psyhol¢gie. Opisom z sad n vrhu pou§ivate–skìch rozhran¡ sa budeme zaoberaœ v samostatnej Ÿasti.