CASE: Definition und Überblick
Eine der modernen Methoden zur Entwicklung von Softwaresystemen ist die CASE-Technologie (Computer-Aided Software Engineering). Das Hauptziel der CASE-Technologie besteht darin, den Softwareentwicklungsprozess vom Codierungsprozess und den nachfolgenden Entwicklungsphasen zu trennen und den Softwareentwicklungsprozess so weit wie möglich zu automatisieren.
CASE kann als ein Satz von computergestützten Entwurfsmethoden und Werkzeugen für die visuelle Modellierung der variablen Anwendungsumgebung, für die Analyse des erstellten Modells in allen Phasen der Entwicklung und Wartung von Informationssystemen und für die Entwicklung von Softwaresystemen in Übereinstimmung mit den Bedürfnissen der Endbenutzer definiert werden.
Die Entwicklung von Software, die auf einem definierten und standardisierten Vorgehen basiert, wird durch das Konzept der CASE-Tools unterstützt. Moderne Werkzeuge, die die Anwendung verschiedener Entwurfsmethoden ermöglichen, sind z.B. IBM Rational Rose, Borland Together ControlCenter, Microsoft Visio, Enterprise Architect, Sybase PowerDesigner, Online-Dienste usw.
Arten der CASE-Tools
SA-Tools (Structured Analysis Tools) ermöglichen die Funktionsanalyse durch Modellierung der Kommunikation in einem System mit Hilfe von Informationsflussdiagrammen. In der weiteren hierarchischen Zerlegung des Systems werden der Informationsbedarf und die Kommunikation zwischen den Funktionen mit Hilfe des Datenflusses, des Ereignisflusses und des Materialflusses modelliert.
Mit SD-Tools (Structured Design Tool) erfolgt die hierarchische Zerlegung der geplanten Software in Modulstrukturen. Dabei können Modultypen unterschieden und die jeweiligen Schnittstellen beschrieben werden. Die Entwicklung erfolgt weitgehend durch Ableitung aus den Modellierungen in den Informationsflussdiagrammen.
Für die konzeptionelle Modellierung des ermittelten Datenbedarfs der Funktionen werden ERM-Tools (Entity-Relationship-Modeling-Tool) eingesetzt. Entitäten, Beziehungen, Attribute, Datenelemente, Formate usw. werden im Informationsmodell beschrieben. Die Datenbankmodellierung kann auch mit einem ERM-Tool unter Berücksichtigung der spezifischen Eigenschaften eines Ziel-Datenbanksystems durchgeführt werden.
In einem UML-Tool (Unified Modeling Language) werden Geschäftsprozesse und Anforderungen, statische und dynamische Strukturen des IV-Systems sowie Design- und Implementierungsergebnisse strukturiert und beschrieben – über die Diagrammtypen:
- Anwendungsfall-Diagramm,
- Aktivitätsdiagramm,
- Klassendiagramm,
- Sequenzdiagramm,
- Kollaborationsdiagramm,
- Zustandsdiagramm,
- Komponentendiagramm,
- Deployment-Diagramm und
- Paketdiagramm.
Bei MDA-Werkzeugen (Model Driven Architecture) liegt der Schwerpunkt auf der Generierung von einer Modellform in eine andere, z.B. von einem plattformunabhängigen Modell (evtl. Domänenmodell) in ein plattformspezifisches Modell bzw. aus diesem in ausführbaren Code.
Vorteile von CASE
Im Allgemeinen hängt die Wahl eines CASE-Tools von dem Entwicklungsteam ab, das das Problem des Entwurfs und der Entwicklung eines bestimmten Informationssystems löst. Einige sind anerkannte Marktführer im Bereich ähnlicher Modellierungssoftware, während andere gerade erst beginnen, sich bei den Anwendern einen Namen zu machen. Einige sind kommerzielle Produkte, andere sind frei und quelloffen.
Der Einsatz von CASE-Tools trägt dazu bei, potenzielle Fehler in den verschiedenen Phasen des Softwareentwicklungslebenszyklus zu reduzieren. CASE-Tools sind speziell dafür entwickelt worden, die Effizienz, Qualität und Produktivität in der Softwareentwicklung zu verbessern.
Zugleich kann es Entwicklungskosten sparen, da sich in der Regel die Entwicklungsdauer verkürzt. Die Nutzung der CASE Tools verringert meist sogar die Wartungskosten durch die Qualitätsverbesserungen. Durch diese Tools kann eine höhere Qualität und eine einheitliche und vollständige Dokumentation gewährleistet werden.