Verschil tussen Forward Engineering en Reverse Engineering

Schrijver: Laura McKinney
Datum Van Creatie: 2 April 2021
Updatedatum: 26 April 2024
Anonim
Difference between Forward and Reverse Genetics
Video: Difference between Forward and Reverse Genetics

Inhoud


Forward engineering en reverse engineering maken deel uit van het re-engineeringproces en zijn nauw verwant. Het cruciale verschil tussen de forward engineering en reverse engineering is dat forward engineering tijdens de herstructurering gebruikmaakt van de verandering in het onderhavige systeem. Omgekeerd is reverse engineering het enige doel van het systeem om het meer abstracte ontwerp te verkrijgen.

Software re-engineering is niets anders dan de herimplementatie van het oude systeem om meer duurzaamheid te bereiken. De evolutie van het systeem vereist de assimilatie van het bestaande systeem dat moet worden gewijzigd, zodat het systeem kan worden gewijzigd door de wijzigingen door te voeren.

    1. Vergelijkingstabel
    2. Definitie
    3. Belangrijkste verschillen
    4. Gevolgtrekking

Vergelijkingstabel

Basis voor vergelijkingToekomstige engineeringReverse engineering
basis-Ontwikkeling van de applicatie met gestelde eisen.De vereisten zijn afgeleid van de gegeven toepassing.
ZekerheidProduceert altijd een applicatie die de vereisten implementeert.Men kan vanuit een implementatie verschillende ideeën opdoen over de vereiste.
NatuurvoorschrijvendAangepaste
Benodigde vaardighedenHoge vaardigheidLage expertise
Vereiste tijdMeerMinder
NauwkeurigheidModel moet nauwkeurig en volledig zijn.Inactief model kan ook gedeeltelijke informatie bieden.


Definitie van Forward Engineering

Toekomstige engineering is een proces van het bouwen van een applicatie met behulp van de algemene vereisten van de uiteindelijke implementatie. Elliot J. Chikofsky en James H. Cross gebruikten de term "forward engineering" in hun paper in het jaar 1990 en associeerden het met de conventionele ontwikkeling. Zoals hierboven vermeld vereist de systeemevolutietechniek een goed begrip van de bestaande software of programma's, dan kunnen alleen de nieuwe wijzigingen worden ingevoerd en geïmplementeerd.

De forward engineering omvat het bouwen van een product door de algemene specificatie te volgen, waarbij de oude systeemspecificaties worden geanalyseerd, geherstructureerd en geregenereerd om het product van de beste kwaliteit te verkrijgen.

De andere namen die worden gebruikt voor forward engineering zijn "renovatie en terugwinning”Omdat het niet alleen de ontwerpinformatie uit de bestaande software haalt, maar deze informatie ook gebruikt om een ​​product van superieure kwaliteit te maken.


Definitie van reverse engineering

Reverse engineering, zoals de naam suggereert, is het omgekeerde proces van de forward engineering waarbij het bestaande systeem wordt geanalyseerd om de documentatie van het bestaande systeem te produceren. Aanvankelijk is reverse engineering geïmplementeerd op hardware waarbij het ontcijferen van ontwerpen van de eindproducten veel voorkomt.

Wanneer een nieuwe applicatie wordt ontwikkeld, is de reverse engineering bedoeld om de componenten van het systeem en hun relatie te ontdekken. De bestaande softwarecode wordt geanalyseerd op bepaalde abstractieniveaus - systeem, component, programma, instructie en patroon.

Dit herstel van gegevens, architecturale, procedurele ontwerpinformatie wordt bereikt om een ​​representatie van het programma op te bouwen, rekening houdend met het hogere abstractieniveau ten opzichte van de broncode.

  1. Toekomstige engineering begint met de systeemspecificatie en omvat het ontwerp en de implementatie van het ontwikkelsysteem. Integendeel, de eerste stap in reverse engineering begint met het bestaande systeem en de ontwikkelingstechniek voor de vervanging is gebaseerd op interpretatie.
  2. Het is altijd zeker om een ​​bijproduct van forward engineering te genereren, maar in het geval van reverse engineering worden verschillende ideeën gegenereerd over de vereiste dat niet noodzakelijkerwijs een product wordt gegenereerd.
  3. Toekomstige engineering heeft een normatief karakter waarbij de ontwikkelaars specifieke regels moeten volgen voor de juiste resultaten. Anderzijds is reverse engineering adaptief, waarbij de ingenieur moet ontdekken wat de ontwikkelaar daadwerkelijk heeft gedaan.
  4. Forward engineering kost meer tijd in vergelijking met reverse engineering.
  5. Het eindproduct van forward engineering moet volledig en exact zijn. In tegenstelling tot het reverse engineering-model kan imperfect zijn, is het ophalen van gedeeltelijke informatie nog steeds nuttig.

Relatie tussen Forward Engineering en Reverse engineering

Gevolgtrekking

De forward engineering omvat de aanpassing in het onderwerpssysteem, terwijl reverse engineering alleen het systeem analyseert. Bovendien zijn dit de componenten van het re-engineeringproces.