Презентация загружается. Пожалуйста, подождите

Презентация загружается. Пожалуйста, подождите

Vortrag 11: Reengineering - Refactoring

Similar presentations


Presentation on theme: "Vortrag 11: Reengineering - Refactoring"— Presentation transcript:

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

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 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 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 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 Einordnung in den Lebenszyklus

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 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 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


Download ppt "Vortrag 11: Reengineering - Refactoring"

Similar presentations


Ads by Google