Modelowanie i analiza systemowa wykład V (05.12.2009)
Modelowanie funkcji i procesów - podstawowa technika w podejściu strukturalnym DFD (diagramy przepływu danych)
Diagram DFD stanowi graficzną mapę procesów i funkcji projektowanego systemu.
Do czego służą diagramy DFD ?
• Pokazują wewnętrzną strukturę systemu łączącą działania (akcje, operacje) z
przetwarzanymi danymi.
• Pokazują procesy w systemie i wymieniane pomiędzy nimi informacje.
• Pokazują zależności pomiędzy procesami wynikające z produkowania i
konsumowania danych.
• Pokazują wymianę danych ze światem zewnętrznym.
• Pomagają decydować o dalszej dekompozycji procesów.
• Stanowią podstawę do specyfikacji aplikacji, procedur ręcznych, urządzeń
elektronicznych.
Czego nie pokazują diagramy DFD ?
• Nie pokazują algorytmu przetwarzania danych wewnątrz procesów.
• Nie pokazują momentów czasowych kiedy proces jest rozpoczynany.
Składniki diagramów DFD:
proces - jest to jednostki przetwarzania; składnik aktywny - funkcja systemu
przepływ danych - nazwany zbiór obiektów, atrybutów, związków i innych,
jeszcze niesformalizowanych jednostek informacji, przesyłanych:
• z jednego miejsca w drugie,
• pomiędzy procesami,
• pomiędzy procesem i zbiornikiem danych.
Grot strzałki pokazuje kierunek przepływu danych, a nazwa przepływu w sposób zbiorczy opisuje wszystkie przekazywane informacje.
zbiornik danych - nazwany zbiór obiektów, atrybutów, związków i innych
jeszcze niesformalizowanych jednostek informacji, które muszą zostać przechowane
przez pewien okres (wycinek bazy danych)
zbiornik zewnętrzny (jednostka,byt) - obiekt zlokalizowany na zewnątrz systemu, który jest źródłem informacji przesyłanej do systemu lub miejscem przeznaczenia informacji wychodzącej z systemu (np. urząd skarbowy dla firmy)
W wyniku modelowania funkcji i procesów techniką DFD powstaje hierarchia diagramów dla jednego projektowanego systemu. Na szczycie tej hierarchii (na poziomie zerowym) znajduje się diagram kontekstowy. Jego budowa ma na celu wyznaczenie granic systemu i dlatego umieszcza się na nim cały modelowany system jako jeden proces w otoczeniu bytów zewnętrznych oraz przepływy danych pomiędzy nimi.
Kolejne poziomy diagramów powstają w wyniku dekompozycji procesów i tak na poziomie pierwszym występuje jeszcze jeden diagram pokazujący podział systemu na podsystemy.
W następnym kroku rozbijamy każdy z procesów (podsystemów) na podprocesy i tworzymy tyle diagramów ile jest procesów umieszczonych na diagramie nadrzędnym (dla każdego dekomponowanego procesu powstaje oddzielny diagram na poziomie następnym). Dekompozycję procesów i tym samym tworzenie kolejnych poziomów diagramów przeprowadzamy aż do uzyskania procesów elementarnych, które specyfikuje się za pomocą np. języków nieformalnych czy instrukcji SQL-owej.
Niedopuszczalne połączenia:
między bytami zewnętrznymi (dzieje się to poza granicami naszego systemu)
między zbiornikami danych (zbiorniki danych jako elementy pasywne, nie mogą inicjować przepływu danych)
między bytem zewnętrznym a zbiornikiem danych (przetwarzanie danych znajdujących się wewnątrz systemu nie może być realizowane bez udziału procesu)
pomiędzy dwoma procesami.
Sprawdzanie kompletności i jakości DFD:
• Czy proces ma przynajmniej jeden przepływ wejściowy?
• Czy proces ma przynajmniej jeden przepływ wyjściowy?
• Czy element zbiornika danych jest produkowany przynajmniej przez jeden przepływ
wejściowy?
• Czy element zbiornika danych jest konsumowany przynajmniej przez jeden przepływ
wyjściowy?
• Czy suma logiczna przepływów wejściowych do zbiornika równa jest sumie logicznej przepływów wyjściowych?
• Czy nie ma redundantnych przepływów pomiędzy tymi samymi elementami diagramu?
• Czy można wyprodukować dane wyjściowe na podstawie danych wejściowych?
• Czy wszystkie dane wejściowe są niezbędne?
• Czy dla danych o wyraźnym charakterze przyrostowym, istnieją przepływy opróżniające zbiornik danych?