Was umfasst ein Software Re-Engineering?

Was umfasst ein Software Re-Engineering?
Thomas Klauser
Wie können wir Dich bei Deinem IT Projekt unterstützen?

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.

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.

Wie können wir Dich bei Deinem IT Projekt unterstützen?
Das könnte Sie interessieren

TESTEX im Interview: Erfolgreiche Partnerschaft

In diesem Interview gibt Carole Laimbacher uns einen Einblick in die erf...

Alexandra Mittmann

Alexandra Mittmann
Team Lead CSM

Künstliche Intelligenz - Hype oder Chance?

Die generative KI ist in aller Munde. Text- und Bildgeneratoren werden i...

Lirika Gojani

Lirika Gojani
Content Marketing Specialist

Softwareentwicklung Zürich

soxes beschäftigt über 50 Softwareentwickler sowie rund 40 Consultants...

Patrick Büchler

Patrick Büchler
CEO, Partner

KUBE-X: Die Zukunft der Individualsoftware

Damit verzichtbare Kosten, Zeitverlust und Risiken möglichst minimiert ...

Patrick Büchler

Patrick Büchler
CEO, Partner

Mit KUBE-X: Effizient entwickeltes Kreditorenmodul

Ein herausragendes Beispiel für effiziente individuelle Lösungen ist d...

Anastasia Schmuck

Anastasia Schmuck
Project Manager

Was macht ein KI-Entwickler?

Künstliche Intelligenz bzw. Artificial Intelligence ist eine zukunftswe...

Cédric Portmann

Cédric Portmann
Technical Program Manager

10 spannende Software Mythen aufgedeckt!

In der individuellen Softwareetnwicklung herrschen zahlreiche Mythen und...

Lirika Gojani

Lirika Gojani
Content Marketing Specialist

OYM: Innovative Lösungen, grosse Erfolge

Lars Habermacher, Athletiktrainer und Projektleiter bei der OYM AG gewä...

Lirika Gojani

Lirika Gojani
Content Marketing Specialist

Veraltete Unternehmenssoftware? Und jetzt?

Ist Ihre Unternehmenssoftware in die Jahre gekommen und verursacht mehr ...

Patrick Büchler

Patrick Büchler
CEO, Partner

Benötigen Sie ein Security Audit?

Haben Sie Ihre Softwarequalität schon einmal kritisch hinterfragt? Dies...

Robert Schmuck

Robert Schmuck
Head of Development

Wie viel kostet die Cloud?

Unsere Expertise und Erfahrung helfen dabei, die Auswirkungen und Chance...

Roland Amacher

Roland Amacher
Senior Technical Consultant

Wie sicher ist mein Unternehmen?

Warum ist Informationssicherheit in der heutigen Zeit so essenziell? Und...

Lirika Gojani

Lirika Gojani
Content Marketing Specialist

Native vs. Webapp

Native Apps werden für ein spezifisches Betriebssystem, wie Android (in...

Simon Preuss

Simon Preuss
Project Manager

«Hilfe, meine Software hängt!»

Die Wartung von Software bildet das Fundament für eine zuverlässige, s...

Alexandra Mittmann

Alexandra Mittmann
Team Lead CSM

Infrastructure as Code

Infrastructure as Code ist ein Konzept, das in den letzten Jahren immer ...

Cédric Portmann

Cédric Portmann
Technical Program Manager

Kontakt

Hast Du Fragen? Möchtest Du noch mehr über unsere Services erfahren?
Wir freuen uns auf Deine Anfrage.

Kontaktieren Sie uns