Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

1 Vortrag 11: Reengineering - Refactoring Referenten: Christian Ecke, Joscha Menzel Univ.-Prof. em. Dr. H.-J. Hoffmann TU Darmstadt, Fachbereich Informatik.

Ähnliche Präsentationen


Präsentation zum Thema: "1 Vortrag 11: Reengineering - Refactoring Referenten: Christian Ecke, Joscha Menzel Univ.-Prof. em. Dr. H.-J. Hoffmann TU Darmstadt, Fachbereich Informatik."—  Präsentation transkript:

1 1 Vortrag 11: Reengineering - Refactoring Referenten: Christian Ecke, Joscha Menzel Univ.-Prof. em. Dr. H.-J. Hoffmann TU Darmstadt, Fachbereich Informatik

2 2 Zum Inhalt Einleitung Was ist Reengineering? Forward Engineering Reverse Engineering Reengineering Einordnung in den Lebenszyklus von Software Wann ist Reengineering sinnvoll? Ziele Voraussetzungen

3 3 Einleitung Das erste Gesetz von Lehman Software, welche in einer realen Umgebung benutzt wird, muss verändert werden oder sie wird nach und nach unbrauchbar. Das zweite Gesetz von Lehman Bei der Weiterentwicklung einer Software wird deren Struktur immer komplexer, falls keine Maßnahmen ergriffen werden um dies zu vermeiden. Die Weiterentwicklung und Wartung von Software ist von entscheidender Bedeutung!

4 4 Was ist Reengineering? Forward Engineering Traditioneller Prozess der Entwicklung von einem hohen Abstraktionsniveau zu der fertigen Implementierung der Software Reverse Engineering Analyse einer vorhandenen Software um: Die einzelnen Komponenten und ihre Beziehungen festzustellen Neue Repräsentationen der Software auf höherem Abstraktionsniveau zu erstellen Der Startpunkt dieses Prozesses muss nicht die fertige Software sein Die Software selbst wird nicht verändert

5 5 Was ist Reengineering? Definition Unter Reengineering versteht man die Analyse und Modifizierung einer bestehenden Software mit dem Ziel diese zu erneuern und zu verbessern. Benutzte Verfahren Reverse Engineering (um eine abstraktere Beschreibung zu erhalten) Forward Engineering Refactoring

6 6 Einordnung in den Lebenszyklus

7 7 Wann ist Re-Engineering sinnvoll? Generell bei Wartung/Aktualisierung von großen Softwareprojekten Die Entwickler der Software sind nicht erreichbar, um Funktionalität zu erklären Hier ist besonders Software zu nennen, welche sich regelmäßig ändert Die Geschäftsmodelle vieler Unternehmen sind heute in Software implementiert (z.B.: Datenbanksysteme, etc.) Diese Modelle ändern sich in bestimmten Zeitintervallen und somit auch die Software

8 8 Ziele des Re-Engineering Anpassung des Systems an neue Anforderungen, welche zuvor nicht erfüllt waren Ein besseres Verständnis der Software erlangen, um einerseits die Wartung als auch andererseits die Weiterentwicklung zu vereinfachen Leichterer Umgang mit hoch komplexer Software Risiken der Softwareentwicklung verringern Senken von hohen Wartungs- und Entwicklungskosten (normalerweise 50-90% der Gesamtkosten)

9 9 Anforderungen für Re-Engineering Hilfe von Tools ist unverzichtbar Um abstraktere Beschreibungen einer Software zu erhalten (Disassembler, Recompiler, etc.) Um Refactoring durchzuführen Gut ausgebildetes Personal Einsatz von Regressionstests, um evtl. neu entstandene Fehler zu finden


Herunterladen ppt "1 Vortrag 11: Reengineering - Refactoring Referenten: Christian Ecke, Joscha Menzel Univ.-Prof. em. Dr. H.-J. Hoffmann TU Darmstadt, Fachbereich Informatik."

Ähnliche Präsentationen


Google-Anzeigen