Diagramy przepływu danych Diagram systemowy (poziomu zerowego)
Przed nami: Diagram kontekstowy systemu imprez – przypomnienie Lista zdarzeń – przypomnienie Gramatyka DFD Schemat rozbudowy DFD Dekompozycja procesu kontekstowego Stworzenie diagramu systemowego
System obsługi bibliotecznych imprez SOBIk Diagram kontekstowy System obsługi bibliotecznych imprez SOBIk Bibliotekarz Gość Catering Sponsor Uczestnicy Zamówienie bufetu Zaproszenie Prośba o dofinansowanie Potwierdzenie Potwierdzenie Faktura Pieniądze Informacja o imprezie Plakaty ulotki
Lista zdarzeń Bibliotekarz zaprasza gościa Gość potwierdza wizytę Bibliotekarz potwierdza imprezę Wysyłana jest prośba o sponsoring Sponsor deklaruje / wpłaca pieniądze Zamawiany jest catering Catering potwierdza zlecenie Catering przysyła fakturę Drukowane są ulotki i plakat (System rejestruje zapisy na imprezę) Bibliotekarz zapisuje informacje o zrealizowanej imprezie Bibliotekarz wyszukuje informacje o imprezach Może coś jeszcze…
Gramatyka DFD 1 Proces odpowiada tym składnikom systemu, które przetwarzają dane. Procesy otrzymują i przesyłają dane za pośrednictwem przepływów danych. Nazwa procesu powinna opisywać czynność wykonywaną na określonym obiekcie, jak np.: wprowadzenie informacji o imprezie, wysłanie zaproszenia do autora, generowanie ulotek. Magazyn danych [Składnica danych] służy do przechowywania danych w postaci jednorodnych kolekcji. Nazwa magazynu danych to rzeczownik w liczbie mnogiej, jak np.: goście, imprezy, sponsorzy, faktury. Wpisywanie magazynu danych w diagram ma sens, gdy przechowywane dane służą do realizacji co najmniej dwóch procesów.
Gramatyka DFD 2 Obiekt zewnętrzny [Terminator] - reprezentuje źródła lub miejsca przeznaczenia informacji, z którymi system się komunikuje. Nazwa terminatora, to rzeczownik liczby pojedynczej. Przepływ danych - opisuje zbiór danych przepływający pomiędzy dwoma obiektami w systemie. Przedstawia się go za pomocą linii ze strzałkami określającymi kierunek przesyłania informacji. Jeśli przekazywana informacja jest zwrotna używa się kolejnych linii lub strzałek dwukierunkowych. Nazwa przepływu to rzeczownik w liczbie pojedynczej. Przykładowe przepływy danych: zaproszenie autora, potwierdzenie udziału, faktura.
Gramatyka DFD 3 Nazwy procesów, terminatorów, składowych powinny stanowić samodzielne znaczenie. Na DFD nie umieszcza się żadnych relacji, jakie zachodzą pomiędzy terminatorami. Każdy proces musi mieć przepływy wejściowe i wyjściowe. Diagram DFD zawiera zarówno procesy zautomatyzowane jak i manualne Każdy magazyn musi mieć co najmniej jedno wejście i co najmniej jedno wyjście. Zalecana jest numeracja procesów. Nr nie jest związany z kolejnością wykonania procesu przez system Każdy magazyn na DFD jest prototypem encji na ERD, stąd musi mieć odpowiednik na ERD (co do nazwy i zawartości)
Gramatyka DFD 4 Obiekty zewnętrzne nie komunikują się bezpośrednio ze sobą. Obiekt zewnętrzny [Terminator] 1 Obiekt zewnętrzny [Terminator] 2 X
Gramatyka DFD 5 Magazyny nie komunikują się bezpośrednio ze sobą lecz zawsze z procesami. Magazyn 1 Magazyn 2 X
Gramatyka DFD 6 Terminatory nie komunikują się bezpośrednio z magazynami danych. Obiekt zewnętrzny X Magazyn
Gramatyka DFD 7 Nie wolno tworzyć czarnych dziur czyli procesów, które posiadają jedynie wejścia danych Proces 1 X
Gramatyka DFD 8 Nie wolno tworzyć magicznych procesów czyli takich, które posiadają jedynie wyjścia danych Proces 2 X
Rozbudowa DFD Diagramy DFD są uporządkowane hierarchicznie: Diagram kontekstowy Diagram systemowy (ogólny; poziomu zerowego) Diagramy szczegółowe
Diagram systemowy (ogólny; 0) Ukazuje główne zadania, grupy funkcjonalne lub procesowe systemu. Cele tworzenia diagramu zerowego: Identyfikacja głównych procesów (w wyniku dekompozycji procesu kontekstowego) Identyfikacja obiektów zewnętrznych (są „przepisywane” z diagramu kontekstowego) Identyfikacja wewnętrznych magazynów danych Identyfikacja przepływów między procesami a magazynami danych Identyfikacja przepływów między procesami a terminatorami
Schemat rozbudowy DFD (DeMarco) Diagram DFD kontekstowy Lista zdarzeń Dla każdego zdarzenia określa się proces Nazwa procesu odpowiada odpowiedzi, jakiej udziela system na rozpatrywane zdarzenie Wejście i wyjście z tego procesu odpowiadają zdarzeniu i odpowiedzi systemu na to zdarzenie Równolegle należy tworzyć ERD, weryfikować spójność, uzupełnić słownik, specyfikacje procesów
Rozbudowa DFD Diagramy: ogólny i szczegółowy tworzymy poprzez kompozycję i dekompozycję procesów diagramu wyższego poziomu
Rozbudowa DFD Kompozycja Dekompozycja Łączymy procesy operujące na wspólnych zasobach danych. Liczba procesów na jednym diagramie nie powinna przekraczać 7 (według innych źródeł – 9) Dekompozycja Rozdzielamy procesy na podprocesy aż do poziomu procesów elementarnych (to już na diagramach szczegółowych)
Przykład dekompozycji DFD
Zasady poprawności kompozycji / dekompozycji Zasada zachowania zgodności pomiędzy poziomami diagramu (Yourdona): Przepływy wchodzące i wychodzące z procesu na danym poziomie powinny być zgodne z diagramem reprezentującym dany proces na niższym poziomie Zasada równowagi modelu (Robertsonów): Diagram dziecko przetwarza te same dane co diagram ojciec
Dziękuję GC