Back to homepage

Dijagram toka podataka – Primer studentske službe

Dijagram konteksta

Jedan informacioni sistem može biti veoma složen i može sadržati veliki broj procesa, tokova podataka, skladišta podataka i spoljnih objekata. Istovremeno jasna i detaljna specifikacija sistema zahteva da se i na predstavljanje sistema pomoću dijagrama toka podataka (DTP) primeni metoda apstrakcije. To se postiže primenom hijerarhijske dekompozicije DTP-a.

Hijerarhijska dekompozicija DTP-a se izvodi na taj način što se jedan proces višeg nivoa apstrakcije dekomponuje i prikazuje pomoću novog celokupnog DTP-a na nižem nivou apstrakcije.

Pri dekompoziciji dijagrama toka podataka moraju se poštovati sledeća pravila i konvencije:

Dijagram konteksta - Slika 1

 Slika 1 – Dijagram konteksta

 

Konvencija I. Dijagram najvišeg nivoa, koji po pravilu sadrži samo jedan proces koji predstavlja ceo IS, interfejse sa kojima IS komunicira i odgovarajuće tokove podataka, naziva se dijagram konteksta. Primer dijagrama konteksta za informacioni sistem studentske službe na jednom fakultetu dat je na slici.

Dijagram toka podataka (DTP)

Dijagram prvog nivoa

Konvencija II. Dijagram prvog nivoa predstavlja dekompoziciju dijagrama konteksta. Procesi na njemu označavaju se brojevima 1, 2, 3… kako je to prikazano na sliciu. Dijagrami nižih nivoa, kao celina, su označeni sa oznakom procesa čije detalje predstavljaju, a procesi na njima povlače sa sobom brojnu oznaku nadređenog procesa, odnosno posmatranog dijagrama (pogledajte sliku).

Slika 2 - Dijagram prvog nivoa

Slika 2 – Dijagram prvog nivoa

 

Dijagram toka podataka – dekompozicije

Dekompozicija procesa Upis

Slika prikazuje dijagram dekompozicije I nivoa za proces Upis koji je u potpunosti nacrtan po Konvenciji II. Preporučuje se analiza koncepta dekompozicije radi uvežbavanja pravila.

Slika 3 - Dekompozicija procesa upisa

Slika 3 – Dekompozicija procesa upisa

 

Dekompozicija procesa Obrada ispita

Konvencija IV. Procesi koji se dalje ne dekomponuju (na primer procesi 1.1 do 1.5, 2.1 i 2.2, kao i procesi 3.1 i 3.2 za IS studentske službe) se nazivaju primitivni procesi i za njih se daje specifikacija logike njihovog odvijanja. Opis logike primitivnih procesa naziva se mini-specifikacija sistema.

Slika 4 - Dekompozicija pocesa obrada ispita

Slika 4 – Dekompozicija pocesa obrada ispita

 

Dekompozicija procesa – izdavanje uverenja

Konvencija V. Pored procesa, mogu se dekomponovati i tokovi i skladišta. Dekompozicija tokova i skladišta se ne prikazuje na DTP-u, već u rečniku podataka, pomoću sintakse za opis strukture podatka, o čemu će kasnije biti više reči. Mogu se dekomponovati samo oni tokovi i skladišta koji u sebi sadrže nezavisne komponente, komponente čija unija čini tok ili skladište koje se dekomponuje.

Slika 6 - Dekompozicija procesa izdavanje uverenja

Slika 5 – Dekompozicija procesa izdavanje uverenja

 

Hijerarhijski dijagram dekompozicije

Da se sada vratimo na konvenciju III. Uobičajeno je da se u dokumentaciji za specifikaciju IS pomoću SSA, celokupan skup, ili neki podskup hijerarhiski dekomponovanih dijagrama, predstavi dijagramom dekompozicije. Opšti primer dijagrama dekompozicije za IS studentske službe prikazan je na slici.

Slika 6 - Hijerarhijski dijagram dekompozicije

Slika 6 – Hijerarhijski dijagram dekompozicije

 

Rečnik podataka – dokument

U nastavku se daje rečnik podataka za otpremnicu.

Rečnik podataka, kao što je ranije rečeno, daje opis strukture i sadržaja svih tokova i skladišta podataka. Bez obzira na vid postojanja toka ili skladišta podataka (papirni dokument, niz karaktera kao ulaz sa terminala, „paket” informacija dobijen telekomunikacionom linijom, kartoteka ili datoteka) kao logička struktura podataka oni predstavljaju neku kompoziciju polja.

Da bismo precizno definisali logičku strukturu skladišta i tokova i definisali sintaksu rečnika, neophodno je da uvedemo definicije svih koncepata rečnika.

Otpremnica

Otpremnica

 

Polja i domeni:

Polje je elementarna (atomska) struktura koja se dalje ne dekomponuje i koja ima svoju vrednost. Na primer, u indeksu, polja su BROJ_INDEKSA, IME_I_PREZIME, OCENA, STATUS i slično. Polja svoje vrednosti uzimaju iz skupova vrednosti koji se nazivaju domenima.

Domeni mogu biti:

  • predefinisani, odnosno standardni programsko-jezički domeni, kao što su INTEGER, CHARACTER, REAL, LOGICAL i DATE,
  • semantički, kada se definišu posebno, preko svoga imena, predefinisanog domena i, eventualno, ograničenja na mogući skup vrednosti predefinisanog domena.

Činjenica da polje uzima vrednost iz nekog domena označava se na sledeći način:

naziv polja : domen  [ograničenje]

Primer:

BI: CHARACTER(7)
SEMESTAR: SEMESTRI
OCENA: INT(2) IN (5,6,7,8,9,10)
SEMESTVŠ:  SEMESTRI  IN  (1,2,3,4)   *Semestar više škole*

Konvencija IV. Osnovni razlog za uvođenje semantičkih domena je jasno iskazivanje semantičke sličnosti dva polja. Naime, dva polja su semantički slična samo ako su definisana nad istim domenom.

Konvencija VI. Pored ograničenja na vrednosti polja, odnosno vrednosti domena koja su data u primerima, definišu se i druga. Ograničenja mogu biti prosta i složena. Lista dozvoljenih prostih ograničenja je:(na primer, <, >, =, <=, >= za brojne domene).

Bilo prosto, bilo složeno, ograničenje se može imenovati, odnosno posebno definisti kao Bullova (logička funkcija) i samo ime navesti kao ograničenje. Na primer, pretpostavimo da polje ŠIFRA_PR (šifra_proizvoda) ima kontrolu „po modulu 11″. Tada bi se mogla definisati funkcija MODUO_11 koja dobija vrednost TRUE ako je pomenuta kontrola zadovoljena, a FALSE ako nije.

Tada se ograničenje defiše kao:

ŠIFRA_PR INT(13) MODUO_11

Bez obzira što je polje atomska, nedeljiva komponenta, ponekad je, za potrebe definisanja ograničenja, potrebno ući i u njegovu strukturu. Zbog toga je uvedena funkcija SUBSTRING koja ima za cilj da izvuče deo polja i prikaže neke karakteristike toga dela.

Konvencija VII. Ograničenja koja se definišu su samo ograničenja na domene, odnosno polja. Čak i u složenijim ograničenjima i logičkim funkcijama preko kojih se ponekad iskazuju, jedini argumenat može biti domen, odnosno polje (ili neki njihov deo dobijen funkcijom SUBSTRING) na koga se ograničenje odnosi.

Složenija, tzv. „vrednosna ograničenja”, koja povezuju vrednosti više polja (na primer da prosečna ocena na svedočanstvu mora da bude jednaka sumi ocena po predmetima podeljenoj sa brojem predmeta), iskazuju se u SSA proceduralno, u mini specifikacijama, preko sredstava za opis logike.

Tutorijali - Materijali za učenje