Diferența dintre Inginerie Forwardă și Inversă

Autor: Laura McKinney
Data Creației: 2 Aprilie 2021
Data Actualizării: 26 Aprilie 2024
Anonim
ZEITGEIST: MOVING FORWARD | OFFICIAL RELEASE | 2011
Video: ZEITGEIST: MOVING FORWARD | OFFICIAL RELEASE | 2011

Conţinut


Ingineria anterioară și Ingineria inversă fac parte din procesul de reinginerie și sunt strâns legate. Diferența crucială între inginerie anterioară și inginerie inversă este că inginerie avansată folosește schimbarea în sistemul subiect în timpul restructurarii. În schimb, întregul scop de inginerie este acela de a examina sistemul pentru a obține un design mai abstract.

Re-inginerie software nu este altceva decât re-implementarea sistemului vechi pentru a obține mai multă durabilitate. Evoluția sistemului necesită asimilarea sistemului existent care trebuie modificat astfel încât sistemul să poată fi modificat prin implementarea modificărilor.

    1. Diagramă de comparație
    2. Definiție
    3. Diferențele cheie
    4. Concluzie

Diagramă de comparație

Baza de comparațieInginerie avansatăInginerie inversă
De bazăDezvoltarea aplicației cu cerințele furnizate.Cerințele sunt deduse din aplicația dată.
CertitudineÎntotdeauna produce o aplicație care implementează cerințele.Se poate da mai multe idei despre cerință dintr-o implementare.
NaturăPrescriptivAdaptive
Aptitudini necesareCompetență ridicatăExperiență la nivel scăzut
Timp cerutMai MultMai puțin
PrecizieModelul trebuie să fie precis și complet.Modelul inexact poate oferi informații parțiale.


Definiția Forward Engineering

Inginerie înainte este un proces de construire a unei aplicații cu ajutorul cerințelor generale ale implementării finale. Elliot J. Chikofsky și James H. Cross au folosit termenul de „inginerie avansată” în lucrarea lor în anul 1990 și l-au asociat cu dezvoltarea convențională. Așa cum am menționat mai sus, tehnica de evoluție a sistemului necesită o înțelegere corectă a software-ului sau programelor existente, atunci doar noile modificări ar putea fi introduse și implementate.

Ingineria avansată implică construirea unui produs urmând specificațiile generale, unde sunt analizate, restructurate și regenerate vechile specificații ale sistemului pentru a obține un produs de cea mai bună calitate.

Celelalte nume utilizate pentru inginerie avansată sunt „renovare și recuperare”Deoarece nu numai că preia informațiile de proiectare din software-ul existent, ci folosește aceste informații pentru a face un produs de calitate superioară.


Definiția Reverse Engineering

Inginerie inversă, după cum sugerează și numele, este procesul invers al ingineriei forward în care sistemul existent este analizat pentru a produce documentația sistemului existent. Inițial, inginerie inversă este implementată pe hardware unde predomină exercitarea descifrării desenelor din produsele finite.

Cu toate acestea, atunci când o nouă aplicație este dezvoltată, tehnica inversă este destinată să descopere componentele sistemului și relația lor. Codul software existent este analizat la anumite niveluri de abstractizare - sistem, componentă, program, declarație și model.

Această recuperare de date, informații arhitecturale, de proiectare procedurală este realizată pentru a construi o reprezentare a programului, luând în considerare nivelul mai mare de abstractizare în raport cu codul sursă.

  1. Ingineria anterioară începe cu specificația sistemului și include proiectarea și implementarea sistemului de dezvoltare. Dimpotrivă, primul pas în inginerie inversă începe cu sistemul existent, iar tehnica de dezvoltare a înlocuirii se bazează pe interpretare.
  2. Este întotdeauna sigur că se generează un produs secundar de inginerie avansată, dar în cazul ingineriei inverse, sunt generate mai multe idei cu privire la cerința de a nu genera neapărat un produs.
  3. Ingineria anterioară are un caracter prescriptiv, în cazul în care dezvoltatorii trebuie să respecte anumite reguli pentru rezultate adecvate. Pe de altă parte, inginerie inversă este adaptabilă acolo unde inginerul trebuie să descopere ce a făcut de fapt dezvoltatorul.
  4. Ingineria anterioară consumă mai mult timp în comparație cu cea din spate.
  5. Produsul final al ingineriei forward trebuie să fie complet și exact. În schimb, modelul de inginerie inversă poate fi imperfect, informațiile parțiale preluate sunt încă utile.

Relația dintre Inginerie Forwardă și Inversă

Concluzie

Ingineria anterioară implică modificarea în sistemul subiect, în timp ce inginerie inversă analizează doar sistemul. Mai mult, acestea sunt componentele procesului de reinginerie.