Software-Design heute und morgen

27.04.1979

Wolfgang Muschter

Leiter des Software-Vertriebs der Komm. - Ges. GMO- Gesellschaft für moderne Organisationsverfahren m.b.H. & Co., Hamburg

Design als Entwurf ist Aufgabe, Ergebnis und Methode. Im

Entwicklungsprozeß steht das Design als Phase zwischen Konzeption und Realisierung. Aufgabe des Design ist es mithin ein Modell für die zweckmäßige Realisierung der Konzeption zu schaffen. Zweckmäßigkeit ist das maßgebende Beurteilungskriterium für ein Design.

Design als Entwicklungsphase

Die Phasen des Entwicklungsprozesses sind durch einen markanten Wechsel in der Blickrichtung gekennzeichnet: im ersten Teil dominiert die problem- beziehungsweise anwendungsorientierte, im zweiten Teil die DV-orientierte Sichtweise. Es ist deshalb zweckmäßig, zwei Design-Phasen zu unterscheiden: das anwendungsorientierte Funktionsdesign und das DV-Design als Software-Design im engeren Sinne.

Funktionsdesign

Die Funktion als Eigenschaft eines Datenverarbeitungssystems ist die Fähigkeit der Transformation von Eingabe- zu Ausgabeinformationen. Mit der Funktion ist nicht die Art der Verarbeitung festgelegt. Die Ausführung einer Funktion in einem System manueller Datenverarbeitung unterscheidet sich von der Ausführung bei maschineller Datenverarbeitung.

Das Funktionsdesign abstrahiert von der Art der Ausführung. Zweck ist die eindeutige Formulierung des Entwicklungsauftrages, als gemeinsame Verständigungsbasis zwischen dem Benutzer als Auftraggeber und dem Entwicklungsteam, das für die DV-mäßige Realisierung verantwortlich ist.

Die Beurteilungskriterien für ein Funktionsdesign sind folglich Sachlogik, Eindeutigkeit, Vollständigkeit und Transparenz.

DV-Design

Das DV-Design ist der Entwurf für die zweckmäßige DV-technische Realisierung der Funktionen. Es ist im Gegensatz zum Funktionsdesign ablauforientiert. Als Grob-Design legt es die Benutzerschnittstelle als Systemoberfläche fest und schafft die interne Grobstruktur. Das Ergebnis kann unter anderem durch einen Datenflußplan dokumentiert werden. Das Fein-Design bezweckt die Ablaufstrukturierung der einzelnen Programme.

Das Ablauf-Design legt die Steuerung und die Bausteine für die Verarbeitung fest. Die Verarbeitung läßt sich unterteilen in die datenbezogene und die anwendungsbezogene Verarbeitung. Die anwendungsbezogene Verarbeitung deckt sich im Ergebnis mit den Funktionen des Funktionsdesigns, sie findet sich jedoch im DV-Design in einer anderen, nämlich ablauforientierten Strukturierung.

Die Beurteilungskriterien für ein DV-Design ergeben sich aus seiner Bedeutung als Vorgabe für die DV-technische Realisierung (Sachlogik, Eindeutigkeit, Vollständigkeit Transparenz) und als Effizienzkriterien für das Produkt, die Software (Performance, Speicherplatzbelegung etc.). Unter dem Aspekt der Zuverlässigkeit und Wartbarkeit ergeben sich zusätzliche Kriterien wie Modulfestigkeit und Modulkopplung.

Design-Methoden

Komplexe Systeme werden in einem Top-down-Ansatz schrittweise in überschaubarere Teilsysteme zerlegt. Das Ergebnis ist eine hierarchische Struktur von Beziehungen und Bausteinen. Die Bausteine als Black-box sind in einem zweiten Schritt inhaltlich zu spezifizieren.

Die Top-Down-Methode ist eine kreative Methode der Strukturfindung. Hiervon zu unterscheiden sind die Methoden zur Strukturdokumentation.

Zwischen Strukturfindung und Strukturdokumentation besteht eine Wechselwirkung. Bei der Strukturdokumentation werden Schwachstellen erkennbar, die zum Überdenken der Struktur führen. Strukturierung ist ein "iterativer" des Trial and Error.

Die Top-down-Strukturierung bezieht sich sowohl auf das Funktions-Design als auch auf das DV-Design. Die unterschiedlichen Zwecksetzungen führen hier zwangsläufig zu unterschiedlichen Strukturen.

Für die Strukturdokumentation verwendet man beim Funktions-Design meist Baumstrukturen. Im DV-Design werden von Jackson zur Dokumentation von Datenstrukturen ebenfalls Baumstruktur-Diagramme vorgeschlagen während für die Dokumentation von Programmablaufstrukturen häufig Schachtel-Diagramme (Nassi-Shneiderman-Diagramme, Einrück-Diagramme) benutzt werden.

Zukunftsweisend ist die Entwicklung und Verwendung von speziellen Design-Sprachen, auch als Pseudo-Code bezeichnet, zur Spezifikation einer Ablaufstruktur. Pseudo-Code kann in der Realisierungsphase unmittelbar von Generatoren in Anweisungen umgesetzt werden.

Zur Spezifikation der Bausteine eignen sich im Funktionsdesign zum Beispiel Entscheidungstabellen und HIPO'S, zur Spezifikation der ablaufbezogenen Bausteine im DV-Design eignen sich beispielsweise Entscheidungstabellen und Pseudo-Code. Die Spezifikation der Bausteine in einer Vorgabe wird durch eine verbale Dokumentation ergänzt,

Methodenbruch

Es besteht heute die Tendenz, das Design als Vorgabe für den weiteren Entwicklungsprozeß zu Perfektionieren. Die Versuche, immer komfortablere Programmiersprachen zu schaffen, gehen insofern am Kern vorbei. Der wirkliche Engpaß ist das Design. Hier ist der Ansatzpunkt für das Software-Engineering.

Design ist wesentlich ein Methodenproblem. Der Methodenstreit entzündet sich heute an der Bruchstelle zwischen anwendungsbezogenem Funktionsdesign und ablauforientiertem DV-Design. Die Anhänger der Jackson-Methode wollen auf ein Funktionsdesign verzichten und direkt aus Datenstrukturen ein DV-Design ableiten. Sie laufen Gefahr, vom Auftraggeber nicht verstanden zu werden.

Die Anhänger der HIPO-Methode wollen das Funktionsdesign immer weiter detaillieren, bis eine eindeutige Zuordnung der Detailfunktionen zu Verarbeitungsbausteinen (Module) im DV-System möglich ist und das DV-Design in einem Syntheseprozeß Bottom-up, gewonnen werden kann. Die Erfahrungen sind nicht sehr ermutigend; diese Vorgehensweise wird vielleicht Erfolg haben, wenn die funktionale Programmierung Wirklichkeit geworden ist.

Bistrukturale Methode

Nach dem heutigen Stand der Erkenntnisse ist eine Kombination zu empfehlen, in der Funktionsdesign und DV-Design gleichrangig nebeneinanderstehen.

HIPO für das Funktionsdesign und Jackson für das DV-Design sind hier keine methodischen Gegensätze, im Gegenteil. Die Überwindung der Bruchstelle vom Funktionsdesign zum DV-Design bleibt jedoch eine Klippe, die nicht mit Fleiß allein, sondern mit Kreativität und Erfahrung überwunden werden muß.

Wegweisend ist die von Dr. Thurner im Software-Entwicklungssystem DELTA implementierte Skelett-Methode: Es wird zunächst ein Ablaufskelett mit ablaufbezogenen Bausteinen definiert (beispielsweise Ó la Warnier/Jackson). Die Verarbeitung wird optional strukturiert wie im Funktionsdesign vorgegeben. Die Zuordnung der optional strukturierten Verarbeitungsvorschriften zu den ablaufbezogenen Bausteinen erfolgt über eine symbolische Adressierung (Allokationsprinzip). Auf diese Weise bleiben Funktions- und DV-Design nebeneinander bestehen, es handelt sich also um eine bistrukturale Methode, die die Voraussetzung für eine Überwindung des Methodenbruchs schafft und eine einheitliche Dokumentation gewährleistet.

Prognose

Die heute diskutierten Design-Methoden werden sich nach einem Klärungsprozeß morgen beim Anwender durchsetzen. Der Designer wird seinen Platz erhalten im arbeitsteiligen Konzept des Chief-Programmier-Teams. Die Schaffung der organisatorischen Voraussetzungen und die Methodenausbildung erfordern Zeit.

Von Dr. Christoph Zahrnt Rechtsanwalt, Neckargemünd

° 2 Mietzins

1. Der Mietzins ist vom Beginn der Funktionsprüfung an zu zahlen.

Er entfällt für diejenigen Tage, um die sich die Funktionsprüfung gemäß ° 8 Nr. 2 verlängert, Kürzungen nach ° 9 Nr. 2 sind darauf anzurechnen.

2. Bei Geräten mit Zählwerk errechnet sich der Mietzins aus einer monatlichen Nutzungsdauer (Kalendermonat) von 180 Stunden (Grundmonatsmiete) und, falls vereinbart, einem Zuschlag für jede Stunde Mehrbenutzung.

Dabei werden Mehr- und Minderstunden während eines Kalendervierteljahres gegeneinander verrechnet. Außerdem werden, falls in einem Rechenzentrum mehrere als gleichartig vereinbarte Geräte eingesetzt werden, innerhalb eines Kalendervierteljahres deren Nutzungsstunden gegeneinander verrechnet. Mindestens sind jedoch je Vierteljahr drei Grundmonatsmieten für jedes Gerät zu zahlen.

Wird im Rahmen der Wartung (Instandhaltung und Instandsetzung) von den Zählern Betriebszeit ermittelt, so bleibt diese Zeit bei der Berechnung des Mietzinses außer Ansatz.

3. Beginnt oder endet die Mietzeit im Laufe eines Monats, wird der Mietzins anteilig auf der Grundlage von 30 Tagen berechnet.

4. Der Mietzins ist das Entgelt für alle Leistungen, die gemäß diesen Vertragsbedingungen stets zu erbringen oder die in der Leistungsbeschreibung vereinbart sind, ohne daß dort eine gesonderte Vergütung vorgesehen ist (° 5 Nr. 2 II, Nr. 3 1. ° 9 Nr. 1, ° 15? ° 16 Nr. 1 und 2. ° 17 Nr. 2, ° 19),

° 3 Listenpreisvorbehalt

1. Ist ein Listenpreisvorbehalt vereinbart, so kann der Vermieter einen erhöhten Listenpreis fordern, wenn er ihn allgemein und stetig erzielt. Auf Verlangen des Mieters hat er dies der Industrie- und Handelskammer an seinem Sitz nachzuweisen: der Mieter trägt deren Kosten.

Erhöhungen treten frühestens drei Monate nach schriftlicher Ankündigung in Kraft. Sie gelten erst dann, wenn der alte Listenpreis mindestens 10 Monate für diesen Mieter gegolten hat.

2. Der Mieter kann jede Einheit innerhalb von einen Monat nach Ankündigung der Erhöhung zu jedem Monatsende bis zum Inkrafttreten

der Erhöhung kündigen. Dies gilt auch für Einheiten, deren Nutzung deren Mieter nach der Kündigung gemäß Satz 1 nicht mehr zumutbar

ist.

3. Ermäßigt der Vermieter den Listenpreis, so wirkt dies auch gegenüber dem Mieter.

° 4 Zahlungen, Mehrwertsteuer

1. Zahlungen sind fällig:

a) die Grundmonatsmieten und besondere Zuschläge für verlängerte Wartungsbereitschaft vierteljährlich zum Ersten des zweiten Vierteljahrmonats mit Rechnungsstellung,

b) die über die Grundmonatsmieten hinausgehenden Zuschläge für Mehrstunden vierteljährlich nachträglich mit Rechnungsstellung,

c) die Vergütung für sonstige Leistungen nach Leistungserbringung und Rechnungsstellung.

2. Zusätzlich wird zu allen Preisen die jeweils gültige Mehrwertsteuer berechnet.

° 5 Anlieferung, Aufstellung und Betriebsbereitschaft

1. Wird bei Vertragsabschluß zunächst ein frühester bzw. ein voraussichtlicher, sowie ein spätester Liefertermin vereinbarte so ist rechtzeitig der endgültige Liefertermin zu vereinbaren. Das gleiche gilt für den Zeitpunkt der Betriebsbereitschaft

2. Der Mieter verpflichtet sich. die vereinbarten Installationsvoraussetzungen bis zum Anlieferungstermin zu schaffen. Auf Verlangen teilt er dem Vermieter rechtzeitig deren Fertigstellung mit

Auf Verlangen berät der Vermieter den Mieter bei der Durchführung der notwendigen Maßnahmen in angemessenem und zumutbarem Umfang,

3. Der Vermieter liefert die Mietsache bis in die Aufstellungsräume des Mieters, versetzt sie in betriebsbereiten Zustand, weist dieses nach und teilt es schriftlich mit. Er kann vom Mieter eine schriftliche Bestätigung der Betriebsbereitschaft verlangen.

Auf Verlangen hat er die Unterlagen über die durchgeführte erfolgreiche Prüfung der Mietsache in einer für den Mieter nachprüfbaren Form zur Verfügung zu stellen.

° 6 Allgemeines zur Vertragsstrafe, Kündigung, Rücktritt

1. Die Vertragsstrafe beträgt für jeden Tag, für den sie zu zahlen ist, 1/30 der Grundmonatsmiete.

2. Die Zahlungsverpflichtung des Vermieters ist in jedem einzelnen Fall auf 100 Tage beschränkt.

3. Der Mieter kann ein außerordentliches Rücktritts- oder Kündigungsrecht für den ganzen Vertrag oder für einen Teil ausüben. In diesen Fällen zahlt der Vermieter unabhängig vom Zeitpunkt des Rücktritts oder der Kündigung Vertragsstrafe für 100 Tage entsprechend dem Umfang der Vertragslösung.

7 Verzug

1. Kommt der Vermieter mit der betriebsbereiten Überlassung der Mietsache mehr als 30 Tage in Verzug, so zahlt er für jeden Tag Vertragsstrafe.

2. Bei Teilverzug ist der Mieter, soweit zumutbar, verpflichtet, die gelieferten Einheiten zu nutzen (siehe ° 8 Nr. 4). Er zahlt Mietzins in der Höhe des Anteils, in dem er diese Einheiten nutzen kann: der Vermieter zahlt Vertragsstrafe in Höhe der Nutzungseinschränkung der Mietsache.

3. Der Vermieter kann eine angemessene Nachfrist mit der Erklärung setzen, daß er nach Ablauf dieser Frist vom Vertrag zurücktreten wird. Tut er das nicht innerhalb von 14 Tagen nach Fristablauf, kann er erst nach Setzung einer zweiten Nachfrist zurücktreten. Diese muß die gleiche Länge wie die erste haben.

4. Kommt der Mieter mit der Erfüllung der vereinbarten Installationsvoraussetzungen in Verzug, kann der Vermieter für jeden Tag, um den sich die Betriebsbereitschaft von Einheiten verschiebt, die Zahlung von 1/30 der Grundmonatsmiete für diese Einheiten verlangen. Voraussetzung ist, daß sich die Betriebsbereitschaft um mehr als 30 Tage verschiebt. Der Vermieter kann Ersatz der Kosten verlangen, die ihm durch die Verschiebung der Lieferung entstehen.

° 8 Funktionsprüfung

1 - Der Mieter unterzieht die Mietsache nach Zugang der Erklärung der Betriebsbereitschaft einer Funktionsprüfung.

2. Die Funktionsprüfung verlängert sich, bis

a) die Mietsache die vereinbarten Leistungen erbringt,

b) die vereinbarte Mindestverfügbarkeit für einen Zeitraum erreicht wird. der der vorgesehenen Dauer der Funktionsprüfung entspricht. Wird fortgesetzt