computer aided software engineering: z.b. autocode, excelerator, maestro, software through pictures, promod und teamwork
Quelle: 9.beckerS.266
3 Ansätze zur Evaluation eines CASE-Tools
- Funktion-/Aufgabenorientiert
– ERwin, Powerdesigner
- Dokumentationsorientiert
– Rational Rose, Paradigm Plus
- Generierungsorientiert
Cool: Gen, Oracle
Nutzen des CASE-Einsatzes
- Verbesserung der Qualität
- Nutzung und Einhaltung von Standards
- Portabilität der Anwendung
- Verbesserte Wartbarkeit
- Reduzierung des Anwenderstaues
- Integrität
Kosten des CASE-Einsatzes
- Evaluation
- SW-Beschaffung und –Wartung
- Zusätzliche HW-Kosten
- Schulungskosten (Methodenschulung, Toolschulung)
- CASE-Administrator
- Externe Projektunterstützung
Qualitätsmerkmale
- Benutzerfreundlichekeit
- Erlernbarkeit
- Handbarkeit
- Funktionserfüllung
- Vollständigkeit
- Korrektheit
- Zuverlässigkeit
- Zeitverhalten (Antwortzeit)
- Verbrauchsverhalten (HW-Anforderungen)
Aufgaben der CASE-Werkzeuge
CASE-Werkzeuge unterstützen mehr Aufgaben der Software-Entwicklung als Werkzeuge der 3. oder 4. Generation. Die Computerunterstützung durch CASE-Werkzeuge unterstützt die Software-Entwicklung und -Wartung, sowie das Projekt-Management auf einer breiteren Basis.
Die Werkzeuge dienen:
- zum Prüfen dieser Informationen gegen Spielregeln der Methode und gegen verschiedene Konsistenz- und Vollständigkeitskriterien,
- zum automatischen Erzeugen von Dokumenten, die als Grundlage für Diskussionen oder zur Weitergabe an andere Projektbeteiligte benötigt werden,
- zum Generieren von Informationen für Folgephasen aus den bis dahin gesammelten Informationen.
Komponenten einer Analyse-/Design-Workbench
Benutzeroberfläche
Die Benutzeroberfläche (User-Interface) spielt bei CASE-Werkzeugen eine wichtige Rolle. Es bestimmt im Wesentlichen den Aufwand der nötig ist, um die Anwendung eines CASE-Werkzeuges kennenzulernen.
Die Merkmale einer grafischen Benutzeroberfläche für Werkzeuge sind:
- Windows
- lcons
- Mouse
Teilweise wurden von CASE-Werkzeug-Herstellern eigene Benutzeroberflächen entwickelt. Ein Beispiel für die Benutzung einer eigenen Benutzer Oberfläche, wie es durch SDW (System Development Workbench, Cap Gemini) verwendet wird.
Grafik-Editor
Die grafischen Abbildungen, die während der Analyse und Entwurfs-Phase benötigt werden, sind eng verflochten mit der dazu zu verwendenden Technik. Ein CASE-Werkzeug unterstützt meistens eine bestimmte Technik und ist somit ausgerüstet mit einem grafischen Editor, der auf die zu dieser Technik gehörenden Abbildungen zugeschnitten ist. Wenn ein Objekt in einer Abbildung mit der Maus angewählt wird, sollen dem Benutzer mit einem Menu die zu diesem Zeitpunkt ausführbaren Arbeitsgänge angezeigt werden.
Der grafische Editor bietet alle wichtigen Funktionen, die man zum Zeichnen der Diagrammtypen braucht. Hierzu gehören Änderungsmöglichkeiten der Bildschirmausschnitte und des Bildschirmaufbaus ebenso wie Kommandos zur Manipulation markierter Blöcke auf dem Bildschirm (Copy, Move, Delete, Undo).
Der grafische Editor eines CASE-Werkzeuges ist viel mehr als nur ein normales Zeichenpaket. Der grafische Editor versteht die Semantik eines Diagramms. So soll er, wenn es die Technik vorschreibt, dafür besorgt sein, dass beim Entfernen eines Objekts aus einem Diagramm auch alle dazugehörenden Verbindungen entfernt werden.
Heute werden vor allem die folgenden Techniken eingesetzt:
- SAJSD von Yourdon, de Marco, Gane und Sarson
- Information Engineering (J. Martin>
- SSADM
- UML (Unified Method Language)
Text-Editors
Neben Abbildungen werden in jeder Technik auch Texte für Beschreibungen benötigt. Es ist von Vorteil, wenn der Text-Editor die Namen von Objekten aus den Diagrammen versteht und so in den Text aufgenommen werden können, dass die Namen bei einer Änderung an anderer Stelle im System automatisch auch im Text nachgeführt werden.
Der Text-Editor umfasst die Funktionen Cursorsteuerung, Textsteuerung, Text löschen, Blockfunktionen und Import/Export-Funktionen.
Wenn in einer Technik bestimmte Texte in einer strukturierten Weise vorgegeben werden müssen, dann darf man erwarten, dass der Text-Editor diese Struktur unterstützt, z.B. für Entscheidungstabelle und Pseudocode.
Repository
Der Kern eines CASE-Werkzeuges besteht aus einer Entwicklungs-Datenbank, in der alle während des Entwicklungsprozesses produzierten Daten abgelegt werden.
In dieser Entwicklungs-Datenbank müssen neben den Texten aus dem Text-Editor auch die Grafiken aus dem Grafik-Editor abgespeichert werden.
Konsistenzkontrollen
Fehlerprüfung ist eine der wichtigsten Stärken eines CASE-Werkzeuges. Je früher ein Fehler entdeckt wird, desto kleiner werden die Softwarekosten. Das manuelle Kontrollieren aller Regeln, denen ein Entwurf entsprechen muss, wird meistens angefangen aber selten beendet. Je mehr Regeln ein CASE-Werkzeug kontrolliert, desto besser ist die Qualität der Analyse und des Entwurfs.
Viele CASE-Werkzeuge setzen für die Konsistenzkontrolle wissensbasierte Systeme ein. Die Konsistenz-regeln werden zum Beispiel in PROLOG festgehalten und in einer RuIe-Base gespeichert. Teilweise besteht schon die Möglichkeit, diese Rule-Base um eigene Regeln zu ergänzen. Es ist dann möglich, durch das CASE-Werkzeug die eigenen Richtlinien zu kontrollieren.
Warnung
Zwei Warnungen seien aber hier angebracht:
- Viele Regeln zu kontrollieren hat unzweifelhaft einen negativen Einfluss auf die Leistung eines CASE-Werkzeuges. Bei umfangreichen Systemen kann die Konsistenzkontrolle sehr lange dauern (Stunden).
- Werden in einer Analyse oder einem Entwurf keine Fehler gefunden, dann heisst das noch lange nicht, dass alles richtig ist. Man kann etwas total falsch gemacht haben, das jedoch den gestellten Regeln entspricht. Vorsicht vor der Annahme “der Computer sagt, was richtig ist, somit ist es auch richtig“ ist geboten.
Die Qualität eines Softwaresystems ist abhängig von der Spezifikation und die Qualität der Spezifikation ist abhängig von ihrer Vollständigkeit und Konsistenz. Es können fünf Typen von Fehler-Prüfungen unterschieden werden:
- Syntax und Objekt
- Vollständigkeit und Konsistenz
- Funktionszerlegung
- Cross-checking - Konsistenz über alle Ebenen und Sichten
- Requirements traceability
Berichtserstellung
Die CASE-Werkzeuge bieten standardmässige Berichte (Reports) an, die in vielen Fällen ausreichen. Die
Berichte sind eine Zusammenstellung von Diagrammen und den dazugehörenden Texten.
Um aber jeden Wunsch erfüllen zu können, besteht teilweise die Möglichkeit mit dem Berichts-Editor eigene Auswertungen zu erstellen. Der Berichts-Editor hat als Grundlage eine nicht-prozedurale Sprache. Somit ist es möglich, die Informationen aus der Enzyklopädie mit Informationen aus anderen Quellen zu mischen.
Diese Berichtsstrukturen können gespeichert und wieder verwendet werden.
Die Entwicklung von Informationssystemen wird meistens in verschiedene Phasen unterteilt. Innerhalb
dieser Phasen können dann verschiedene Techniken angewendet werden. Die Methodologie schreibt die
Schritte vor, die nacheinander ausgeführt werden müssen und welche Produkte daraus entstehen. Jede
Phase wird im Allgemeinen mit einem Bericht (Dokument) abgeschlossen.
Wenn ein CASE-Werkzeug eine Methodologie unterstützt, dann wird die Reihenfolge der auszuführenden Schritte und die einzusetzenden Produkte durch das CASE-Werkzeug bestimmt. Das CASE-Werkzeug leitet den Entwickler durch den Entwicklungsprozess. Meistens wird nur eine bestimmte Methodologie unterstützt, aber es gibt auch CASE-Werkzeuge, bei denen die Methodologie selbst definiert werden kann.
CASE Hardware-Plattformen
Die Funktionen der computerunterstützten Software-Entwicklung werden heute auf verschiedene Rechnerarchitekturen verteilt. In Abbildung 3-6 erfolgt eine Darstellung der möglichen Funktionsverteilung. Die Verteilung der Funktionen kann nach folgenden Ansätzen erfolgen:
- Unabhängigkeit von der Systemverfügbarkeit und den Antwortzeiten
- Bedienungskomfort (Windowing / Maus)
- Grafikfähigkeit
CASE FUNKTION
FUNKTIONEN
|
HOST
|
WORKSTATION
|
Erstellen, bearbeiten und ändern von Diagrammen
|
X
|
X
|
Masken— und Listen—Entwurf
|
X
|
X
|
Menu definieren
|
X
|
X
|
Prototyping, Simulationen
|
X
|
X
|
Überprüfung der Spezifikation
|
X
|
X
|
Generierung der Dokumentation
|
X
|
X
|
Code Generierung
|
X
|
X
|
Datenbank Generierung
|
X
|
X
|
Konsolidierung
|
X
|
X
|
Zusammenfassend werden die folgenden Anforderungen an eine CASE-Architektur gestellt:
- Multi-User-fähige Entwicklung
- zentrale Datenhaltung aller Ergebnisse
- Ideale Nutzung der bestehenden Computerressourcen
- Grafikoberfläche
Klassifikation nach Einsatz im SDLC
CASE im Software Development Life Cycle, Front-End, Upper Case, Back-End, Lower-CASE
Upper CASE-Tools, Frond-End CASE-Tools
Diese Produktklassen können in strategische Planungstools und in die mehr allgemeinen analytischen
Tools unterteilt werden.
Die strategischen Planungstools unterstützen die strategische lnformationsplanung bzw. Information Strategy Planning. Diese Tools umfassen eine Reihe von Matrizen zur Sammlung, Analyse und Gruppierung von Informationen. Diese Matrizen enthalten zum Beispiele folgende Objekttypen als Reihen- oder
Spaltentitel:
- Unternehmensziel
- Strategie
- operatives Ziel
- kritische Erfolgsfaktoren.
Die analytischen Tools unterstützen die Phasen Analyse und Design. Diese Werkzeuge unterstützen die Analyse der Problemstellung mit dem Ziel, eine klar strukturierte Beschreibung der Aufgabenstellung bzw. deren Lösung zu erhalten und in einer Form auf zu bewahren, die für den Sachbearbeiter der Fachabteilung ohne Programmierkenntnisse verständlich ist.
Lower CASE-Tools, Back-End CASE-Tools
Der Einsatz dieser Produkte beginnt dort, wo die Funktionen der zuvor beschriebenen enden. Sie konzentrieren sich auf die Produktivitätsgewinne in der Anwendungsgenerierung, weniger auf das Planen und Entwerfen von Systemen.
Sie stellen eine Computer Unterstützung für die Programmerstellung und -test (Realisierungs-Phase), sowie für Teile des DV-Konzepts (Design-Phase). Letzteres umfasst auf jeden Fall den Entwurf der Benutzeroberfläche, das sind die Masken, der Dialogablauf und die Benutzerführung. Durch Tools kann die Benutzeroberfläche im Prototypingverfahren - entwerfen, ausprobieren, korrigieren und so weiter - rentabel entwickelt werden.
5 Software-Verwaltung
Konfigurationsverwaltung
Die Aufgabe der Konfigurationsverwaltung ist ganz allgemein, die Konsistenz von Software-Systemen in ihrer komplexen Struktur und dynamische Veränderung während des gesamten Lebenszyklus zu gewährleisten. Im einzelnen ist es die Aufgabe des Konfigurationsmanagement sicherzustellen, dass
- alle Entwicklungstätigkeiten auf einer gesicherten Basis erfolgen,
- nur in sich konsistente Systeme erzeugt werden,
- mehrere Varianten einer Anwendung parallel existieren können,
- parallele Entwicklung verschiedener Systemteile möglich ist und die Ergebnisse wieder zusammengeführt werden können,
- Produktions- und Entwicklungsversion unterscheidbar sind,
- auf historische Zustände zurückgesetzt werden können,
- eingefrorene Versionen nicht modifiziert werden können,
- Änderungen nur von dafür autorisierten Personen vorgenommen werden können,
- Abhängigkeiten aufgezeigt werden, die bei Änderungen zu beachten sind,
- alle wichtigen Modifikationen protokolliert werden
- Beziehungen zwischen Änderungen und Versionen aufgezeigt werden.
Konfigurationsverwaltung (Software Configuration Management) wird durch einen IEEE-Standard folgendermassen definiert:
- Definition und Identifizierung der Bausteine einer Konfiguration
- Kontrolle der Freigabe und aller Änderungen der Konfigurationsbausteine während des gesamten Lebenszyklus.
- Protokollierung und Erstellung von Berichten zum Status der Konfigurationsbausteine und Änderungsanforderungen.
- Sicherstellung der Vollständigkeit und Korrektheit von Konfigurationsbausteinen.
Die drei Hauptpaspekte sind:
- Versions- und Variantenverwaltung,
- Änderungskontrolle, Baseline-Managerfleflt,
- Integration und Systemgenerierung
Retrofit-Tools
Je nach Studie wird geschätzt, dass ca. 60 - 80 % der Ressourcen der Informatikabteilungen von Arbeiten an bereits bestehenden Anwendungen verbraucht werden. Die Dokumentation hinkt immer mehr hinterher und die Wahrscheinlichkeit, dass sich mit jeder Änderung ein neuer Fehler einschleicht, steigt exponentiell an.
Viele Anwendungen wurden kodiert bevor die strukturierte Programmierung eingeführt wurde und sind teilweise schlecht strukturiert. Auch strukturierte Programme können sich durch vorgenommene Änderungen mit der Zeit zu Spaghetti-Codes entwickeln. Restrukturierungs-Werkzeuge entfernen unausgeführten Programmcode und strukturieren den Programmcode neu.
Das Überwinden des nächsten Schrittes, nämlich das analysieren und verbessern von Programmdatenstrukturen, ist schwerer. Die Problematik eine existierende Datenstruktur (z.B. Index-sequential-file) zu nehmen und diese mit einer anderen (relationalen) Speicherstruktur zu ersetzen.
Mit dem Begriff Retrofit-TooI werden alle Tools zusammengefasst, welche die Restrukturierung des existierenden Codes zur Verbesserung von Form und Ausführungseffizienz unterstützen.
James Martin hat diese Werkzeuge in drei Kategorien aufgeteilt:
Re-structuring
Diese Tools ermöglichen die Strukturierung von existierenden Programmcodes. Verbesserungen in der Programm-Datenstruktur oder der Programmdesign-Effizienz und -Genauigkeit werden nicht unterstützt. Kommerzielle Tools von heute gehören alle in diese Kategorie.
Reverse-engineering
Diese Tools beinhalten die Möglichkeit, die vom Code benutzten Programm-Daten-Strukturen zu verbessern und die Verarbeitungslogik an die neue Struktur anzupassen.
Diese Kategorie schliesst das Re-Design der Verarbeitungslogik zur Erfüllung einer effektiveren und effizienteren Form der Applikationsanforderungen aus.
Re-engineering
Diese Tools ermöglichen das Re-Design und die Optimierung von Datenstrukturen und Programmlogik.
CASE/IPSE-Evaluation
Die Evaluation und Einführung eines CASE-Werkzeuges wird in die folgenden Phasen unterteilt:
Projektauftrag
¯
Teambildung
¯
IST-AnaIyse
¯
Grobkonzept
¯
Evaluation
¯
Pilotprojekt
¯
Einführung
Auf Grund von Marktkenntnissen (Marktstudien, Seminare, Bücher und Tagungen) ist es möglich, eine Vorselektion der Produkte und Anbieter zu treffen.
Der nächste Schritt ist die Grobselektion der Produkte. Die MUSS-Kriterien des Anforderungskataloges müssen erfüllt sein. Die notwendigen Informationen können aus Herstellerunterlagen teilweise übernommen werden. Eine weitere Möglichkeit besteht darin, eine Stellungnahme vom Hersteller zum Pflichtenheft einzufordern.
Die nun verbleibenden Produkte müssen daraufhin überprüft werden, ob sie die Punkte des Anforderungskataloges erfüllen. Diese Phase der Selektion bezeichne ich als Feinselektion. Sie bedingt einen grösseren Aufwand. Die Erfüllung der Kriterien des Anforderungskatalogs kann mittels
- Besuch bei Anwendern
- Produktepräsentation vom Hersteller
- Testinstallation
überprüft werden.
Eine der wichtigsten Aufgaben des Evaluations-Teams ist die Zuordnung der Anforderungen in MUSS-oder KANN-Kriterien, bzw. die Gewichtung der einzelnen Anforderungen.
Eine mögliche Bewertungsart ist das Punktebewertungsverfahren oder die GewichtsfaktorenMethode des Anforderungskataloges.
Projektauftrag
Der Start des GASE-Evaluation-Projektes darf nur mit einem Projektauftrag erfolgen. Als Auftraggeber müssen die Verantwortlichen der Informatikabteilung (-en) auftreten.
Die Bereitschaft des Managements muss vorhanden sein, Vorleistungen zu erbringen und die Erwartungen über kurzfristige, zählbare Erträge zurückzuschrauben, denn der CASE-Einsatz kann nur mittelfristig wirtschaftlich gerechtfertigt werden.
Teambildung
Die CASE-Evaluation ist ein strategisches Projekt, denn die Anwendungsentwicklung erhält eine neue Form, die über Jahre hinweg gleich bleiben sollte. Aus diesem Grund dürfen an diesem Projekt nur motivierte und überzeugte Mitarbeiter mitwirken.
Zum institutionellen Projekt-Management gehören die Benennung eines Projektverantwortlichen, die Zuordnung von Mitarbeitern zum Projekt und die Festlegung von Personen und Gremien, die die Projektarbeit steuern und beeinflussen.
Dabei können verschiedene Formen der Einflussnahme und damit auch folgende Rollen unterschieden werden:
- Promotoren sind einflussreiche Personen, die helfen das Projekt voranzutreiben, bzw. die Marketing-Aufgaben im Hause übernehmen
- Entscheider sind die verantwortlichen Personen, die sich wichtige Weichenstellungen vorbehalten
- Berater sind interne oder externe Mitarbeiter, die ihre CASE/Methoden-Kenntnisse einbringen
Die Mitglieder des Projekt-Teams setzen sich idealerweise aus Vertretern der folgenden Bereiche zusammen:
- Datenmanagement
- Systemtechnik
- Methoden / Qualitätssicherung / EDV-Revision
- Applikationsentwicklung
- Analytiker
- Analytiker-Programmierer
- Ausbildung
Ist-Analyse
Mit der IST-Analyse wird die heutige Situation der Anwendungs-Entwicklung dokumentiert. Das Ziel dieser Phase ist das Erkennen der heutigen Stärken, Schwächen und Anforderungen in der Anwendungs-Entwicklung und seiner Umgebung.
Die IST-Analyse kann aus folgenden Teilbereichen bestehen:
- Strategische Richtlinien der Informatik
- Eingesetzte Software (HOST)
Betriebssystem, Editoren, Netzwerke, Programmiersprachen, Datenbanken, Datenkommunikation, Textverarbeitung, Grafiken, usw.
- Eingesetzte Infrastruktur (Hardware)
- Applikationsentwicklung
- Phasenkonzepte
- Normen, Richtlinien und Methoden
- Ausbildungskonzept
- Projekt-Management
- Beschreibung der Anwendungen
- Eigenentwicklung
- Fremdsoftware
- Profil der Software-Entwickler
Grobkonzept
CASE-Grundlagen
Ohne Ausbildung im Bereich GASE und Methoden ist eine Evaluation zum Scheitern verurteilt, deshalb
müssen alle Teammitglieder ohne entsprechende Vorkenntnisse zuerst ausgebildet werden bzw. die
Grundlagen erarbeitet werden.
Abgrenzungen
CASE-Werkzeuge sollten vor allem die operationelle Applikationsentwicklung unterstützten. Die Anforderungen der Bereiche
- Individuelle Datenverarbeitung
- wissensbasierter Systeme
- entscheidungsorientierte Systeme
- Büroautomation und Bürokommunikation
können nur teilweise unterstützt werden. Es empfiehlt sich daher, diese Bereiche bei der GASE-Evaluation nicht zu berücksichtigen.
Eine weitere Abgrenzung ist gegenüber der zu unterstützenden Hardware, Betriebssysteme, TPMonitoren, Netzwerke und Datenbanksysteme vorzunehmen.
Entwicklungsmethodik
In diesem Kapitel wird die zukünftige Entwicklungsmethodik beschrieben. Diese Kapitel besteht aus den
Punkten
- Projektmanagement
- Phasenmodelle / Vorgehensmodelle
- Methoden und Techniken
- Standards und Richtlinien
- Qualitätssicherung
Ein Methoden-Mix kann wie folgt aussehen:
- Entity Relationsship Diagram
- State Transition Diagram
- SA Diagram
- Structure Charts
- Masken- und Reportsystem
- Struktogramme
Anforderungen
Die Zielsetzung dieser Aktivität ist das zusammenstellen, strukturieren und gewichten der Anforderungen an eine CASE-Umgebung, sowie an die damit erzeugte Software bezüglich
- Methoden
- Technologien
- Benutzerschnittstellen
- Portabilitätsanforderungen.
Die Anforderungen werden mittels Workshop zusammengetragen aus den Dokumenten
- Projektauftrag
- Aufnahme IST-Zustand
- Methoden-Grundlagen.
Konsequenzen
In diesem Kapitel wird versucht, aufzuzeigen wie die Applikationsentwicklung von der Einführung von Methoden und Tools betroffen wird. Der Inhalt setzt sich grob zusammen aus den Aspekten
- Hardware-Beschaffung
- Software-Beschaffung
- Mitarbeiter
- Organisation
- offene Punkte
Realisierungsstrategie
In diesem Kapitel wird die Projektplanung behandelt.
Testprojekt
Für die Evaluation eines CASE-Tools ist es notwendig, mit einem kleinen Testprojekt die verschiedenen
Phasen eines Projektes mit CASE zu durchlaufen. Es wird ein Testprojekt definiert.
Schulungen
In diesem Kapitel wird grob das Schulungskonzept beschrieben.
Evaluation
Die notwendigen Marktkenntnisse für die Evaluation können mittels der folgenden Informationsquellen in Erfahrung gebracht werden:
- Zeitungsberichte
- 1515-Report
- Hardware- bzw. Softwarehersteller
- Seminare / Vorträge
- Erfahrungen anderer Firmen
- Fachbücher
Grobfilter
Zum heutigen Zeitpunkt werden ca. 250 Werkzeuge unter der Bezeichnung CASE auf dem Markt angeboten. Um aus dieser Vielfalt von Produkten eine Selektion vornehmen zu können, benötigt man einen Grobfilter.
Beispiel:
Ein Versicherungsunternehmen mit der Hardware (IBM 3090, PC AT, PS/2) und den Datenbanksystemen
(IMS/DB, DB2), Programmiersprachen (COBOL/DELTA, Assembler, CSP> und TP-Monitoren (150,
IMS/DC, CIOS) nimmt folgende Punkte als Vorfilter:
- zentrales Repository auf dem Host
- Workstation mit Betriebssystem DOS oder OS/2
- Unterstützung der Zielumgebung
Beispiel für einen Kriterienkatalog (Grobfilter)
Generelle Informationen - Name des Verkäufers
- Name des Produktes
- Datum der Erstinstallation
- Anzahl verkaufter Kopien
- Preis
Hardware - IBM PC und Kompatible
- Macintosh
- Digital Equipment Corp.
- Unisys
- Honeywell
Pilotprojekt
Die Ziele des Pilotprojektes sind
- die Erprobung der eventuell zum Einsatz gelangenden neuen Entwicklungsumgebung
- die Erprobung der Entwicklungsmethodik
- die Erprobung des Integrationskonzeptes
- die Erprobung des Schulungskonzeptes