carrera de sistemas&informática umss: cochabamba-bolivia mgr. indira camacho del castillo...

28
Carrera de Sistemas&Informática UMSS: Cochabamba-Bolivia Mgr. Indira Camacho del Castillo Materia: Ingeniería de Software 1 MANTENIMIENTO MANTENIMIENTO

Upload: luis-lozano-palma

Post on 24-Jan-2016

221 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Carrera de Sistemas&Informática UMSS: Cochabamba-Bolivia Mgr. Indira Camacho del Castillo Materia: Ingeniería de Software 1 MANTENIMIENTO

Carrera de Sistemas&Informática UMSS: Cochabamba-Bolivia Mgr. Indira Camacho del Castillo Materia: Ingeniería de Software

1

MANTENIMIENTO MANTENIMIENTO

Page 2: Carrera de Sistemas&Informática UMSS: Cochabamba-Bolivia Mgr. Indira Camacho del Castillo Materia: Ingeniería de Software 1 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)

Page 3: Carrera de Sistemas&Informática UMSS: Cochabamba-Bolivia Mgr. Indira Camacho del Castillo Materia: Ingeniería de Software 1 MANTENIMIENTO

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

Page 4: Carrera de Sistemas&Informática UMSS: Cochabamba-Bolivia Mgr. Indira Camacho del Castillo Materia: Ingeniería de Software 1 MANTENIMIENTO

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.

Page 5: Carrera de Sistemas&Informática UMSS: Cochabamba-Bolivia Mgr. Indira Camacho del Castillo Materia: Ingeniería de Software 1 MANTENIMIENTO

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.

Page 6: Carrera de Sistemas&Informática UMSS: Cochabamba-Bolivia Mgr. Indira Camacho del Castillo Materia: Ingeniería de Software 1 MANTENIMIENTO

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.

Page 7: Carrera de Sistemas&Informática UMSS: Cochabamba-Bolivia Mgr. Indira Camacho del Castillo Materia: Ingeniería de Software 1 MANTENIMIENTO

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

Page 8: Carrera de Sistemas&Informática UMSS: Cochabamba-Bolivia Mgr. Indira Camacho del Castillo Materia: Ingeniería de Software 1 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

Page 9: Carrera de Sistemas&Informática UMSS: Cochabamba-Bolivia Mgr. Indira Camacho del Castillo Materia: Ingeniería de Software 1 MANTENIMIENTO

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)

Page 10: Carrera de Sistemas&Informática UMSS: Cochabamba-Bolivia Mgr. Indira Camacho del Castillo Materia: Ingeniería de Software 1 MANTENIMIENTO

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

Page 11: Carrera de Sistemas&Informática UMSS: Cochabamba-Bolivia Mgr. Indira Camacho del Castillo Materia: Ingeniería de Software 1 MANTENIMIENTO

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

Page 12: Carrera de Sistemas&Informática UMSS: Cochabamba-Bolivia Mgr. Indira Camacho del Castillo Materia: Ingeniería de Software 1 MANTENIMIENTO

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. 

Page 13: Carrera de Sistemas&Informática UMSS: Cochabamba-Bolivia Mgr. Indira Camacho del Castillo Materia: Ingeniería de Software 1 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

Page 14: Carrera de Sistemas&Informática UMSS: Cochabamba-Bolivia Mgr. Indira Camacho del Castillo Materia: Ingeniería de Software 1 MANTENIMIENTO

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

Page 15: Carrera de Sistemas&Informática UMSS: Cochabamba-Bolivia Mgr. Indira Camacho del Castillo Materia: Ingeniería de Software 1 MANTENIMIENTO

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

Page 16: Carrera de Sistemas&Informática UMSS: Cochabamba-Bolivia Mgr. Indira Camacho del Castillo Materia: Ingeniería de Software 1 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%

Page 17: Carrera de Sistemas&Informática UMSS: Cochabamba-Bolivia Mgr. Indira Camacho del Castillo Materia: Ingeniería de Software 1 MANTENIMIENTO

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

Page 18: Carrera de Sistemas&Informática UMSS: Cochabamba-Bolivia Mgr. Indira Camacho del Castillo Materia: Ingeniería de Software 1 MANTENIMIENTO

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.

Page 19: Carrera de Sistemas&Informática UMSS: Cochabamba-Bolivia Mgr. Indira Camacho del Castillo Materia: Ingeniería de Software 1 MANTENIMIENTO

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.

Page 20: Carrera de Sistemas&Informática UMSS: Cochabamba-Bolivia Mgr. Indira Camacho del Castillo Materia: Ingeniería de Software 1 MANTENIMIENTO

Carrera de Sistemas&Informática UMSS: Cochabamba-Bolivia Mgr. Indira Camacho del Castillo Materia: Ingeniería de Software

20

REINGENIERIA

Page 21: Carrera de Sistemas&Informática UMSS: Cochabamba-Bolivia Mgr. Indira Camacho del Castillo Materia: Ingeniería de Software 1 MANTENIMIENTO

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

Page 22: Carrera de Sistemas&Informática UMSS: Cochabamba-Bolivia Mgr. Indira Camacho del Castillo Materia: Ingeniería de Software 1 MANTENIMIENTO

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

Page 23: Carrera de Sistemas&Informática UMSS: Cochabamba-Bolivia Mgr. Indira Camacho del Castillo Materia: Ingeniería de Software 1 MANTENIMIENTO

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

Page 24: Carrera de Sistemas&Informática UMSS: Cochabamba-Bolivia Mgr. Indira Camacho del Castillo Materia: Ingeniería de Software 1 MANTENIMIENTO

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

Page 25: Carrera de Sistemas&Informática UMSS: Cochabamba-Bolivia Mgr. Indira Camacho del Castillo Materia: Ingeniería de Software 1 MANTENIMIENTO

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

Page 26: Carrera de Sistemas&Informática UMSS: Cochabamba-Bolivia Mgr. Indira Camacho del Castillo Materia: Ingeniería de Software 1 MANTENIMIENTO

Carrera de Sistemas&Informática UMSS: Cochabamba-Bolivia Mgr. Indira Camacho del Castillo Materia: Ingeniería de Software

26

RelacionesRelaciones

Page 27: Carrera de Sistemas&Informática UMSS: Cochabamba-Bolivia Mgr. Indira Camacho del Castillo Materia: Ingeniería de Software 1 MANTENIMIENTO

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.

Page 28: Carrera de Sistemas&Informática UMSS: Cochabamba-Bolivia Mgr. Indira Camacho del Castillo Materia: Ingeniería de Software 1 MANTENIMIENTO

Carrera de Sistemas&Informática UMSS: Cochabamba-Bolivia Mgr. Indira Camacho del Castillo Materia: Ingeniería de Software

28

The EndThe End