Definition

Computer-Aided Software Engineering (CASE)

Computer-Aided Software Engineering (CASE), zu Deutsch: rechnergestützte Softwareentwicklung, beschreibt eine breite Palette von arbeitssparenden Werkzeugen, die in der Softwareentwicklung eingesetzt werden.

Diese schaffen einen Rahmen für das Projektmanagement und sollen Anwendern helfen, organisiert zu bleiben und die Produktivität zu verbessern. Das Konzept der CASE-Tools hat in den vergangenen Jahren an Bedeutung verloren, da die Tools als verschiedene Funktionen in Entwicklungsprogramme integriert wurden, oft als Reaktion auf die Bedürfnisse der Softwareentwickler. Auch das Konzept von CASE stand in den letzten Jahren immer häufiger in der Kritik.

Merkmale der CASE-Tools

CASE-Tools, die manchmal auch als integrierte CASE- oder I-CASE-Tools bezeichnet werden, decken alle Aspekte des Entwicklungslebenszyklus ab, einschließlich der Erstellung des Codes, der Implementierung und Wartung. Die Tools helfen in allen Aspekten der Entwicklungsarbeit: Verwaltung, Modellierung, Fehlerprüfung, Versionskontrolle, Design, Diagrammerstellung, Prototyping und andere Aspekte im Zusammenhang mit der Softwareentwicklung. Compiler und Testwerkzeuge werden ebenfalls als Teil des CASE-Toolsets betrachtet.

Alle Teile des Softwareprojekts werden in einem CASE-Repository zentral gespeichert, welches ein integriertes System für Projektmanagementinformationen, Code-Spezifikationen, Testfälle und -ergebnisse, Designspezifikationen, Diagramme und Berichte bildet. Dieses Setup bietet Teams und Managern die Möglichkeit, den Überblick zu behalten, was erreicht wurde und was noch zu tun ist. Die Informationen werden oft grafisch dargestellt, so dass die Benutzer schnell finden, was sie benötigen, und sich einen schnellen Überblick über das Projekt verschaffen können.

Geschichte der CASE-Tools und Kritikpunkte

CASE-Software-Tools haben sich in den 1980er Jahren zu einer bedeutenden Produktkategorie entwickelt. Sie wurden als Reaktion auf die Notwendigkeit entwickelt, in großen Softwareentwicklungsprojekten Ordnung zu schaffen. Die Anbieter werben damit, dass CASE-Tools die IT-Produktivität verbessern und Fehler reduzieren.

Die US-Regierung, einer der größten Entwickler von kundenspezifischen Projekten, hat Millionen Dollar für CASE-Tools ausgegeben. Sie wurde allerdings später zu einem der größten Kritiker der Anbieter und deren Features. „Es gibt nur wenig Beweise dafür, dass CASE-Tools die Softwarequalität oder -produktivität verbessern“, schrieb das Government Accountability Office in einem Bericht von 1993 über den Einsatz von CASE-Tools durch das US-Verteidigungsministerium.

Etwa ein Jahrzehnt später, im Jahr 2002, stellte eine Forschungsarbeit auch Probleme mit CASE-Implementierungen fest. In dem Paper Empirical Study of Software Developers' Experiences (PDF) von Ahmed Seffah und Rex B. Kline, Informatiker an der Concordia University, wurde „eine konzeptionelle Lücke zwischen den Softwareentwicklern, die CASE-Tools entwickeln, und den Softwareentwicklern, die sie verwenden“ diagnostiziert.

Einsatz von CASE-Tools hat sich weiterentwickelt

CASE-Tools wurden entwickelt, um visuelle Programmierung, objektorientierte Programmierung und agile Softwareentwicklungsprozesse zu ermöglichen.

Tools, die in die Kategorie CASE passen, sind weit verbreitet. Doch der Überbegriff oder Ansatz hat nicht mehr die Relevanz, die er einmal bei der Beschreibung von Softwareentwicklungs-Tools hatte. Entwickler denken mittlerweile eher in bestimmten Tool-Kategorien, wie zum Beispiel visuelle Modellierungs- und Simulationssoftware, Systemarchitektur- und Diagramm-Tools wie Microsoft Visio.

Das Problem, das die CASE-Technologie zu beheben versuchte, bleibt bestehen. Das Beratungsunternehmen Standish Group hat in einer Datenanalyse festgestellt, dass große Softwareprojekte, wie zum Beispiel Implementierungen von Enterprise Resource Planning (ERP), die mehr als zehn Millionen Dollar kosten, mit einer Fehlerquote von 41 Prozent konfrontiert sind. Die Komplexität der Softwareentwicklung ist dabei eine ständige Herausforderung.

Diese Definition wurde zuletzt im Januar 2019 aktualisiert

Erfahren Sie mehr über Softwareentwicklung

ComputerWeekly.de
Close