350 likes | 715 Views
Potpunu specifikaciju IS čine: Hijerarhijski organizovan skup dijagrama toka podataka 2. Rečnik podataka koji opisuje sadržaj i strukturu svih tokova i skladišta podataka 3. Specifikacija logike primitivnih procesa -minispecifikacija. Rečnik podataka SSA.
E N D
Potpunu specifikaciju IS čine: • Hijerarhijski organizovan skup dijagrama toka podataka • 2. Rečnik podataka koji opisuje sadržaj i strukturu svih tokova i skladišta podataka • 3.Specifikacija logike primitivnih procesa-minispecifikacija
Rečnik podataka SSA • Daje opis i sadržaj svih tokova i skladišta podataka (kompozicija polja) • polje – elementarna struktura koja se dalje ne dekomponuje i koja ima svoju vrednost, npr. u indeksu, polja su BROJ_INDEKSA, IME_I_PREZIME, OCENA i sl.
Rečnik podataka SSA • polja svoje vrednosti uzimaju iz skupova vrednosti koje se nazivaju domenima i mogu biti: • ”predefinisani” tj. standardni programsko-jezički domeni (npr. CHAR, REAL, LOGICAL I DATE) • ”semantički” kada se def. posebno npr. SEMESTRI numeric (2) BETWEEN 1, 10
Predefinisani domeni • TEXT • NUMERIC • DATE • INTEGER • CHAR
Primer • BI: CHAR (7) • OCENA: INT(2) IN (5,6,7,8,9,10) • OCENA: TEXT(1) IN (A,B,C,D,E) • SEMESTVŠ: SEMESTRI INT(1) IN (1,2,3,4) *Semestar više škole*
Rečnik podataka SSA • Pored ograničenja na vrednosti polja, tj. vrednosti domena definišu se i druga ograničenja (<, >, =, <=, >=, BETWEEN, IN, NOT NULL i sl.) (a) STAROST: INT(2) < 65 (b) SEMESTAR: INTEGER (2) BETWEEN 1,10 (c) OCENA INT(2) IN (5,6,7,8,9,10) (d) BROJ_INDEKSA: CHARACTER (7) NOT NULL STAROST: INT(2) < 65 AND NOT NULL-slozeno ogranicenje
Rečnik podataka SSA • Struktura tokova podataka i skladišta predstavlja neku kompoziciju polja, odnosno konstrukciju čije su komponente polja. Konstrukcija kojom se od komponenata gradi struktura može biti: • Agregacija komponenti • Ekskluzivna specijalizacija (unija) komponenti • Neekskluzivna specijalizacija (unija) komponenti • Skup komponenti
Agregacija komponenti ISPITNA_PRIJAVA: < BROJ_INDEKSA, IME_STUDENTA, NAZIV_PREDMETA, DATUM_POLAGANJA, OCENA, IME_NASTAVNIKA >
Ekskluzivna specijalizacija (unija) komponenti PROIZVOD: < ŠIFRA_PR, NAZIV_PR, [ STOPA_AMORT, KOLIČ_NARUČ ] >
Neekskluzivna specijalizacija (unija) komponenti STUD_ZAHTEV: / ZAHTEV_ZA_UVER_STATUS, ZAHTEV_ZA_UVER_POL_ISPIT /
Skup komponenti UVERENJE_O_POL_ISPIT: < BROJ_INDEKSA, IME_STUDENTA, {< NAZIV_PREDMETA, OCENA>}, PROSEČNA_OCENA>
STRUCTURES DOK_ZA_PRIJEMNI_ISPIT: < DIPLOMA, {<SVEDOČANSTVO>}, {<NAGRADA>} >; DIPLOMA: < NAZIV_ŠKOLE:CHAR (20), VRSTA_ŠKOLE:VRSTE_ŠKOLA, IME_KAND, DATUM_DIPL:DATE >; SVEDOČANSTVO: < NAZIV_ŠKOLE, VRSTA_ŠKOLE, IME_KAND, DATUM_SVED, {< NAZIV_ŠKOL_PRED, OCENA_ŠKOL_PRED:INT(1) IN (1,2,3,4,5) >}, PROSEK: REAL(1,2) < 5.00 >; Nagrada…. FIELDS NAZIV_ŠKOLE: CHAR(20); VRSTA_ŠKOLE: VRSTE_ŠKOLA; IME_KAND: CHAR(25); DATUM_DIPL: DATE; DATUM_SVED: DATE; NAZIV_ŠKOL-PRED: CHAR(15); OCENA_ŠKOL_PRED: INT(1) IN (1,2,3,4,5); PROSEK: REAL(1,2) < 5.00 DOMAINS VRSTE_ŠKOLA: CHAR(20) IN ('GIMNAZIJA', 'SREDNJETEHNIČKA', 'OSTALE')
STRUCTURES DOK_ZA_PRIJEMNI_ISPIT: < DIPLOMA, {<SVEDOČANSTVO>}, {<NAGRADA>} >; DIPLOMA: < NAZIV_ŠKOLE, VRSTA_ŠKOLE, IME_KAND, DATUM_DIPL >; SVEDOČANSTVO: < NAZIV_ŠKOLE, VRSTA_ŠKOLE, IME_KAND, DATUM_SVED, {< NAZIV_ŠKOL_PRED, OCENA_ŠKOL_PRED >}, PROSEK >; NAGRADA…
Nastavak FIELDS NAZIV POLJA DOMEN OGRANIČENJE NAZIV_ŠKOLE CHAR(20) - VRSTA_ŠKOLE VRSTE_ŠKOLA- IME_KAND CHAR(25) - DATUM_DIPL DATE - DATUM_SVED DATE - NAZIV_ŠKOL-PRED CHAR(15);- OCENA_ŠKOL_PRED INT(1) IN (1,2,3,4,5) PROSEK REAL (1,2) < 5.00
Potpunu specifikaciju IS čine: • Hijerarhijski organizovan skup dijagrama toka podataka • 2. Rečnik podataka koji opisuje sadržaj i strukturu svih tokova i skladišta podataka • 3.Specifikacija logike primitivnih procesa (minispecifikacija)
IS_STUDENTSKE_SLUŽBE 0 UPIS OBRADA_ISPITA IZDAVANJE_UVERENJA 1 2 3 EVIDENTIRANJE_ISPITNIH_PRIJAVA IZDAVANJE_UVER_O_STATUSU EVIDENTIRANJE_KANDIDATA 1.1 2.1 3.1 ZAVOĐENJE_REZULTATA_ISPITA IZDAVANJE_UVER_O_POL_ISPITU OBRADA_SPISKOVA_ZA_ISPIT 1.2 2.2 3.2 OBRADA_REZULTATA_PRIJEMNOG 1.3 IZVJEŠTAVANJE_KANDIDATA 1.4 UPIS_GODINE 1.5 RASPOREĐIVANJE 1.6 Dijagram dekompozicije za IS studentske službe
Minispecifikacija-specifikacija logike primitivnih procesa Pseudokod - jezik koji koristi rečnik prirodnog jezika, a čije su konstrukcije struktuirane pomoću koncepata struktuiranog programiranja.
"Svaki komitent banke koji ima na računu više od 10.000, čiji je srednji mesečni bilans veći od 5.000 ili koji poseduje račun više od pet godina ...." može se interpretirati barem na dva načina: • "Svaki komitent (koji ima na računu više od 10.000 AND srednji mesečni bilans veći od 5.000 ) OR poseduje račun više od pet godina…" • "Svaki komitent koji ima na računu više od 10.000 AND (srednji mesečni bilans veći od 5.000 OR poseduje račun više od pet godina…)"
Osnovne strukture za struktuiranje su: • Sekvenca • Selekcija • Case struktura • Iteracija
(I) Sekvencija - aktivnosti u sekvencijalnom bloku se odvijaju po redosledu navođenja BEGIN Unesi podatke o diplomi; Unesi podatke sa svedočanstava; Unesi podatke o nagradama; Ažuriraj datoteku KANDIDATI_ZA_UPIS; END;
(II) Selekcija-Redosled aktivnosti zavisi od nekog uslova. IF uslov THEN blok_akcija_1 ELSE blok_akcija_2; Na primer: IF BROJ POENA > 85 Upiši kandidata ELSE Odbi kandidata;
(III) Case struktura je specijalni slučaj selekcije kada se u zavisnosti od vrednosti jednog parametra može izvršavati više različitih blokova akcija CASE parametar OF vrednost_parametra_1: bloka_akcija_1 vrednost_parametra_2: bloka_akcija_2 ... ... vrednost_parametra_n: bloka_akcija_n CASE SEMESTAR OF 1: Stavi_studente u grupu za prvu godinu Stavi_studente u grupu za drugu godinu Stavi_studente u grupu za treću godinu Stavi_studente u grupu za četvrtu godinu;
(IV) Iteracija. Blok akcija se ponavlja dok se neki uslov ne ispuni ili dok se akcije ne obave za sve objekte nekog skupa Osnovni oblici ove strukture su: • DO WHILE uslov blok_akcija - uslov se ispituje pre svakog izvršenja bloka akcija, moguće je da se blok akcija ne izvrši nijednom, • DO UNTIL uslov blok_ akcija - uslov se ispituje na kraju svakog izvršenja bloka akcija, blok akcija se izvršava barem jedanput. …
Primer-proces EVIDENTIRANJE KANDIDATA Prihvati DIPLOMU_SRED_ŠKOLE; IF VRSTA_ŠKOLE ne odgovara THEN formiraj NEPRIHVATLJIV_DOKUMENTI; FOR EACH SVEDOČANSTVO DO Prihvati SVEDOČANSTVO * Provera da li je PROSEK u svedočanstvu dobro sračunat* SUMA := 0.; BROJPRED := 0; DO WHILE Postoje predmeti u SVEDOČANSTVO SUMA := SUMA + OCENA; BROJPRED := BROJPRED + 1; END WHILE; PROSOCENA := SUMA/BROJPRED; IF PROSEK NOT EQUAL PROSOCENA THEN formiraj NEPRIHVATLJIV_DOKUMENTI; Ubaci podatke sa SVEDOČANSTVO u KANDIDATI_ZA_UPIS; END FOR; FOR EACH NAGRADE DO IF IME_NAGRADE odgovarajuće THEN Ubaci podatke sa NAGRADE u KANDIDATI_ZA_UPIS; END FOR;
Potpunu specifikaciju IS čine: • Hijerarhijski organizovan skup dijagrama toka podataka • 2. Rečnik podataka koji opisuje sadržaj i strukturu svih tokova i skladišta podataka • 3.Specifikacija logike primitivnih procesa (minispecifikacija)
"MALA TRGOVINA“(primer II) Narudzbenica dob OtpremnicaKupcu UplataDob Katalog Racun IS mala trgovina Dobavljac Kupac FakturaDob Placanja Narudzbenica od kupca OtpremnicaDob
PRVI NIVO DEKOMPOZICIJE Koje pravilo nije ispostovano?
NABAVKA artikli dobavljac Sta se ovde pojavilo?
PRODAJA Zasto ovaj tok nema ime?
IS_MALA TRGOVINA 0 NABAVKA PRODAJA 1 2 OBRADA PORUDZ. OBRADA KATALOGA 1.1 2.1 OTPREMA NARUCIVANJE 2.2 1.2 PRIJEM NAPLATA 2.3 1.3 PLACANJE 1.4 Dijagram dekompozicije za IS MALA TRGOVINA
Osnovni cilj kod SSA – razlozi uvođenja. 2. Simboli koji se koriste kod dijagrama toka podataka. 3.Što je u SSA terminologiji prikazano na slici br.1 (na sledecem slajdu)? 4.Koja pravila vaze za tokove podataka? 5. Koja pravila vaze za skladista? 6. Koja pravila vaze za dekompoziciju? 7. Koja pravila vaze za procese 8. Sta je recnik podataka I cemu sluzi? 9. Napisati recnik podataka za tok podataka INDEKS (resenje se nalazi na pretposlednjem slajdu) 10. Napisati recnik podataka za tok podataka LICNA KARTA (resenje se nalazi na pretposlednjem slajdu) 11.Što je to PSEUDOKOD i kakvu primjenu ima? 12.Napisati pseudokod (minispecifikaciju)za proces PRIJEM UPLATE KUPCA (resenje se nalazi na poslednjem slajdu) 13. Kada prestati sa dekompoziciojom?
Na koji nacin se imenuju pocesi na DTP? Koja od sledecih imena su ispravna: Narucivanje proizvoda, Odeljenje prodaje, Ispitna prijava, Prijava ispita, racunovodstvo, proracun ostalog? Da li proces na DTP moze da ima samo ulazni, odnosno samo izlazni tok? Obrazlozite Koja je uloga Dijagrama konteksta? U cemu se on razlikuje od ostalih dijagrama? Cemu sluzi minispecifikacija primitivnih procesa? Objasnite kako se kreira Koje konstrukcije se koriste kod kreiranja recnika podataka? Objasnite Koje konstrukcije se koriste kod kreiranja minispecifikacije? Objasnite Sta je domen? Sta je polje? Da li se za svako polje kreira ogranicenje? Za koji polja je ogranicenje obavezno?
Resenje za recnike podataka • Tok podataka INDEKS INDEKS: < IME_STUDENTA, PREZIME_STUDENTA, BROJ_INDEKSA, DATUM_RODJENJA >; • Tok podataka LICNA KARTA • LICNA KARTA: < IME, • PREZIME, • BROJ_LK, • DATUM_RODJENJA • JMB, • >;