Académique Documents
Professionnel Documents
Culture Documents
Mantenimiento de SW
1
Qu es Reingeniera del SW?
2
Qu es Reingeniera del SW?
Al paso del tiempo es fcil que una 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 desea realizar un
cambio se producen efectos colaterales inesperados
y hasta de gravedad, por lo que se prevee que si seguir
siendo de utilidad, se aplique reingeniera.
3
Beneficios de la Reingeniera
Reduccin de riesgos evolutivos de una organizacin.
Ayudar a las organizaciones a recuperar sus
inversiones en software.
Hacer el software ms fcilmente modificable.
Amplia las capacidades de las herramientas CASE.
Catalizador para la automatizacin del Mtto de SW.
4
Actividades tpicas
Incluyen:
Anlisis de inventarios
Reestructuracin de documentos
Ingeniera inversa
Reestructuracin de programas y datos
Ingeniera directa
Con el fin de crear versiones de programas
existentes que sean de mejor calidad y que tengan
mayor facilidad de mantenimiento.
5
Pasos de Reingeniera de SW
6
Ciclo de la reingeniera de
software
7
Anlisis de Inventarios
Toda organizacin debera tener un inventario de
todas sus aplicaciones activas.
Los candidatos a la reingeniera aparecen cuando se
ordena esta informacin en funcin de su
importancia para el negocio, longevidad,
mantenibilidad actual u otros criterios locales.
En este momento es cuando es posible asignar
recursos a las aplicaciones candidatas para el
trabajo de reingeniera.
8
Reestructuracin de
documentos
La documentacin dbil es la seal de los
sistemas heredados. Qu hacer con ellos?
Se puede:
Documentar cuando haya cambios.
Recortar la documentacin a un mnimo.
Tratar de mantener la documentacin que realmente agregue
valor.
9
Reestructuracin de
documentos
10
Reestructuracin de
documentos
Opcin 2: es preciso actualizar la documentacin
pero se dispone de recursos limitados. Aqu lo que
se tiene que hacer es documentar slo si hay
modificaciones, no volver a documentar toda la
aplicacin, sino solamente aqullas partes que
corresponden a las modificaciones. Con esto la
documentacin til y relevante ir evolucionando con el
tiempo.
11
Reestructuracin de
documentos
Opcin 3: el sistema es fundamental para el
negocio y es preciso volver a documentarlo por
completo. Aqu un enfoque inteligente consiste en
reducir la documentacin al mnimo necesario.
12
Ingeniera Inversa
El concepto nace en el mundo del HW para
comprender los secretos del diseo y
fabricacin.
Una ingeniera inversa con xito precede de una
o ms especificaciones de diseo y
fabricacin del producto, mediante el examen
de ejemplos reales de ese producto.
13
Ingeniera Inversa
En el SW es similar, aunque con diferencias:
El SW no suele ser ajeno, es propio de la empresa.
17
Ingeniera Directa
La ingeniera directa no slo recupera la informacin
de diseo a partir del software existente, tambin
utilizara 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.
18
Valoraciones sobre la
reingeniera del software
20
Valoraciones sobre la
reingeniera del software
La reingeniera suele considerarse una
buena opcin frente al desarrollo de una
nueva aplicacin cuando:
La aplicacin tiene fallos frecuentes que son difciles
de localizar.
La aplicacin es poco eficiente, pero realiza la accin
esperada.
Existen dificultades para integrar la aplicacin con
otros sistemas.
21
Valoraciones sobre la
reingeniera del software
La reingeniera suele considerarse una
buena opcin frente al desarrollo de una
nueva aplicacin cuando:
El software final de la aplicacin es de poca calidad.
No se dispone de personal suficiente para realizar
todas las modificaciones necesarias que puedan
surgir.
No se tiene la facilidad para realizar pruebas a los
cambios que se deban realizar.
22
Valoraciones sobre la
reingeniera del software
La reingeniera suele considerarse una
buena opcin frente al desarrollo de una
nueva aplicacin cuando:
Cuando el mantenimiento de la aplicacin consume
muchos recursos.
Cuando es necesario incluir nuevos requisitos a la
aplicacin, pero los fundamentales se mantienen.
23
Mtodo cuantitativo de
valoracin de la reingeniera
Si se mantiene el software como est, el beneficio se
puede calcular as:
BM=[VA-(CMA+COpA)]xT. Vida
Donde:
BM=Beneficio del mantenimiento
VA=Valor del negocio actual (anual)
CMA=Coste de Mtto actual
COpA=Coste de operacin de la aplicacin derivados de mantener
la aplicacin en uso (servicios de atencin al cliente, admon)
24
Mtodo cuantitativo de
valoracin de la reingeniera
Si se elige hacer reingeniera:
BR=[(GFxT.Vida)-(CRxFR)]-BM
GF=[VF-(CMFxCOpF)]-BM
T.Vida=T.Vida Estimado-T.Reingeniera
Donde:
BR: beneficio de reingeniera
GF: ganancia final
CR: coste de reingeniera
FR: factor de riesgo de la reingeniera
BM: beneficio de mantenimiento
VF: el valor de negocio tras la reingeniera (anual)
CMF: coste de mantenimiento final
COpF: coste de operacin final 25