Diferencia entre ingeniería avanzada e ingeniería inversa

Autor: Laura McKinney
Fecha De Creación: 2 Abril 2021
Fecha De Actualización: 26 Abril 2024
Anonim
Diferencia entre ingeniería avanzada e ingeniería inversa - Tecnología
Diferencia entre ingeniería avanzada e ingeniería inversa - Tecnología

Contenido


La ingeniería directa y la ingeniería inversa son parte del proceso de reingeniería y están estrechamente relacionadas. La diferencia crucial entre la ingeniería avanzada y la ingeniería inversa es que la ingeniería avanzada emplea el cambio en el sistema sujeto durante la reestructuración. Por el contrario, el único propósito de la ingeniería inversa es examinar el sistema para obtener su diseño más abstracto.

La reingeniería de software no es más que la reimplementación del sistema heredado para lograr una mayor sostenibilidad. La evolución del sistema requiere la asimilación del sistema existente que debe modificarse para que el sistema pueda modificarse mediante la implementación de los cambios.

    1. Cuadro comparativo
    2. Definición
    3. Diferencias clave
    4. Conclusión

Cuadro comparativo

Bases para la comparaciónIngeniería AdelanteIngeniería inversa
BásicoDesarrollo de la aplicación con los requisitos previstos.Los requisitos se deducen de la solicitud dada.
CertezaSiempre produce una aplicación que implementa los requisitos.Uno puede dar varias ideas sobre el requisito de una implementación.
NaturalezaPreceptivoAdaptado
Habilidades necesariasAlta capacidadExperiencia de bajo nivel
Tiempo requeridoMásMenos
ExactitudEl modelo debe ser preciso y completo.El modelo inexacto también puede proporcionar información parcial.


Definición de ingeniería avanzada

Ingeniería avanzada es un proceso de construcción de una aplicación con la ayuda de los requisitos generales de la implementación final. Elliot J. Chikofsky y James H. Cross usaron el término "ingeniería avanzada" en su artículo en el año de 1990 y lo asociaron con el desarrollo convencional. Como se mencionó anteriormente, la técnica de evolución del sistema requiere una comprensión adecuada del software o programas existentes, entonces solo los nuevos cambios podrían introducirse e implementarse.

La ingeniería avanzada implica la construcción de un producto siguiendo las especificaciones generales, donde se analizan, reestructuran y regeneran las especificaciones del sistema anterior para obtener el producto de mejor calidad.

Los otros nombres utilizados para la ingeniería avanzada son "renovación y recuperación"Porque no solo recupera la información de diseño del software existente, sino que también utiliza esta información para crear un producto de calidad superior.


Definición de ingeniería inversa

Ingeniería inversa, como su nombre lo indica, es el proceso inverso de la ingeniería avanzada donde se analiza el sistema existente para producir la documentación del sistema existente. Inicialmente, la ingeniería inversa se implementa en hardware donde prevalece el ejercicio de descifrar diseños de los productos terminados.

Sin embargo, cuando se desarrolla una nueva aplicación, la ingeniería inversa está destinada a descubrir los componentes del sistema y su relación. El código de software existente se analiza en ciertos niveles de abstracción: sistema, componente, programa, declaración y patrón.

Esta recuperación de datos, arquitectura, información de diseño de procedimientos se logra para construir una representación del programa considerando el mayor nivel de abstracción en relación con el código fuente.

  1. La ingeniería avanzada comienza con la especificación del sistema e incluye el diseño y la implementación del sistema en desarrollo. Por el contrario, el paso inicial en ingeniería inversa comienza con el sistema existente y la técnica de desarrollo para el reemplazo se basa en la interpretación.
  2. Siempre es seguro generar un subproducto de la ingeniería avanzada, pero en el caso de la ingeniería inversa, se generan varias ideas sobre el requisito que no necesariamente genera un producto.
  3. La ingeniería avanzada es de naturaleza prescriptiva en la que los desarrolladores deben seguir reglas particulares para obtener los resultados adecuados. Por otro lado, la ingeniería inversa es adaptativa donde el ingeniero tiene que descubrir lo que realmente hizo el desarrollador.
  4. La ingeniería avanzada consume más tiempo en comparación con la ingeniería inversa.
  5. El producto final de la ingeniería avanzada debe ser completo y exacto. Por el contrario, el modelo de ingeniería inversa puede ser imperfecto, la información parcial recuperada sigue siendo útil.

Relación entre ingeniería avanzada e ingeniería inversa

Conclusión

La ingeniería avanzada implica la modificación en el sistema sujeto mientras que la ingeniería inversa solo analiza el sistema. Además, estos son los componentes del proceso de reingeniería.