Bei cloudtec setzen wir auf Reverse und Forward Engineering

Plattform-Entwicklung mit Reverse und Forward Engineering – wie cloudtec damit umgeht

In der Plattform-Entwicklung gibt es alles. Greenfield Projekte, die von Grund auf aufgebaut und durchdacht werden können, wie auch Erneuerung von bestehender Software auf einer neuen Technologie Basis. Dann gibt es noch die Mischform, die Ablösung einer bestehenden Software mit zeitgleicher Umsetzung von Verbesserungen. Bei all diesen Projektformen kommen unterschiedliche Engineering-Ansätze zum Zuge. Wir erklären, was Reverse und Forward Engineering sind und wie wir damit in unseren Projekten umgehen.

Was ist Reverse Engineering in der Plattform-Entwicklung?

Bei der Plattform-Entwicklung mit Reverse Engineering wird ein bestehendes System analysiert mit dem Ziel, dieses zu verstehen. Dabei wird die Software auf Design, Struktur und Verhalten untersucht. Während dieses Prozesses kann es vorkommen, dass der bestehende Code mit Dekompilierer, Disassembler und Code-Analysatoren untersucht wird. Das Endprodukt beim Einsatz von Reverse Engineering kann unterschiedlich sein, beispielsweise:

  • Eine Dokumentation eines bestehenden Softwaresystems, wie z. B. ein UML-Diagramm, ein Flussdiagramm oder eine Softwarespezifikation.
  • Ein neu entwickeltes Software System auf Basis einer neuen Technologie mit den gleichen Anforderungen wie das alte System.

Reverse Engineering kann zudem für diverse andere Zwecke eingesetzt werden, bspw. für:

  • die Suche von Softwarefehlern
  • die Prüfung der Qualität von bestehender Software
  • die Einschätzung der Kompatibilität mit anderer Software

Was ist Forward Engineering in der Plattform-Entwicklung?

Beim Forward Engineering wird eine neue Software von Grund auf erstellt. Dabei wird das System auf Basis von meist High-Level Anforderungen und Spezifikationen designt und umgesetzt. Diese Anforderungen müssen vor der Umsetzung detailliert und die Zusammenhänge sowie Komplexitäten dargestellt werden. Spezialfälle und -regeln werden definiert und bei der weiteren Umsetzung berücksichtigt. Forward Engineering befasst sich also eigentlich mit der Umsetzung und Übersetzung von Geschäftsprozessen, Diensten und Funktionen in Anwendungen. Dabei wird neuer Code generiert und kein bestehender Code analysiert. Das Endprodukt von Forward Engineering ist ein funktionierendes, zuvor nicht dagewesenes Software-System.

Forward Engineering ist sehr beliebt, wenn ein neues System aufgebaut werden soll, das es noch nicht gibt. Durch die grüne Wiese können Ideen schnell in einem Prototypen umgesetzt und getestet werden. Jedoch kann es länger dauern als beim Reverse Engineering, bis die wirklichen Anforderungen und Rahmenbedingungen bekannt sind.

Wie gehen wir bei cloudtec in unseren Projekten vor?

Auch wir bei cloudtec haben im täglichen Projektgeschäft mit den zwei vorgestellten, doch sehr unterschiedlichen Ansätzen, zu tun. So kann es auch vorkommen, dass wir Forward und Reverse Engineering kombiniert anwenden. Meistens versuchen wir aber beim Einsatz von Reverse Engineering im gleichen Schritt Verbesserungen und Erweiterungen zu implementieren, damit technische Schulden nicht mitgenommen werden. Zudem führen wir bei Projekten immer Workshops durch, um die Prozesse unserer Kunden im Detail kennenzulernen. So können wir unsere fachliche Expertise einbringen und entscheiden, wo es sinnvoll ist, die Prozesse zu digitalisieren und in ein System auszulagern.

Beim Projekt mit den Schweizer Wanderwege, welches im April 2023 veröffentlicht wurde, konnten wir sowohl Reverse als auch Forward Engineering verwenden. Hierbei wurde das alte CMS analysiert und die Funktionsweisen zur Erfassung der Wanderungen untersucht und nachgebaut. Dieser Teil des Systems soll auf Grund von Abhängigkeiten zu Drittparteien erst 2024 abgelöst werden. Anhand dieser Analyse konnte die Funktion im neuen System auf- und ausgebaut werden. Ebenfalls bei der Content Erfassung wurden die Funktionen vom alten System betrachtet und durch eine neue Funktionsweise ausgetauscht und massiv verbessert bzw. ausgebaut. Andere Funktionen wie etwa die Zuordnung von Tags zu Content Seiten oder die Verwaltung von Medien wurden von Grund auf neu und ohne vorherige Analyse implementiert. Weitere Details zum Projekt können Sie hier nachlesen.

Aktuell arbeiten wir an einem technologischen Update der E-Health Plattform der OPAN CARE AG. Unser Ziel ist es, nicht nur die technische Infrastruktur zu modernisieren, sondern auch das Dienstleistungsangebot der Plattform durch neue Funktionen und Module zu erweitern. Ein zentrales Element dieses Projekts ist das Reverse Engineering bestehender Systemkomponenten. Dies ist besonders herausfordernd, da das System derzeit aktiv genutzt wird und zahlreiche existierende Schnittstellen-Integrationen berücksichtigt werden müssen. Um einen reibungslosen Übergang zu gewährleisten, entwickeln wir einen Legacy-Connector. Dieser wird als Brücke zwischen der alten und der neuen API fungieren, indem er die alten API-Aufrufe auf die neue API abbildet und somit die Funktionalität der alten API “simuliert”. Dadurch erhalten unsere Integrationspartner ausreichend Zeit, ihre Systeme auf die neue API umzustellen und von den erweiterten Funktionen zu profitieren. Auf funktioneller Ebene legen wir grossen Wert darauf, dass die Benutzer des bestehenden Systems keinen Funktionsverlust erleben. Gleichzeitig streben wir danach, spannende Neuerungen zu implementieren, die das Nutzererlebnis verbessern und die Effizienz der Plattform steigern. Unser Ansatz des Reverse Engineerings spielt eine entscheidende Rolle dabei, die Balance zwischen Bewahrung bewährter Funktionen und der Einführung innovativer Features zu halten.

Mit Sanitized durften wir ein System von Grund auf neu bauen und ihre Prozesse neu denken. So mussten zu Beginn die Geschäftsprozesse analysiert und kritisch hinterfragt werden. Aufgrund der daraus resultierenden Anforderungen, welche in einer Story Map dargestellt wurden, konnten Prototypen erstellt und schlussendlich die Plattform mit allen dazugehörigen Business Rules und Funktionen umgesetzt werden. Mehr Informationen zum Projekt finden Sie in der zugehörigen Referenz.

Requirement_Engineering
Requirements Engineering und Story Mapping in der Plattform-Entwicklung

Im Projekt zur Modernisierung und Digitalisierung der Vereinsplattform von Rotary Schweiz, Frankreich, Belgien und Luxemburg konnten beide Engineering Ansätze angewendet werden. Die bestehende Vereinssoftware aus dem Jahre 2012 wurde unter Einsatz von Reverse Engineering komplett abgelöst. Durch Analyse der vorhandenen Features und deren Implementierung konnten viele der kleinen Business Rules abgeleitet werden. Bei der Erneuerung der Plattform wurde eine modulare und ausbaufähige Technologie eingesetzt, welche es erlaubt, die Plattform sukzessive weiter auszubauen und langfristig zu betreiben.

Sind Sie bereit für Ihre eigene massgeschneiderte Online-Plattform?

Haben Sie Interesse an einer neuen Online-Plattform oder möchten eine bestehende Online-Plattform neu entwickeln? Wir können sowohl Forward wie auch Reverse Engineering und unterstützen Sie gerne bei Ihrem Vorhaben. Wir freuen uns, gemeinsam Ihre Geschäftsprozesse zu analysieren und diese in ein funktionierendes System zu übersetzen. Nutzen Sie unser Kontaktformular und erläutern Sie uns Ihr Projekt. Wir entwerfen auf Basis unserer Software und Vorgehens eine flexible Lösung für Sie.