
Das Verständnis dafür, wie Informationen durch ein System fließen, ist grundlegend für die Systemanalyse und -gestaltung. Ein Datenflussdiagramm (DFD) bietet eine visuelle Darstellung dieses Flusses. Im Gegensatz zu technischen Bauplänen, die sich auf Code oder Datenbank-Schemata konzentrieren, fokussiert ein DFD den Datenfluss und die Prozesse, die die Daten verändern. Diese Anleitung erläutert die wesentlichen Symbole, die zur Erstellung dieser Diagramme verwendet werden, um Klarheit und Genauigkeit in Ihrer Dokumentation zu gewährleisten.
Was ist ein Datenflussdiagramm? 🤔
Ein Datenflussdiagramm ist ein strukturiertes Analysetool. Es zeigt die Reihenfolge der Informationsverarbeitungsaktivitäten auf. Es beschreibt die Logik des Systems nicht im Sinne von Programmiercode. Stattdessen zeigt es, welche Daten bewegt werden, woher sie stammen, wohin sie gehen und wie sie sich verändern. Diese Abstraktion ermöglicht es den Stakeholdern, die funktionalen Anforderungen zu verstehen, ohne sich in technische Implementierungsdetails zu verlieren.
DFDs sind hierarchisch aufgebaut. Sie beginnen mit einer groben Übersicht und werden schrittweise in detailliertere Ansichten aufgegliedert. Diese Zerlegung hilft, die Komplexität zu managen. Durch die Definition von Grenzen und Interaktionen können Analysten Lücken in den Anforderungen oder potenzielle Engpässe identifizieren, bevor die Entwicklung beginnt.
Die vier Kernsymbole 🛠️
Die Standard-DFD-Notation basiert auf vier Grundformen. Obwohl zwischen verschiedenen Methodologien (wie Yourdon/DeMarco oder Gane/Sarson) Abweichungen bestehen, bleiben die Kernkonzepte konsistent. Jedes Symbol steht für eine spezifische Funktion innerhalb der Systemgrenze.
| Symbolname | Visuelle Darstellung | Funktion |
|---|---|---|
| Externe Entität | Rechteck | Quelle oder Ziel von Daten |
| Prozess | Kreis oder abgerundetes Rechteck | Transformation von Daten |
| Datenbank | Offenes Rechteck | Speicherung von Daten im Ruhezustand |
| Datenfluss | Pfeil | Bewegung von Daten |
1. Externe Entität 📦
Externe Entitäten stellen Quellen oder Ziele von Daten dar, die außerhalb des zu modellierenden Systems liegen. Sie sind die Akteure, die mit dem System interagieren, aber nicht Teil seiner internen Logik sind. Eine Entität kann eine Person, eine Gruppe, ein anderes Computersystem oder eine Abteilung sein.
Entitäten werden typischerweise als Rechtecke dargestellt. In einigen Notationen können sie auch als Ellipsen erscheinen. Die entscheidende Eigenschaft ist, dass das System Daten an sie sendet oder von ihnen empfängt. Zum Beispiel ist ein Kunde eine Entität. Das System verarbeitet seine Bestellung, aber der Kunde existiert unabhängig von der Bestellverarbeitungssoftware.
- Eingabe: Daten gelangen vom Entitätssystem in das System.
- Ausgabe: Daten verlassen das System und gehen an die Entität.
Es ist wichtig, externe Entitäten nicht mit Prozessen zu verwechseln. Eine Entität transformiert keine Daten; sie erzeugt oder verbraucht sie lediglich.
2. Prozess 🔄
Prozesse sind die aktiven Elemente des Diagramms. Sie stellen Funktionen dar, die Eingabedaten in Ausgabedaten umwandeln. Ein Prozess ist die durchgeführte Arbeit. Es könnte eine Berechnung, eine Überprüfung, eine Entscheidung oder eine Datenmanipulationsroutine sein.
Prozesse werden üblicherweise als Kreise oder abgerundete Rechtecke dargestellt. Innerhalb der Form trägt man einen Namen, der die Aktion beschreibt, wie beispielsweise „Gesamtsumme berechnen“ oder „Anmeldung validieren“. Jeder Prozess muss mindestens eine Eingabe und mindestens eine Ausgabe haben. Ein Prozess, der Daten empfängt, aber nichts ausgibt, ist unvollständig.
Prozesse werden nummeriert, um die Hierarchie anzuzeigen. Zum Beispiel könnte „Prozess 1“ in „Prozess 1.1“, „Prozess 1.2“ usw. aufgeteilt werden. Diese Nummerierung hilft, die Detailstufen über verschiedene Diagramme hinweg zu verfolgen.
3. Datenspeicher 📁
Datenspeicher stellen Orte dar, an denen Daten für zukünftige Verwendung gespeichert werden. Sie sind Repositorien. In einem physischen System könnte dies eine Datenbanktabelle, eine Datei oder ein physischer Aktenordner sein. In einer logischen Darstellung ist es einfach der Ort, an dem Daten ruhen.
Häufige Formen sind offene Rechtecke oder parallele Linien. Der Name innerhalb des Speichers sollte im Plural stehen, um eine Sammlung von Datensätzen anzudeuten, beispielsweise „Kundenakten“ oder „Bestellprotokolle“.
- Lesen: Ein Prozess liest Daten aus einem Speicher, um sie zu verwenden.
- Schreiben: Ein Prozess schreibt Daten in einen Speicher, um sie zu speichern.
Datenflüsse fließen in und aus Speichern. Es ist entscheidend zu beachten, dass Datenflüsse nicht ohne Durchlauf durch einen Prozess kreuzen. Sie können keine direkte Linie zwischen zwei Datenspeichern zeichnen; dazwischen muss ein Prozess stehen, um zu definieren, warum die Daten bewegt werden.
4. Datenfluss ➡️
Datenflüsse sind die Pfeile, die die Symbole verbinden. Sie stellen die Bewegung von Daten innerhalb des Systems dar. Im Gegensatz zum Steuerfluss in der Programmierung repräsentieren Datenflüsse tatsächlich übertragene Informationspakete.
Jeder Pfeil sollte mit dem Namen der Daten bezeichnet werden, die durch ihn fließen. Zum Beispiel könnte ein Pfeil von einem Kunden zu einem Prozess als „Bestellanfrage“ beschriftet sein. Ein Pfeil von einem Prozess zu einem Datenspeicher könnte als „Neuer Bestellungsdatensatz“ bezeichnet werden.
Pfeile müssen eine eindeutige Richtung haben. Wenn Daten in beide Richtungen zwischen zwei Punkten fließen, müssen zwei separate Pfeile verwendet werden. Die Beschriftung muss konsistent im Singular oder Plural sein. Vermeiden Sie vage Bezeichnungen wie „Daten“ oder „Information“. Seien Sie spezifisch, beispielsweise „Versandadresse“ oder „Lagerbericht“.
Verständnis der DFD-Ebenen 📈
DFDs werden in Schichten erstellt, um die Komplexität zu verwalten. Dieser Ansatz wird als Zerlegung bezeichnet.
Ebene 0: Das Kontextdiagramm
Das Diagramm der Ebene 0 ist die höchste Ebene. Es zeigt das gesamte System als einen einzigen Prozess. Es hebt die Beziehung zwischen dem System und externen Entitäten hervor. Diese Sicht beantwortet die Frage: „Was ist die Systemgrenze?“
In diesem Diagramm gibt es nur einen Prozessknoten. Alle Datenflüsse verbinden externe Entitäten direkt mit diesem zentralen Prozess. Es werden keine internen Datenspeicher auf dieser Ebene gezeigt, da die internen Abläufe verborgen bleiben.
Ebene 1: Hauptprozesse
Das Diagramm der Ebene 1 zerlegt den einzelnen Prozess der Ebene 0 in seine wichtigsten Unterverarbeitungen. Dadurch wird das System in handhabbare Teile aufgeteilt. Sie werden mehrere Prozessknoten, Datenspeicher und die spezifischen Flüsse sehen, die sie verbinden.
Diese Ebene definiert die Hauptfunktionsbereiche. Ein E-Commerce-System könnte beispielsweise in „Bestandsverwaltung“, „Zahlungsabwicklung“ und „Versandabwicklung“ zerlegt werden. Jeder dieser Bereiche stellt einen Hauptprozess dar.
Ebene 2: Detaillierte Logik
Diagramme der Ebene 2 gehen tiefer in bestimmte Prozesse der Ebene 1 ein. Wenn ein Prozess der Ebene 1 komplex ist, erhält er ein eigenes Diagramm. Dies ermöglicht es Analysten, jeden Schritt einer bestimmten Funktion zu dokumentieren, ohne die Gesamtsicht zu verunreinigen.
In diesem Stadium wird die Notation detaillierter. Sie könnten mehrere Datenspeicher und komplexe Routing-Muster von Datenflüssen sehen. Hier werden oft spezifische Geschäftsregeln visualisiert.
Regeln und Konventionen ✅
Um Klarheit zu gewährleisten, müssen DFDs strengen Regeln folgen. Die Verletzung dieser Regeln kann zu Verwirrung und Missdeutung führen.
Konsistenz bei der Benennung
Der gleiche Datenfluss muss überall, wo er erscheint, denselben Namen haben. Wenn Sie einen Fluss auf einem Diagramm als „Benutzer-ID“ bezeichnen, darf er auf einem anderen Diagramm nicht als „ID-Nummer“ bezeichnet werden. Konsistenz erleichtert das Verfolgen von Daten über die Ebenen hinweg.
Keine Schwarzen Löcher oder Wunder
Ein „Schwarzes Loch“ ist ein Prozess mit Eingang, aber ohne Ausgang. Das bedeutet, dass Daten verschwinden, was normalerweise falsch ist. Ein „Wunder“ ist ein Prozess mit Ausgang, aber ohne Eingang. Das bedeutet, dass Daten aus dem Nichts entstehen. Beides sind logische Fehler im Diagramm.
Ausgleich der Datenspeicher
Wenn Sie einen Prozess zerlegen, müssen die Datenspeicher, die mit dem übergeordneten Prozess verbunden sind, auch mit den untergeordneten Prozessen verbunden bleiben. Sie können einen Datenspeicher auf einer tieferen Ebene nicht löschen, es sei denn, die Logik ändert sich erheblich. Der Datenfluss muss zwischen den Ebenen ausgeglichen sein.
Pfeilrichtung
Pfeile zeigen die Richtung an. Zeichnen Sie keine unnötigen Kreuzungen von Pfeilen. Kreuzende Linien machen das Diagramm schwer lesbar. Verwenden Sie Biegungen oder Unterbrechungen, um die Wege frei zu halten. Wenn zwei Flüsse sich kreuzen, stellen Sie sicher, dass die Datentypen unterschiedlich sind, um Verwirrung zu vermeiden.
DFD im Vergleich zu Ablaufdiagrammen 🧩
Es ist üblich, Datenflussdiagramme mit Ablaufdiagrammen zu verwechseln. Obwohl sie ähnlich aussehen, dienen sie unterschiedlichen Zwecken.
Ein Ablaufdiagramm beschreibt die Logik und Reihenfolge der Operationen. Es zeigt Entscheidungspunkte (Rauten), Schleifen und die genaue Reihenfolge der Schritte. Es ist prozedural. Es beantwortet die Frage: „Wie führt das System aus?“
Ein DFD beschreibt die Datenbewegung. Er zeigt Schleifen oder Entscheidungslogik nicht explizit an. Er konzentriert sich auf das „Was“ und „Wo“ der Daten. Er beantwortet die Frage: „Welche Daten werden bewegt und verändert?“
Die Verwendung eines DFDs für Steuerlogik ist ein Fehler. Er sollte keine Entscheidungsrauten enthalten. Wenn Sie Logik darstellen müssen, verwenden Sie eine Entscheidungstabelle oder eine strukturierte englische Beschreibung neben dem DFD. Diese Trennung der Anliegen hält das Diagramm übersichtlich.
Praktische Anwendung 📝
Beim Erstellen eines Diagramms beginnen Sie mit dem Kontextdiagramm. Identifizieren Sie die Systemgrenze. Zeichnen Sie die externen Entitäten. Zeichnen Sie den einzelnen Prozess, der das System darstellt. Zeichnen Sie die Flüsse, die sie verbinden.
Als Nächstes wechseln Sie zur Ebene 1. Teilen Sie den zentralen Prozess in Hauptfunktionen auf. Identifizieren Sie, wo Daten gespeichert werden. Stellen Sie sicher, dass jeder Prozess Eingaben und Ausgaben hat. Überprüfen Sie, ob die Flüsse mit dem Kontextdiagramm übereinstimmen.
Besprechen Sie das Diagramm mit den Stakeholdern. Fragen Sie, ob die Flüsse ihrem Verständnis des Geschäfts entsprechen. Wenn ein Stakeholder sagt: „Wir speichern diese Daten hier nicht“, passen Sie die Datenspeicher an. Wenn sie sagen: „Wir senden keine Daten an diese Person“, passen Sie die Entitäten an.
Die Validierung ist entscheidend. Ein Diagramm, das von den Nutzern nicht verstanden wird, ist nutzlos. Es dient als Kommunikationsmittel. Es schließt die Lücke zwischen technischen Teams und Geschäftsinhabern.
Beste Praktiken für Klarheit 🌟
Halten Sie die Anzahl der Symbole auf einer Seite überschaubar. Wenn ein Diagramm zu überfüllt wird, verliert es an Wert. Verwenden Sie Unterdiagramme, um es zu unterteilen. Versuchen Sie nicht, das gesamte System auf einer Seite darzustellen, wenn es die visuelle Kapazität übersteigt.
Verwenden Sie Standardnotation. Obwohl es Variationen gibt, hilft die Einhaltung eines einzigen Stils (z. B. Yourdon/DeMarco oder Gane/Sarson), Verwirrung zu vermeiden. Mischen Sie innerhalb eines Dokuments keine Stile.
Beschreiben Sie alles. Unbenannte Pfeile sind bedeutungslos. Unbenannte Prozesse sind mehrdeutig. Selbst einfache Formen benötigen Namen, um eine Bedeutung zu vermitteln.
Vermeiden Sie sich kreuzende Linien. Sie erzeugen visuelle Störungen. Wenn Linien kreuzen müssen, verwenden Sie eine „Sprung“- oder Unterbrechungslinie, um anzuzeigen, dass sie sich nicht schneiden.
Zusammenfassung der Symbolsemantik 📋
Zur Wiederholung die zentralen Komponenten:
- Entität: Außerhalb des Systems. Quelle oder Senke.
- Prozess: Innerhalb des Systems. Transformiert Daten.
- Speicher: Innerhalb des Systems. Speichert Daten.
- Fluss: Verbindet die oben genannten Elemente. Bewegt Daten.
Die Beherrschung dieser Symbole ermöglicht es Ihnen, komplexe Systeme klar zu dokumentieren. Es bietet eine gemeinsame Sprache für Analysten und Entwickler. Durch die Einhaltung der Regeln der Zerlegung und Konsistenz erstellen Sie Diagramme, die nicht nur Zeichnungen sind, sondern funktionale Spezifikationen.
Beginnen Sie einfach. Erstellen Sie den Kontext. Erweitern Sie die Details. Überprüfen Sie mit den Nutzern. Dieser iterative Prozess stellt sicher, dass das Diagramm der Realität entspricht.











