Upload
luis-lozano-palma
View
219
Download
0
Embed Size (px)
Citation preview
Carrera de Sistemas&Informática UMSS: Cochabamba-Bolivia Mgr. Indira Camacho del Castillo Materia: Ingeniería de Software
1
MANTENIMIENTO MANTENIMIENTO
Carrera de Sistemas&Informática UMSS: Cochabamba-Bolivia Mgr. Indira Camacho del Castillo Materia: Ingeniería de Software
2
MANTENIMIENTO MANTENIMIENTO DefiniciónDefinición
Es el conjunto de actividades que la empresa desarrolladora realiza sobre el software una vez que éste está siendo operado (después de la entrega), para cambiar el sistema, (corrección de codificación o diseño, introducir nuevos requerimientos, etc)
Carrera de Sistemas&Informática UMSS: Cochabamba-Bolivia Mgr. Indira Camacho del Castillo Materia: Ingeniería de Software
3
TIPOS DE MANTENIMIENTOTIPOS DE MANTENIMIENTO
Mantenimiento CorrectivoMantenimiento AdaptativoMantenimiento PerfectivoMantenimiento Preventivo
Carrera de Sistemas&Informática UMSS: Cochabamba-Bolivia Mgr. Indira Camacho del Castillo Materia: Ingeniería de Software
4
MANTENIMIENTO CORRECTIVOMANTENIMIENTO CORRECTIVO
Consiste en modificar el sistema tras la detección de defectos, ambigüedades o errores.
Carrera de Sistemas&Informática UMSS: Cochabamba-Bolivia Mgr. Indira Camacho del Castillo Materia: Ingeniería de Software
5
MANTENIMIENTO MANTENIMIENTO ADAPTATIVOADAPTATIVO
Consiste en modificar el sistema para acomodarlo a cambios físicos del entorno.
Carrera de Sistemas&Informática UMSS: Cochabamba-Bolivia Mgr. Indira Camacho del Castillo Materia: Ingeniería de Software
6
MANTENIMIENTO PERFECTIVOMANTENIMIENTO PERFECTIVO
Consiste en mejorar el Software,,agregar funcionalidad adicional para cumplir con las nuevas necesidades/requerimientos de los usuarios/negocio.
Carrera de Sistemas&Informática UMSS: Cochabamba-Bolivia Mgr. Indira Camacho del Castillo Materia: Ingeniería de Software
7
ESFUERZO DEDICADO A CADA ESFUERZO DEDICADO A CADA TIPO DE MANTENIMIENTOTIPO DE MANTENIMIENTO
Carrera de Sistemas&Informática UMSS: Cochabamba-Bolivia Mgr. Indira Camacho del Castillo Materia: Ingeniería de Software
8
Relación entre los tipos de Relación entre los tipos de MantenimientoMantenimiento
Carrera de Sistemas&Informática UMSS: Cochabamba-Bolivia Mgr. Indira Camacho del Castillo Materia: Ingeniería de Software
9
ACTIVIDADES DEL PROCESO DE ACTIVIDADES DEL PROCESO DE
MANTENIMIENTOMANTENIMIENTO (Sommerville) (Sommerville)
Carrera de Sistemas&Informática UMSS: Cochabamba-Bolivia Mgr. Indira Camacho del Castillo Materia: Ingeniería de Software
10
EVOLUCIÓN DE SOFTWAREEVOLUCIÓN DE SOFTWARE
La evolución del software implica un mantenimiento del mismo durante el ciclo de vida del software
La evolución del SW es una garantía frente a su obsolescencia
Los cambios continuos en los requisitos implican un proceso evolutivo
Leyes de Lehman & Belady
Carrera de Sistemas&Informática UMSS: Cochabamba-Bolivia Mgr. Indira Camacho del Castillo Materia: Ingeniería de Software
11
OBJETIVOSOBJETIVOSDE LA EVOLUCIÓN DE SOFTWAREDE LA EVOLUCIÓN DE SOFTWAREMantener operativo al sistemaMantener contentos a los usuariosMaximizar la inversión y reducir costesAlargar la vida del softwareAdaptarlo a nuevos cambios o
requisitos
Carrera de Sistemas&Informática UMSS: Cochabamba-Bolivia Mgr. Indira Camacho del Castillo Materia: Ingeniería de Software
12
Lehman and Belady Lehman and Belady (1985)(1985)
Primera Ley: cambio continuo: Cada vez menos útil Mantenimiento es inevitable
Segunda Ley: el incremento de la complejidad: Estructura más compleja más costos
Tercera Ley: la evolución de los programas grandes: Proceso autorregulado. a) tamaño , b)tiempo, c)Nro. De errores reportados, son invariantes para cada entrega del sistema. (actúan como una masa inerte)
Cuarta Ley: Estabilidad organizacional: Tiempo de vida y la tasa de desarrollo son aproximadamente constantes e independiente de los recursos asignados al desarrollo. (eq. grandes improductivos o cambiar equipo)
Quinta Ley: Conservación de la familiaridad: Durante la vida de un sistema el cambio incremental en cada entrega es aproximadamente constante, semejantes.
Las leyes son importantes porque sirven de base para planificar y administrar el proceso de mantenimiento.
Carrera de Sistemas&Informática UMSS: Cochabamba-Bolivia Mgr. Indira Camacho del Castillo Materia: Ingeniería de Software
13
MEDIDAS DE MEDIDAS DE MANTENIBILIDADMANTENIBILIDAD
La medida más común dependiente del entorno es el tiempo medio para realizar un cambio:
• Número de problemas no resueltos
• Tiempo empleado en problemas no resueltos
• Porcentaje de cambios que introducen fallos
Carrera de Sistemas&Informática UMSS: Cochabamba-Bolivia Mgr. Indira Camacho del Castillo Materia: Ingeniería de Software
14
COSTOS DE MANTENIMIENTO Y LOS
COSTOS DE DESARROLLO
Carrera de Sistemas&Informática UMSS: Cochabamba-Bolivia Mgr. Indira Camacho del Castillo Materia: Ingeniería de Software
15
COSTOS DE DESARROLLO DE COSTOS DE DESARROLLO DE UN SISTEMAUN SISTEMA
Costos directos : desarrollo del sistema
Costos indirectos: instalación, mantenimiento
Carrera de Sistemas&Informática UMSS: Cochabamba-Bolivia Mgr. Indira Camacho del Castillo Materia: Ingeniería de Software
16
CostosCostos
Lientz & Swason: sugieren que el 50% de su esfuerzo es lo que normalmente se gasta en mantener programas otros autores sugieren que se llega a gastar hasta un 80%
Carrera de Sistemas&Informática UMSS: Cochabamba-Bolivia Mgr. Indira Camacho del Castillo Materia: Ingeniería de Software
17
0 100 200 300 400 500 600 700 800 900
Sistema 1
Sistema 2
Costos de Mantenimiento Vs. Costos de Desarrollo
Costos desarrollo Costos Mantenimiento
720220
200 800
Carrera de Sistemas&Informática UMSS: Cochabamba-Bolivia Mgr. Indira Camacho del Castillo Materia: Ingeniería de Software
18
COSTOS DE COSTOS DE MANTENIMIENTOMANTENIMIENTOUna gran cantidad del software actual es
muy antiguoSucesivas migraciones a distintas
plataformas o sistemas operativos.Múltiples modificaciones para mejorarlos y
adaptarlos a las necesidades de los usuarios.
Cambios incontrolados no tienen en cuenta la arquitectura del sistema, no se realizó ingeniería inversa o reingeniería.
Carrera de Sistemas&Informática UMSS: Cochabamba-Bolivia Mgr. Indira Camacho del Castillo Materia: Ingeniería de Software
19
Factores de costos deFactores de costos de mantenimiento mantenimiento
Factores Técnicos Factores no técnicosIndependencia de módulosLas modificaciones solo afectan a una parte del programa.
Dominio de la aplicaciónSi la aplicación tiene requerimientos claros Se
necesita poco mantenimiento adaptativo. Si la aplicación es nueva , generalmente se exigen modificaciones sobre la marcha.
Lenguaje de programaciónCuanto más alto del nivel del lenguaje de programación, más fácil realizar el mantenimiento.
Estabilidad del staff¡Costo de mantenimiento es más económico si el mismo que desarrolló el sistema es también quién realiza el mantenimiento
Estilo de programaciónCuanto más entendible el estilo de programación, el mantenimiento es menos costoso.
Tiempo de vida (edad) del programa.El tiempo de vida depende de aplicación. Si la aplicación es obsoleta o nuevo hardware ya se desarrolló, entonces el programa también es obsoleto. De manera general los costos crecen con el tiempo de vida de los programas, a más tiempo de vida más costos.
Validación del programaCuanto menos errores, entonces menos requerimientos de mantenimiento.
Entorno del programaCuanto más dependiente del entorno de
la organización entonces se requiere más modificaciones.
DocumentaciónCuanto más documentado el programa este es más entendible y por lo tanto más fácil de mantener.
Estabilidad del hardwareSi el programa es para un hardware en particular entonces requiere más modificaciones.
Carrera de Sistemas&Informática UMSS: Cochabamba-Bolivia Mgr. Indira Camacho del Castillo Materia: Ingeniería de Software
20
REINGENIERIA
Carrera de Sistemas&Informática UMSS: Cochabamba-Bolivia Mgr. Indira Camacho del Castillo Materia: Ingeniería de Software
21
¿Porqué es necesario?¿Porqué es necesario?
V 1.2aV 1.2aV 1.2aV 1.2a V 1.2V 1.2V 1.2V 1.2
nuevo requerimientonuevo requerimientonuevo requerimientonuevo requerimiento
arreglo A812arreglo A812arreglo A812arreglo A812
arreglo A790arreglo A790arreglo A790arreglo A790
Arquitectura 1.0Arquitectura 1.0Arquitectura 1.0Arquitectura 1.0
Carrera de Sistemas&Informática UMSS: Cochabamba-Bolivia Mgr. Indira Camacho del Castillo Materia: Ingeniería de Software
22
Resistencia al cambioResistencia al cambio
V 1.2aV 1.2aV 1.2aV 1.2a ArquitectuArquitectuArquitectuArquitectu
nuevo requerimientonuevo requerimientonuevo requerimientonuevo requerimiento
arreglo A812arreglo A812arreglo A812arreglo A812
arreglo A790arreglo A790arreglo A790arreglo A790
V 1.2V 1.2V 1.2V 1.2
a 1.0a 1.0rr
Carrera de Sistemas&Informática UMSS: Cochabamba-Bolivia Mgr. Indira Camacho del Castillo Materia: Ingeniería de Software
23
Reingeniería: Reingeniería: ¿Porqué es ¿Porqué es necesario?necesario?
Alto costo de mantenimiento, porque la estructura de los sistemas se modifica:
•Puede no existir•No es obvia para el lector•Continuos mantenimientos puede haber corroido la estructura original y no es discernible.
V 1.2aV 1.2aV 1.2aV 1.2a ArquitectuArquitectuArquitectuArquitectu
nuevo requerimientonuevo requerimientonuevo requerimientonuevo requerimientoarreglo A812arreglo A812arreglo A812arreglo A812
arreglo A790arreglo A790arreglo A790arreglo A790
V 1.2V 1.2V 1.2V 1.2
a 1.0a 1.0rr
Carrera de Sistemas&Informática UMSS: Cochabamba-Bolivia Mgr. Indira Camacho del Castillo Materia: Ingeniería de Software
24
MANTENIMIENTO PREVENTIVOMANTENIMIENTO PREVENTIVO
Llamado también reingeniería
Consiste en hacer cambios al software a fin de que se pueda corregir, adaptar y mejorar fácilmente
LA REESTRUCTURACIÓN (parcial/completa)
Vs. RESCRIBIR TODO EL PROGRAMA
Carrera de Sistemas&Informática UMSS: Cochabamba-Bolivia Mgr. Indira Camacho del Castillo Materia: Ingeniería de Software
25
PROCESO DE PROCESO DE REINGENIERÍAREINGENIERÍAEsta actividad involucra examinar
partes del programa y su reescritura para MEJORAR su ESTRUCTURA
Reformatear programa
Identificar abstracciones
de datos
Asignar nombres
significativos
Simplificar condiciones
Quitar goto
Quitar código extraño
Carrera de Sistemas&Informática UMSS: Cochabamba-Bolivia Mgr. Indira Camacho del Castillo Materia: Ingeniería de Software
26
RelacionesRelaciones
Carrera de Sistemas&Informática UMSS: Cochabamba-Bolivia Mgr. Indira Camacho del Castillo Materia: Ingeniería de Software
27
¿CUANDO APLICAR ¿CUANDO APLICAR REINGENIERÍA?REINGENIERÍA?
Componentes con tasa de fallas altaComponentes con altos índices de
cambios anualesComponentes con alta complejidad.Componentes que no están dentro los
estándares de la compañía.
Carrera de Sistemas&Informática UMSS: Cochabamba-Bolivia Mgr. Indira Camacho del Castillo Materia: Ingeniería de Software
28
The EndThe End