'Oh Rosie, Oh Girl'
'Steal away now, steal away'
Robert Plant Rockbarde
CASE Computer Aided Software Engineering
Unter CASE-Tools versteht man Software-Produkte, welche die Entwicklung von Software unterstützen. Besonders gerne werden von der Software-Industrie CASE-Tools mit grafischen Modellierungsmöglichkeiten angeboten. Hierbei werden diese Produkte häufig mit dem Wahlspruch verkauft: "Ein Bild sagt mehr als 1000 Worte"
Diese Aussage ist natürlich falsch. Es sind nur 673,42 Worte.
Dabei wird häufig vergessen das bei dem Einsatz von CASE-Tools mit grafischen Modellierungsmöglichkeiten zusätzliche Anforderungen an die Hardware zu stellen sind, die bei dem Projekt erforderlich ist. Die wichtigsten Anforderungen (Requirements) sind:
Requirement 1:
Es wird ein Drucker für das Papierformat A3 benötigt.
Requirement 2:
Es wird ein Drucker für das Papierformat A2 benötigt.
Requirement 3:
Es wird ein Drucker für das Papierformat A1 benötigt.
Requirement 4:
Es wird ein Drucker für das Papierformat A0 benötigt.
Reicht das A0 Format nicht aus, so sind weitere Anforderungen an die Fähigkeiten der Drucker-Utilities des CASE-Tools zu stellen.
Requirement 5:
Die Print-Utility des CASE-Tools muß in der Lage sein ein komplexes Diagramm auf mehrere Blätter aufzuteilen.
Damit ergibt sich dann die Anforderung, daß eine hinreichend große Pinwand vorhanden ist, so daß ein aus mehreren Blättern bestehendes Diagramm an dieser Wand zu einem Bild zusammen gebaut werden kann. Die dafür nötigen Gebäudeform ergibt sich dann aus der Struktur des Software-Projektes.
Requirement 6: ( Variante: Software Architektur mit flacher Hierarchie )
Es ist ein Gebäude zu erstellen, welches einen Raum besitzt, der eine Wand hat die 100m breit ist und 4m hoch.
Requirement 6: ( Variante: hierarchische Software Architektur )
Es ist ein Gebäude zu erstellen, welches einen Raum besitzt, der eine Wand hat die 4m breit ist und 100m hoch.
Da die Wahrheit natürlich zwischen diesen beiden Extremen liegt, baut man am besten eine Wand mit einer Abmessung von 100m*100m. Auch wenn man bei diesen Werten gewisse Redundanzen eingebaut hat ist natürlich Vorsicht geboten, da nun Änderungen an der Software-Architektur Änderungen am Gebäude nach sich ziehen können.
Das man das Software-Team mit Fernrohren, oder zumindest mit Operngläsern ausstatten sollte, ergibt sich von selbst. Eine hydraulische Bühne zum anbringen der Bilder und zum studieren der Details ist selbstverständlich auch notwendig.
Automatische Dokumentengenerierung
Eines der Argumente für den Einsatz von CASE-Tools ist die automatische Dokumentengenerierung. Dabei wird in der Regel vergessen, das Dokumente in der Regel im A4 Format sind. Habe ich komplexe Diagramme, so benötigen diese ein grösseres Format als A4 um eine lesbaren Ausdruck zu erzeugen. CASE-Tools führen aber, bei der automatischen Dokumentengenerierung jedes Diagramm, mit aller Gewalt in das A4 Format über. Das Resultat sind nicht lesbare Diagramme. Ist man sich dieses Problems bewußt, wir oft gefordert, das nur im A4 Format lesbare Diagramme erlaubt sind. Mann spricht dann vom A4 getriebenen Software Design.
Automatische Generierung von Diagrammen aus Sourcecode
Als einer der Vorteile von CASE-Tools wird oft die automatische Generierung von Diagrammen angepriesen. Dabei wird aber nicht gesagt, daß das Layout der auf diese Weise generierten Diagramme Grausam bzw. praktisch unlesbar ist. Will man brauchbare Diagramme erhalten, so ist ein manueller Eingriff in das Layout unabdingbar.
Das schöne an CASE-Tools ist nun, das bei einer erneuten Generierung der Diagramme, die nach einer Änderung der Souren notwendiger weise erforderlich ist, die händisch eingeführten Änderungen am Layout verloren gehen.
Mann hat wieder das gleiche chaotische Layout wie nach der ersten Generierung. Alle händischen Änderungen waren für die Katz und müssen erneut durchgeführt werden.
Automatische Generierung von Sourcecode aus Diagrammen
Hier treten die gleichen Probleme wie bei der Generierung von Diagrammen aus Sourcecode auf, nur mit anderem Vorzeichen. Händische Änderungen werden übergebügelt oder bringen das Generierungstool durcheinander.
Probleme bei der Generierung von Sourcecode aus Diagrammen und vice versa
- Es liegt keine Eineindeutige Abbildung (Bijektiv) zwischen Diagrammen und einer Programmiersprache vor.
- Das automatisch erzeugte Layout ist ungenügend.
- Eine Persistenz des Layouts liegt nicht vor
- Händische Änderungen sind schwierig, bzw. werden bei der nächsten Generierung niedergebügelt.
|