Model przepływu danychjest intuicyjnym sposobem pokazania, jak system przetwarza dane. Na poziomie analitycznym powinny być używane do modelowania sposobu przetwarzania danych w istniejących systemach.
Po publikacji książki DeMarco 'Analiza systemów strukturalnych’, model przepływu danych stał się coraz bardziej powszechnie stosowany w analizie. Stanowią one nieodłączną część strukturalnego podejścia opracowanego na podstawie tej pracy. Symbole używane w tych modelach reprezentują przetwarzanie funkcji (zaokrąglone prostokąty), przechowywanie danych (prostokąty) oraz ruch danych między funkcjami (oznakowane strzałki).
Dlaczego DFD jest nadal przydatny w rozwoju oprogramowania?
Chociaż modelowanie zorientowane na przepływ danychjest uważane przez niektórych inżynierów oprogramowania za przestarzałą technologię, nadal jest jednym z najczęściej używanych symboli analizy wymagań. Chociaż diagramy przepływu danych (DFD) nie są formalnymi częściami UML, mogą być używane do uzupełniania diagramów UML i dostarczania dodatkowych informacji na temat wymagań i procesów systemowych.
Model przepływu danych jest cenny, ponieważ śledzenie i rejestrowanie, jak dane związane z danym procesem poruszają się przez system, pomaga analitykom zrozumieć, co się dzieje. Zaletą diagramów przepływu danych jest to, że w przeciwieństwie do niektórych innych symboli modelowania są one proste i intuicyjne. Zwykle można je wyjaśnić potencjalnym użytkownikom systemu, którzy mogą być zaangażowani w analizę i walidację wymagań.
Dlaczego DFD?
DFD graficznie przedstawia funkcje lub procesy, które przechwytują, manipulują, przechowują i dystrybuują dane między systemem a jego otoczeniem oraz między komponentami systemu. Wizualna reprezentacja czyni go dobrym narzędziem komunikacyjnym między użytkownikiem a projektantem systemu. Struktura DFD pozwala na rozpoczęcie od szerokiego przeglądu i rozwinięcie go do hierarchii szczegółowych diagramów. DFD był często używany z następujących powodów:
- Logiczny przepływ informacji w systemie
- Określenie wymagań dotyczących budowy systemu fizycznego
- Prostota notacji
- Ustalenie wymagań dla systemów ręcznych i automatycznych
DFD jest procesem dekompozycji od góry do dołu
Modelowanie przepływu danych jest procesem „od góry do dołu”. Najpierw analizuje się cały proces zakupu. Następnie podprocesy są analizowane w sposób dekompozycji od góry do dołu.
DFD może być używany do modelowania systemów lub oprogramowania na dowolnym poziomie abstrakcji. Jak wspomniano wcześniej, DFD można podzielić na poziomy, które reprezentują rosnący przepływ informacji i szczegółowości funkcjonalnej. Numery poziomów w DFD to 0, 1, 2 lub wyższe. Tutaj zobaczymy, że istnieją trzy główne poziomy w diagramie przepływu danych, a mianowicie poziom 0 DFD, poziom 1 DFD i poziom 2 DFD.

Diagram kontekstu — Poziomy DFD
Diagram kontekstu (znany również jako poziom 0 DFD) przedstawia całe wymaganie oprogramowania jako bańkę, z danymi wejściowymi i wyjściowymi reprezentowanymi przez strzałki wejściowe i wyjściowe.
System jest następnie dekomponowany do DFD z wieloma bańkami. Części systemu reprezentowane przez każdą bańkę są następnie rozkładane i rejestrowane w coraz bardziej szczegółowych diagramach przepływu danych. Proces ten można powtarzać na niezbędnych poziomach, aż program będzie w pełni zrozumiany.
Liczba wejść i wyjść między poziomami musi być utrzymywana, co jest znane jako poziomowanie DeMacro. Dlatego, jeśli bańka „A” ma dwa wejścia X1 i X2 oraz jedno wyjście Y, to diagram przepływu danych na podpoziomie reprezentujący wyższy poziom DFD „A” powinien mieć dokładnie dwa zewnętrzne wejścia i jedno zewnętrzne wyjście.
W DFD na poziomie 1 diagram kontekstu jest dekomponowany na wiele procesów. Na tym poziomie podkreślamy główne funkcje systemu i rozkładamy proces na wysokim poziomie z DFD na poziomie 0 na podprocesy, aby przedstawić szczegóły działań przetwarzania.
Diagram kontekstu (poziom 0 DFD) — diagram kontekstu DFD to diagram, który przedstawia przegląd systemu i jego interakcję z resztą „świata”.
Diagram przepływu danych poziom 1 — poziom 1 DFD zapewnia bardziej szczegółowy widok systemu niż diagram kontekstu, pokazując główne podprocesy i magazyny danych, które tworzą cały system.
Poziom 2 (lub niższy) — główną zaletą technologii modelowania przepływu danych jest to, że szczegółowa złożoność systemów rzeczywistych może być zarządzana i modelowana na poziomie abstrakcyjnym dzięki technologii zwanej „poziomowaniem”. Niektóre elementy każdego diagramu przepływu danych mogą być dekomponowane („dekomponowane”) do bardziej szczegółowego modelu na niższym poziomie w hierarchii.
Poziomy DFD — Przykład— System zamawiania jedzenia
Poziom 0
Jest również znany jako diagram kontekstu. Jest zaprojektowany jako widok abstrakcyjny, przedstawiający system jako pojedynczy proces z jego relacją do podmiotów zewnętrznych.
- Diagram kontekstu musi zmieścić się na jednej stronie.
- Nazwa procesu w diagramie kontekstu powinna być nazwą systemu informacyjnego.
- Na przykład, System oceniania, System przetwarzania zamówień, System rejestracji.

W DFD na poziomie 1 diagram kontekstu jest dekomponowany na wiele procesów. Na tym poziomie podkreślamy główne funkcje systemu i rozkładamy proces na wysokim poziomie z DFD na poziomie 0 na podprocesy, aby przedstawić szczegóły działań przetwarzania.
Poziom 1 — System zamawiania jedzenia
W DFD na poziomie 1 diagram kontekstu jest dekomponowany na wiele procesów. Na tym poziomie podkreślamy główne funkcje systemu i rozkładamy proces na wysokim poziomie z DFD na poziomie 0 na podprocesy, aby przedstawić szczegóły działań przetwarzania.

Jeśli proces ma dużo przepływu danych łączącego kilka podmiotów zewnętrznych, możemy najpierw wydobyć ten konkretny proces i powiązane z nim podmioty zewnętrzne do osobnego diagramu podobnego do diagramu kontekstu, zanim udoskonalimy proces do osobnego poziomu DFD; w ten sposób można zapewnić łatwiejszą spójność między nimi.
Symbole DFD
Istnieją cztery podstawowe symbolektóre są używane do reprezentowania diagramu przepływu danych.
Proces
Proces otrzymuje dane wejściowe i produkuje wyjście o innej zawartości lub formie. Procesy mogą być tak proste, jak zbieranie danych wejściowych i zapisywanie ich w bazie danych, lub mogą być złożone, jak generowanie raportu zawierającego miesięczną sprzedaż wszystkich sklepów detalicznych w północno-zachodnim regionie.
Każdy proces ma nazwę, która identyfikuje funkcję, jaką wykonuje.
Nazwa składa się z czasownika, a następnie z rzeczownika w liczbie pojedynczej.
Przykład:
- Zastosuj płatność
- Oblicz prowizję
- Zweryfikuj zamówienie
Notacja DFD
- Zaokrąglony prostokąt reprezentuje proces
- Procesom przypisywane są identyfikatory dla łatwego odniesienia

Przykład procesu

Przepływ danych
Przepływ danych to ścieżka, którą dane poruszają się z jednej części systemu informacyjnego do drugiej. Przepływ danych może reprezentować pojedynczy element danych, taki jak identyfikator klienta, lub może reprezentować zestaw elementów danych (lub strukturę danych).
Przykład:
- Informacje_o_kliencie (Nazwisko, Imię, PESEL, Tel #, itd.)
- Informacje_o_zamówieniu (IdZamówienia, NrPrzedmiotu, DataZamówienia, IdKlienta, itd.).
Przykład przepływu danych:

Notacja
- Proste linie z przychodzącymi strzałkami to przepływ danych wejściowych
- Proste linie z wychodzącymi strzałkami to przepływy danych wyjściowych
Zauważ, że:
Ponieważ każdy proces zmienia dane z jednej formy na inną, co najmniej jeden przepływ danych musi wchodzić i jeden przepływ danych musi wychodzić z każdego symbolu procesu.
Magazyn danych
Magazyn danych lub repozytorium danych jest używane w diagramie przepływu danych do reprezentowania sytuacji, gdy system musi przechowywać dane, ponieważ jeden lub więcej procesów musi użyć przechowywanych danych w późniejszym czasie.
Notacja
- Dane mogą być zapisywane w magazynie danych, co jest przedstawione przez wychodzącą strzałkę
- Dane mogą być odczytywane z magazynu danych, co jest przedstawione przez przychodzącą strzałkę.
- Przykłady to: zapasy, należności, zamówienia i codzienne płatności.

Przykład magazynu danych

Zauważ, że:
- Magazyn danych musi być połączony z procesem za pomocą przepływu danych.
- Każdy magazyn danych musi mieć co najmniej jeden przepływ danych wejściowych i co najmniej jeden przepływ danych wyjściowych (nawet jeśli przepływ danych wyjściowych jest wiadomością kontrolną lub potwierdzającą).
Podmiot zewnętrzny
Podmiot zewnętrzny to osoba, dział, organizacja zewnętrzna lub inny system informacyjny, który dostarcza dane do systemu lub otrzymuje wyjścia z systemu. Podmioty zewnętrzne są komponentami znajdującymi się poza granicami systemów informacyjnych. Reprezentują, jak system informacyjny wchodzi w interakcję z otaczającym światem.
- Prostokąt reprezentuje podmiot zewnętrzny
- Dostarczają dane lub odbierają dane
- Nie przetwarzają danych
Notacja
- Klient składający zamówienie, a następnie otrzymujący rachunek z systemu
- Dostawca wystawia fakturę

Przykład podmiotu zewnętrznego

Zauważ, że:
- Podmioty zewnętrzne nazywane są również terminatorami, ponieważ są źródłami danych lub ostatecznymi miejscami docelowymi.
- Podmiot zewnętrzny musi być połączony z procesem za pomocą przepływu danych.
Zasada przepływu danych
Jedną z zasad opracowywania DFD jest to, że każdy przepływ musi zaczynać się i kończyć na kroku przetwarzania. To jest dość logiczne, ponieważ dane nie mogą się same przekształcać bez przetwarzania. Stosując zasadę kciuka, łatwo jest zidentyfikować nielegalne przepływy danych i poprawić je w DFD.
Błędny / Prawidłowy opis


Jednostka nie może dostarczyć danych do innej jednostki bez przeprowadzenia jakiegoś przetwarzania.


Dane nie mogą przemieszczać się bezpośrednio z jednostki do magazynu danych bez przetwarzania.


Dane nie mogą przemieszczać się bezpośrednio z magazynu danych bez przetwarzania.


Dane nie mogą przemieszczać się bezpośrednio z jednego magazynu danych do drugiego bez przetwarzania.
Inne często popełniane błędy w DFD
Druga klasa błędów w DFD pojawia się, gdy wyjścia z jednego kroku przetwarzania nie odpowiadają jego wejściom i można je sklasyfikować jako:
- Czarne dziury — Krok przetwarzania może mieć przepływy wejściowe, ale brak przepływów wyjściowych.
- Cuda — Krok przetwarzania może mieć przepływy wyjściowe, ale brak przepływów wejściowych.
- Szare dziury — Krok przetwarzania może mieć wyjścia, które są większe niż suma jego wejść.

Darmowe narzędzie UML
- Internetowy kreator diagramów przepływu danych
- Jak stworzyć diagram przepływu danych (DFD)?
- Oprogramowanie do diagramów przepływu danych (DFD)
Różne notacje DFD
Ten post dostępny jest również w Deutsch, English, Español, فارسی, Français, Bahasa Indonesia, 日本語, Portuguese, Ру́сский, Việt Nam, 简体中文 and 繁體中文