CPRE AL – Requirements Modeling: Datenflussmodellierung (Teil I)

Im Lehrplan des Certified Professional for Requirements Engineering Advanced Level – Requirements Modeling des IREB e.V. (Lehrplan) ist in Lehreinheit 3.3 Funktionsmodellierung die Datenflussmodellierung beinhaltet. Da die Literatur zu diesem Thema evtl. nicht bei jedermann vorhanden ist und falls doch sehr viel ausführlicher sein dürfte als dies der Lehrplan fordert, möchte ich die wichtigsten Aspekte der Datenflussmodellierung im Rahmen dieser kleinen Blogserie – bestehend aus drei Teilen – erklären.

Im  Teilmodell Funktionsmodell des gesamten Anforderungsmodells werden einerseits Aktivitätsdiagramme der UML eingesetzt, um ablauforientierte Funktionen zu dokumentieren. Andererseits können jedoch auch Datenflussdiagramme verwendet werden, um Funktionen wie z.B. Use-Cases datenflussorientiert zu beschreiben und zu zerlegen. Wir bewegen uns mit der Datenflussmodellierung also in der Funktionsperspektive zur Beschreibung eines Systems.

Historie: Die Datenflussmodellierung lässt sich zurückführen auf Tom  DeMarco. In seinem Werk Structured Analysis and System Specification [DeMarco] aus dem Jahr 1979 stellt er die Datenflussdiagramme als wichtigen Bestandteil der Strukturierten Analyse vor. Seitdem wurden die Strukturierte Analyse und damit auch die Datenflussmodellierung zwar weiterentwickelt, die Grundprinzipien und wichtigsten Aspekte derer gelten jedoch noch heute. So auch eine grundlegende Definition der Datenflussmodellierung:

„Bei der Datenflussmodellierung geht es um die Modellierung des Datenaustausches zwischen den Funktionen eines Systems und der Umwelt.“ [EDW]

Bereits im CPRE Foundation Level werden die Datenflussdiagramme eingeführt. Dazu müssen zunächst die vier Notationselemente der Datenflussdiagramme behandelt werden. Sie werden im Rahmen des CPRE Advanced Level – Requirements Modeling wiederholt. Es handelt sich dabei um die Notationselemente:

  • Prozess: Ein Prozess stellt eine Funktion des betrachteten Systems dar. Er erhält Eingangsdaten durch eingehende Datenflüsse, verändert diese Daten (die eigentliche Funktion, die der Prozess darstellt) und gibt die veränderten Daten auf ausgehenden Datenflüssen wieder aus.
  • Datenfluss: Datenflüsse verbinden Prozesse, Terminatoren und Datenspeicher miteinander und geben an in welche Richtung welche Daten zwischen den anderen Notationselementen laufen.
  • Terminator: Terminatoren sind externe Partner des betrachteten Systems, wie Menschen, die das System bedienen (z.B. Daten eingeben, die in einem Prozess benötigt werden) oder andere technische Bestandteile, Komponenten, Geräte, etc..
  • Datenspeicher: In Datenspeichern werden Daten abgelegt. Dies geschieht durch eingehende Datenflüsse. Ebenso können Daten auch aus einem Datenspeicher gelesen werden, z.B. wenn Sie zur Ausführung eines Prozesses benötigt werden. Dies geschieht mit ausgehenden Datenflüssen.

Mit Hilfe dieser vier Notationselemente, die die Datenflussmodellierung ausmachen, können Datenflussdiagramme modelliert werden, wie folgende Abbildung mit einem Beispiel zu einer Temperatursteuerung eines Computers zeigt:

DF_Teil_1_Bild_1_Temperatursteuerung

Dieses Datenflussdiagramm stellt die Gesamtsicht auf das System mit seiner Umwelt dar. Die Prozesse sind benannt und mit eingehenden und ausgehenden Datenflüssen versehen. Ebenso ist sichergestellt, dass Prozesse Daten nicht nur „durchreichen“, sondern diese tatsächlich verändern. Doch als vollständige Beschreibung der Funktionssicht eines Systems reicht diese Ebene der Modellierung nicht aus. Die Funktionen des Systems – hier die Prozesse – müssen näher untersucht und verfeinert werden. Die Datenflussmodellierung lässt genau diese Zerlegung zu, indem Prozesse verfeinert werden können und auf einer detaillierteren Ebene genauer beschrieben werden, wie folgende Abbildung schematisch zeigt.

DF_Teil_1_Bild_2_Hierarchische_Zerlegung

Zur Hierarchischen Zerlegung in der Datenflussmodellierung sollte man sich drei Aspekte merken bzw. beachten:

  • Ein Prozess kann durch ein verfeinerndes Datenflussdiagramm beschrieben werden.
  • Bei geeigneter Wahl der Zerlegung kann ein komplexes Modell schrittweise in einfachere Teilmodelle zerlegt werden.
  • Die Datenflussdiagramme eines Systems können hierarchisch in Schichten angeordnet werden.

So baut sich durch die Verfeinerung von Prozessen durch weitere Datenflussdiagramme auf der jeweils nächsten Detaillierungsebene eine Baumstruktur von Datenflussidagrammen auf. Das Diagramm, das den Wurzelknoten dieser Baumstruktur darstellt – also unser oben gezeigtes Beispiel Temperatursteuerung – wird in der Strukturierten Analyse übrigens auch als Kontextdiagramm bezeichnet.

Nun möchte ich aber am Ende dieses ersten Teils zum Themengebiet Datenflussmodellierung noch einen Vorschlag für ein Datenflussdiagramm, welches den Prozess 3. Temperatur überwachen aus unserem Beispiel Temperatursteuerung verfeinert, machen:

DF_Teil_1_Bild_3_VerfeinerungProzess

Gehört der Benutzer mit in dieses Diagramm? Warum laufen Datenflüsse ins Nichts? Warum kommen Datenflüsse aus dem Nichts? Diese und weitere Fragen werde ich im zweiten Teil dieser Blogserie beantworten, in dem es u. a. um die sogenannten Balancing Regeln gehen wird.
Quellen & Literatur
[DeMarco] DeMarco, Tom: Structured Analysis and System Specification. Prentice Hall, New Jersey, 1979.

[EDW] Enzyklopädie der Wirtschaftsinformatik; Myrach, Thomas, Prof. Dr.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert