Beruflich Dokumente
Kultur Dokumente
Ejemplo:
Una compaa desensambla un producto de hardware de otra empresa con la intencin
de entender los secretos de diseo y fabricacin de su competidor. Dichos secretos
podran entenderse fcilmente si se obtuvieran las especificaciones de diseo y
fabricacin. Pero esos documentos son propiedad de la empresa competidora y no estn
disponibles para la compaa que hace la ingeniera inversa. En esencia, la ingeniera
inversa exitosa deriva en una o ms especificaciones de diseo y fabricacin para un
producto al examinar especmenes reales del mismo.
Ventajas de la Ingeniera Inversa
La reestructuracin de cdigo se realiza para producir un diseo que produzca la misma funcin pero con
mayor calidad que el programa original.
Algunos sistemas heredados tienen una arquitectura de programa relativamente slida, pero los mdulos
individuales fueron codificados en una forma que los hace difciles de entender, poner a prueba y
mantener. En tales casos, el cdigo dentro de los mdulos sospechosos puede reestructurarse.
La reestructuracin de software modifica el cdigo fuente y/o los datos con la intencin de hacerlos
sensibles a cambios futuros. En general, la reestructuracin no modifica la arquitectura global del
programa. Tiende a enfocarse sobre detalles de diseo de mdulos individuales y sobre estructuras de
datos locales definidas dentro de mdulos.
Para realizar esta actividad se analiza el cdigo fuente con una herramienta de reestructuracin. Las
violaciones a los constructos de programacin estructurada se anotan y luego el cdigo se reestructura
(esto puede hacerse automticamente) o incluso se reescribe en un lenguaje de programacin ms
moderno. El cdigo reestructurado resultante se revisa y pone a prueba para garantizar que no se
introdujeron anomalas. La documentacin de cdigo interna se actualiza.
Reestructuracin de datos
A diferencia de la reestructuracin
Cuando la estructura de datos es
Un programa con arquitectura de
de cdigo, que ocurre en un nivel
dbil (por ejemplo, si se
datos dbil ser difcil de adaptar y
de abstraccin relativamente bajo,
implementan archivos planos,
mejorar. De hecho, para muchas
la reestructuracin de datos es
cuando un enfoque relacional
aplicaciones, la arquitectura de
una actividad de reingeniera a
simplificara enormemente el
informacin tiene ms que ver con
gran escala. En la mayora de los
procesamiento), los datos se
la viabilidad a largo plazo de un
casos, la reestructuracin de los
someten a reingeniera.
programa que con el cdigo fuente
datos comienza con una actividad
en s.
de ingeniera inversa. Se
identifican los objetos y atributos
de datos, y se revisa la calidad de
las estructuras de datos
existentes.
INGENIERA HACIA ADELANTE
Ingeniera hacia adelante para arquitecturas orientadas a Ingeniera hacia adelante para arquitecturas orientadas
Cliente - Servidor a objetos
En esta arquitectura los recursos de computo centralizados Primero, el software existente se somete a ingeniera inversa
(incluido el software) se distribuyen entre muchas para que puedan crearse modelos adecuados de datos,
plataformas clientes. funciones y comportamientos. Si el sistema sometido a
reingeniera extiende la funcionalidad o comportamiento de la
La funcionalidad de la aplicacin migra a cada aplicacin original, se crean casos de uso. Los modelos de
computadora cliente. datos creados durante la ingeniera inversa se usan entonces
Se implementan nuevas interfaces GUI en los sitios en conjuncin con el modelado CRC para establecer la base
clientes. para la definicin de clases. Se definen entonces las
Las funciones de la base de datos se ubican en el jerarquas de clase, modelos objeto-relacional, modelos
servidor. objeto- comportamiento y subsistemas, y se comienza el
La funcionalidad especializada puede permanecer en el diseo orientado a objetos.
sitio servidor.
Deben establecerse en nuevos requisitos de
comunicaciones, seguridad, archivado y control en los
sitios cliente y servidor.