Es gibt vier grosse Einsatzgebiete eines Re-Engineerings. Dazu zählt beispielsweise die Übersetzung des Quellcodes, veraltete Programmiersprachen werden durch moderne Alternativen ersetzt oder auf eine aktuelle Version aktualisiert. Die Struktur des Systems wird jedoch nicht angetastet und bleibt bestehen.
Was umfasst ein Software Re-Engineering?
Die vier grossen Einsatzgebiete eines Re-Engineerings:
- Übersetzung des Quellcodes: Veraltete Programmiersprachen werden durch moderne Alternativen ersetzt oder auf eine aktuelle Version aktualisiert. Die Struktur des Systems wird jedoch nicht angetastet und bleibt bestehen. Ein Grund für die Aktualisierung auf moderne Sprachen ist die kostspielige Pflege von Compilern für alte Sprachen. Wenn Sprachen nicht weiter unterstützt werden müssen die Technologien selbstständig betreut werden, was ein aufwändiges Unterfangen ist.
- Überarbeitung der Architektur: Schlecht konzipierte Architekturen sind sehr anfällig für Fehler, die bei der Überarbeitung des Codes passieren können. Es ist möglich, dass die Qualität der Applikation bei jeder Überarbeitung abnimmt, da Fehler übernommen und schlimmstenfalls verschlimmert werden. Durch unübersichtliche Architekturen wird oftmals die Wartung erschwert, was in mangelhafter Betreuung enden kann. In dieser Situation ist ein Re-Engineering ein sinnvoller Schritt, um die Applikation wieder wettbewerbsfähig zu machen.
- Verbesserung der Struktur: Nicht selten wird bei Anwendersoftware vorschnell eine neue Funktion hinzugefügt, ohne die zugrundeliegende Logik anzupassen. Bei solchen «Add-Ons» können fatale Lücken in der Applikation entstehen, sodass im schlimmsten Fall Memory Leaks oder Datenverluste passieren. An diesem Punkt ist ein Re-Engineering der betroffenen Strukturen die einzige Möglichkeit die Software zu retten.
- Daten-Re-Engineering: Ein Software Re-Engineering hat im Normalfall keinen Einfluss auf die verarbeiteten Daten, weshalb diese unangetastet bleiben können. Ein Re-Engineering der Datenstruktur ist aber trotzdem möglich. Die Überarbeitung von Datenmodellen kann sinnvoll sein, um die Leistung des Gesamtsystems nicht zu beeinträchtigen. Denn mit der Zeit können sich die Anforderungen an Daten ändern und müssen dementsprechend angepasst werden.
Die drei Ansätze für ein Daten Re-Engineering:
- Clean Up: Alle Daten werden gründlich auf ihre Richtigkeit geprüft. Redundanz wird beseitigt und alle Datensätze werden in ein homogenes Format gebracht, um die Qualität und zu erhöhen.
- Extention: Die Einheiten des Datenmodells werden entweder angepasst oder neue Einheiten werden hinzugefügt, um mehr Informationen aufnehmen zu können. Die Daten werden wie beim Clean Up ebenfalls bereinigt und an das neue Format angepasst.
- Migration: Alle vorhandenen Datensätze werden in eine vorhandene Datenbank oder neu aufgesetzte Datenbank migriert. Gründe dafür können Faktoren wie Leistungsfähigkeit oder Kompatibilität des Datenbankmanagementsystems sein. Je nach Projekt hängt die Migration auch mit einem Re-Engineering der gesamten Applikation zusammen, weshalb die Daten in die neue Umgebung migriert werden müssen. Migrationen zielen schlussendlich auf die Verbesserung der Kommunikation zwischen dem System und der Datenbank ab, was dem Endnutzer ein besseres Benutzererlebnis ermöglicht.
Im Fokus eines Re-Engineerings steht die Optimierung der Systemstruktur und die Erhöhung der Usability der Applikation für den Endnutzer. Durch die Verbesserung der Architektur und Grundstrukturen kann unter anderem auch eine Senkung des Wartungsaufwands und damit einhergehende Kosten erreicht werden.
Beim Re-Engineering der Datensätze soll wieder die Wertigkeit der vorhandenen Informationen erhöht werden, um einerseits der Applikation die richtigen Daten zu liefern und andererseits die gewünschten Datenmodelle abbilden zu können.
Je nach Applikation und Zielsetzung variiert der Aufwand für ein Re-Engineering. Es sollte immer abgewägt werden, welche Schritte notwendig sind, um ein System wieder fit zu machen.
Hast Du Fragen? Möchtest Du noch mehr über unsere Services erfahren?
Wir freuen uns auf Deine Anfrage.
Sofia Steninger
Solution Sales Manager