You are on page 1of 3

RECONSTRUCCIN DE LA ARQUITECTURA: UNA ACTIVIDAD DE LA

REINGENIERA DE SOFTWARE
Partamos de la base, Qu es la reingeniera?, si consideramos cualquier producto
tecnolgico que poseamos, y utilizamos habitualmente, pero que con la velocidad en la que
avanza la tecnologa est quedando obsoleto, entonces Qu hacemos?, probablemente si es
hardware se tire a la basura y se compre uno ms nuevo. Pero si es un software
personalizado, esta opcin quizs no est en nuestras manos. Necesitaremos reconstruirlo,
creando un producto de mejor funcionalidad, mejor desempeo y fiabilidad, as como una
mayor facilidad en el mantenimiento, bien, a esto llamamos reingeniera.
La reconstruccin de la arquitectura es una de las principales actividades que se
deben realizar al iniciar un proyecto de reingeniera ya que nos permite entender al
programa para el cual realizaremos dicha reconstruccin, muchos son los escenarios en
los cuales es necesario realizar la reconstruccin total o parcial de una arquitectura.
A travs de la reconstruccin de arquitecturas obtenemos vistas de la arquitectura
actual, que nos muestran como fue implementado el sistema. Las vistas de la arquitectura
proveen documentacin til sobre el sistema y puede ser utilizada para tomar decisiones
acerca del mismo.
Este tipo de reconstruccin se entiende de mejor forma con una actividad anloga, como la
que representaremos a continuacin:
Un lector compra una casa en otra ciudad. En realidad nunca ha visto la propiedad,
pero la adquiri por un precio sorprendentemente bajo, con la advertencia de que tal vez
tenga que reconstruirse por completo. Cmo se procedera?
Antes de que se pueda iniciar la reconstruccin, lo ideal sera inspeccionar la casa.
Reconstruirla requiere que el lector (o un profesional) elabore una lista de criterios
de modo que la inspeccin resulte sistemtica.
Antes de destruir toda la casa, se debe tener la certeza que la estructura es dbil. Si
la casa es estructuralmente slida tal vez sea posible remodelarla sin
reconstruirla(a un costo mucho ms bajo y en mucho menos tiempo).
Antes de comenzar la reconstruccin se debe entender cmo se construy la
original. Eche un vistazo detrs de las paredes (entienda el alambrado, plomera
etc.)Incluso si no sirve nada, la comprensin que se adquiera ser til para la
construccin.
Si se comienza a reconstruir solo se utilizaran los materiales ms modernos y de
larga duracin. Esto puede ser un costo elevado en el momento, pero ayudara a
evitar un mantenimiento costoso y fuera de tiempo ms adelante.
Si se decide reconstruir es preciso prepararse en cuanto a ello. Se deben utilizar
prcticas que redundaran en alta calidad.
Aunque son los principios de la reconstruccin de una casa, tambin se aplican a la
reconstruccin de la arquitectura de software.
Si al realizar la reconstruccin utilizamos principios como los vistos en el ejemplo de la
casa, la reingeniera de software define un modelo de seis actividades. En algunos
casos, estas actividades ocurren de manera lineal, pero este no siempre es el caso, como
ejemplo, la ingeniera inversa (Comprender el funcionamiento interno de un programa)
deba ocurrir antes de que comience la reestructuracin de documentos.
1. Anlisis de inventarios: las organizaciones de software deberan tener un
inventario de todas sus aplicaciones. Aunque en algunos casos no sea ms que
una hoja de clculo con informacin (como edad, tamao, importancia, etc.), al
ordenar esta informacin aparecen los candidatos para la reingeniera, entonces
se puede asignar los recursos a las aplicaciones candidatas para este trabajo. Es
importante sealar que el inventario debe visitarse con regularidad. El estado de
las aplicaciones puede cambiar en funcin del tiempo.
2. Reestructuracin de documentos: La documentacin debil es la marca de mucos
sistemas heredados. Qu se hace? Cules son las opciones?
Crear documentacin consume muchsimo tiempo, si el sistema funciona
vivir con lo que se tenga. No es posible crear documentacin para
cientos de programas, si un programa est llegando al final de su vida
til, por lo que es poco probable un cambio significativo, djelo.
La documentacin debe actualizarse, pero se tiene recursos limitados. Se
utilizara un enfoque de documentar cuando se toque. Quizs sea
innecesario volver a documentar por completo, solo se documentaran las
porciones donde ocurran cambios.
El sistema es crucial para el negocio y debe volver a documentarse por
completo, incluso en este caso un enfoque inteligente es recortar la
informacin a lo esencial.
Se debe elegir la opcin ms viable para la organizacin.
3. Ingeniera inversa: Es el proceso de analizar un programa con la finalidad de
crear una representacin del programa en un mayor grado de abstraccin que el
cdigo fuente. Es un proceso de recuperacin de diseo.
4. Restructuracin de cdigo: llevar a cabo esta actividad requiere analizar el
cdigo fuente. Se indican las violaciones de las estructuras de programacin
estructurada y entonces el cdigo se restructura. El cdigo resultante se revisa y
prueba.
5. Restructuracin de datos: un programa con arquitectura de datos dbil, es difcil
de adaptar y mejorar. A diferencia de la reestructuracin de cdigo que ocurre
en un grado relativamente bajo de abstraccin, la restructuracin de datos es una
actividad de reingeniera a gran escala
6. Ingeniera directa: La ingeniera directa tambin llamada renovacin o
reclamacin, no slo 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.
.

You might also like