Diagram przepływu danych (DFD) to tradycyjna wizualna reprezentacja przepływów informacji w systemie. Czysty i przejrzysty DFD może graficznie przedstawić odpowiednią ilość wymagań systemowych. Może być ręczny, zautomatyzowany lub stanowić kombinację obu.
Pokazuje, w jaki sposób dane wchodzą i opuszczają system, co zmienia informacje i gdzie dane są przechowywane.
Celem DFD jest pokazanie zakresu i granic systemu jako całości. Może służyć jako narzędzie komunikacji pomiędzy analitykiem systemowym a dowolną osobą biorącą udział w zamówieniu, stanowiącym punkt wyjścia do przeprojektowania systemu. DFD nazywany jest także wykresem przepływu danych lub wykresem bąbelkowym.
Istotne są następujące obserwacje dotyczące DFD:
- Wszystkie nazwy powinny być unikalne. Ułatwia to odwoływanie się do elementów w DFD.
- Pamiętaj, że DFD nie jest schematem blokowym. Strzałki to schemat blokowy przedstawiający kolejność zdarzeń; strzałki w DFD reprezentują przepływające dane. DFD nie wiąże się z żadną kolejnością zdarzeń.
- Pomiń logiczne decyzje. Jeśli kiedykolwiek będziemy mieli ochotę narysować pudełko w kształcie rombu w DFD, stłummy tę potrzebę! Ramka w kształcie rombu jest używana na schematach blokowych do reprezentowania punktów decyzyjnych z wieloma istniejącymi ścieżkami, z których wybrana jest tylko jedna. Oznacza to kolejność zdarzeń, co w DFD nie ma sensu.
- Nie daj się wciągnąć w szczegóły. Odłóż warunki błędów i obsługę błędów do końca analizy.
Standardowe symbole DFD pochodzą z analizy schematu obwodu elektrycznego i są pokazane na rys.:
Koło: Okrąg (bańka) przedstawia proces przekształcający dane wejściowe w dane wyjściowe.
Przepływ danych: Linia zakrzywiona przedstawia przepływ danych do lub z procesu lub magazynu danych.
Magazyn danych: Zestaw równoległych linii pokazuje miejsce gromadzenia elementów danych. Magazyn danych wskazuje, że przechowywane są dane, które można wykorzystać na późniejszym etapie lub w innych procesach w innej kolejności. Magazyn danych może zawierać element lub grupę elementów.
Źródło lub ujście: Źródło lub Ujście jest bytem zewnętrznym i działa jako źródło wejść systemu lub ujście wyjść systemu.
Poziomy na diagramach przepływu danych (DFD)
DFD można wykorzystać do wykonania systemu lub oprogramowania na dowolnym poziomie abstrakcji. W rzeczywistości DFD można podzielić na poziomy, które reprezentują rosnący przepływ informacji i szczegóły funkcjonalne. Poziomy w DFD są ponumerowane 0, 1, 2 lub wyższe. Tutaj zobaczymy przede wszystkim trzy poziomy na diagramie przepływu danych, którymi są: DFD na poziomie 0, DFD na poziomie 1 i DFD na poziomie 2.
DFDM poziomu 0
Nazywa się go również podstawowym modelem systemu lub diagramem kontekstowym, przedstawiającym całe wymagania oprogramowania jako pojedynczą bańkę z danymi wejściowymi i wyjściowymi oznaczonymi strzałkami przychodzącymi i wychodzącymi. Następnie system jest rozkładany i opisywany jako DFD z wieloma bąbelkami. Części systemu reprezentowane przez każdą z tych baniek są następnie rozkładane i dokumentowane jako coraz bardziej szczegółowe DFD. Proces ten można powtarzać na tylu poziomach, ile jest to konieczne, aż do dobrego zrozumienia danego programu. Istotne jest zachowanie liczby wejść i wyjść pomiędzy poziomami. Ta koncepcja została nazwana przez DeMacro poziomowaniem. Zatem, jeśli bańka „A” ma dwa wejścia x1i x2i jedno wyjście y, następnie rozszerzony DFD, który reprezentuje „A”, powinien mieć dokładnie dwa wejścia zewnętrzne i jedno wyjście zewnętrzne, jak pokazano na rys.:
DFD poziomu 0, zwany także diagramem kontekstowym systemu zarządzania wynikami, pokazano na rys. 2. W miarę jak bąbelki rozkładają się na coraz mniej abstrakcyjne bąbelki, do rozłożenia może być również potrzebny odpowiedni przepływ danych.
DFD 1-poziomowy
W jednopoziomowym DFD diagram kontekstu jest rozkładany na wiele bąbelków/procesów. Na tym poziomie podkreślamy główne cele systemu i dzielimy proces wysokiego poziomu DFD na poziomie 0 na podprocesy.
2-poziomowy DFD
Dwupoziomowy DFD przechodzi o jeden proces głębiej w części jednopoziomowego DFD. Można go używać do projekcji lub rejestrowania określonych/niezbędnych szczegółów dotyczących funkcjonowania systemu.