Computer Aided Software Engineering (CASE) ist der Einsatz von computergestützten Werkzeugen und Methoden in der Softwareentwicklung. CASE wird eingesetzt, um eine qualitativ hochwertige und fehlerfreie Software zu gewährleisten. CASE gewährleistet ein kontrolliertes und diszipliniertes Vorgehen und hilft Designern, Entwicklern, Testern, Managern und anderen, die Projektmeilensteine während der Entwicklung zu erkennen.
CASE kann auch als Lager für projektbezogene Dokumente, wie Geschäftspläne, Anforderungen und Designspezifikationen, dienen. Einer der größten Vorteile des Einsatzes von CASE ist die Lieferung des Endprodukts, das mit größerer Wahrscheinlichkeit den realen Anforderungen entspricht, da sichergestellt wird, dass die Kunden in den Prozess einbezogen werden.
CASE veranschaulicht eine breite Palette von arbeitssparenden Werkzeugen, die in der Softwareentwicklung eingesetzt werden. Es schafft einen Rahmen für die Organisation von Projekten und ist hilfreich bei der Steigerung der Produktivität. Vor Jahren war das Interesse am Konzept der CASE-Tools größer, heute jedoch geringer, da sich die Tools in verschiedene Funktionen verwandelt haben, oft als Reaktion auf die Bedürfnisse der Softwareentwickler. Das Konzept von CASE wurde nach seiner Veröffentlichung auch stark kritisiert.
CASE-Tools:
Der Grundgedanke von CASE-Tools ist, dass eingebaute Programme bei der Analyse von Entwicklungssystemen helfen können, um die Qualität zu verbessern und bessere Ergebnisse zu erzielen. In den 1990er Jahren wurden CASE-Tools Teil des Software-Lexikons, und große Unternehmen wie IBM setzten diese Art von Werkzeugen ein, um die Softwareentwicklung zu unterstützen.
Viele verschiedene Werkzeuge sind in CASE integriert und werden als CASE-Tools bezeichnet, die zur Unterstützung verschiedener Phasen und Meilensteine im Lebenszyklus einer Softwareentwicklung eingesetzt werden.
Typen von CASE-Tools:
- Diagramming Tools:
Sie helfen bei der diagrammatischen und grafischen Darstellung der Daten und Systemprozesse. Es stellt Systemelemente, den Kontroll- und Datenfluss zwischen verschiedenen Softwarekomponenten und die Systemstruktur in einer bildlichen Form dar.
Zum Beispiel Flow Chart Maker, ein Werkzeug zur Erstellung von Flussdiagrammen auf dem neuesten Stand der Technik. - Computeranzeige- und Berichtsgeneratoren:
Sie helfen dabei, die Datenanforderungen und die damit verbundenen Beziehungen zu verstehen. - Analyse-Tools:
Sie konzentrieren sich auf inkonsistente, fehlerhafte Spezifikationen im Diagramm und im Datenfluss. Es hilft bei der Sammlung von Anforderungen, prüft automatisch auf Unregelmäßigkeiten, Ungenauigkeiten in den Diagrammen, Datenredundanzen oder fehlerhafte Auslassungen.
Zum Beispiel:- (i) Akzeptieren Sie 360, Accompa, CaseComplete für die Anforderungsanalyse.
- (ii) Visible Analyst für die Gesamtanalyse.
- Zentrales Repository:
Es bietet einen zentralen Speicherpunkt für Datendiagramme, Berichte und Dokumente im Zusammenhang mit dem Projektmanagement. - Dokumentationsgeneratoren:
Es hilft bei der Erstellung von Benutzer- und technischer Dokumentation gemäß den Standards. Es werden Dokumente für technische Benutzer und Endbenutzer erstellt.
Zum Beispiel, Doxygen, DrExplain, Adobe RoboHelp für die Dokumentation. - Code-Generatoren:
Sie helfen bei der automatischen Generierung von Code, einschließlich Definitionen, mit Hilfe der Entwürfe, Dokumente und Diagramme.
Vorteile des CASE-Ansatzes:
- Da ein besonderer Schwerpunkt auf das Redesign sowie das Testen gelegt wird, werden die Wartungskosten eines Produktes über die erwartete Lebensdauer erheblich reduziert.
- Die Gesamtqualität des Produkts wird verbessert, da während des Entwicklungsprozesses ein organisierter Ansatz verfolgt wird.
- Mit einem computergestützten Software-Engineering-Ansatz ist es wahrscheinlicher und einfacher, reale Anforderungen zu erfüllen.
- CASE verschafft einer Organisation indirekt einen Wettbewerbsvorteil, indem es dazu beiträgt, die Entwicklung qualitativ hochwertiger Produkte sicherzustellen.
Nachteile des CASE-Ansatzes:
- Kosten: Der Einsatz von Case-Tools ist sehr kostspielig. Meistens investieren Unternehmen, die Software in kleinem Maßstab entwickeln, nicht in CASE-Tools, weil sie glauben, dass der Nutzen von CASE nur bei der Entwicklung großer Systeme gerechtfertigt ist.
- Lernkurve: In den meisten Fällen kann die Produktivität der Programmierer in der Anfangsphase der Implementierung sinken, weil die Benutzer Zeit brauchen, um die Technologie zu erlernen. Viele Berater bieten Schulungen und Vor-Ort-Dienste an, die wichtig sein können, um die Lernkurve und die Entwicklung und Verwendung der CASE-Tools zu beschleunigen.
- Tool-Mix: Es ist wichtig, einen geeigneten Tool-Mix zusammenzustellen, um Kostenvorteile zu erzielen. Die CASE-Integration und die Datenintegration über alle Plattformen hinweg ist extrem wichtig.