Diagramy przepływu danych (DFD) to podstawowe narzędzia w analizie i projektowaniu systemów. Zapewniają wizualne przedstawienie, jak informacje poruszają się przez system. Zrozumienie głębi DFD jest kluczowe, aby zapewnić dokładne uchwycenie wymagań. Niniejszy przewodnik omawia proces przechodzenia od diagramu kontekstowego poziomu wysokiego do szczegółowego diagramu poziomu 1. Przeanalizujemy zasady rozkładania, zachowania danych oraz integralności strukturalnej bez odwoływania się do konkretnych narzędzi programowych.

DFD nie są płaskimi dokumentami; istnieją w hierarchii. Ta struktura pozwala analitykom patrzeć na system z różnych poziomów szczegółowości. Każdy poziom dodaje większą precyzję procesom i przepływom danych.
Przejście od diagramu kontekstowego do poziomu 1 jest często najtrudniejszym krokiem dla nowych analityków. Wymaga ono zrównoważenia potrzeby jasności z potrzebą szczegółowości. Jeśli diagram jest zbyt ogólny, brakuje w nim informacji użytecznych w działaniu. Jeśli jest zbyt szczegółowy, staje się zatłoczony i traci się zrozumienie ogólnego obrazu.
Diagram kontekstowy pełni rolę punktu wzorcowego dla całego zestawu DFD. Określa granicę systemu podlegającego analizie. Wszystko wewnątrz okręgu jest częścią systemu; wszystko poza nim jest zewnętrzne.
Ustalanie granic jest kluczowe. Jednostka jest zewnętrzna, jeśli znajduje się poza zakresem bieżącego projektu. Na przykład w systemie płac urzędnictwo podatkowe może być jednostką zewnętrzną, a dział finansowy – wewnętrznym. Nieprawidłowe identyfikowanie granic prowadzi do rozszerzania zakresu i zamieszania.
Rozkładanie to proces dzielenia złożonego procesu na mniejsze, łatwiejsze do zarządzania podprocesy. Jest to podstawowy mechanizm tworzenia diagramu poziomu 1. Nie chodzi tylko o podział zadań, ale o ujawnienie wewnętrznej logiki systemu.
Przy przejściu od poziomu 0 do poziomu 1 należy przestrzegać kilku zasad, aby zachować spójność logiczną.
Jednym z najważniejszych wymagań technicznych jest zrównoważenie przepływu danych. Dane wchodzące do procesu poziomu 0 muszą być równe danym wchodzącym do procesów poziomu 1. Podobnie dane opuszczające proces poziomu 0 muszą być równe danym opuszczającym procesy poziomu 1.
Jeśli diagram kontekstowy pokazuje „Formularz zamówienia” wchodzący do systemu, diagram poziomu 1 musi pokazywać ten sam „Formularz zamówienia” wchodzący do jednego z podprocesów. Jeśli diagram poziomu 1 pokazuje przekazywanie „ID klienta” wewnętrznie, nie może on być wejściem zewnętrznym ani wyjściem w diagramie poziomu 0, chyba że był tam już obecny.
Gdy plan rozkładania jest gotowy, zaczyna się rzeczywiste budowanie. Obejmuje to identyfikację głównych obszarów funkcjonalnych systemu.
Spójrz na pojedynczy proces z diagramu kontekstowego. Zadaj pytanie: jakie są główne działania wymagane do spełnienia celu systemu? Staną się one kropkami lub okręgami na diagramie poziomu 1.
Połącz procesy strzałkami. Te strzałki reprezentują przepływ danych między wewnętrznymi procesami. Możesz również narysować strzałki łączące obiekty zewnętrzne z tymi nowymi podprocesami.
Podczas gdy diagramy kontekstowe je pomijają, diagramy poziomu 1 często je zawierają. Magazyn danych to miejsce, w którym dane są przechowywane w stanie spoczynku. Może to być baza danych, plik lub fizyczna szafka z dokumentami.
Podczas rysowania magazynów danych:
Nawet doświadczeni analitycy napotykają błędy podczas tworzenia diagramów przepływu danych. Wczesne rozpoznanie tych wzorców oszczędza czas podczas weryfikacji.
Czarna dziura to proces, który ma wejścia, ale nie ma wyjść. Oznacza to, że dane są zużywane bez tworzenia wyniku. W systemie funkcjonalnym każde wejście musi prowadzić do jakiejś formy wyjścia lub przechowywania danych.
Czar to proces, który ma wyjścia, ale nie ma wejść. Oznacza to, że dane są generowane z niczego. Każde wyjście musi pochodzić z jakichś danych wejściowych.
Diagramy przepływu danych śledzą przepływy danych, a nie przepływy sterujące. Przepływ sterujący reprezentuje sygnał uruchomienia lub zatrzymania procesu (np. „Przycisk Start naciśnięty”). Jeśli widzisz przepływ przypominający sygnał sterujący, najprawdopodobniej jest to faktycznie dane (np. „Prośba o uruchomienie”). Diagramy przepływu danych nie obsługują jawnie czasu ani kontroli logiki.
Zdarza się to, gdy wejścia do diagramu poziomu 1 nie zgadzają się z wejściami do diagramu kontekstowego. Zawsze sprawdzaj zachowanie danych po narysowaniu diagramu poziomu 1.
Poniższa tabela podsumowuje różnice między poziomami, aby ułatwić zrozumienie, kiedy należy używać którego.
| Cecha | Diagram kontekstowy (poziom 0) | Diagram poziomu 1 |
|---|---|---|
| Główny proces | Jeden pojedynczy proces | Wiele podprocesów |
| Magazyny danych | Brak | Tak, zawarte |
| Poziom szczegółowości | Podsumowanie na wysokim poziomie | Rozkład funkcjonalny |
| Zewnętrzne jednostki | Wszystkie podstawowe jednostki | Podzbiór lub te same jednostki |
| Główny cel | Zdefiniuj zakres systemu | Zdefiniuj logikę wewnętrzną |
Po pierwszym szkicu diagram musi zostać zweryfikowany. Nie jest to jednorazowa kontrola, lecz cykl przeglądu i doskonalenia.
Im głębiej wchodzisz w strukturę DFD, tym więcej decyzji o szczegółowości musisz podjąć. Jak głęboko powinieneś iść?
Nie ma uniwersalnego przepisu, ale istnieją ogólne wytyczne:
Magazyny danych mogą komplikować przepływ wizualny. Upewnij się, że są umieszczone logicznie. Nie rysuj linii przechodzącej przez proces. Jeśli linia musi przeciąć proces, użyj punktu połączeniowego lub symbolu rozgałęzienia, aby wskazać, że przechodzi obok, a nie oddziałuje.
Rozróżnij aktorów wewnątrz systemu i tych poza nim. Jeśli operator ludzki jest częścią przepływu pracy systemu (np. urzędnik wprowadzający dane), może być aktorem wewnętrznym, ale często przedstawia się go jako jednostkę zewnętrzną, ponieważ znajduje się poza granicami oprogramowania. Spójność w tej definicji jest kluczowa.
Diagram to tylko część historii. Wymagane są opisy tekstowe, aby wyjaśnić logikę.
Pomyślne przejście od diagramu kontekstowego do poziomu 1 wymaga dyscyplinowanego podejścia. Nie chodzi o rysowanie większej liczby pól; chodzi o ujawnienie prawdy systemu.
Śledząc te zorganizowane kroki, tworzysz solidną podstawę do projektowania systemu. Diagram poziomu 1 staje się projektem dla programistów oraz narzędziem komunikacji dla stakeholderów biznesowych. Zamyka luki między abstrakcyjnymi wymaganiami a konkretną realizacją.