Was ist ein Datenflussdiagramm, warum ist es immer noch nützlich für die Softwareentwicklung?

Ein  Datenflussmodell  ist eine intuitive Methode, um zu zeigen, wie ein System Daten verarbeitet. Auf der analytischen Ebene sollten sie verwendet werden, um die Art und Weise zu modellieren, wie Daten in bestehenden Systemen verarbeitet werden.

Nach der Veröffentlichung von  DeMarcos Buch „Structured Systems Analysis“ wird das Datenflussmodell immer häufiger in der Analyse verwendet. Sie sind fester Bestandteil des aus dieser Arbeit entwickelten strukturierten Vorgehens. Die in diesen Modellen verwendeten Symbole repräsentieren die Funktionsverarbeitung (abgerundete Rechtecke), die Datenspeicherung (Rechtecke) und die Datenbewegung zwischen Funktionen (beschriftete Pfeile).

Warum ist DFD immer noch nützlich für die Softwareentwicklung?

Obwohl  die datenflussorientierte Modellierung  von einigen Softwareentwicklern als veraltete Technologie angesehen wird, ist sie immer noch eines der am weitesten verbreiteten Symbole für die Anforderungsanalyse. Obwohl Datenflussdiagramme (DFDs) keine formalen Bestandteile von UML sind, können sie verwendet werden, um UML-Diagramme zu ergänzen und zusätzliche Einblicke in Systemanforderungen und -prozesse zu geben.

Das Datenflussmodell ist wertvoll, da das Verfolgen und Aufzeichnen, wie sich Daten zu einem bestimmten Prozess durch das System bewegen, Analysten dabei hilft, zu verstehen, was passiert. Der Vorteil von Datenflussdiagrammen besteht darin, dass sie im Gegensatz zu einigen anderen Modellierungssymbolen einfach und intuitiv sind. Sie können in der Regel potenziellen Systembenutzern erklärt werden, die möglicherweise an der Analyse und Validierung von Anforderungen beteiligt sind.

Warum DFD?

DFD stellt die Funktionen oder Prozesse grafisch dar, die Daten erfassen, manipulieren, speichern und zwischen einem System und seiner Umgebung und zwischen Komponenten eines Systems verteilen. Die visuelle Darstellung macht es zu einem guten Kommunikationswerkzeug zwischen Benutzer und Systemdesigner. Die Struktur des DFD ermöglicht es, von einer groben Übersicht auszugehen und sie zu einer Hierarchie detaillierter Diagramme zu erweitern. DFD wurde aus folgenden Gründen oft verwendet:

  • Logischer Informationsfluss des Systems
  • Bestimmung der Anforderungen an den physikalischen Systemaufbau
  • Einfachheit der Notation
  • Festlegung der Anforderungen an manuelle und automatisierte Systeme

DFD ist ein Top-Down-Zerlegungsprozess

Die Datenflussmodellierung ist ein „Top-Down“-Prozess. Analysieren Sie zunächst den gesamten Beschaffungsprozess. Die Teilprozesse werden dann in einer Top-down-Zerlegungsart analysiert.

DFD kann verwendet werden, um Systeme oder Software auf jeder Abstraktionsebene zu modellieren. Wie bereits erwähnt, kann DFD in Ebenen unterteilt werden, die einen zunehmenden Informationsfluss und funktionale Details darstellen. Levelnummern in DFD sind 0, 1, 2 oder höher. Hier sehen wir, dass es im Datenflussdiagramm drei Hauptebenen gibt, nämlich Ebene 0 DFD, Ebene 1 DFD und Ebene 2 DFD.

DFD-Top-Down-Zerlegungsprozess

Kontextdiagramm – Ebenen von DFD

Das Kontextdiagramm (auch bekannt als DFD der Ebene 0) stellt die gesamte Softwareanforderung als Blase dar, wobei Eingabe- und Ausgabedaten durch Eingabe- und Ausgabepfeile dargestellt werden.

Das System wird dann in ein DFD mit mehreren Blasen zerlegt. Die Teile des Systems, die durch jede Blase repräsentiert werden, werden dann zerlegt und in immer detaillierteren Datenflussdiagrammen aufgezeichnet. Dieser Prozess kann auf den erforderlichen Ebenen wiederholt werden, bis das vorliegende Programm vollständig verstanden ist.

Die Anzahl der Ein- und Ausgänge zwischen den Ebenen muss beibehalten werden, ein Konzept, das als DeMacro-Nivellierung bekannt ist. Wenn Blase „A“ also zwei Eingänge X1 und X2 und einen Ausgang Y hat, dann sollten die Datenflussdiagramme der Unterebene, die das DFD „A“ der oberen Ebene darstellen, genau zwei externe Eingänge und einen externen Ausgang haben.

In 1-Level-DFD wird das Kontextdiagramm in mehrere Prozesse zerlegt. Auf dieser Ebene heben wir die Hauptfunktionen des Systems hervor und unterteilen den High-Level-Prozess von 0-Level-DFD weiter in Unterprozesse, um Details der Verarbeitungsaktivitäten darzustellen.

Kontextdiagramm (Ebene 0 DFD)  – ein Kontextdiagramm DFD ist ein Diagramm, das einen Überblick über das System und seine Interaktion mit dem Rest der „Welt“ darstellt.

Level 1 Datenflussdiagramm  – Level 1 DFD bietet eine detailliertere Ansicht des Systems als das Kontextdiagramm, indem es die wichtigsten Unterprozesse und Datenspeicher zeigt, aus denen das gesamte System besteht.

Level 2 (oder niedriger)  – Ein großer Vorteil der Datenflussmodellierungstechnologie besteht darin, dass die detaillierte Komplexität realer Systeme durch eine Technologie namens „Leveling“ auf einer abstrakten Ebene verwaltet und modelliert werden kann. Einige Elemente jedes Datenflussdiagramms können in ein detaillierteres Modell auf einer niedrigeren Ebene in der Hierarchie zerlegt („zerlegt“) werden

DFD-Level – Beispiel – Essensbestellsystem

Stufe 0

Es wird auch als  Kontextdiagramm bezeichnet . Es ist als Abstraktionsansicht konzipiert, die das System als einen einzelnen Prozess mit seiner Beziehung zu externen Entitäten zeigt.

  • Das Kontextdiagramm muss auf eine Seite passen.
  • Der Prozessname im Kontextdiagramm sollte der Name des Informationssystems sein.
  • Zum Beispiel Bewertungssystem, Bestellabwicklungssystem, Registrierungssystem.
Essensbestellsystem – Kontextdiagramm – Level 0 DFD

In 1-Level-DFD wird das Kontextdiagramm in mehrere Prozesse zerlegt. Auf dieser Ebene heben wir die Hauptfunktionen des Systems hervor und unterteilen den High-Level-Prozess von 0-Level-DFD weiter in Unterprozesse, um Details der Verarbeitungsaktivitäten darzustellen.

Stufe 1 – Essensbestellsystem

In 1-Level-DFD wird das Kontextdiagramm in mehrere Prozesse zerlegt. Auf dieser Ebene heben wir die Hauptfunktionen des Systems hervor und unterteilen den High-Level-Prozess von 0-Level-DFD weiter in Unterprozesse, um Details der Verarbeitungsaktivitäten darzustellen.

Level 1 DFD – Beispiel für ein Lebensmittelbestellsystem

Wenn ein Prozess mit vielen Datenflüssen zwischen einigen externen Entitäten verknüpft wird, könnten wir diesen bestimmten Prozess und die zugehörigen externen Entitäten zunächst in ein separates Diagramm extrahieren, das einem Kontextdiagramm ähnelt, bevor Sie den Prozess in einer separaten Ebene von DFD verfeinern. und auf diese Weise können Sie die Konsistenz zwischen ihnen viel einfacher sicherstellen.

DFD-Symbole

Es gibt  vier grundlegende Symbole  , die zur Darstellung eines Datenflussdiagramms verwendet werden.

Verfahren

Ein Prozess empfängt Eingabedaten und erzeugt Ausgaben mit einem anderen Inhalt oder einer anderen Form. Prozesse können so einfach sein wie das Sammeln von Eingabedaten und das Speichern in der Datenbank, oder sie können komplex sein wie das Erstellen eines Berichts mit den monatlichen Verkäufen aller Einzelhandelsgeschäfte in der Nordwestregion.

Jeder Prozess hat einen Namen, der die Funktion identifiziert, die er ausführt.

Der Name besteht aus einem Verb, gefolgt von einem Substantiv im Singular.

Beispiel:

  • Zahlung anwenden
  • Provision berechnen
  • Bestellung überprüfen

DFD-Notation

  • Ein abgerundetes Rechteck repräsentiert einen Prozess
  • Prozesse erhalten IDs zur einfachen Referenzierung

Prozessbeispiel

Datenfluss

Ein Datenfluss ist ein Pfad für Daten, um sich von einem Teil des Informationssystems zu einem anderen zu bewegen. Ein Datenfluss kann ein einzelnes Datenelement darstellen, wie z. B. die Kunden-ID, oder er kann einen Satz von Datenelementen (oder eine Datenstruktur) darstellen.

Beispiel:

  • Kundeninfo (Nachname, Vorname, SS-Nr., Tel.-Nr. usw.)
  • Order_info (OrderId, Item#, OrderDate, CustomerID, etc.).

Datenfluss Beispiel:

Notation

  • Gerade Linien mit eingehenden Pfeilen sind Eingangsdatenfluss
  • Gerade Linien mit ausgehenden Pfeilen sind Ausgangsdatenflüsse

Beachten Sie, dass:

Da jeder Prozess Daten von einem Formular in ein anderes ändert, muss mindestens ein Datenfluss in jedes Prozesssymbol eintreten und ein Datenfluss muss jedes Prozesssymbol verlassen.

Datenspeicher

Ein Datenspeicher oder Datenrepository wird in einem Datenflussdiagramm verwendet, um eine Situation darzustellen, in der das System Daten aufbewahren muss, weil ein oder mehrere Prozesse die gespeicherten Daten zu einem späteren Zeitpunkt verwenden müssen.

Notation

  • In den Datenspeicher, der durch einen ausgehenden Pfeil dargestellt ist, können Daten geschrieben werden
  • Daten können aus einem Datenspeicher gelesen werden, was durch einen ankommenden Pfeil dargestellt ist.
  • Beispiele sind: Inventar, Forderungen, Bestellungen und tägliche Zahlungen.

Beispiel für einen Datenspeicher

Beachten Sie, dass:

  • Ein Datenspeicher muss mit einem Prozess mit einem Datenfluss verbunden sein.
  • Jeder Datenspeicher muss mindestens einen Eingabedatenfluss und mindestens einen Ausgabedatenfluss haben (selbst wenn der Ausgabedatenfluss eine Kontroll- oder Bestätigungsnachricht ist).

Externe Einheit

Eine externe Entität ist eine Person, Abteilung, externe Organisation oder ein anderes Informationssystem, das Daten an das System liefert oder Ausgaben vom System empfängt. Externe Entitäten sind Komponenten außerhalb der Grenzen der Informationssysteme. Sie stellen dar, wie das Informationssystem mit der Außenwelt interagiert.

  • Ein Rechteck repräsentiert eine externe Entität
  • Sie liefern entweder Daten oder empfangen Daten
  • Sie verarbeiten keine Daten

Notation

  • Ein Kunde gibt eine Bestellung auf und erhält dann eine Rechnung vom System
  • Ein Lieferant stellt eine Rechnung aus

Beispiel einer externen Entität

Beachten Sie, dass:

  • Externe Entitäten werden auch als Terminatoren bezeichnet, da sie Datenursprünge oder endgültige Ziele sind.
  • Eine externe Entität muss über einen Datenfluss mit einem Prozess verbunden sein.

Regel des Datenflusses

Eine der Regeln für die Entwicklung von DFD ist, dass alle Abläufe mit einem Verarbeitungsschritt beginnen und enden müssen. Das ist ganz logisch, denn Daten können sich nicht von selbst transformieren, wenn sie verarbeitet werden. Durch die Verwendung der Daumenregel ist es recht einfach, die illegalen Datenflüsse zu identifizieren und in einem DFD zu korrigieren.

Falsche/richtige Beschreibung

Eine Entität kann einer anderen Entität keine Daten zur Verfügung stellen, ohne dass eine Verarbeitung erfolgt ist.

Daten können nicht direkt von einer Entität in eine Data Story verschoben werden, ohne verarbeitet zu werden.

Daten können nicht direkt aus einem Datenspeicher verschoben werden, ohne verarbeitet zu werden.

Daten können nicht direkt von einem Datenspeicher in einen anderen verschoben werden, ohne verarbeitet zu werden.

Andere häufig gemachte Fehler in DFD

Eine zweite Klasse von DFD-Fehlern entsteht, wenn die Ausgaben eines Verarbeitungsschritts nicht mit seinen Eingaben übereinstimmen, und sie können wie folgt klassifiziert werden:

  • Schwarze Löcher – Ein Verarbeitungsschritt kann Input-Flows, aber keine Output-Flows haben.
  • Wunder – Ein Verarbeitungsschritt kann Ausgangsflüsse, aber keine Eingangsflüsse haben.
  • Graue Löcher – Ein Verarbeitungsschritt kann Ausgaben haben, die größer sind als die Summe seiner Eingaben

Kostenloses UML-Tool

DFD Unterschiedliche Notation

Ein Kommentar

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht.