Ein Fluss schlängelt sich durch den Wald

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:

Gängige Notationen von Datenflussdiagrammen

Zusätzliche Vorteile von Datenflussdiagrammen

Datenflussdiagramme können aber noch viel mehr. Durch die Verwendung von Rahmen und Hintergründen in verschiedenen Farben ist es möglich, eine Vielzahl von Informationen darzustellen, die für Ihre spezifische Systemarchitektur zentral sind. So können Funktions- und Speicherblöcke z.B. zu Systemkomponenten zugeordnet werden. In Frage kommen insbesondere folgende Kategorien:

  • HW-Komponenten
  • SW-Komponenten
  • SW-Tasks / Prozesse / Interrupt Handler
  • Teile eines verteilten Systems
  • Redundanz

Das folgende Datenflussdiagramm zeigt einen einfachen Daten-Logger, der aus einem HW-Teil und einem SW-Teil besteht. Der Interrupt-Handler ist getrennt vom Main-Loop dargestellt.

Beispielhafts Datenflussdiagramm für einen Datenlogger

Besonders vorteilhaft sind Datenflussdiagramme, wenn analoge oder digitale Signalverarbeitung in Ihrem System ein zentraler Aspekt ist. Solche Systeme bestehen meist aus einer grossen Anzahl unabhängiger Verarbeitungsschritte, die in mehrere parallele Verarbeitungspfade aufgeteilt sind. Diese Strukturen lassen sich auf leicht verständliche Art in einem Datenflussdiagram abbilden.

Funktionale Sicherheit

Viele Standards im Bereich der funktionalen Sicherheit empfehlen, dass eine SW-Architektur mit Hilfe einer Datenflussanalyse definiert und / oder im Rahmen einer Software-Sicherheitsanalyse verifiziert wird. Unter anderem empfehlen folgende Standards dieses Vorgehen: ISO 26262-6, DO 178C, IEC 61508, ISO 13849, EN 50128. Systematische Sicherheitsrisiken können so schon sehr früh identifiziert und das geplante System auch gleich vereinfacht und optimiert werden. Eine Datenflussanalyse erfolgt anhand eines Datenflussdiagramms.

Verwenden Sie Datenflussdiagramme!

Datenflussdiagramme sind einfach zu lesen, fördern das Verständnis der Software-Architektur und erleichtern die Kommunikation mit allen involvierten Personen. Schwachstellen und Fehler in Ihrem System lassen sich schon früh entdecken. Das Resultat ist eine bessere Systemarchitektur und eine verringerte Anzahl systematischer Fehler. Datenflussdiagramme sind also sehr effektiv. Es lohnt sich deshalb den vergleichsweise bescheidenen Aufwand für die Erstellung auf sich zu nehmen. Ein Datenflussdiagramm ist je nach Komplexität in ein bis zwei Tagen erstellt. Die Suche nach einem systematischen Fehler kann hingegen Wochen dauern und enormen Reputationsschaden anrichten.

Nutzen Sie unsere SolceptClinic und senden Sie mir Ihre konkreten Fragen zum Thema Systemarchitektur. Und das Beste ist: diese erste time-boxed Konsultation von 30 Minuten kostet Sie nichts.

Daniel Megnet

Haben Sie zusätzliche Fragen? Haben Sie eine andere Meinung? Wenn ja, mailen Sie mir oder kommentieren Sie Ihre Gedanken unten!

Autor

Kommentare

Keine Kommentare

Was ist Ihre Meinung?

* Diese Felder sind erforderlich

Projekte? Ideen? Fragen? Machen wir einen kostenlosen Erst-Workshop!