Różnica między inżynierią do przodu i inżynierią do tyłu

Autor: Laura McKinney
Data Utworzenia: 2 Kwiecień 2021
Data Aktualizacji: 26 Kwiecień 2024
Anonim
Różnica między inżynierią do przodu i inżynierią do tyłu - Technologia
Różnica między inżynierią do przodu i inżynierią do tyłu - Technologia

Zawartość


Inżynieria postępowa i inżynieria odwrotna są częścią procesu przebudowy i są ściśle ze sobą powiązane. Zasadnicza różnica między inżynierią przyszłości a inżynierią odwrotną polega na tym, że inżynieria przyszłości wykorzystuje zmianę w przedmiotowym systemie podczas restrukturyzacji. I odwrotnie, jedynym celem inżynierii odwrotnej jest zbadanie systemu w celu uzyskania jego bardziej abstrakcyjnego projektu.

Ponowna inżynieria oprogramowania to nic innego jak ponowna implementacja starszego systemu w celu osiągnięcia większej trwałości. Ewolucja systemu wymaga asymilacji istniejącego systemu, który należy zmienić, aby system mógł zostać zmieniony poprzez wdrożenie zmian.

    1. Wykres porównania
    2. Definicja
    3. Kluczowe różnice
    4. Wniosek

Wykres porównania

Podstawa do porównaniaForward EngineeringInżynieria odwrotna
PodstawowyOpracowanie aplikacji z podanymi wymaganiami.Wymagania są wywnioskowane z danej aplikacji.
PewnośćZawsze tworzy aplikację implementującą wymagania.Można podać kilka pomysłów na temat wymagań wdrożenia.
NaturaNakazowyAdaptacyjny
Potrzebne umiejętnościWysoka biegłośćNiski poziom wiedzy specjalistycznej
Wymagany czasWięcejMniej
PrecyzjaModel musi być dokładny i kompletny.Niedokładny model może również dostarczyć częściowe informacje.


Definicja Forward Engineering

Inżynieria przyszłości to proces konstruowania aplikacji przy pomocy ogólnych wymagań dotyczących ostatecznego wdrożenia. Elliot J. Chikofsky i James H. Cross użyli terminu „inżynieria postępowa” w swojej pracy w 1990 roku i powiązali go z konwencjonalnym rozwojem. Jak wspomniano powyżej, technika ewolucji systemu wymaga właściwego zrozumienia istniejącego oprogramowania lub programów, wówczas tylko nowe zmiany mogą być wprowadzone i wdrożone.

Zaawansowana inżynieria obejmuje zbudowanie produktu zgodnie z ogólną specyfikacją, w której stare specyfikacje systemu są analizowane, przekształcane i regenerowane w celu uzyskania produktu najlepszej jakości.

Inne nazwy używane w inżynierii naprzód to „remont i rekultywacja”, Ponieważ nie tylko pobiera informacje projektowe z istniejącego oprogramowania, ale także wykorzystuje te informacje do tworzenia produktu o najwyższej jakości.


Definicja inżynierii odwrotnej

Inżynieria odwrotna, jak sama nazwa wskazuje, jest odwrotnym procesem inżynierii naprzód, w którym analizowany jest istniejący system w celu uzyskania dokumentacji istniejącego systemu. Początkowo inżynieria odwrotna jest wdrażana na sprzęcie, na którym dominuje odszyfrowywanie projektów gotowych produktów.

Jednak po opracowaniu nowej aplikacji inżynieria odwrotna ma na celu odkrycie komponentów systemu i ich relacji. Istniejący kod oprogramowania jest analizowany na określonych poziomach abstrakcji - system, komponent, program, instrukcja i wzorzec.

Odzyskiwanie danych, informacji o architekturze i procedurach projektowych ma na celu zbudowanie reprezentacji programu z uwzględnieniem wyższego poziomu abstrakcji w stosunku do kodu źródłowego.

  1. Forward inżynieria rozpoczyna się od specyfikacji systemu i obejmuje zaprojektowanie i wdrożenie rozwijającego się systemu. Przeciwnie, początkowy etap inżynierii odwrotnej rozpoczyna się od istniejącego systemu, a technika rozwoju zastępowania opiera się na interpretacji.
  2. Zawsze jest pewne, że powstanie produkt uboczny inżynierii postępowej, ale w przypadku inżynierii odwrotnej powstaje kilka pomysłów na temat wymogu niekoniecznie generującego produkt.
  3. Forward inżynieria ma charakter nakazowy, w którym programiści muszą przestrzegać określonych zasad, aby uzyskać właściwe wyniki. Z drugiej strony inżynieria odwrotna jest adaptacyjna, gdy inżynier musi odkryć, co faktycznie zrobił programista.
  4. Inżynieria naprzód zajmuje więcej czasu niż inżynieria odwrotna.
  5. Końcowy produkt zaawansowanej inżynierii musi być kompletny i dokładny. W przeciwieństwie do tego, model inżynierii odwrotnej może być niedoskonały, odzyskane informacje częściowe są nadal przydatne.

Relacja między inżynierią do przodu i inżynierią do tyłu

Wniosek

Inżynieria postępowa obejmuje modyfikację systemu przedmiotowego, podczas gdy inżynieria odwrotna po prostu analizuje system. Ponadto są to elementy procesu przebudowy.