potpunu specifikaciju is čine: hijerarhijski organizovan skup dijagrama toka podataka
DESCRIPTION
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. - PowerPoint PPT PresentationTRANSCRIPT
1
Potpunu specifikaciju IS čine:
1.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
2
• 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 SSARečnik podataka SSA
3
– 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
Rečnik podataka SSARečnik podataka SSA
4
Predefinisani domeni
• TEXT
• NUMERIC
• DATE
• INTEGER
• CHAR
5
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*
6
– 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 SSARečnik podataka SSA
7
• 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
Rečnik podataka SSARečnik podataka SSA
8
Agregacija komponenti
ISPITNA_PRIJAVA: < BROJ_INDEKSA,
IME_STUDENTA,
NAZIV_PREDMETA,
DATUM_POLAGANJA,
OCENA,
IME_NASTAVNIKA
>
9
Ekskluzivna specijalizacija (unija) komponenti
PROIZVOD: < ŠIFRA_PR,
NAZIV_PR,
[ STOPA_AMORT, KOLIČ_NARUČ ]
>
10
Neekskluzivna specijalizacija (unija) komponenti
STUD_ZAHTEV: / ZAHTEV_ZA_UVER_STATUS, ZAHTEV_ZA_UVER_POL_ISPIT /
11
Skup komponenti
UVERENJE_O_POL_ISPIT: < BROJ_INDEKSA, IME_STUDENTA,
{< NAZIV_PREDMETA, OCENA>},
PROSEČNA_OCENA>
12
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')
13
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…
14
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
15
Potpunu specifikaciju IS čine:
1.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)
16
Dijagram dekompozicije za IS studentske službe
IS_STUDENTSKE_SLUŽBE
UPIS OBRADA_ISPITA IZDAVANJE_UVERENJA
EVIDENTIRANJE_KANDIDATA
OBRADA_SPISKOVA_ZA_ISPIT
OBRADA_REZULTATA_PRIJEMNOG
IZVJEŠTAVANJE_KANDIDATA
UPIS_GODINE
RASPOREĐIVANJE
EVIDENTIRANJE_ISPITNIH_PRIJAVA
ZAVOĐENJE_REZULTATA_ISPITA
IZDAVANJE_UVER_O_STATUSU
IZDAVANJE_UVER_O_POL_ISPITU
0
1 2 3
2.1 3.1
2.2 3.2
1.1
1.2
1.3
1.4
1.5
1.6
17
Minispecifikacija-specifikacija logike primitivnih procesa
Pseudokod - jezik koji koristi rečnik prirodnog jezika, a čije su konstrukcije struktuirane pomoću koncepata struktuiranog programiranja.
18
može se interpretirati barem na dva načina:
(a) "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…"
(b) "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 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 ...."
19
Osnovne strukture za struktuiranje su:
• Sekvenca
• Selekcija
• Case struktura
• Iteracija
20
(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;
21
(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;
22
(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;
23
(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.
…
24
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;
25
Potpunu specifikaciju IS čine:
1.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)
Dobavljac KupacIS mala trgovina
Katalog
FakturaDob
OtpremnicaDob
Narudzbenica dob
UplataDob
Racun
Placanja
Narudzbenica od kupca
OtpremnicaKupcu
Dobavljac
Kupac
Nabavka
Katalog
FakturaDob
OtpremnicaDob
Narud b̀enicaDob
UplataDob
Ra~un
Placanja
NarudzbenicaKupca
OtpremnicaKupca
Prodaja
Artikal
PoslovniPartner
Katalog
DokumentaNabavke
DokumentaProdaje
PRVI NIVO DEKOMPOZICIJE
Koje pravilo nije ispostovano?
PoslovniPartner
1.1. ObradaKataloga
1.2. Narucivanje 1.3. Prijem
1.4.Pla}anje
Katalog
NarudzbenicaDob
OtpremnicaDob
Prijemnice
FakturaDob
UplataDob FaktureDob
NarudzbeniceDob
Katalog
SkladisteArtikalaPoslovniPartner
OtpremniceDob
NABAVKA
dobavljac
artikli
Sta se ovde pojavilo?
Kupac2.1. Obradaporud`bina
NarudzbenicaKupca
NarudzbeniceKupca
ArtikalNalogZaOtpremu
2.2. Otprema
OtpremnicaKupca
OtpremniceKupcaRacuni
Ra~un
2.3. Naplata
Placanja
Pla}anja
PoslovniPartner
PoslovniPartner
PRODAJA
Zasto ovaj tok nema ime?
Dijagram dekompozicije za IS MALA TRGOVINA
IS_MALA TRGOVINA
NABAVKA PRODAJA
OBRADA KATALOGA
NARUCIVANJE
PRIJEM
PLACANJE
OBRADA PORUDZ.
OTPREMA
0
1 2
2.1
2.2
1.1
1.2
1.3
1.4
NAPLATA2.3
1.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?
13. Kada prestati sa dekompoziciojom?
12.Napisati pseudokod (minispecifikaciju)za proces PRIJEM UPLATE KUPCA(resenje se nalazi na poslednjem slajdu)
Dobavljač
Kupac
Carina
1.nabavka
3.prodaja
4.plaćanje
Banka
artikal
kupci
dobavljači
2.carinjenje
OTPREMNICADOB.
FAKT.DOB.
UGOVOR SA DOB.
NALOZI
JCI
ZAHTEV ZA CARINJENJE
OTPREMNICADOB.CAR.FAKTURA
OTPREMNICAKUP.
FAKTURA KUPCU
UGOVOR KUPCU
NALOZI
Car.fakture
dobavljači
artikli
IZVOD
IZVEšTAJ O PRILIVU
NALOG ZA NAPLATU
RASPORED PRILIVA
UPLATADOB
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
>;
Polje domenogranicenj
e
Ime char (7)
Prezime char (20)
broj indeksa char (20) not null
datum rodjenja date
• Tok podataka LICNA KARTA
LICNA KARTA: < IME,
PREZIME,
BROJ_LK,
DATUM_RODJENJA
JMB,
>;
Polje domen ogranicenje
Ime char (7)
Prezime char (20)
broj LKINTEGER (8) not null
datum rodjenja date
jmbINTEGER(13) not null