Melden Sie sich hier an, um auf Kommentare und die Whitepaper-Datenbank zugreifen zu können.

Kein Log-In? Dann jetzt kostenlos registrieren.

Falls Sie Ihr Passwort vergessen haben, können Sie es hier per E-Mail anfordern.

Der Zugang zur Reseller Only!-Community ist registrierten Fachhändlern, Systemhäusern und Dienstleistern vorbehalten.

Registrieren Sie sich hier, um Zugang zu diesem Bereich zu beantragen. Die Freigabe Ihres Zugangs erfolgt nach Prüfung Ihrer Anmeldung durch die Redaktion.

20.06.1980

Petri Heil ! 2. Folge

Gehen wir zur nächsten Kommunikationsstufe über, der zwischen dem Systementwerfer und den Systemrealisierern. Gleichgültig, ob der Systementwerfer selbst an der Realisierung des Systems mitwirkt oder nicht, es kommt wesentlich darauf an, als Entwurfskonzept eine solide und unveränderliche Basis zu besitzen. Das ist nicht möglich, wenn lediglich durch ein verbales Lastenheft eine Reihe von Forderungen fixiert sind, denn dann müssen immer neue zusätzliche Festlegungen entweder aus der sich mit der Zeit verändernden Erinnerung des Systementwicklers, durch Rückfragen beim Auftraggeber oder durch Selbstinterpretation der Realisierer eingebracht werden. Daß dies keine solide Basis für die Realisierung des Systems sein kann, liegt auf der Hand. So erfordert also auch diese Kommunikationsstufe das Vorliegen detaillierter "Pläne" als Systemkonzept.

1. 3 Was muß und was kann eine Darstellungsmethode leisten?

Es ist dem Menschen nicht möglich, komplizierte Zusammenhänge ohne visuelle Hilfen fehlerlos zu übersehen und noch weniger sie anderen weiter zu vermitteln. Der Mensch ist zwar ausgezeichnet geeignet, unvollständige und fehlerhafte Entwürfe nach und nach weiter zu entwickeln und zu verbessern, er ist aber zum Beispiel nicht in der Lage, sich große Entwurfskomplexe als Ganzes fehlerfrei und unveränderlich zu merken. Außerdem kann er sich mit komplizierten Abhängigkeiten nur gewissermaßen punktuell und nicht im Ganzen befassen. Er braucht daher ein "Geländer", auf das er sich stützen kann. Ein solches Geländer sind bei komplizierten Zusammenhängen eben Pläne des bisher Erarbeiteten. Diese kann er durch Einsatz seiner Fähigkeiten in überschaubaren Teilbereichen nach und nach verbessern, bis schließlich ein den Anforderungen entsprechendes Gesamtkonzept entstanden ist.

Eine grafische Darstellungsmethode, die Pläne des Systems und seiner Teile liefern soll, muß also den Entwurfsvorgang unterstützen und Basis für die Kommunikation mit dem Auftraggeber und mit den Systemrealisierern sein. Die Pläne müssen daher eindeutig, leicht verstehbar und übersichtlich sein. Da die Realität meist kompliziert ist, bedeutet das Darstellung der Abhängigkeiten durch Verteilung auf mehrere Detailstufen und bei den Darstellungen innerhalb jeder Stufe Beschränkung auf das jeweils Wesentliche. Das möge dargestellt werden, durch die symbolische Skizze auf Bild 2.

Die Darstellungen auf den verschiedenen Detailstufen sollten nach Möglichkeit gleichartig, die verwendeten Begriffe leicht verständlich und den in der Realität vorkommenden Verhältnissen leicht und eindeutig zuzuordnen sein. Das bedeutet auch, daß ihre Anzahl klein sein muß.

Eine gute Darstellungsmethode sollte den realisierungsunabhängigen Systementwurf unterstützen.

Jede Darstellungsmethode, die ein übersichtliches Abbild der Abhängigkeiten der Realität schaffen soll, muß notwendigerweise manches vernachlässigen. Eine Methode, die alles berücksichtigt, wäre unbrauchbar. Sie wäre nämlich ein umkehrbar eindeutiges Modell der Realitat und somit überflüssig.

Jede brauchbare Darstellungsmethode wird auch Dinge unberücksichtigt lassen müssen, deren Aufzeichnung oder Prüfung in späteren Entwicklungsphasen durchaus wesentlich ist. Sie wird das tun müssen, um die Übersicht über die vordringlicheren Abhängigkeiten zu ermöglichen. Eine gute Darstellungsmethode muß notwendigerweise ein Kompromiß zwischen Aussagekraft und Verständlichkeit sein.

Was ist nun detailliert von einer guten Darstellungsmethode für den Systementwurf zu fordern? Wesentlich für den Entwurf eines Programmsystems ist die übersichtliche und erschöpfende Darstellung der Datenflüsse:

- wo die Daten herkommen

- wo und wie sie verarbeitet werden - wohin sie weitergeleitet werden

- wo sie abgelegt oder an wen sie ausgegeben werden.

Zeitabhängigkeiten sind beim Systementwurf nur als Forderungen zu notieren. Sie gehören originär zur Systemrealisierung und können vernünftigerweise - von Überschlagsrechnungen abgesehen - erst dort berücksichtigt werden. Sie haben daher im Systementwurf selbst zunächst nichts zu suchen.

1. 4 Warum braucht man eine neue Darstellungsmethode?

Die in den vorigen Abschnitten erläuterten Gesichtspunkte sind keineswegs neu. Sie liegen zum großen Teil auch der Idee des sogenannten "Topdown"-Designs des "Software engineering" zugrunde, einem methodischen Vorgehen vom Allgemeinen zum Speziellen bei der Entwicklung von Programmen. Allerdings werden sie dort noch nicht auf die Darstellungsmethodik selbst angewendet.

Nun gibt es aber im Bereich der Programmentwicklung bereits mehrere grafische Verfahren. Wie steht es mit der Eignung dieser Verfahren für den Programmentwurfs-prozeß? Da sind zunächst die grafischen Verfahren zu nennen, die speziell für die Programmimplementierung, das heißt, Realisierungsstufe der Programmentwicklung geschaffen wurden. Das sind die Flußdiagramme (Ablaufpläne) sowie eine spezielle Form davon die Nassi-Shneiderman-Diegramme die verwendet werden, um die Freizügigkeit der Programmierer zugunsten geringerer Fehleranfälligkeit der erzeugten Programme einzuschränken. Diese Verfahren wurden und werden auch zum Systementwurf vor allem kleiner Systeme und für die Programmierung technisch-wissenschaftlicher Aufgaben verwendet. Sie sind jedoch für den Systementwurf nicht gut geeignet, weil sie auf zu niederer Detailebene ansetzen und wegen der verwendeten Symbole zu Implementierungs-überlegungen " verführen " .

Die Nassi-Shneiderman-Diagramme sind zur Unterstützung des Systementwurfes, sogar besonders ungeeignet, denn so wertvoll die Einschränkung der Freizügigkeit des Programmierers in der Realisierungsphase ist, so hinderlich ist sie, wenn es um die Erfassung der Realität geht. Die Realität richtet sich nämlich nicht nach Einschränkungen. Für den Entwurf großer komplexer Programmsysteme sind diese implementierungs-orientierten Verfahren ungeeignet und werden dafür auch nicht benutzt.

Ich möchte zum Systementwurf für Programmsysteme ein Verfahren empfehlen, das auf den in Fachkreisen schon seit einiger Zeit diskutierten Petrinetzen basiert. Das ist ein grafisches Verfahren mit Knoten und gerichteten Strecken. Es gibt dabei zwei grundsätzlich verschiedene Typen von Knoten, interpretierbar als "Zustände" und "Tätigkeiten" (oder "Aktionen"), die jeweils im Wechsel durchlaufen werden.

Petrinetze bieten systematischere und übersichtlichere Darstellungsmöglichkeiten der im Systementwurf auftretenden Abhängigkeiten als andere Verfahren und sind doch sehr einfach zu verstehen und auch anzuwenden, wie im folgenden gezeigt wird.

Nun könnte man natürlich Entwurfssysteme mit noch mehr verschiedenen Typen von Knoten und mit komplexen Verknüpfungen benutzen und es gibt auch tatsächlich Vorschläge in dieser Richtung. Für den Systementwurf ist nach meiner Meinung der Gewinn an Darstellungsflexibilität jedoch im allgemeinen nicht groß genug gegenüber der dafür eingehandelten komplizierten Anfertigung und vor allem gegenüber der geringeren Übersichtlichkeit solcher Entwürfe.

2. Petrinetze

2.1 Als statisches Darstellungsmittel

Petrinetze sind - wie schon gesagt spezielle Netze aus Knoten und sie verbindenden Kanten. Dabei gibt es zwei Typen von Knoten, erstens "Transitionen" und zweitens "Stellen".

Grafisch werden Knoten der ersten Art- Transitionen- als Quadrate oder auch abgekürzt als Balken dargestellt. Knoten der zweiten Art- Stellen - werden durch Kreise symbolisiert (Bild 3). Petrinetze entstehen dadurch daß Knoten beider Arten durch Kanten miteinander verbunden sind, die eine eindeutige Richtung haben, dargestellt durch Pfeile. Wenn eine gerichtete Kante von einem Knoten, A" zu einem Knoten "B" führt, spricht man von "A" als dem Vorgänger von "B" und von "B" als dem Nachfolger von "A". Weiter dürfen in Petrinetzen nur Knoten unterschiedlicher Art jeweils direkt miteinander verbunden sein. Eine Transition darf also als direkte Vorgänger und Nachfolger nur "Stellen" haben.

Wird fortgesetzt