lunes, 10 de octubre de 2016

Ingeniería Inversa


Ingeniería Inversa


La ingeniería inversa puede obtener información de diseño a partir del código fuente, pero el grado de abstracción, la completud de la documentación, y el grado en que las herramientas son variables.


Ingeniería Inversa para comprender los datos

La ingeniería inversa de las actuales estructuras globales de datos establece el escenario para la introducción de una nueva base de datos que abarque todo el sistema.

Estructura de base de datos internos. Las técnicas de ingeniería inversa para datos internos del programa se enfoca en la definición de clases de objetos. Esto se logra al examinar el código del programa con el propósito de agrupar las variables de programa relacionadas.

Estructura de bases de datos. La re ingeniería de un esquema de un esquema de base de datos en otro requiere comprender los objetos existentes y sus relaciones.




Ingeniería Inversa para comprender el procesamiento

Comienza con un intento por comprender y luego extraer abstracciones de procedimientos representadas por el código fuente. Para comprender las abstracciones de procedimientos el código se analiza en grados variables.

Cada uno de los programas que conforman el sistema de la aplicación representa una abstracción funcional en un mayor grado de detalle. Se crea un diagrama de bloques que representa la interacción entre dichas abstracciones funcionales.

En sistemas grandes, la ingeniería inversa se logra utilizando un enfoque semiautomático. Las herramientas automatizadas se utilizan para ayudar al ingeniero de software para comprender la semántica del código existente.




Ingenieria Inversa de Interfaces de usuario


Las IGU sofisticadas ahora son indispensables en productos básicos en computadora y en sistema de todo tiempo. En consecuencia, desarrollar de nuevo las interfaces de usuario se ha vuelto uno de los tipos mas comunes de actividad de reingenieria. Se sugieren tres preguntas básicas que deben responder conforme a la ingeniería inversa de la IGU:

  • ¿Cuales son las acciones básicas que debe procesar la interfaz?
  • ¿Cual es la descripción compacta de las respuestas de comportamiento del sistema a estas acciones?
  • ¿Que se entiende por "reemplazo", que concepto de equivalencia de interfaces es relevante en este caso?
Es importante señalar que una IGU de reemplazo tal vez no refleje exactamente la interfaz antigua. Con frecuencia vale la pena desarrollar nuevas metáforas de interacción. Una IGU sometida a reingeniería puede utilizar una barra de deslizamiento y un ratón para realizar la misma función.







No hay comentarios:

Publicar un comentario