Programme und Systeme zu designen ist ein Entscheidungsprozeß,
der viele technische Entscheidungen miteinbezieht. Das Ziel des
strukturierten Designs ist es, ein Verfahren zu sichern, daß dem
Designer die Möglichkeit gibt, diese Entscheidungen in/nach einem
systematischen Weg zu machen.
9.1 Datenflußdiagramm
Der erste Schritt im strukturiertem Design ist das Designproblem,
mittels einem Datenflußdiagramm, durch ein System zu zeigen. Dieses
System besteht aus Prozessen, die mit den Daten operieren. Diese
Prozesse und die Datenverbindung werden zur Basis, zum Definieren
der Programmkomponenten.
9.2 Strukturdiagramm
Der zweite Schritt im strukturiertem Design ist das Programmdesign
in einer Hierarchie von funktionalen Komponenten zu zeigen. Ein
Strukturdiagramm dient dazu, um eine Übersicht über das Design
zu zeigen. Das Strukturdiagramm ist abgeleitet vom Datenflußdiagramm.
Strukturiertes Design unterstützt zwei Designstrategien zur Umsetzung
vom Datenflußdiagramm zum Strukturdiagramm: die Transformanalyse
und die Transactionsanalyse.
Transformanalyse:
Transformanalyse ist ein Informationsflußmodell, das gebraucht
wird um ein Programm zu designen, das die primären funktionalen
Komponenten und die wichtigsten Ein- und Ausgaben für diese Komponenten
identifiziert. Das Datenflußdiagramm ist die primäre Eingabe für
den Transformanalyseprozeß. (Abb.)
Die Transformanalyse wird in drei Teile unterteilt:
1. Das Datenflußdiagramm wird in drei Teile unterteilt:
Input
Output
Rechenaufgabe
2. Erstellen eines high-level Strukturdiagramms, für jeden Zweig
und für jede zentrale Transform ein Modul zeichnen.
3. Alle high-level Module in Unterprogramme umwandeln.
Darstellung des Transformanalyseprozesses
Transactionsanalyse:
Transactionsanalyse ist eine alternative Designstrategie. Eine
Transaction (Durchführung) ist jedes Datenelement das eine Aktion
auslöst.
Die Transactionsanalyse wird in vier Stufen unterteilt:
1. Identifizieren der Transactionsquellen durch Prüfen der Problembeschreibung.
2. Ausfindigmachen des Transactionszentrums durch Prüfen des Datenflußdiagramms.
3. Identifizieren der Transactionsmodule durch Prüfen des Datenflußdiagrammes
und Erstellen eines high-level Strukturdiagramms.
4. Bilden eines kompletten Strukturdiagrammes
9.3 Designbewertung
Die Aufgabe des dritten Schrittes, der Designbewertung, ist es,
die Qualität des Designs, das mittels Transaction- oder Transformanalyse
erstellt wurde, zu bewerten. Es gibt viele Arten des Designs für
ein Problem, also braucht man einen Weg, um die Qualität objektiv
zu messen.
Hierzu gibt es wieder zwei Bewertungstechniken: Kopplung und Kohäsion
Kopplung:
Die Kopplung mißt den Grad der Selbständigkeit der Module. Wenn
es eine geringe Interaction (Wechselwirkung) zwischen zwei Modulen
gibt, so wird dies \"locker gekoppelt\" genannt. Gibt es eine
große Wechselwirkung zwischen zwei Modulen, so nennt man dies
eine \"enge Kopplung\". Ein hoch qualifiziertes Design ist, wenn
die Module so locker wie möglich gekoppelt sind.
Es sind fünf Typen von Kopplung möglich:
Daten
stamp
control
common
content
Daten-Kopplung ist der beste und lockerste Typ von Kopplung. Content-Kopplung
ist der schlechteste und engste Typ von Kopplung.
Kohäsion:
Die Kohäsion mißt, wie stark die Elemente innerhalb eines Moduls
verbunden sind. Je stärker, desto besser. Es gibt sieben Levels
die die Kohäsion zeigen:
Functional
Sequential
Communicational
Procedural
Temporal
Logical
Coincidental
Wobei die funktionale Kohäsion die stärkste und am meisten wünschenswerte
Kohäsion ist und die coincidental die Schwächste und Unerwünschteste
ist.
Um die Kohäsion und die Kopplung der Module zu messen, muß das
Strukturdiagramm geprüft sein. Der Typ der Kopplung wird entschlossen
in dem man sich den Datenfluß zwischen Modulen anschaut.
9.4 Das Design für die Durchführung vorbereiten
Der letzte Schritt des strukturierten Designs ist es, das Design
für die Durchführung vorzubereiten. Das nennt man das Verpacken
(Packaging) eines Designs. Verpacken ist ein Prozeß des Teilens
des logischen Programmdesigns in eine physikalische Durchführungseinheit.
Dies nennt man load unit (Ladeeinheit). Jede load unit wird ins
Memory gebracht und als eine Einheit im Betriebssystem ausgeführt.
Die Absicht des Verpackens ist es, die physikalischen Systemkomponenten
zu definieren, die in einer wirklichen Computerumgebung durchgeführt
werden können. Verpacken wird in Schritten ausgeführt. Einige
Schritte werden vor dem Design ausgeführt, andere wieder besser
am Ende des Designprozesses.
Predesign Packaging:
Am Ende der Analyse, wird das System in jobs und jobsteps verpackt.
Ein job ist eine Reihenfolge von einem oder mehreren jobsteps.
Ein jobstep ist ein Hauptprogramm und dessen Unterprogramme. Das
Datenflußdiagramm ist zu diesem Punkt, durch Bilden dreier Grenzen,
verpackt:
1. Hardwaregrenze
2. Batch/on-line/real-time Grenze
3. Operationszyklusgrenze
Postdesign Packaging:
Jeder jobstep, repräsentiert als Datenflußdiagramm, hat die Designphase
schon passiert. Während des Designs wird jeder jobstep als Wert
eines Strukturdiagramms definiert. Am Ende wird jedes Strukturdiagramm
in ausführbare Programme und Ladeeinheiten (load units) verpackt.
Die kleinstmögliche Ladeeinheit ist ein Modul, die größtmögliche
das ganze Strukurdiagramm.
9.5 Ergänzung
Softwareentwicklungsphasen:
Analyse Design
Problem / Anforderung Lösung
Dekomposition (Prozeß) Structure chart
Datenflußdiagramm / CDUR - Matrix Strukturdiagramm
ERD ERD
https://www.inftube.com/scienze/informatica/index.php
|