Beruflich Dokumente
Kultur Dokumente
Ingeniera inversa de ficheros y BDs Ingeniera inversa y reingeniera de interfaces de usuario Reconstruccin de programas
El coste relativo de reparar un defecto aumenta en las ltimas etapas del ciclo de vida (de 1 a 100).
Barrera del En algunas empresas coste del 95% mantenimiento
Tipos de mantenimiento
Correctivo Adaptativo Perfectivo
Mantenimiento de ampliacin Mantenimiento de eficiencia
Preventivo
Mantenimiento para la reutilizacin
Coste de mantenimiento
Preventivo 5% Correctivo 17% Adaptativo 18%
6
Perfectivo 60%
Ntese cmo la comprensin del software y de los cambios supone casi un 50% del coste total de mantenimiento
Mantenimiento del software 7
11
Reing.(8) Implementacin
Ing. inversa Ing. inversa (4) (3) Redocumentacin Redocumentacin Redocumentacin (5) (7) (8)
Mantenimiento del software
Redocumentacin
a) Si el sistema funciona y la redocumentacin consume muchos recursos, tal vez mejor no redocumentar. b) Si es preciso actualizar la documentacin, pero recursos limitados, puede ser til documentar cuando se modifica. Con el tiempo, se formar una coleccin de informacin interesante. c) Si el sistema es fundamental para la organizacin, redocumentar por completo. Se puede reducir la documentacin al mnimo.
Mantenimiento del software 13
especificaciones abstractas del cdigo fuente de un sistema heredado, de manera que estas especificaciones puedan ser utilizadas para construir una nueva implementacin del sistema hacia delante
Mantenimiento del software 14
Reducir la complejidad del sistema. Generar vistas alternativas. Recuperar la informacin perdida (cambios que no se documentaron en
componentes, usando para el anlisis del sistema existente tcnicas de ingeniera inversa y, para la etapa de reconstruccin, herramientas de ingeniera directa
Mantenimiento del software 15
Algunos problemas:
sinonimia polisemia comentarios no actualizados
Mantenimiento del software 17
18
Esquema conceptual
Esquema lgico
Normalizacin conceptual
Encontrar asociaciones.
introducir contadores.
Reconstruccin de programas
A partir de los productos de ingeniera inversa se construye el programa mediante tcnicas de ingeniera directa.
Reestructuracin de datos
eliminar sinonimias y polisemias
Reestructuracin de procesos
transformar el cdigo no estructurado en cdigo estructurado en un diagrama de flujo estructurado, es posible
96) p.547
hacer transformaciones sucesivas hasta que su complejidad ciclomtica se iguale a 1 (Piattini et al.
Mantenimiento del software 22
SIMPLICIDAD
CONCISIN
Longitud de programa Nivel de mdulo Frecuencia de comentarios Longitud de programa Niveles anidados (MAX) N de sentencias V(G) Niveles anidados (MAX)
Mantenibilidad
24