Ein Fall für Datenflussdiagramme
Lesezeit 3 min
Benötigen Sie schnell einen Überblick über ein komplexes System? Müssen Sie die Funktionalität eines Systems häufig erklären? Stehen Sie vor der Aufgabe, ein System von Grund auf neu zu entwickeln und sind sich nicht sicher, welches die beste Architektur ist? Müssen Sie ein altes System ohne Dokumentation ablösen? In all diesen Fällen kann Ihnen ein Datenflussdiagramm weiterhelfen und die Kommunikation mit weiteren involvierten Personen vereinfachen.
Datenflussdiagramme sind in Vergessenheit geraten
Datenflussdiagramme wurden bereits vor über 40 Jahren im Rahmen der damals populären strukturierten Analyse definiert (z.B. von Tom DeMarco). Die strukturierte Analyse nutzt Datenflussdiagramme, um Business Requirements zu analysieren und in Software (SW) abzubilden.
Mit dem Aufkommen der Objektorientierten Analyse (OOA) und der dort verwendeten Modellierungssprache UML, rückten Datenflussdiagramme in den Hintergrund. Dies nicht zuletzt deshalb, weil UML keine reinen Datenflussdiagramme kennt. Meist bekommt man dann den Ratschlag, doch einfach ein UML Aktivitätsdiagramm zu verwenden. Dieses zeigt aber primär den Kontrollfluss einer SW. Zusätzlich ermöglicht es noch Datenflüsse anzudeuten. Diese Vermischung von Kontroll- und Datenfluss kann jedoch bei der Analyse und beim Design eines neuen Systems den Blick auf das Wesentliche verstellen.
Vorteile von Datenflussdiagrammen
Reine Datenflussdiagramme haben in der frühen Phase des Systemdesigns viele Vorteile:
- Einfache Notation ermöglicht Diskussion mit allen relevanten Personen
- Schnelles Erkennen der Funktionalität
- Vereinfachte Partitionierung von Hardware und Software
- SW-Partitionierung in verschiedene (Interrupt-) Ausführungskontexte
- Bessere Identifikation von Interfaces
- Optimierung von redundanten Verarbeitungsschritten
- Unabhängigkeit von der Implementation
Notation
Datenflussdiagramme haben sich in den letzten 40 Jahren kaum weiterentwickelt. Insbesondere hat sich keine einheitliche Notation durchgesetzt. Die grundlegenden Strukturen eines Datenflussdiagramms sind jedoch so einfach, dass Datenflussdiagramme meist ohne weitere Erläuterung verstanden werden. Praxistipp: Fügen Sie aber trotzdem eine Legende und / oder ein Data-Dictionary zu ihrem Diagramm hinzu, damit kein Interpretationsspielraum besteht.
Datenflussdiagramme bestehen aus folgenden Elementen:
- Verarbeitungsfunktionen (Process)
- Speicher / Datenbanken (Data Store)
- Start / Endpunkte (External Entity)
- Datenflusspfeile (Flow)
Einige gängige Notationen können der folgenden Tabelle entnommen werden: