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 DTP-a 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:
Slika 1: Primer DTP-a za IS studentske službe - 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.
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: Primer DTP-a za IS studentske službe - dijagram I nivoa
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: Primer DTP-a za IS studentske službe - dekompozicija procesa Upis
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: IS studentska služba - dekompozicija procesa - obrada ispita
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 5: IS studentska služba - dekompozicija procesa - izdavanje uverenja
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: IS studentska služba - hijerarhijski dijagram dekompozicije
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.
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:
Činjenica da polje uzima vrednost iz nekog domena označava se na sledeći način:
naziv polja : domen [ograničenje]
Na 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.