Documente Academic
Documente Profesional
Documente Cultură
Software II
Unidad I
Mantenimiento
Mantenimiento del Software
Distribucin del Costo del Ciclo de
Vida (Rock-Evans y Hales, 1990)
Pruebas Anlisis de
Cdigo Diseo Requisitos
Modulares
7% 5% 6%
8%
Pruebas de
Integracin
7%
Mantenim ient
o
67%
Correccin de defectos en el
software.
Creacin de nuevas funcionalidades
en el software por nuevos requisitos
de usuario.
Mejora de la funcionalidad y del
rendimiento.
Definicin segn el estndar
IEEE, 1990
Perfectivo:
Mejoras al rendimiento
Aumento de facilidad para mantener
un programa ante cambios.
Nuevas funcionalidades (de
ampliacin) y mejoras de eficiencia de
ejecucin (Gorla,1991).
Tipos de Mantenimiento
Correctivo:
Correccin de defectos en el HW o SW
detectados por el usuario en la explotacin .
Terminaciones anormales o salidas
incorrectasProcesamiento
Tiempos de respuestas altos.Rendimiento
Violacin de estndares de programacin o
inconsistencias del diseoImplementacin
Pruebas y actualizacin de documentacin
luego de las modificaciones.
Tipos de Mantenimiento
Correctivo
17%
Preventivo
5%
Perfectivo
60% Adaptativo
18%
Distribucin del tiempo en
tareas de mantenimiento
(MCclure,1992)
Actualizar
Estudiar
docum entacin
peticiones
6%
18%
Estudiar
Realizar pruebas
docum entacin
28%
6%
Estudiar cdigo
23%
Im plem entar
cam bio
19%
El Proceso de
Mantenimiento
Vara considerablemente
dependiendo del tipo de Software
Proceso informal o formal.
Actividades fundamentales:
Anlisis del cambio
Planeacin de la versin
Implementacin del sistema
Entrega
Proceso mantenimiento,
Arthur (1988)
Peticiones de Anlisis de Planeacin de Implementacin Liberacin del
Cambio Impacto versiones de cambios Sistema
Cuntas peticiones de
cambios se esperan? Cules sern los costos de
mantenimiento de este
sistema el prximo ao?
Reutilizacin de componentes
Falta de estndares
Actividades (Arnold,1993)
oTecnologa de la Reingeniera
Mejora del Software:
Reestructuracin
Redocumentacin, anotacin, actualizacin
de documentacin
Ingeniera para reutilizacin
Remodularizacin
Reingeniera de Procesos (BPR)
Reingeniera de datos
Anlisis de facilidades de mantenimiento,
anlisis econmico
Comprensin del Software:
Visualizacin
Anlisis, mediciones.
Ingeniera inversa, recuperacin de
diseo.
Captura, Conservacin y extensin
del Conocimiento sobre el Software.
Descomposicin
Ingeniera inversa y recuperacin de
diseo
Recuperacin de objetos
Comprensin de programas
Transformaciones y bases de
conocimiento
Razones de la importancia
de la reingeniera del SW.
Puede reducir los riesgos evolutivos de una
organizacin.
Puede ayudar a las organizaciones a recuperar sus
inversiones de SW.
Puede hacer el SW ms fcilmente modificable.
Ampla las capacidades de las herramientas CASE.
Es un catalizador para la automatizacin del
mantenimiento del SW.
Puede actuar como catalizador para la aplicacin de
tcnicas de inteligencia artificial (IA) para resolver
problemas de reingeniera.
Evolucin arquitectnica y el
mantenimiento
Desde los 80, los precios de los
sistemas basados en computadoras
han cambiado radicalmente.
Los sistemas distribuidos son mas
costeables que los centralizados.
Las empresas se ven obligados a
evolucionar de grandes mainframe a
sistemas distribuidos.
Razones de esta evolucin
Interfaz de Usuario
Interfaz
de
usuario
Servicios
Servicios
Base de
datos
Sistema
Interfaz del usuario Heredado
Terminales de
caracteres
Modelo de distribucin en
capas
Ventajas:
Acceso a todas las funciones de UI
por lo que no existen restricciones
reales sobre el diseo UI.
Mejor desempeo de la UI.
Desventajas:
Dependiente de la plataforma
Es ms difcil lograr la consistencia de
la interfaz.
Utilizando navegador WWW
Ventaja:
Independiente de la plataforma.
Bajos costos de capacitacin y familiaridad
del usuario con el navegador.
Es ms fcil lograr la consistencia de la
interfaz.
Desventaja:
El desempeo de la UI es potencialmente
pobre.
El diseo de la UI se restringe por los
recursos suministrados por los navegadores
Web.
Consideraciones sobre el
diccionario de datos
El modelo de anlisis acompaa
representaciones de objetos de datos,
funciones y control. Estos juegan un
papel importante.
Es necesario proporcionar un enfoque
organizado para presentar las
caractersticas de cada objeto de
datos y elementos de control .
Diccionario de datos
Secuencia + y
Repeticin {} N repeticiones de
() Datos opcionales
*..* Delimitadores de
comentarios
Notacin..