Unterschied zwischen Forward Engineering und Reverse Engineering

Autor: Laura McKinney
Erstelldatum: 2 April 2021
Aktualisierungsdatum: 26 April 2024
Anonim
reverse engineering |  software engineering |
Video: reverse engineering | software engineering |

Inhalt


Forward Engineering und Reverse Engineering sind Teil des Re-Engineering-Prozesses und eng miteinander verbunden. Der entscheidende Unterschied zwischen dem Forward Engineering und dem Reverse Engineering besteht darin, dass das Forward Engineering die Änderung des Subjektsystems während der Umstrukturierung verwendet. Umgekehrt besteht das Reverse Engineering ausschließlich darin, das System zu untersuchen, um sein abstrakteres Design zu erhalten.

Software-Re-Engineering ist nichts anderes als die Neuimplementierung des Altsystems, um mehr Nachhaltigkeit zu erreichen. Die Entwicklung des Systems erfordert die Anpassung des vorhandenen Systems, das geändert werden muss, damit das System durch Implementierung der Änderungen geändert werden kann.

    1. Vergleichstabelle
    2. Definition
    3. Hauptunterschiede
    4. Fazit

Vergleichstabelle

VergleichsbasisVorausentwicklungReverse Engineering
BasicEntwicklung der Applikation mit vorgegebenen Anforderungen.Die Anforderungen ergeben sich aus dem jeweiligen Antrag.
SicherheitErzeugt immer eine Anwendung, die die Anforderungen umsetzt.Aus einer Implementierung lassen sich mehrere Vorstellungen über die Anforderung ableiten.
NaturVerschreibungspflichtigAdaptiv
Benötigte FähigkeitenHohe KenntnisseGeringes Fachwissen
Erforderliche ZeitMehrGeringer, weniger
RichtigkeitDas Modell muss präzise und vollständig sein.Ein ungenaues Modell kann auch Teilinformationen liefern.


Definition von Forward Engineering

Vorausentwicklung ist ein Prozess zum Erstellen einer Anwendung mit Hilfe der allgemeinen Anforderungen der endgültigen Implementierung. Elliot J. Chikofsky und James H. Cross verwendeten den Begriff "Forward Engineering" in ihrer Arbeit im Jahr 1990 und verbanden ihn mit der konventionellen Entwicklung. Wie oben erwähnt, erfordert die Systemevolutionstechnik ein angemessenes Verständnis der vorhandenen Software oder Programme, dann können nur die neuen Änderungen eingeführt und implementiert werden.

Beim Forward Engineering wird ein Produkt gemäß der allgemeinen Spezifikation erstellt, wobei die alten Systemspezifikationen analysiert, umstrukturiert und regeneriert werden, um das Produkt mit der besten Qualität zu erhalten.

Die anderen Namen, die für das Forward Engineering verwendet werden, sind „Renovierung und Sanierung„Weil es nicht nur die Konstruktionsinformationen aus der vorhandenen Software abruft, sondern diese Informationen auch zur Herstellung eines Produkts von höchster Qualität verwendet.


Definition von Reverse Engineering

Reverse EngineeringWie der Name schon sagt, handelt es sich um den umgekehrten Prozess des Forward Engineering, bei dem das vorhandene System analysiert wird, um die Dokumentation des vorhandenen Systems zu erstellen. Anfänglich wird Reverse Engineering auf Hardware implementiert, bei der das Entschlüsseln von Designs aus den fertigen Produkten vorherrscht.

Wenn jedoch eine neue Anwendung entwickelt wird, soll das Reverse Engineering die Systemkomponenten und ihre Beziehung erkennen. Der vorhandene Softwarecode wird auf bestimmten Abstraktionsebenen analysiert - System, Komponente, Programm, Anweisung und Muster.

Diese Wiederherstellung von Daten-, Architektur- und prozeduralen Entwurfsinformationen wird durchgeführt, um eine Darstellung des Programms unter Berücksichtigung der höheren Abstraktionsebene im Vergleich zum Quellcode zu erstellen.

  1. Das Forward Engineering beginnt mit der Systemspezifikation und umfasst das Design und die Implementierung des Entwicklungssystems. Im Gegenteil, der erste Schritt im Reverse Engineering beginnt mit dem vorhandenen System und die Entwicklungstechnik für den Ersatz basiert auf der Interpretation.
  2. Es ist immer sicher, ein Nebenprodukt des Forward Engineerings zu erzeugen, aber im Fall des Reverse Engineerings werden mehrere Ideen über die Anforderung erzeugt, nicht unbedingt ein Produkt zu erzeugen.
  3. Vorausschauendes Engineering hat einen vorgeschriebenen Charakter, bei dem die Entwickler bestimmte Regeln befolgen müssen, um die richtigen Ergebnisse zu erzielen. Andererseits ist Reverse Engineering anpassungsfähig, wenn der Ingenieur herausfinden muss, was der Entwickler tatsächlich getan hat.
  4. Das Forward Engineering benötigt mehr Zeit als das Reverse Engineering.
  5. Das Endprodukt des Forward Engineering muss vollständig und genau sein. Im Gegensatz dazu kann das Reverse Engineering-Modell unvollkommen sein, abgerufene Teilinformationen sind immer noch nützlich.

Zusammenhang zwischen Forward Engineering und Reverse Engineering

Fazit

Beim Forward Engineering wird das betreffende System geändert, während beim Reverse Engineering nur das System analysiert wird. Darüber hinaus sind dies die Komponenten des Re-Engineering-Prozesses.