Datenflussdiagramm
# Datenflussdiagramm

Ein Datenflussdiagramm oder Datenflussplan (engl. data flow diagram) stellt die Art der Verwendung, die Bereitstellung und Veränderung von Daten innerhalb eines Programms dar. Es kann auch dazu verwendet werden, den Datenfluss eines Prozesses oder einer Tätigkeit wiederzugeben (z. B. die Datenverwendung und Veränderung bei der Angebotserstellung in einem Handelsunternehmen). Ein Datenflussdiagramm hat keinen Kontrollfluss, es gibt keine Entscheidungsregeln und keine Schleifen. Die konkreten Operationen auf den Daten können durch einen Programmablaufplan dargestellt werden.
Beim Datenflussdiagramm werden vier Elementtypen mit folgender Semantik unterschieden:
* Datenspeicher: dargestellt durch zwei parallele Linien, zwischen denen der Speichername steht (in der UML als Pufferknoten modellierbar).
* Datenfluss: dargestellt durch einen Pfeil mit Namen. Greift eine Funktion lesend und schreibend auf einen Datenspeicher zu, kann man dies entweder mit zwei getrennten Pfeilen oder mit einem Doppelpfeil darstellen.
* Funktion (oder Prozess): dargestellt durch einen Kreis mit Namen (vergleichbar der Aktivität in der UML).
* Schnittstelle zur Umwelt: dargestellt durch ein Rechteck, das den Schnittstellennamen enthält (externer Partner). Schnittstellen, an denen Daten in das System einfließen, werden Datenquellen genannt. Schnittstellen, an denen Daten aus dem System ausfließen, heißen Datensenken.
Es gibt verschiedene Notationen zur Darstellung von Datenflussdiagrammen. Die oben vorgestellte Notation wurde 1979 von Tom DeMarco im Rahmen der Strukturierten Analyse beschrieben.
Bei jedem Datenfluss muss mindestens einer der Endpunkte (Quelle und/oder Ziel) ein Prozess sein. Die verfeinerte Darstellung eines Prozesses kann in einem weiteren Datenflussdiagramm erfolgen, das diesen Prozess in Subprozesse unterteilt.
Das Datenflussdiagramm gehört zu den Modellierungsinstrumenten der Strukturierten Analyse. Bei Verwendung der UML übernimmt gewöhnlich das Aktivitätsdiagramm die Rolle des Datenflussdiagramms. Eine Sonderform des Datenflussplans ist der stellenorientierte Datenflussplan, auch „wer/was-Diagramm“ genannt. Dabei werden die Tätigkeiten den einzelnen Teilnehmern in vertikalen Swimlanes pro Teilnehmer zugeordnet.
Weiterhin kann man Datenflussdiagramme als invertierte Petri-Netze auffassen, denn Plätze in solchen Netzen entsprechen der Semantik von Datenspeichern. Analog dazu ist die Semantik von Transitionen aus Petri-Netzen und Datenflüssen und Funktionen aus Datenflussdiagrammen als äquivalent anzusehen.