Скачать презентацию Strukturna sistemska analiza in načrtovanje SSADM — Structured Скачать презентацию Strukturna sistemska analiza in načrtovanje SSADM — Structured

ae0c8eb7f54d793af53097334e254bbb.ppt

  • Количество слайдов: 38

Strukturna sistemska analiza in načrtovanje (SSADM - Structured Systems Analysis and Design Method) Strukturna sistemska analiza in načrtovanje (SSADM - Structured Systems Analysis and Design Method)

SSADM – cilji in koncepti n n n strukturiran razvoj programske opreme metodologija notacija SSADM – cilji in koncepti n n n strukturiran razvoj programske opreme metodologija notacija (pravila zapisovanja) integracija analize in načrtovanja cilj: nadzor kakovosti zasnova (izhodišče): tok informacij (podatkov) v 80 -ih in 90 -ih letih pogosto uporabljana metodologija, danes jo postopoma nadomešča poenotena metolodologija (unified process - UML) n veliko inačic n 2

Glavni koraki 1. pripravi in analiziraj Diagram Toka Podatkov Data Flow Diagram - DFD Glavni koraki 1. pripravi in analiziraj Diagram Toka Podatkov Data Flow Diagram - DFD 2. iz diagrama toka podatkov izpelji Strukturni graf Structure Chart - SC 3

Izhod (output) faze analize 1. Diagram Toka Podatkov (Data Flow Diagram) Podatkovni Slovar (Data Izhod (output) faze analize 1. Diagram Toka Podatkov (Data Flow Diagram) Podatkovni Slovar (Data Dictionary) 3. Mini Specifikacije (Process Specifications) 2. 4

Diagram toka podatkov n Celotni IS je sestavljen iz: 1. procesov, 2. poslovne logike Diagram toka podatkov n Celotni IS je sestavljen iz: 1. procesov, 2. poslovne logike in 3. podatkovnega modela. n Pri DFD se osredotočimo na: 1. procese in 2. tok podatkov med njimi (kako podatki pridejo v sistem, kam gredo, kje se obdelujejo, kdo sprejema odločitve. . . ) 5

Logični / fizični nivo modela n Logični nivo - opisuje procese, ne da bi Logični / fizični nivo modela n Logični nivo - opisuje procese, ne da bi pri tem povedal kako so realizirani - izpeljani. n Fizični nivo - vključuje informacije o tem, kako so procesi implementirani 6

Notacijski elementi DFD De Marco, Yourdon Gane, Sarson proces zbirka podatkov izvor / ponor Notacijski elementi DFD De Marco, Yourdon Gane, Sarson proces zbirka podatkov izvor / ponor (terminator) tok podatkov 7

Procesi P_Number label • • • proces = aktivnost predstavlja transformacijo podatkov na vhodu Procesi P_Number label • • • proces = aktivnost predstavlja transformacijo podatkov na vhodu sprejme podatkovni tok na izhodu proizvaja podatkovni tok lahko ga naprej razgradimo (razčlenimo/ izvedemo dekompozicijo) • labela: glagol • povezan je s specifikacijo procesa 8

Tok podatkov label label • • predstavlja prehod informacij povezovalni element prenos podatkov ne Tok podatkov label label • • predstavlja prehod informacij povezovalni element prenos podatkov ne predstavlja nadzor pretoka je usmerjen lahko se deli ali združi labela: samostalnik opisan je v podatkovnem slovarju 9

Zbirka podatkov label D# label • trajna shramba za podatke • predstavlja bazo podatkov Zbirka podatkov label D# label • trajna shramba za podatke • predstavlja bazo podatkov ali datoteke • pasivnost – v bazi se ne izvajajo aktivnosti • obdelana s strani procesov • labela: samostalnik • opisana je v podatkovnem slovarju in/ali z ER diagramom 10

Terminator label • izvor / ponor za zunanje tokove podatkov • zagotavlja povezavo z Terminator label • izvor / ponor za zunanje tokove podatkov • zagotavlja povezavo z vsebino sistema • pasivnost: razen sprejemanja / pošiljanja podatkov ne izvaja nobene druge aktivnosti • labela: samostalnik • opisana je v podatkovnem slovarju 11

Postopek izdelave DFD 1. 2. 3. 4. izdelava kontekstnega diagrama izdelava diagrama na ‘prvem’ Postopek izdelave DFD 1. 2. 3. 4. izdelava kontekstnega diagrama izdelava diagrama na ‘prvem’ nivoju funkcionalna dekompozicija posameznih procesov do elementarnih procesov validacija diagrama z uporabnikom 12

Značilnosti kontekstnega diagrama Ø Ima le en proces cel poslovni sistem se nahaja znotraj Značilnosti kontekstnega diagrama Ø Ima le en proces cel poslovni sistem se nahaja znotraj edinega procesa z oznako 0 Ø ni zbirk podatkov vse so skrite znotraj edinega procesa Ø izvori / ponori so (določajo) meje sistema (zato se imenujejo tudi terminatorji) 13

Primer: Kontekstni diagram knjigarne 14 Primer: Kontekstni diagram knjigarne 14

Diagram na ‘prvem’ nivoju Diagram prikazuje podprocese (funkcije) osnovnega procesa. Primer: iz opisa so Diagram na ‘prvem’ nivoju Diagram prikazuje podprocese (funkcije) osnovnega procesa. Primer: iz opisa so razvidne tri funkcije (procesi): • prodaja, • nabava in • vzdrževanje. 15

Primer: DFD diagram na 1. nivoju za knjigarno 16 Primer: DFD diagram na 1. nivoju za knjigarno 16

Funkcionalna dekompozicija Posamezne procese proučimo in napravimo diagrame toka podatkov na nižjih nivojih. podprocese Funkcionalna dekompozicija Posamezne procese proučimo in napravimo diagrame toka podatkov na nižjih nivojih. podprocese označimo s številkami – denimo: 1. 1. 3. pomeni tretji nivo – to je tretja podfunkcija prve podfunkcije prve funkcije nna nižjih nivojih novih izvorov / ponorov ni! npri dekompoziciji pazi na število povezav: –proces, definiran na višjem nivoju mora imeti enako število vhodov in izhodov kot je vsota vhodov in izhodov vseh njegovih podprocesov 17

Primer: dekompozicija procesa 1. na podprocese 18 Primer: dekompozicija procesa 1. na podprocese 18

Kdaj je dekompozicija končana? Ø ko pridemo do elementarnih procesov • Elementarni procesi predstavljajo Kdaj je dekompozicija končana? Ø ko pridemo do elementarnih procesov • Elementarni procesi predstavljajo en izračun, eno odločitev, eno operacijo nad bazo. . . Ø ko je vsak tok ena transakcija, on-line dialog, poročilo, dokument. . . Ø ko zbirka predstavlja entiteto Ø ko je uporabnik zadovoljen ali pa ko vidimo, da lahko izvajamo naslednje faze izgradnje 19

Konceptualni standardi podatkovnih tokov 1. 2. 3. 4. 5. 6. podatkovni tokovi ponazarjajo potek Konceptualni standardi podatkovnih tokov 1. 2. 3. 4. 5. 6. podatkovni tokovi ponazarjajo potek informacije od enega objekta k drugemu objektu podatkovni tokovi ne morejo spreminjati podatkov podatki ne morejo biti ustvarjeni ali uničeni znotraj podatkovnega toka podatkovni tok je lahko v določenih pogojih prazen podatkovni tokovi ne morejo neposredno prehajati od terminatorja (vir/ponor) k datoteki podatkovni tokovi ne morejo neposredno prehajati od terminatorja do terminatorja 20

Notacijski standardi podatkovnih tokov in zbirk podatkovni tok je predstavljen z usmerjeno črto, opremljeno Notacijski standardi podatkovnih tokov in zbirk podatkovni tok je predstavljen z usmerjeno črto, opremljeno z labelo n vsak podatkovni tok mora biti označen z labelo. n – Izjema: podatkovni tok, usmerjen proč od zbirke ali v zbirko, ni treba poimenovati, če predstavlja zbirko v celoti. labela je samostalnik, izogibamo se generičnim računalniškim imenom (DATA, INPUT, . . . ) n vsi podatkovni tokovi morajo nastopati v podatkovnem slovarju n zbirka mora imeti vsaj en vhodni in vsaj en izhodni tok n zbirka se lahko pojavi na katerikoli plasti (nivoju) DFD n 21

Nekaj splošnih navodil za DFD n n n dekompozicija = razčlenitev procesa na elementarne Nekaj splošnih navodil za DFD n n n dekompozicija = razčlenitev procesa na elementarne sestavine vmesniki med procesi morajo tudi na nižjih nivojih ostati konsistentni (skladni) pri procesih na nižjih nivojih lahko dodamo nove tokove podatkov in nove zbirke podatkov nivo 0 uporabljamo kot ‘abstraktni’ nivo terminatorji niso procesi (niso aktivni) DFD nima časovne komponente 22

Poiščimo napake: and one 1. All processes must have at least one data flow Poiščimo napake: and one 1. All processes must have at least one data flow in 2. 3. 4. 5. data flow out. All processes should modify the incoming data, producing new forms of outgoing data. Each data store must be involved with at least one data flow. Each external entity must be involved with at least one data flow. A data flow must be attached to at least one process. 23

DFD 0: Registration System (Context Level) user P 2 invoice Prepare registration reg+ invoice DFD 0: Registration System (Context Level) user P 2 invoice Prepare registration reg+ invoice reg. P 1 prices Read profile & check registration db printer P 4 Print invoice_pr Registration System (A Toy reg_info Example) conf_msg reg+ P 3 Accept reg. conf. P 5 Write conf. user

DFD L 1: Registration System printer user P 2 invoice Prepare registration reg+ invoice DFD L 1: Registration System printer user P 2 invoice Prepare registration reg+ invoice reg. P 1 prices Read profile & check registration db reg+ error_msg (reg-) P 4 Print invoice_prt conf_msg reg_info P 3 Accept reg. conf. P 5 Write conf. user

DFD L 2: P 1 - Read and Check Registration registration P 1. 1 DFD L 2: P 1 - Read and Check Registration registration P 1. 1 Read registration reg+ reg_i P 1. 2 Check registration reg+ error_reason P 1. 3 Error-handler registration error_msg (reg-)

Podatkovni slovar n specificira (opredeli) podatkovne elemente DFD: – tokove podatkov – enostavne zbirke Podatkovni slovar n specificira (opredeli) podatkovne elemente DFD: – tokove podatkov – enostavne zbirke podatkov n skladnost z DFD – specifikacije morajo biti skladne z diagramom n popolnost – glede na zahteve DFD mora biti popoln n n sestavljajo ga specifikacije podatkovnih elementov vsi podatkovni tokovi in zbirke podatkov iz DFD so razčlenjeni do podatkovnih elementov oz. prvinskih podatkov (DE - "data element") 27

Formalna notacija za podatkovni slovar pravila - opredeljujejo opis, strukturo ali zamenjavo = izenačitev Formalna notacija za podatkovni slovar pravila - opredeljujejo opis, strukturo ali zamenjavo = izenačitev - kompozicija podatkovni element = podatkovna struktura oseba = ime_osebe + naslov ime_osebe = priimek + osebno_ime • meta-simboli - opisujejo strukturo: + logični in (zaporedje) [. . . |. . . ] logični ekskluzivni ali m{. . . }n iteracija (>= ena ponovitev) (. . . ) opcija 28 komentar n

1. primer podatkovnega slovarja naročeno_blago=šifra_blaga + naročena_količina + prevoz + (opombe) prevoz = [ 1. primer podatkovnega slovarja naročeno_blago=šifra_blaga + naročena_količina + prevoz + (opombe) prevoz = [ letalo | ladja | vozilo] letalo = prevoznik + številka_leta + destinacija + datum + (spremljevalec) 29

2. primer podatkovnega slovarja * registracija osebe za tečaj-e registracija = oseba + podjetje 2. primer podatkovnega slovarja * registracija osebe za tečaj-e registracija = oseba + podjetje + (1{tečaj}4) + datum + (opomba) oseba = ime + priimek + (naziv) podjetje = ime_podjetja + ime_oddelka + naslov = ulica + hišna_št + poštna_št + kraj + (država) tečaj = [ “word” | ”excel” | ”powerpoint” | ”internet”] ==> alternativna obravnava tečajev? 30

- alternativa: registracija = oseba + podjetje + tečaji + datum + (opomba) oseba - alternativa: registracija = oseba + podjetje + tečaji + datum + (opomba) oseba = ime + priimek + (naziv) podjetje = ime_podjetja + ime_oddelka + naslov = ulica + hišna_št + poštna_št + kraj + (država) tečaji = (“word”) + (”excel”) + (”powerpoint”) + (”internet”) 31

Data Dictionary - naloge n Napišite podatkovni slovar za vozniško dovoljenje n Napišite podatkovni Data Dictionary - naloge n Napišite podatkovni slovar za vozniško dovoljenje n Napišite podatkovni slovar za teden v šolskem dnevniku dela 32

Mini Specifikacije izdelamo za tiste procese iz DTP, ki niso razgrajeni, torej so atomarni Mini Specifikacije izdelamo za tiste procese iz DTP, ki niso razgrajeni, torej so atomarni (prvinski) procesi, imenovani tudi funkcionalne primitive n opišemo transformacijo vhodnih podatkov v izhodne n vsak elementarni proces ima svojo MS n n za MS lahko uporabimo: – strukturirano besedilo – odločitvene tabele – odločitvena drevesa 33

MS - Strukturirano besedilo n za formaliziranje zapisa so uporabljeni osnovni proceduralni konstrukti: – MS - Strukturirano besedilo n za formaliziranje zapisa so uporabljeni osnovni proceduralni konstrukti: – zaporedje / sekvenca (blok) – odločitev / vejitev (if – then – else) – ponavljanje / zanka (while, repeat) n kot operandi nastopajo tisti podatkovni tokovi, ki prihajajo v ali izstopajo iz trenutno aktualnega procesa 34

Primer strukturiranega besedila proces Izdaja_čekov številka procesa: X. X begin if stanje pozitivno then Primer strukturiranega besedila proces Izdaja_čekov številka procesa: X. X begin if stanje pozitivno then izdaj 20 čekov else (stanje je negativno) if dovoljena prekoračitev then izdaj 10 čekov opozorilo o negativnem stanju else (prekoračitev ni dovoljena) opozorilo o negativnem stanju end 35

Odločitvena tabela - shema (ukrep-akcija) popis pogojev | vrednosti pogojev . . . | Odločitvena tabela - shema (ukrep-akcija) popis pogojev | vrednosti pogojev . . . | . . . -------|----------popis ukrepov | ukrepi pri pogojih . . . | . . . nodločitvene tabele lahko kombiniramo s strukturnim besedilom 36

Odločitvena tabela - shema Popis ukrepov vr 12 vr 13 … pogoj 2 vr Odločitvena tabela - shema Popis ukrepov vr 12 vr 13 … pogoj 2 vr 21 vr 22 vr 23 … … … . . ukrep 1 u 1 kp 1 Popis pogojev pogoj 1 vr 11 u 1 kp 2 u 1 kp 3 … ukrep 2 u 2 kp 1 u 2 kp 2 u 2 kp 3 … … … 37 - u 1 kp 1 pomeni ukrep 1 pri kombinaciji pogojev 1 (prvi stolpec)

Odločitvena tabela – primer izdaja čekov Popis pogojev D D N N prekoračitev dovoljena Odločitvena tabela – primer izdaja čekov Popis pogojev D D N N prekoračitev dovoljena N D D N število izdanih čekov Popis ukrepov pozitivno stanje 20 10 0 N D D 20 obvestilo o ned. stanju N 38