Datenflußdiagramme
1 Komponenten
Zunächst sind drei wichtige Dinge zu beachten beim erstellen eines DFD’s, nämlich erstens, dass das DFD unkompliziert und seine Notation (Darstellung von Informationen durch Symbole) offensichtlich ist, d.h. das ein ahnungsloser Benutzer das DFD auf den ersten Blick versteht. Zweitens, ein DFD soll auf eine Seite passen, damit es den Leser nicht auf den ersten Blick erschlägt. Drittens sollte das DFD mit dem Computer gezeichnet werden, da die Linien sauberer wirken und da sich die Ausbesserung von Fehler einfacher gestaltet.1.1 Der Prozeß
Dies ist die erste Komponente des DFD welche wir erklären. Sie wird auch als Blase, Bubble, Funktion oder Transformation bezeichnet. Der Prozeß wird im DFD meist als Kreis dargestellt, kann aber auch als Rechteck oder oval dargestellt werden. Man muss dabei beachten das man in einem DFD nur eine Form des Prozesses verwendet. Siehe Abb. A.1. Ein Prozeß wird mit einem Wort, Begriff oder einem einfachen Satz beschrieben. Ein guter Name besteht normalerweise aus einem Verb - Objekt - Begriff z.B.: "berechne Steuersatz". Die Vergabe der Namen wird etwas später noch näher behandelt. Einem Prozeß wird manchmal der Namen einer Person oder eines Geräts, zugewiesen, d.h. er beschreibt manchmal, wer oder was den Prozeß ausführt und nicht was er eigentlich macht.1.2 Der Fluß
Flüsse werde durch Pfeile dargestellt und repräsentieren die Bewegung der Daten von einem Teil des Systems zum anderen, im Gegensatz zu Speichern die ruhende Daten repräsentieren. Siehe Abb. A.2. Meist stellt ein Fluß tatsächlich einen Datenstrom dar, d.h. das reell Daten durch Bits, Zeichen etc. übertragen werden. Doch DFD’s können auch z.B. zur Darstellung von Fließbändern verwendet werden, in diesem Fall werden über Flüsse tatsächlich Materialien transportiert. Es gibt allerdings auch DFD’s in welchen sowohl Daten als auch Materialien transportiert werden. Der Namen eines Flusses repräsentiert die Bedeutung der Pakete welche über diesen Fluß transportiert werden. Siehe Abb. A.3. Mehrere Datenflüsse können in über einen Bubbel in einen Strom zusammenfließen, aber auch das Gegenteil ist möglich, d.h. Kopien können verschickt werden, ein komplexer Datenfluß kann in kleinere aufgeteilt werden, oder Pakete können durch Bedingungen in verschiedene Flüsse geleitet werden. Es gibt Eingabe - und Ausgabeflüsse, aber auch Dialogflüsse, wobei zu Beachten ist in welche Richtung die Pfeilspitze zeigt. Ein Dialogfluß ist ein Fluß mit zwei Pfeilspitzen, welcher eine Frageantwort Beziehung zweier Bubbles darstellt. Es müssen allerdings beide Richtungen beschrieben werden. Vergl. Abb. A.4., A.5. u. A.6. Fragen wie "Wo kommen die Daten her ?", "In welcher Reihenfolge kommen die Daten an", "In welcher Reihenfolge werde Ausgangspakete erzeugt", "Fließen Daten nur dann wenn sie von einem anderen Teil des Systems angefordert werden ?" oder "Müssen auf allen Eingängen eines Bubbles Pakete kommen um den Prozeß zu starten bzw. alle Ausgangspakete zu generieren ?", können durch ein DFD nicht beantwortet werden. Für solche Fragen ist die Verwendung eines Flußdiagramms empfehlenswert.1.3 Der Speicher
Ein Gruppe von Datenpaketen, im Ruhezustand, wird als Speicher bezeichnet. Das Symbol für den Speicher sind zwei parallele Linien. Der Name des Speichers ist meist der Plural des Flußnamens, welcher in den Speicher hinein - bzw. herausfließt. Seihe A.7. FOLIE 9.9 179. Speicher können sowohl Datenbanken, als auch Backupmedien wie Lochkarten, Streamerbänder, oder ganz einfach Ablagen oder Ordner sein. Es gibt ebenfalls sogenannte Implemtierungsspeicher, welche zwischen zwei Prozessen, aus folgenden 4 Gründen verwendet werden:-
Wenn beide Prozesse auf einem PC ablaufen, dieser allerdings nicht genug Arbeitsspeicher hat und dadurch diese Prozesse zeitversetzt Ablaufen müssen. Die Prozesse laufen auf einem unzuverlässigen Computersystem ab und der Speicher wird als Sicherheitseinrichtung verwendet. Wenn zwei Programmierer diese zwei Prozesse implementieren wird der Speicher zu Fehlersuche verwendet. Wenn der Speicher in die Zukunft vorausschauend implementiert wird, d.h. falls der Anwender später einmal auf diesen Speicher zugreifen will.
Siehe Abb. A.8. u. A.9. FOLIE 9.11(a) 182 (b). Wenn diese Gründe ignoriert werden und man das Modell nur auf die wesentliche Anforderungen konzentriert, so müsste man den Speicher nicht implementieren.
Ein Fluß aus dem Speicher kann Lese oder Zugriffsmöglichkeiten auf die Information im Speicher zur Verfügung stellen. Das heißt man kann einzelne Pakete, mehrere Pakete, Teile eines Pakets, oder Teile mehrerer Pakete aus dem Speicher holen.
Der Speicher ist ein passives Element eines DFD’s, d.h. er gibt nur Information frei, wenn diese von einem anderen Prozeß angefordert werden. Durch diese Lesezugriffe wird der Speicher nicht verändert, d.h. es wird nur eine Kopie der Daten über den Fluß verschickt. Ein Fluß in den Speicher ist ein Schreibzugang, d.h. Daten werden entweder aktualisiert, gelöscht oder hinzugefügt. Die Daten sollten möglichst den Benutzeransprüchen entsprechend implementiert oder geändert werden. Verantwortlich für die Zulieferung der Pakete ist der Prozeß der am Anfang des Zulieferflusses sitzt, dieser kann nur Pakete liefern welche der Speicher auch aufnehmen kann.
1.4 Der Terminator
Siehe Abb. A.10. FOLIE 9.13 186 Der Terminator wird grafisch durch ein Rechteck dargestellt und ist ein externes Objekt welches mit dem System kommuniziert. D.h. eine Person, eine Personengruppe, eine Organisation, oder auch ein externes System welches mit unserem System kommuniziert. Bei Terminatoren gibt es drei wichtige Dinge zu beachten:-
Terminatoren befinden sich außerhalb des Systems, d.h. das Flüsse welche mit diesen verbunden sind, stellen Schnittstellen mit der Außenwelt dar. Terminatoren sind außerhalb der Reichweite von Veränderungen, d.h. der Systemanalytiker kann weder den Inhalt, noch Organisation noch die Internen Prozeduren verändern, die mit dem Terminatoren zusammenhängen. Beziehungen zwischen Terminatoren werden im DFD - Modell nicht dargestellt.
2 Richtlinien für den Aufbau eines DFD’s
Bei der Erstellung von DFD’s gibt es folgende Richtlinien welche wir genauer erklären werden:-
Aussagekräftige Namen wählen Prozesse numerieren komplexe DFD’s vermeiden so oft als nötig neu zeichnen logisch konsitente DFD’s
2.1 Aussagekräftige Namen wählen
Wenn eine Einzelperson einen Prozeß ausführt, ist es empfehlenswert, anstelle des Namens dieser Person die Funktion anzugeben, die diese Person ausführt. Siehe Abb. A.11. & A.12. Es gibt drei Gründe warum man die Funktion als Name angibt:-
Nach einer gewissen Zeit könnten die Aufgaben von einer anderen Person übernommen werden und somit ist das System veraltet.
-
Wenn diese Person mehrere Tätigkeiten innerhalb eines DFD’s ausführt, ist es nicht sinnvoll drei Bubbles mit dem selben Namen zu zeichnen.
-
Wenn der Name angegeben wird, wird die Aufmerksamkeit darauf gelenkt, wie derjenige seine Aufgabe durchzuführen beliebt, doch sollte man normalerweise mehr Betonung auf die zugrunde liegende Firmenstrategie legen.
Eine gute Art Prozesse zu benennen ist die Verwendung eines Verbs und eines Objektes, d.h. Sie wählen ein aktives Verb und ein passendes Objekt z.B. "errechne Raketenflugbahn". Man sollte keine Verben verwenden wie mache, bearbeite oder verarbeite, sondern genauere Definition der Tätigkeit verwenden. Man sollte Wörter nehmen, welche aus einem Vokabular stammen, das dem Benutzer gut bekannt ist. Es gibt noch zwei Richtlinien, an die sich Ersteller eines DFD’s halten sollten.
-
Benutzer neigen dazu, spezifische Abkürzungen zu verwenden, mit welchen Laien wenig anzufangen wissen. Eine gute Methode diesen firmenspezifischen Jargon zu vermeiden, ist Objekte und Verben zu wählen, die Personen der selben Branche ebenfalls verstehen würden.
-
Wenn ein Programmierer ein DFD erstellt, neigt er dazu, Begriffe wie "Routine", "Prozedur", "Funktion" oder "Untersystem" zu verwenden. Derartige Begriffe sollten allerdings vermieden werden.
2.2 Prozesse numerieren
Um in DFD’s besser auf Prozesse verweisen zu können, ist es vorteilhaft, die Bubbles zu numerieren. Es ergibt sich dabei manchmal das Problem, dass flüchtige Leser, eine Reihenfolge in dieser Numerierung sehen, doch die Numerierung der Prozesse hat nichts mit der Reihenfolge ihrer Ausführung zu tun. Ein weiterer Vorteil in der Numerierung liegt darin, das Bubble direkt mit Bubble 1 ansprechen zu können und nicht die ganze Bezeichnung verwenden zu müssen.2.3 komplexe DFD’s vermeiden
Man sollte komplexe DFD’s vermeiden, da diese nicht nur vom Systemanalytiker, sondern auch für die Benutzer übersichtlich und leicht verständlich sein sollten. Dazu gibt es eine Richtlinie, die niemals außer acht gelassen werden sollte: erstellen Sie niemals ein DFD mit zu vielen Prozessen, Flüssen, Speichern und Terminatoren. Man sollte sich meistens an folgende Faustregel halten: nie mehr als 6 Prozesse mit den zusammenhängenden Speichern, Flüssen und Terminatoren auf einem Diagramm abbilden. Siehe Abb. A.13.2.4 Neu zeichnen
Beim Erstellen eines DFD’s wird man merken, dass man viele Veränderungen vornehmen muss, bis das Diagramm technisch korrekt ist, vom Benutzer akzeptiert wird und sauber genug gezeichnet ist. Wie man ein DFD ästhetisch gestaltet hängt natürlich vom persönlichen Geschmack ab, doch haben auch manche Organisationen Normen vorgegeben. Nachfolgend noch drei Hilfen zur Gestaltung eines DFD’s:-
Form und Größe der Bubbles
-
Gekrümmter oder geradliniger Datenfluß, siehe Abb. A.14. & A.15.
-
Handgezeichnete Diagramme oder rechnergenerierte Diagramme
2.5 logisch konsistente DFD’s
Um sicherzustellen, dass das DFD in sich stimmig ist, gibt es einige Richtlinien. Nachfolgend die Hauptkriterien für die Konsistenz eines DFD’s:-
Bubbles, welche einen Eingabefluß haben jedoch ohne Ausgabe sind, sollten vermieden werden. Unter den Systemanalytikern ist der Begriff "schwarzes Loch" für diesen Zustand üblich. Ebenfalls sollten Bubbles vermieden werden, welche einen Ausgabefluß haben, jedoch ohne Eingabe sind. Doch gibt es eine Ausnahme, nämlich den Zufallszahlengenerator. Sie sollten unbedingt, alle Flüsse und Prozesse bezeichnen. Ein nichtbezeichnetes Element ist meist ein Zeichen für Nachlässigkeit, kann aber auch auf einen tiefergehenden Fehler hinweisen, wenn z.B. einem Systemanalytiker kein entsprechender Name für einen Datenfluß eingefallen ist, weil mehrere elementare Dateneinheiten willkürlich zusammengepackt wurden. Man sollte nie nur Lese - oder nur Schreibspeicher verwenden. Ein typischer Speicher sollte immer Eingabe - und Ausgabeflüsse haben. Die einzige Ausnahme sind externe Speicher.
3 Erstellung von DFD’s
3.1 Gestufte DFD’s
Was DFD's sind, und wie man mit ihnen umgeht, haben wir jetzt erklärt. Aber was ist, wenn ein Diagramm sehr komplex ist, wenn außer Kreisen und Linien nichts zu sehen ist, und man selbst bei näherem studieren des Diagramms nichts erfährt? Für diesen Fall gibt es gestufte DFD's. D.h., das DFD wird ähnlich einem Atlas immer genauer beschrieben. Zuerst die Weltkarte, dann Europa, jetzt Österreich, danach die Bundesländer und schlußendlich die Bundeshauptstädte.Wie ist das gestufte DFD aufgebaut? Siehe Abb. A.16.
Die erste Stufe gibt eine Übersicht über das System und die externen Terminatoren. Wenn man die Bubbles numeriert, kann man sie sehr leicht in der nächsten Stufe wiederfinden. Stufe für Stufe wird das System genauer beschrieben, bis es schlußendlich die Funktion, oder den Prozeß darstellt. Zu diesem System der gestuften DFD's müssen wir uns aber folgende sieben Fragen stellen:
-
Woher wissen wir, wieviele Stufen wir benötigen?
-
Gibt es Richtlinien dafür, wieviele Stufen ein typisches DFD haben sollte?
-
Müssen alle Systemteile bis zur gleichen Detailstufe dargestellt werden?
-
Wie präsentieren wir dem Benutzer die Stufen?
-
Wie stellen wir sicher, dass die Stufen des DFD's untereinander stimmig sind?
-
Wie stellen wir die Speicher auf den verschiedenen Stufen dar?
-
Wie gehen wir bei der eigentlichen Unterteilung des DFD's vor?
3.2 Echtzeit DFD’s Echtzeit
In Echtzeitsystemen benötigt man nicht nur Datenpakete die verschoben werden können, sondern auch Signale oder Unterbrechungen. Auch Steuerprozesse müssen dargestellt werden können. Sie werden mit gestrichelten Linien dargestellt. Siehe Abb. A.18. Dieser Steuerfluß kann nur ein binäres Signal (ON oder OFF) und keine Daten transportieren. Er weckt einen Prozeß der gerade eingefroren oder im Leerlauf war. Ein Steuerprozeß hat die Aufgabe, die Aktivitäten anderer Bubbles im Diagramm zu koordinieren. Es gibt zwei verschiedene Signale, die herauskommenden, die andere Bubbles aufwecken, und die hereinkommenden, die mitteilen, dass ein Prozeß erledigt oder unterbrochen ist.2309 Worte in "deutsch" als "hilfreich" bewertet