Está en la página 1de 23

Reingenieria

Que es Tipos Ejemplo



Reingenieria
Negocios
Software
Procesos
involucrados

Se concentra en el proceso de negocios con la
intencin de efectuar cambios que mejoren la
competitividad en algn aspecto de los negocios.
LA REINGENIERA DE
NEGOCIOS

La reingeniera examina los sistemas y aplicaciones
de informacin con la intencin de reestructurarlos o
reconstruirlos de tal modo que muestren una mayor
calidad.
REINGENIERIA DE
SOFTWARE

Que es reingeniera
Que se puede hacer
Quien lo hace
Porque es importante

Tenga en consideracin cualquier producto de
tecnologa que haya adquirido. Lo ve con
regularidad, pero est envejeciendo. Se rompe con
frecuencia, tarda en repararse y ya no representa la
ltima tecnologa.


Qu es la Reingeniera ?


modificacin de un producto software, o de ciertos
componentes, usando para el anlisis del sistema
existente tcnicas de Ingeniera Inversa y, para la
etapa de reconstruccin, herramientas de Ingeniera
Directa, de tal manera que se oriente este cambio
hacia mayores niveles de facilidad en cuanto a
mantenimiento, reutilizacin, comprensin o
evaluacin.

Reingeniera del software
se puede definir como:

Cuando una aplicacin lleva siendo usada aos, es fcil
que esta aplicacin se vuelva inestable como fruto de las
mltiples correcciones, adaptaciones o mejoras que han
podido surgir a lo largo del tiempo. Esto deriva en que
cada vez que se pretende realizar un cambio se
producen efectos colaterales inesperados y hasta de
gravedad, por lo que se hace necesario, si se prev que la
aplicacin seguir siendo de utilidad, aplicar
reingeniera a la misma.


Si el producto es de hardware, probablemente lo
tirar y se comprar uno nuevo. Pero si es un
software personalizado, no dispondr la opcin de
tirarlo. Necesitar reconstruirlo. Crear un producto
con una funcionalidad nueva, un mejor rendimiento
y fiabilidad, y un mantenimiento mejorado. Eso es lo
que llamamos reingeniera.

Qu se puede hacer?


A nivel de negocio, la reingeniera es ejercida por
especialistas de negocio (frecuentemente empresas
de consultora). A nivel de software, la reingeniera
es ejecutada por ingenieros del software.

Quin lo hace?

Vivimos en un mundo en constante cambio. Las
demandas de funciones de negocios y de tecnologa
de informacin que las soportan estn cambiando a
un ritmo que impone mucha presin competitiva en
todas las organizaciones comerciales. Tanto los
negocios como el software que soportan (o es) el
negocio debern disearse una vez ms para
mantener el ritmo.

Por qu es importante?

Pasos de la reingeniera


Todas las organizaciones de software deberan tener un
inventario de todas sus aplicaciones. El inventario tal vez no sea
ms que un modelo en una hoja de clculo que contenga
informacin que proporcione una descripcin detallada
(tamao, edad, importancia para el negocio) de las aplicaciones
activas.
Los candidatos a la reingeniera aparecen cuando se ordena esta
informacin en funcin de su importancia para el negocio,
longevidad, mantenibilidad actual y otros criterios localmente
importantes. Es entonces cuando es posible asignar recursos a
las aplicaciones candidatas para el trabajo de reingeniera.
Es importante sealar que el inventario deber visitarse con
regularidad, el estado de las aplicaciones puede cambiar en
funcin del tiempo y, como resultado, cambiarn las
prioridades para la reingeniera.

Anlisis de Inventarios

La documentacin dbil es la marca de muchos sistemas
heredados. Pero que se hace acerca de ellos? Cules son
las opciones? Crear documentacin consume mucho
tiempo, si el sistema funciona vivir con lo que tenga. La
documentacin debe actualizarse pero se tiene recursos
limitados. Se utiliza un enfoque de documentar cuando
se toque. El sistema es crucial para el negocio y debe
volver a documentarse por completo incluso en este caso
un enfoque inteligente es recortar la documentacin a un
mnimo esencial. Cada una de estas opciones es viable.
Una organizacin de software debe elegir la ms
apropiada para cada caso.
Reestructuracin de
documentos


Este trmino tiene sus orgenes en el mundo del
hardware. Una cierta compaa desensambla un producto
de hardware competitivo en un esfuerzo por comprender
los secretos del diseo y fabricacin de su competidor.
Estos secretos se podrn comprender ms fcilmente si se
obtuvieran las especificaciones de diseo y fabricacin del
mismo. Pero estos documentos son privados, y no estn
disponibles para la compaa que efecta la ingeniera
inversa. En esencia, una ingeniera inversa con xito
precede de una o ms especificaciones de diseo y
fabricacin para el producto, mediante el examen de
ejemplos reales de ese producto.


Ingeniera Inversa


La ingeniera inversa del software es algo similar. En
la mayora de los casos, el programa del cual hay que
hacer una ingeniera inversa no es el de un rival,
sino, ms bien, el propio trabajo de la compaa. Los
secretos que hay que comprender resultan
incomprensibles porque nunca se lleg a desarrollar
una especificacin. Consiguientemente, la ingeniera
inversa del software es el proceso de anlisis de un
programa con el fin de crear una representacin de
programa con un nivel de abstraccin ms elevado
que el cdigo fuente.
La Ingeniera inversa es un proceso de recuperacin
de diseo. Con las herramientas de la ingeniera
inversa se extraer del programa existente
informacin del diseo arquitectnico y de proceso,
e informacin de los datos.


El tipo ms comn de reingeniera es la reestructuracin
de cdigo, se puede hacer con mdulos individuales que
se codifican de una manera que dificultan comprenderlos,
probarlos y mantenerlos.
Llevar a cabo esta actividad requiere analizar el cdigo
fuente empleando una herramienta de reestructuracin,
se indican las violaciones de las estructuras de
programacin estructurada, y entonces se reestructura el
cdigo (esto se puede hacer automticamente). El cdigo
reestructurado resultante se revisa y se comprueba para
asegurar que no se hayan introducido anomalas. Se
actualiza la documentacin interna del cdigo.

Reestructuracin de
cdigo


La reestructuracin de datos es una actividad de
reingeniera a gran escala. En la mayora de los casos,
la reestructuracin de datos comienza con una
actividad de ingeniera inversa. La arquitectura de
datos actual se analiza con minuciosidad y se define
los modelos de datos necesarios, se identifican los
objetivos de datos y los atributos, y despus se revisa
la calidad de las estructuras de datos existentes.
Reestructuracin de
datos


Cuando la estructura de datos es dbil (por ejemplo,
actualmente se implementan archivos planos,
cuando un enfoque relacional simplificara
muchsimo el procesamiento), se aplica una
reingeniera a los datos.
Dado que la arquitectura de datos tiene una gran
influencia sobre la arquitectura del programa, y
tambin sobre los algoritmos que lo prueban, los
cambios en datos darn lugar invariablemente a
cambios o bien de arquitectura o bien de cdigo.


En un mundo ideal, las aplicaciones se reconstruyen
utilizando un motor de reingeniera automatizado.
En el motor se insertara el programa viejo, que lo
analizara, reestructurara y despus regenerara la
forma de exhibir los mejores aspectos de la calidad
del software. Despus de un espacio de tiempo corto,
es probable que llegue a aparecer este motor, pero
los fabricantes de CASE han presentado
herramientas que proporcionan un subconjunto
limitado de estas capacidades y que se enfrentan con
dominios de aplicaciones especficos. Lo que es ms
importante, estas herramientas de reingeniera cada
vez son ms sofisticadas.
Ingeniera directa


La ingeniera directa no solo recupera la informacin
de diseo a partir del software existente, tambin
utiliza esta informacin para alterar o reconstruir el
sistema existente con la finalidad de mejorar su
calidad global. En la mayora de los casos el software
sometido a reingeniera vuelve a implementar la
funcin del sistema existente y tambin aade
nuevas funciones o mejoras.