Inhaltsverzeichnis
Abbildungsverzeichnis I
1 Einleitung
1.1 Überblick 4
1.2 Zielsetzung des Reengineering 4
1.3 Aufbau der Arbeit 4
2 Grundlagen des Reengineering
2.1 Begriffsdefinitionen 5
2.2 Die technologische Lücke im Software Lebenszyklus 6
2.3 Reengineering Modelle 8
2.4 Argumente für ein Reengineering 10
2.5 Problemerkennung und Analyse 11
2.6 Restrukturierung 12
2.7 Reverse Engineering 13
2.8 CARE Werkzeuge und Einsatzmöglichkeiten 15
16
3 Offene Probleme und Fazit
Literaturverzeichnis
2
Abbildungsverzeichnis
Abbildung 1 Begriffliche Einordnungen in das Gebiet des Reengineerings 5
Abbildung 2 Software Lebenszyklus Modell 6
Abbildung 3 Technologische Lücke im Software Lebenszyklus 7
Abbildung 4 Allgemeines Modell des Reengineerings nach Chykovsky und Cross 8
Abbildung 5 Reverse Engineering und verwandte Prozesse 8
Abbildung 6 Der Reengineering Lebenszyklus 9
Abbildung 7 Vorgehensweisen zur Restrukturierung 12
Abbildung 8 Forward und Reverse Engineering 13
Abbildung 9 Vorgehensweisen beim Reverse Engineering 14
Abbildung 10 Architektur von CARE Werkzeugen 15
1 Einleitung
1.1 Überblick
Für viele der heute eingesetzten Softwaresysteme besteht aufgrund ihrer schlechten Wartbarkeit oder zwischenzeitlich veränderter Anforderungen der Bedarf einer Ablösung. Softwaresysteme altern, sie müssen durch neue ersetzt werden.
Als Alternative zur vollständigen Neuentwicklung eines Softwaresystems bietet sich das Software Reengineering an. Ein bestehendes Softwaresystem wird im Zuge eines Reverse Engineering analysiert und dokumentiert, danach restrukturiert und in einer abschließenden Phase des Forward Engineering neu implementiert [KAUFM94, S.1].
Das neu entstehende Systeme kann ein 1:1-Abbild des bestehenden Systems sein oder einzelne gezielte Erweiterungen der fachlichen Funktionalität aufweisen. Abhängig vom Umfang der Änderungen und Erweiterungen in der Anforderungsspezifikation, der Entwurfsspezifikation oder der Implementierung ergibt sich der jeweilige Lösungsraum für ein neu zu erstellendes Softwaresystem.
Im Zuge des Software Reengineering sind vielfältige Probleme zu lösen. So hängt z. B. der Erfolg der (Re-) Dokumentation eines Softwaresystems stark von der Qualität und dem Umfang der vorhandenen Dokumentation ab. Insbesondere sehr alte Softwaresysteme weisen hier erhebliche Defizite auf. Bei der Ablösung der bestehenden Softwaresysteme bestehen hohe Risiken. Abhängig vom Risiko und dem möglichen Einführungsaufwand sind hier geeignete Strategien für die Ablösung eines Softwaresystems zu definieren und umzusetzen [BISKR92, S.125].
Jedes neu erstellte Softwaresystem wird früher oder später zu einem Altsystem. Vor diesem Hintergrund bietet es sich an, Alterungsprozesse bereits bei der Neuerstellung eines Softwaresystems zu berücksichtigen, um die Wartung und ein ggf. später durchzuführendes Software Reengineering zu vereinfachen. Dadurch könnten die Kosten, die im Lebenszyklus eines Softwaresystems entstehen, nachhaltig reduziert werden.
1.2 Zielsetzung des Reengineering
Ausgehend von der genannten Problemstellung ist das Ziel des Reengineering in seiner weitesten Definition die Untersuchung, Analyse und Veränderung eines Systems, um es in neuer Form und / oder Umgebung wieder zu implementieren. Dies beinhaltet [BISKR92, S.125]:
• Die Darstellung des Systems auf höherer Abstraktionsebene
• Die technische Optimierung auf gleicher Stufe
• Die Beschreibung der Komponenten und deren Beziehungen
• Einen erneuten Entwicklungsprozess
1.3 Aufbau der Arbeit
Nach einem in Kapitel 1 kurz gehaltenen Einstieg in die Materie des Software Reengineerings, bildet Kapitel 2 die Grundbegriffe, Techniken und Verfahrensweisen ab. Hierbei geht es vornehmlich um die Fragen: Wie können die in der Praxis
- 4 -
auftretenden Wartungsprobleme mit Hilfe des Reengineerings gelöst werden und wann ist ein Reengineering überhaupt möglich und sinnvoll? In Kapitel 2.8 wird eine Auswahl heutiger Unterstützungstools für das Reengineering (CARE) beschrieben. Zum Abschluss geht Kapitel 3 auf die noch bestehenden Probleme ein und bildet ein Fazit für die Anwendung des Reengineering.
2 Grundlagen des Reengineering
2.1 Begriffsdefinitionen
Das Reengineering lässt sich in das Reverse Engineering, die Restrukturierung und das Forward Engineering unterteilen. Die Redokumentation kann hierbei neben dem Design Recovery als Teilbereich des Reverse Engineering angesehen werden.
Abb. 1: Begriffliche Einordnungen in das Gebiet des Reengineerings, [CHCR90]
Da es im Gebiet des Software Reengineering sehr unterschiedliche Auffassungen von ein und demselben Begriff gibt, sollen im folgenden die Begriffe definiert werden.
Reengineering
„Ziel des Reengineering ist es, Wirksamkeit und Wirtschaftlichkeit einer bestehenden Informationsinfrastruktur durch den Einsatz qualitativ besserer Konzepte und Technologien zu erhöhen“ [REINDL91, S. 282]. Es wird nicht nur versucht, bestehende in verbesserte physische Anwendungssysteme zu überführen, sondern auch konzeptuelle Modelle aus vorhandenen Realisierungen abzuleiten. Reengineering umfasst sowohl die Beseitigung noch vorhandener Fehler in frühen Betriebsphasen, sowie auch die nachträgliche Anpassung an erweiterte oder geänderte funktionale und qualitative Anforderungen [REINDL91, S. 283].
Reverse – Engineering
Als Reverse – Engineering wird der Prozess der Analyse eines installierten Systems bezeichnet, der das Ziel hat, die Grundlagen für den Entwurf dieses Systems wiederzubeschaffen [HERO92]. Dies geschieht üblicherweise auf Basis vorhandener Quellcodes. Die so ermittelten Kontroll- und Datenstrukturinformationen werden in einem Repositorium abgelegt, einem Datenkatalog – System, das die spätere Wiederverwendung einzelner Komponenten ermöglicht [RICH92].
Restrukturierung
Von Restrukturierung spricht man, wenn qualitätsverbessernde Maßnahmen hinsichtlich der Systemstruktur ohne Berührung der bestehenden Funktionalität der Software oder einer Anpassung an neue Basistechnologien im Vordergrund stehen
- 5 -
Arbeit zitieren:
Aron Koch, 2003, Software Reengineering, München, GRIN Verlag GmbH
Dieser Text kann über folgende URL aufgerufen und zitiert werden:
Einbetten
DOI
Review eines Software-Reengineering-Projektes
Informatik - Wirtschaftsinformatik
Bachelorarbeit, 84 Seiten
Bilanzierung und Bewertung von Goodwill nach HGB, IAS und US-GAAP
BWL - Rechnungswesen, Bilanzierung, Steuern
Hausarbeit, 30 Seiten
Server-Virtualisierung und Konsolidierung im Rechenzentrumsbetrieb unt...
Dargestellt am Beispiel des pr...
Informatik - Angewandte Informatik
Diplomarbeit, 109 Seiten
Effektives Innovationsmanagement - Überleben in der Rezession
BWL - Unternehmensführung, Management, Organisation
Fachbuch, 22 Seiten
Business Process Reengineering - Eine kritische Analyse
BWL - Personal und Organisation
Hausarbeit, 21 Seiten
Grundlagen der Business Process Reengineering
Ingenieurwissenschaften - Wirtschaftsingenieurwesen
Seminararbeit, 14 Seiten
Geschäftsprozessmanagement und Total Quality Management in heterogenen...
BWL - Unternehmensführung, Management, Organisation
Seminararbeit, 28 Seiten
Business Process Reengineering - Definition, Konzept und Ablauf des Bu...
BWL - Unternehmensführung, Management, Organisation
Hausarbeit, 27 Seiten
Supply Chain Event Management (SCEM) in überbetrieblichen Prozessen
Informationswissenschaften, Informationsmanagement
Diplomarbeit, 52 Seiten
Die deutsch-polnischen Beziehungen 1933 bis 1939
Geschichte Europa - Deutschland - Nationalsozialismus, II. Weltkrieg
Seminararbeit, 17 Seiten
Aron Koch hat den Text Software Reengineering veröffentlicht
Aron Koch hat einen neuen Text hochgeladen
Managing the Change Process: A Field Book for Change Agents, Team Lead...
David K. Carr, Davud K. Carr, David Carr
Software Product Management and Pricing
Key Success Factors for Softwa...
Peter N. Clough, Hans-Bernd Kittlaus
Nachhaltiger Erfolgsfaktor bei...
Hans-Bernd Kittlaus, Christoph Rau, Jürgen Schulz
Scrum in Action: Agile Software Project Management and Development
Andrew Pham, Phuong-Van Pham
Advances in Software Maintenance Management: Technologies and Solution...
Macario Polo, Mario Piattini, Francisco Ruiz
Real World Software Configuration Management
Sean Kenefick, David Birmingham, Michele Leroux Bustamante
0 Kommentare