- Dijagrami toka podataka Softverski inženjering 1
Kada projektujemo sistem za obradu podataka sa brzim odzivom, možemo uočiti dve ključne grupe funkcija koje se opisuju dijagramima toka podataka: Funkcije kojima se kreira i održava baza podataka (na osnovu projektovanih ulaza formiramo i održavamo bazu podataka, poštujući pri tome pravila njenog integriteta). Funkcije pomoću kojih vršimo upite i formiramo preglede na osnovu podataka u bazi (formira projektovane izlaze pri čemu pretražuje i prikazuje projektovanu bazu podataka). 2
Kako unete podatke treba održavati, potrebno je za svaki od njih obezbediti osnovne funkcije: Unos, brisanje, prikaz i pregled Da bi se očuvao integritet aplikacije, neophodno je imati u vidu sledeće činjenice: Prilikom čitanja baze podataka ili tabela sa datim ključem, treba proveriti da li postoji slog sa datim ključem. Prilikom sekvencionalnog čitanja podataka treba voditi računa o kraju tabele. Prilikom upisa podataka potrebno je proveriti da li već postoji upisan slog sa datim ključem. 3
Kada upisujemo jedan slog, neophodno je prethodno proveriti da li postoje slogovi svih onih tabela na koje pokazuje ovaj slog tabele sa minimalnim kardinalitetom 1. Kada brišemo slog iz tabele, neophodno je prethodno proveriti da li u drugim tabelama postoje slogovi koji pokazuju na ovaj slog. Za svake dve klase podataka između kojih postoji veza sa minimalnim kardinalitetima jednakim 1, unos podataka treba da bude zajednički za obe tabele. Za klase koje su povezane vezom sa minimalnim kardinalitetima jednakim 1, prilikom brisanja sloga jedne od tabela proveriti da li je potrebno i brisanje sloga u drugoj tabeli. 4
Izbegavati ažuriranje obeležja koja su u ključu sloga, već ovaj problem rešavati kao kombinaciju brisanja sloga i upisa novog. Za slabe entitete neophodno je proveriti postojanje odgovarajućih entiteta od kojih oni zavise, odnosno na koje pokazuju, pa se prilikom unosa obavezno proverava njihovo postojanje, dok se prilikom brisanja slogova iz jedne tabele može postupiti dvojako: Mogu se izabrati i slogovi koji su prema njima slabi Onemogućava se brisanje slogova Prilikom prijema podataka iz okruženja u softversku aplikaciju koju projektujemo, vrlo je važno sprovesti maksimalne moguće kontrole unetih podataka. 5
Šta postižemo pridržavanjem ovih pravila? Funkcije koje projektujemo direktno podržavaju integritet baze podataka. Postiže se čvrsto i kvalitetno jedinstvo između organizacije podataka i funkcija koje rukuju tim podacima. Ovo jedinstvo je od izuzetnog značaja i predstavlja suštinski najvažniji princip. 6
U nastavku slede primeri dijagrama toka podataka za sledeće funkcije: Unos rasporeda ispita Brisanje dodeljene nastave Spisak diplomiranih studenata 7
Unos rasporeda ispita zahteva prvo proveru da li je taj ispitni rok ranije unet i ako nije - upis novog roka. Nakon toga, u oba slučaja proverava se da li postoji određeni predmet upisan u datoteku predmeta i, ako postoji, upis podataka o rasporedu ispita iz tog predmeta u datom ispitnom roku. 8
9
Brisanje dodeljene nastave sprovodi se tako što se prvo provere podaci o predmetu za koji se briše dodela nastave, zatim se briše slog nastavnik-predmet. Nakon toga, proverava se da li postoji još neki slog tabele nastavnik-predmet sa datom šifrom nastavnika. Ako ne postoji ni jedan, briše se slog tabele nastavnika sa datom šifrom nastavnika. 10
11
Izveštaj o diplomiranim studentima formira se tako što se čita tabela diplomiranih studenata, na osnovu broja indeksa čita se tabela student, na osnovu koje se formira izveštaj o diplomiranim studentima. 12
13
Rečnik podataka opisuje strukturu i sadržaj tokova i skladišta podataka. Slede primeri opisa toka podataka, opisa elementarnog podatka, opisa tabele i opisa funkcije, koji čine rečnik podataka. 14
15
16
- Dijagrami toka podataka 17