Nun wollen wir kurz durch die Begriffe gehen,
die wir hier in Frage 5 genannt sehen, die sind doch etwas nahe beieinanderliegend.
Und manchmal muss man eine Diskussion, diese solche Begriffe auseinanderhalten.
Wir haben schon mit dem Begriff Soft-Erwartungen gestartet. Hier ist ja das Wesentliche,
dass wir nicht nur, dass es nicht nur darum geht,
das System zu reparatieren, zu reparieren,
zu korrect foles,
sondern auch Änderungen an Qualitätsmerkmalen wie hier Performance angegeben ist oder
andere Attribute
To adapt, a product to echanged environment.
Also Anpassung an eine neue Umgebung, an neue Anforderungen,
an neue Geschäftsprozesse, an neue organisationische Maßnahmen.
Alles das, After Delivery. Ja,
also das heißt, das, was man braucht,
um Software, nachdem sie fertiggestellt ist, zu bearbeiten.
So, der nächste Begriff, mit dir,
jetzt kommen mehr solche Begriffe mit Reh und ich möchte die darstellen,
zum einen mit dem Bildchen,
zum anderen mit verschiedenen
sehr etablierten Definitionen
Etabliert heißt auch, sie sind durchaus schon sehr alt.
Wir fangen mal an mit Reverse Engineering. Reverse Engineering ist das Gegenwart,
Gegenteil für ein Vorwort Engineering. Forward Engineering bezieht sich darauf,
dass man von Anforderungen einen Entwurf als Anforderungen einen Entwurf baut
und der Entwurf die Basis für Code ist.
Und das geht dann weiter zu Integration in Betriebnahme.
Reverse Engineering ist das Gegenteil davon. Ja,
also wenn wir haben den kurz zur Verfügung und wir versuchen rauszubekommen,
was ist denn für ein Design, welche Designentscheidungen,
welche Design Ideen stehen dahinter?
Oder wir haben einen Entwurf und wollen feststellen,
was für Antwortungen, zum Beispiel was für Geschäftsregeln
stehen dahinter
Dass in den Definitionen liegt das ein bisschen sehr akademisch,
Identifikationen von Systemkomponenten. Das heißt, mit ihren Beziehungen,
das heißt, ich versuche, Komponenten zu finden.
Das ist ja letztlich der Entwurf. Oder zum Erhöhen des Verständnisses,
in dieser zweiten Definition, ist vor allen Dingen das Ziel genannt.
Der nächste Begriff mit R ist das Re-Engineering. Re-Engineering,
also man müsste sozusagen hier eine Trennung durchführen, nochmal entwickeln.
Re für etwas nochmal zu machen. Und man möchte dabei
sehr ein System verbessern. Änderung des Systems,
um es in neuer Form zu implementieren, sagt diese Definition.
Und dabei ist impliziert, dabei ist dabei,
dass man Funktionalität nicht ändert. Ja, das ist ein
ganz wesentlicher Kern dieses Begriffs des strengen Begriffs von Re-Engineering.
So, es gibt aber häufig auch sowas in Kombination.
Also man macht das in der Erweiterung,
dass man schon versucht, funktionale Änderungen zu machen.
Das ist das, was der Auftraggeber im Rahmen der Wartung
ja eigentlich möchte
Aber vorher analysierte Restrukturiert man etwas. Wenn mich mal hier
unten in dem Bildchen das zusammenstelle, dann haben wir zum einen das Reengineering,
ist die Zusammenfassung von dem Vorwort Engineering und dem Reverse Engineering.
Eigentlich zuerst Reverse Engineering und dann, um zum Entwurf,
die Vorentwurfsideen zu finden, dann möchte ich den Entwurf irgendwie überarbeiten,
zum Beispiel bessere Verständlichkeit, bessere Schnitt der Komponenten,
besser strukturierte APIs, bessere Entkopplung.
Und dann baue ich da wieder einen Code draus.
Das Gleiche könnte auch umgekehrt sein. Ich versuche,
die Geschäftsregeln zu entdecken, suche das System vom Verhalten her so zu strukturieren,
wie ich es brauche und wie es besser ist.
Und dann entwickle ich einen Entwurf daraus,
der von dem alten Entwurf etwas abweicht und einen Code,
der vom alten Code etwas abweicht.
Soweit zu diesen Begriffen. Technik-Adept hatten wir schon.
Und das wären jetzt auch die Antworten auf diese Fragen,
die wir hier auf der Fragenfolie hatten.
Was ist Reverse Engineering? Jetzt kommen wir noch zu dem
Punkt Refactoring. Doch das ist der nächste Block