SlideShare una empresa de Scribd logo
1 de 30
Descargar para leer sin conexión
7. Mantenimiento de Software
Ingeniería de Software
UTM 2017
Junio 2015
2
3
4
5
6
Introducción
✤ Durante su ciclo de vida, el software se ve presionado a cambiar. Estas
presiones son las consecuencias inevitables de la naturaleza del software y
el constante cambio en el medio ambiente en el que se usa.
✤ Una forma de reducir este impacto es de diseñar, desarrollar y mantener un
sistema que facilite el cambio y reduzca el impacto de cambios individuales.
✤ Estos esfuerzos se encuentran englobados en el mantenimiento de
software.
7
7.1 Aspectos Generales
✤ El mantenimiento de software es la modificación de un producto
de software después de su entrega, con el objetivo de corregir
fallas, mejorar su ejecución u otros atributos. Un error común es
pensar que es sólo corregir defectos.
8
Cambios
✤ Cambios adaptativos - para volver el software más acorde con condiciones
diferentes
✤ Cambios correctivos - para quitar defectos
✤ Cambios perfectivos - para mejorar el software
✤ Cambios preventivos - para detener el deterioro
9
Ventajas
✤ Reducir costos de mantenimiento
✤ Desarrollo de un diseño modular
✤ Extender la vida del sistema
✤ Diferir el reemplazo del sistema
✤ Reutilizar módulos o componentes
10
Mantenimiento Óptimo
Maximiza ganancias y minimiza costos
Los costos dependen de la disponibilidad y capacidad de manutención del
sistema para determinar los parámetros a minimizar.
Ejemplos de parámetros:
✤ costo de fallo, costo de downtime, costo de mantenimiento correctivo,
preventivo y reemplazo del sistema
11
Costo de Mantenimiento
✤ Reportes sugieren que el costo de
mantenimiento es alto, aproximadamente
el 67% de el total del ciclo de desarrollo
✤ En promedio, es aproximadamente del
50%. ¿Por qué?
http://www.tutorialspoint.com/software_engineering/software_maintenance_overview.htm
12
Actividades de Mantenimiento
✤ Identificación y rastreo
✤ Análisis
✤ Diseño
✤ Implementación
✤ Pruebas del sistema
✤ Pruebas de Aceptación
✤ Entrega
✤ Administración del Mantenimiento 13
Distribución de las Actividades de
Mantenimiento
http://www.slideshare.net/rajeevsharan/software-maintenance-9841842
14
Problemas de Mantenimiento
✤ Es el programa de alguien más
✤ El desarrollador no está disponible
✤ La documentación no existe
✤ No fue diseñado con el cambio en mente
✤ El mantenimento no es una actividad primordial
15
7.2 Características del Mantenimiento
Razones del costo tan elevado del mantenimiento
1. Estabilidad del Equipo de Desarrollo - los equipos de desarrollo se disuelven. Se invierte
mucho tiempo y dinero en volver a comprender lo esencial del sistema
2. Responsabilidad Contractual - contrato de desarrollo puede ser diferente al contrato de
mantenimiento
3. Habilidades de Personal - el mantenimiento no se aprecia igual que el desarrollo de software
4. Edad y Estructura del Sistema
16
Predicción del Mantenimiento
Somerville pp 455
17
Complejidad del Mantenimiento
1. El número y la complejidad de las interfaces del sistema
2. El número de requerimientos del sistema intrínsecamente volátiles
3. Los procesos de negocios en los que se utiliza el sistema
18
7.3 Categorías de Mantenimiento: Correctivo,
Adaptativo, Preventivo, Perfectivo
Existen tres tipos diferentes de mantenimiento de software:
1. Mantenimiento para depurar defectos de software. Generalmente, los errores de código son relativamente
baratos de corregir; los errores de diseño son mucho más caros ya que implican reescribir varios
componentes de los programas. Los errores de requerimientos son los más caros de reparar debido a que
puede ser necesario un rediseño extenso del sistema.
2. Mantenimiento para adaptar el software a diversos entornos operativos. Se requiere cuando se cambia
algún aspecto del entorno del sistema, por ejemplo el hardware, la plataforma del sistema operativo u otro
software de soporte. El sistema de aplicaciones debe modificarse para adaptarse a estos cambios en el
entorno.
3. Mantenimiento para añadir o modificar funcionalidades al sistema. Es necesario cuando los
requerimientos del sistema cambian como respuesta a cambios organizacionales o del negocio. La escala de
los cambios requeridos en el software es a menudo mucho mayor que en los otros tipos de mantenimiento.
19
✤ En la práctica, no existe una clara distinción entre estos tipos de
mantenimiento. Cuando se adapta el sistema a un nuevo entorno, pueden
añadirse funcionalidades para aprovechar las ventajas de las nuevas
características del entorno.
✤ Los defectos del software a menudo se muestran debido a que los usuarios
utilizan el sistema en formas no anticipadas. La mejor forma de reparar estos
defectos consiste en realizar cambios en el sistema que se adapten a su forma
de trabajo.
20
✤ Normalmente se reconocen estos tipos de mantenimiento, pero
varias personas les dan distintos nombres. El mantenimiento
correctivo se utiliza generalmente para referirse al
mantenimiento para reparación de defectos. Sin embargo, el
mantenimiento adaptativo algunas veces significa adaptarse a un
nuevo entorno y puede significar adaptar el software a nuevos
requerimientos.
✤ El mantenimiento perfectivo puede significar perfeccionar el
software implementando nuevos requerimientos; en otros casos
significa mantener la funcionalidad del sistema, pero mejorando
su estructura y su rendimiento.
21
Costos de Mantenimiento
Los costos de mantenimiento depende de la naturaleza del sistema:
✤ Los costos de mantenimiento para sistemas de aplicaciones corporativas
son en general compatibles con los costos del desarrollo de los sistemas
✤ Para sistemas de tiempo real embebidos, los costos de mantenimiento
pueden ser hasta cuatro veces mayores que los costos de desarrollo
22
Costos de Mantenimiento
Ingeniería de Software de Sommerville pp. 453
23
7.4 Reingeniería de Sistemas
✤ Como hemos visto, el proceso de mantenimiento de sistemas puede ser
complicado, especialmente para sistemas heredados. Estos sistemas son difíciles
de comprender y de mejorar.
✤ Una manera de poder hacer mantenimiento a sistemas heredados es utilizando
un proceso de reingeniería. La reingeniería de sistemas consiste en en la
reimplementación de sistemas heredados para hacerlos más mantenibles.
✤ Reingeniería implica redocumentar el sistema, organizar y restructurar, traducir
el sistema a un lenguaje moderno y modificar y actualizar la estructura de los
datos. Su funcionalidad y arquitectura no se cambia.
24
Ventajas de la Reingeniería
1. Riesgo reducido. Existe un alto riesgo en volver a desarrollar software crítico para negocios.
Pueden cometerse errores en la especificación, o puede haber problemas en el desarrollo. Los
retrasos en la introducción del nuevo software pueden significar pérdidas en el negocio e incurrir
en costos adicionales. Por ejemplo, en 1999 una gran compañía de comida en Estados Unidos
tuvo retrasos en la introducción de un nuevo sistema de pedidos, lo que condujo a retrasos en las
entregas de productos valoradas en 100 millones de dólares en una estación de máxima venta.
2. Costo reducido. El costo de hacer reingeniería es significativamente menor que el costo de
desarrollar nuevo software. Ulrich (Ulrich, 1990) cita un ejemplo de un sistema comercial en el
que los costos de reimplementación se estimaron en 50 millones de dólares. Al sistema se le
aplicó reingeniería con éxito por 12 millones de dólares. Se presume que, con la tecnología
moderna del software, el costo relativo de la reimplementación probablemente sea menor, pero
aún así supera de forma considerable los costos de la reingeniería.
25
Diferencias entre Ingeniería y Reingeniería
Ingeniería de Software de Sommerville pp. 459
26
Actividades de Reingeniería
27
Actividades de Reingeniería
1. Traducción del código fuente. El programa es convenido desde un lenguaje de programación antiguo a
una versión más moderna del mismo lenguaje o a un lenguaje diferente.
2. Ingeniería inversa. El programa se analiza y se extrae información a partir de él. Ésto ayuda a
documentar su organización y funcionalidad.
3. Mejora de la estructura del sistema. La estructura de control del programa se analiza y modifica para
hacerla más fácil de leer y comprender.
4. Modularización de los programas. Se agrupan las partes relacionadas del programa y se elimina la
redundancia en donde resulta adecuado. Esta etapa puede implicar una transformación de un sistema
centralizado a una plataforma distribuida.
5. Reingeniería de datos. Los datos procesados por el programa se cambian para reflejar los cambios en él.
28
Costos en Reingeniería
1. La calidad del software en el que se va a hacer reingeniería. Cuanto más baja sea la calidad del software
y su documentación asociada, más altos serán los costos de reingeniería.
2. Las herramientas de soporte disponibles para la reingeniería. Normalmente no es rentable hacer
reingeniería sobre un sistema software a menos que puedan utilizarse herramientas CASE para
automatizar la mayor parte de los cambios en los programas.
3. La amplitud de la conversión de datos requerida. Si el sistema sobre el que se va a hacer reingeniería
requiere que se conviertan grandes volúmenes de datos, el costo del proceso se incrementa de forma
significativa.
4. La disponibilidad de personal experto. Si el personal responsable de mantener el sistema no puede
involucrarse en el proceso de reingeniería, los costos se incrementarán debido a que los ingenieros
encargados de la reingeniería tienen que invertir una gran cantidad de tiempo en comprender el sistema.
29
Fin.
Ingeniería de Software
UTM 2017
16 de Junio, 2015
30

Más contenido relacionado

La actualidad más candente

Requerimiento funcional y no funcional
Requerimiento funcional y no funcional Requerimiento funcional y no funcional
Requerimiento funcional y no funcional CristobalFicaV
 
Cuestionario
CuestionarioCuestionario
CuestionarioJose Nava
 
Cuadro comparativo modelos para el desarrollo de software
Cuadro comparativo modelos para el desarrollo de softwareCuadro comparativo modelos para el desarrollo de software
Cuadro comparativo modelos para el desarrollo de softwarepaoaboytes
 
Sistemas críticos - Ingeniería de Sistemas
Sistemas críticos - Ingeniería de SistemasSistemas críticos - Ingeniería de Sistemas
Sistemas críticos - Ingeniería de SistemasUniminuto - San Francisco
 
Ingeniería de requisitos e ingeniería de requerimientos
Ingeniería de requisitos e ingeniería de requerimientosIngeniería de requisitos e ingeniería de requerimientos
Ingeniería de requisitos e ingeniería de requerimientosCesar Prado
 
Modelo Cascada y Espiral
Modelo Cascada y EspiralModelo Cascada y Espiral
Modelo Cascada y Espiraljuanksi28
 
Tipos de pruebas de software
Tipos de pruebas de softwareTipos de pruebas de software
Tipos de pruebas de softwareGuillermo Lemus
 
Prototipos
PrototiposPrototipos
PrototiposTensor
 
Tecnicas de estimacion de software
Tecnicas de estimacion de softwareTecnicas de estimacion de software
Tecnicas de estimacion de softwareAdes27
 
Comprensión de los Requerimientos
Comprensión de los Requerimientos Comprensión de los Requerimientos
Comprensión de los Requerimientos Mauricio Blandon
 
ARQUITECTURA DE SOFTWARE.pdf
ARQUITECTURA DE SOFTWARE.pdfARQUITECTURA DE SOFTWARE.pdf
ARQUITECTURA DE SOFTWARE.pdfDavidVeraOlivera
 
Ingenieria de software basada en componentes -jeiner gonzalez blanco
Ingenieria de software basada en componentes  -jeiner gonzalez blancoIngenieria de software basada en componentes  -jeiner gonzalez blanco
Ingenieria de software basada en componentes -jeiner gonzalez blancoJeiner Gonzalez Blanco
 
Fundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrollo
Fundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrolloFundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrollo
Fundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrolloJosé Antonio Sandoval Acosta
 

La actualidad más candente (20)

Requerimiento funcional y no funcional
Requerimiento funcional y no funcional Requerimiento funcional y no funcional
Requerimiento funcional y no funcional
 
Modelo incremental
Modelo incrementalModelo incremental
Modelo incremental
 
Cuestionario
CuestionarioCuestionario
Cuestionario
 
Cuadro comparativo modelos para el desarrollo de software
Cuadro comparativo modelos para el desarrollo de softwareCuadro comparativo modelos para el desarrollo de software
Cuadro comparativo modelos para el desarrollo de software
 
Sistemas críticos - Ingeniería de Sistemas
Sistemas críticos - Ingeniería de SistemasSistemas críticos - Ingeniería de Sistemas
Sistemas críticos - Ingeniería de Sistemas
 
Ensayo sobre la calidad de software
Ensayo sobre la calidad de softwareEnsayo sobre la calidad de software
Ensayo sobre la calidad de software
 
Ingeniería de requisitos e ingeniería de requerimientos
Ingeniería de requisitos e ingeniería de requerimientosIngeniería de requisitos e ingeniería de requerimientos
Ingeniería de requisitos e ingeniería de requerimientos
 
Proceso del Software
Proceso del Software Proceso del Software
Proceso del Software
 
Modelo Cascada y Espiral
Modelo Cascada y EspiralModelo Cascada y Espiral
Modelo Cascada y Espiral
 
Tipos de pruebas de software
Tipos de pruebas de softwareTipos de pruebas de software
Tipos de pruebas de software
 
Modelo cascada
Modelo cascadaModelo cascada
Modelo cascada
 
Ingeniería de software modelo incremental
Ingeniería de software  modelo incrementalIngeniería de software  modelo incremental
Ingeniería de software modelo incremental
 
Prototipo evolutivo
Prototipo evolutivoPrototipo evolutivo
Prototipo evolutivo
 
Modelamiento software
Modelamiento softwareModelamiento software
Modelamiento software
 
Prototipos
PrototiposPrototipos
Prototipos
 
Tecnicas de estimacion de software
Tecnicas de estimacion de softwareTecnicas de estimacion de software
Tecnicas de estimacion de software
 
Comprensión de los Requerimientos
Comprensión de los Requerimientos Comprensión de los Requerimientos
Comprensión de los Requerimientos
 
ARQUITECTURA DE SOFTWARE.pdf
ARQUITECTURA DE SOFTWARE.pdfARQUITECTURA DE SOFTWARE.pdf
ARQUITECTURA DE SOFTWARE.pdf
 
Ingenieria de software basada en componentes -jeiner gonzalez blanco
Ingenieria de software basada en componentes  -jeiner gonzalez blancoIngenieria de software basada en componentes  -jeiner gonzalez blanco
Ingenieria de software basada en componentes -jeiner gonzalez blanco
 
Fundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrollo
Fundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrolloFundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrollo
Fundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrollo
 

Destacado

Mantenimiento de Software
Mantenimiento de SoftwareMantenimiento de Software
Mantenimiento de SoftwareLia IS
 
Software para realizar mantenimiento preventivo.
Software para realizar mantenimiento preventivo. Software para realizar mantenimiento preventivo.
Software para realizar mantenimiento preventivo. Uziel Mendiola Rws
 
Mantenimiento en Software - Modelo Evolutivo
Mantenimiento en Software - Modelo EvolutivoMantenimiento en Software - Modelo Evolutivo
Mantenimiento en Software - Modelo Evolutivomiguelpaz1995
 
Contrato informativo ani espinoza
Contrato informativo ani espinozaContrato informativo ani espinoza
Contrato informativo ani espinozaaniliseth
 
contratos informatico
contratos informaticocontratos informatico
contratos informaticoCESAR_98_91
 
CONTRATOS_INFORMATICOS_PED_V
CONTRATOS_INFORMATICOS_PED_VCONTRATOS_INFORMATICOS_PED_V
CONTRATOS_INFORMATICOS_PED_VKaly Samber
 
Mantenimiento de Software y Hardware al Laboratorio de la Escuela Básica Naci...
Mantenimiento de Software y Hardware al Laboratorio de la Escuela Básica Naci...Mantenimiento de Software y Hardware al Laboratorio de la Escuela Básica Naci...
Mantenimiento de Software y Hardware al Laboratorio de la Escuela Básica Naci...Nelly Meléndez Gómez
 
MODELO DE CONTRATO INFORMÁTICO
MODELO DE CONTRATO INFORMÁTICOMODELO DE CONTRATO INFORMÁTICO
MODELO DE CONTRATO INFORMÁTICOZara Elizabeth
 
MANTENIMIENTO DE COMPUTADORAS( HARDWARE Y SOFTWARE).
MANTENIMIENTO DE COMPUTADORAS( HARDWARE Y SOFTWARE).MANTENIMIENTO DE COMPUTADORAS( HARDWARE Y SOFTWARE).
MANTENIMIENTO DE COMPUTADORAS( HARDWARE Y SOFTWARE).Christian Romero
 
Adquisición de software y hardware
Adquisición de software y hardwareAdquisición de software y hardware
Adquisición de software y hardwareCarlos R. Adames B.
 
7 Propuesta Manejo De Contratos Con Proveedores
7   Propuesta Manejo De Contratos Con Proveedores7   Propuesta Manejo De Contratos Con Proveedores
7 Propuesta Manejo De Contratos Con Proveedoresequisoide
 
Formato contrato de mantenimiento
Formato contrato de mantenimientoFormato contrato de mantenimiento
Formato contrato de mantenimientoyolanda guadalupe
 
Mantenimiento preventivo y correctivo de Software.
Mantenimiento preventivo y correctivo de Software.Mantenimiento preventivo y correctivo de Software.
Mantenimiento preventivo y correctivo de Software.AnasusAlarcon
 
Manual de usuario para un centro de computo
Manual de usuario para un centro de computoManual de usuario para un centro de computo
Manual de usuario para un centro de computosoldevilla1005
 

Destacado (20)

Mantenimiento del software
Mantenimiento del softwareMantenimiento del software
Mantenimiento del software
 
Mantenimiento de Software
Mantenimiento de SoftwareMantenimiento de Software
Mantenimiento de Software
 
Software para realizar mantenimiento preventivo.
Software para realizar mantenimiento preventivo. Software para realizar mantenimiento preventivo.
Software para realizar mantenimiento preventivo.
 
Mantenimiento en Software - Modelo Evolutivo
Mantenimiento en Software - Modelo EvolutivoMantenimiento en Software - Modelo Evolutivo
Mantenimiento en Software - Modelo Evolutivo
 
7. Mantenimiento de Software
7. Mantenimiento de Software7. Mantenimiento de Software
7. Mantenimiento de Software
 
Contrato informativo ani espinoza
Contrato informativo ani espinozaContrato informativo ani espinoza
Contrato informativo ani espinoza
 
contratos informatico
contratos informaticocontratos informatico
contratos informatico
 
El Contrato de desarrollo de software
El Contrato de desarrollo de softwareEl Contrato de desarrollo de software
El Contrato de desarrollo de software
 
CONTRATOS_INFORMATICOS_PED_V
CONTRATOS_INFORMATICOS_PED_VCONTRATOS_INFORMATICOS_PED_V
CONTRATOS_INFORMATICOS_PED_V
 
Mantenimiento de Software y Hardware al Laboratorio de la Escuela Básica Naci...
Mantenimiento de Software y Hardware al Laboratorio de la Escuela Básica Naci...Mantenimiento de Software y Hardware al Laboratorio de la Escuela Básica Naci...
Mantenimiento de Software y Hardware al Laboratorio de la Escuela Básica Naci...
 
MODELO DE CONTRATO INFORMÁTICO
MODELO DE CONTRATO INFORMÁTICOMODELO DE CONTRATO INFORMÁTICO
MODELO DE CONTRATO INFORMÁTICO
 
Mantenimiento De Software
Mantenimiento De SoftwareMantenimiento De Software
Mantenimiento De Software
 
MANTENIMIENTO DE COMPUTADORAS( HARDWARE Y SOFTWARE).
MANTENIMIENTO DE COMPUTADORAS( HARDWARE Y SOFTWARE).MANTENIMIENTO DE COMPUTADORAS( HARDWARE Y SOFTWARE).
MANTENIMIENTO DE COMPUTADORAS( HARDWARE Y SOFTWARE).
 
Adquisición de software y hardware
Adquisición de software y hardwareAdquisición de software y hardware
Adquisición de software y hardware
 
7 Propuesta Manejo De Contratos Con Proveedores
7   Propuesta Manejo De Contratos Con Proveedores7   Propuesta Manejo De Contratos Con Proveedores
7 Propuesta Manejo De Contratos Con Proveedores
 
Formato contrato de mantenimiento
Formato contrato de mantenimientoFormato contrato de mantenimiento
Formato contrato de mantenimiento
 
Mantenimiento preventivo y correctivo de Software.
Mantenimiento preventivo y correctivo de Software.Mantenimiento preventivo y correctivo de Software.
Mantenimiento preventivo y correctivo de Software.
 
Manual de usuario para un centro de computo
Manual de usuario para un centro de computoManual de usuario para un centro de computo
Manual de usuario para un centro de computo
 
Software financiero
Software financieroSoftware financiero
Software financiero
 
El contrato informatico
El contrato informaticoEl contrato informatico
El contrato informatico
 

Similar a 7. Mantenimiento de Software

Mantenimieto de Software
Mantenimieto de SoftwareMantenimieto de Software
Mantenimieto de SoftwareJair Barzola
 
7. cambios en el software y mejora de procesos
7. cambios en el software y mejora de procesos7. cambios en el software y mejora de procesos
7. cambios en el software y mejora de procesossilviamap64
 
Reingenieria
ReingenieriaReingenieria
ReingenieriaAnel Sosa
 
TECNICAS DE MANTENIMIENTO DE SW.pptx
TECNICAS DE MANTENIMIENTO DE SW.pptxTECNICAS DE MANTENIMIENTO DE SW.pptx
TECNICAS DE MANTENIMIENTO DE SW.pptxNestorBenitez22
 
Unidad 4 Gerencia
Unidad 4 GerenciaUnidad 4 Gerencia
Unidad 4 GerenciaEliana O.
 
Mantenimiento de-software
Mantenimiento de-softwareMantenimiento de-software
Mantenimiento de-softwareNicolas Garcia
 
Reingeniería
Reingeniería Reingeniería
Reingeniería one_ramos
 
Mantenimiento de-software-v6 abad-esquenleyner
Mantenimiento de-software-v6 abad-esquenleynerMantenimiento de-software-v6 abad-esquenleyner
Mantenimiento de-software-v6 abad-esquenleynerLeyner Adan Abad Esquen
 
Mantenimiento de software
Mantenimiento de softwareMantenimiento de software
Mantenimiento de softwareRuddyCorporan09
 
Mantenimiento de software
Mantenimiento de softwareMantenimiento de software
Mantenimiento de softwareCrisandy_r20
 

Similar a 7. Mantenimiento de Software (20)

Evolucion del software
Evolucion del softwareEvolucion del software
Evolucion del software
 
Mantenimieto de Software
Mantenimieto de SoftwareMantenimieto de Software
Mantenimieto de Software
 
7. cambios en el software y mejora de procesos
7. cambios en el software y mejora de procesos7. cambios en el software y mejora de procesos
7. cambios en el software y mejora de procesos
 
Reingenieria
ReingenieriaReingenieria
Reingenieria
 
TECNICAS DE MANTENIMIENTO DE SW.pptx
TECNICAS DE MANTENIMIENTO DE SW.pptxTECNICAS DE MANTENIMIENTO DE SW.pptx
TECNICAS DE MANTENIMIENTO DE SW.pptx
 
manual de compra de motos
manual de compra de motos manual de compra de motos
manual de compra de motos
 
Exposicion 3
Exposicion 3Exposicion 3
Exposicion 3
 
Mantenimiento de software (síntesis)
Mantenimiento de software (síntesis)Mantenimiento de software (síntesis)
Mantenimiento de software (síntesis)
 
Unidad 4 Gerencia
Unidad 4 GerenciaUnidad 4 Gerencia
Unidad 4 Gerencia
 
Tripticokino
TripticokinoTripticokino
Tripticokino
 
Mantenimiento de-software
Mantenimiento de-softwareMantenimiento de-software
Mantenimiento de-software
 
Reingeniería
Reingeniería Reingeniería
Reingeniería
 
Reingeniería
Reingeniería Reingeniería
Reingeniería
 
Mantenimiento de-software
Mantenimiento de-softwareMantenimiento de-software
Mantenimiento de-software
 
Modelos de desarrollo rápido de software
Modelos de desarrollo rápido de softwareModelos de desarrollo rápido de software
Modelos de desarrollo rápido de software
 
Mantenimiento de-software-v6 abad-esquenleyner
Mantenimiento de-software-v6 abad-esquenleynerMantenimiento de-software-v6 abad-esquenleyner
Mantenimiento de-software-v6 abad-esquenleyner
 
Mantenimiento de software
Mantenimiento de softwareMantenimiento de software
Mantenimiento de software
 
Mantenimiento de software
Mantenimiento de softwareMantenimiento de software
Mantenimiento de software
 
Dpss u3 a2_hehm
Dpss u3 a2_hehmDpss u3 a2_hehm
Dpss u3 a2_hehm
 
Proyecto de reingenieria de software
Proyecto de reingenieria  de softwareProyecto de reingenieria  de software
Proyecto de reingenieria de software
 

Más de Mario A Moreno Rocha

Definición del Examen Final (UTM 2017)
Definición del Examen Final (UTM 2017)Definición del Examen Final (UTM 2017)
Definición del Examen Final (UTM 2017)Mario A Moreno Rocha
 
¿Cómo haría yo el 3er parcial?
¿Cómo haría yo el 3er parcial?¿Cómo haría yo el 3er parcial?
¿Cómo haría yo el 3er parcial?Mario A Moreno Rocha
 
6. Administración de la Calidad de Software
6. Administración de la Calidad de Software6. Administración de la Calidad de Software
6. Administración de la Calidad de SoftwareMario A Moreno Rocha
 
Ingeniería de Software (UTM) - Tercer Examen Parcial
Ingeniería de Software (UTM) - Tercer Examen ParcialIngeniería de Software (UTM) - Tercer Examen Parcial
Ingeniería de Software (UTM) - Tercer Examen ParcialMario A Moreno Rocha
 
4. Diseño e Implementación de Software
4. Diseño e Implementación de Software4. Diseño e Implementación de Software
4. Diseño e Implementación de SoftwareMario A Moreno Rocha
 
2. Administración de Proyectos de Software (UTM 2071)
2. Administración de Proyectos de Software (UTM 2071)2. Administración de Proyectos de Software (UTM 2071)
2. Administración de Proyectos de Software (UTM 2071)Mario A Moreno Rocha
 
1. introducción a la Ingeniería de Software (UTM 2071)
1. introducción a la Ingeniería de Software (UTM 2071)1. introducción a la Ingeniería de Software (UTM 2071)
1. introducción a la Ingeniería de Software (UTM 2071)Mario A Moreno Rocha
 
Plan de Estudios Ingeniería de Software (2071)
Plan de Estudios Ingeniería de Software (2071)Plan de Estudios Ingeniería de Software (2071)
Plan de Estudios Ingeniería de Software (2071)Mario A Moreno Rocha
 
Presentación Ingeniería de Software (2071)
Presentación Ingeniería de Software (2071)Presentación Ingeniería de Software (2071)
Presentación Ingeniería de Software (2071)Mario A Moreno Rocha
 
Redes Sociales: Una vuelta por el mundo (Expo Orienta 2015)
Redes Sociales: Una vuelta por el mundo (Expo Orienta 2015)Redes Sociales: Una vuelta por el mundo (Expo Orienta 2015)
Redes Sociales: Una vuelta por el mundo (Expo Orienta 2015)Mario A Moreno Rocha
 
Una Aproximación a la Interacción Humano-Computadora (ITD 2015)
Una Aproximación a la Interacción Humano-Computadora (ITD 2015)Una Aproximación a la Interacción Humano-Computadora (ITD 2015)
Una Aproximación a la Interacción Humano-Computadora (ITD 2015)Mario A Moreno Rocha
 
UX Nights Vol. 4 Estudios Contextuales
UX Nights Vol. 4 Estudios ContextualesUX Nights Vol. 4 Estudios Contextuales
UX Nights Vol. 4 Estudios ContextualesMario A Moreno Rocha
 
Desarrollando un estudio de usabilidad para sitios gubernamentales mexicanos:...
Desarrollando un estudio de usabilidad para sitios gubernamentales mexicanos:...Desarrollando un estudio de usabilidad para sitios gubernamentales mexicanos:...
Desarrollando un estudio de usabilidad para sitios gubernamentales mexicanos:...Mario A Moreno Rocha
 
Capítulo 8: Usabilidad y experiencia de usuario
Capítulo 8: Usabilidad y experiencia de usuarioCapítulo 8: Usabilidad y experiencia de usuario
Capítulo 8: Usabilidad y experiencia de usuarioMario A Moreno Rocha
 
Oportunidades de estancias y prácticas en la UTM 2014-2015
Oportunidades de estancias y prácticas en la UTM 2014-2015Oportunidades de estancias y prácticas en la UTM 2014-2015
Oportunidades de estancias y prácticas en la UTM 2014-2015Mario A Moreno Rocha
 
Taller de Desarrollo de Interfaces (Conalep 2014)
Taller de Desarrollo de Interfaces (Conalep 2014)Taller de Desarrollo de Interfaces (Conalep 2014)
Taller de Desarrollo de Interfaces (Conalep 2014)Mario A Moreno Rocha
 
Historia y Evolución de los Sistemas Operativos
Historia y Evolución de los Sistemas Operativos Historia y Evolución de los Sistemas Operativos
Historia y Evolución de los Sistemas Operativos Mario A Moreno Rocha
 

Más de Mario A Moreno Rocha (20)

UsaLab presentation (ENG)
UsaLab presentation (ENG)UsaLab presentation (ENG)
UsaLab presentation (ENG)
 
Definición del Examen Final (UTM 2017)
Definición del Examen Final (UTM 2017)Definición del Examen Final (UTM 2017)
Definición del Examen Final (UTM 2017)
 
¿Cómo haría yo el 3er parcial?
¿Cómo haría yo el 3er parcial?¿Cómo haría yo el 3er parcial?
¿Cómo haría yo el 3er parcial?
 
6. Administración de la Calidad de Software
6. Administración de la Calidad de Software6. Administración de la Calidad de Software
6. Administración de la Calidad de Software
 
Ingeniería de Software (UTM) - Tercer Examen Parcial
Ingeniería de Software (UTM) - Tercer Examen ParcialIngeniería de Software (UTM) - Tercer Examen Parcial
Ingeniería de Software (UTM) - Tercer Examen Parcial
 
5. Métodos de Prueba de Software
5. Métodos de Prueba de Software5. Métodos de Prueba de Software
5. Métodos de Prueba de Software
 
4. Diseño e Implementación de Software
4. Diseño e Implementación de Software4. Diseño e Implementación de Software
4. Diseño e Implementación de Software
 
3. Análisis de Requerimientos
3. Análisis de Requerimientos3. Análisis de Requerimientos
3. Análisis de Requerimientos
 
2. Administración de Proyectos de Software (UTM 2071)
2. Administración de Proyectos de Software (UTM 2071)2. Administración de Proyectos de Software (UTM 2071)
2. Administración de Proyectos de Software (UTM 2071)
 
1. introducción a la Ingeniería de Software (UTM 2071)
1. introducción a la Ingeniería de Software (UTM 2071)1. introducción a la Ingeniería de Software (UTM 2071)
1. introducción a la Ingeniería de Software (UTM 2071)
 
Plan de Estudios Ingeniería de Software (2071)
Plan de Estudios Ingeniería de Software (2071)Plan de Estudios Ingeniería de Software (2071)
Plan de Estudios Ingeniería de Software (2071)
 
Presentación Ingeniería de Software (2071)
Presentación Ingeniería de Software (2071)Presentación Ingeniería de Software (2071)
Presentación Ingeniería de Software (2071)
 
Redes Sociales: Una vuelta por el mundo (Expo Orienta 2015)
Redes Sociales: Una vuelta por el mundo (Expo Orienta 2015)Redes Sociales: Una vuelta por el mundo (Expo Orienta 2015)
Redes Sociales: Una vuelta por el mundo (Expo Orienta 2015)
 
Una Aproximación a la Interacción Humano-Computadora (ITD 2015)
Una Aproximación a la Interacción Humano-Computadora (ITD 2015)Una Aproximación a la Interacción Humano-Computadora (ITD 2015)
Una Aproximación a la Interacción Humano-Computadora (ITD 2015)
 
UX Nights Vol. 4 Estudios Contextuales
UX Nights Vol. 4 Estudios ContextualesUX Nights Vol. 4 Estudios Contextuales
UX Nights Vol. 4 Estudios Contextuales
 
Desarrollando un estudio de usabilidad para sitios gubernamentales mexicanos:...
Desarrollando un estudio de usabilidad para sitios gubernamentales mexicanos:...Desarrollando un estudio de usabilidad para sitios gubernamentales mexicanos:...
Desarrollando un estudio de usabilidad para sitios gubernamentales mexicanos:...
 
Capítulo 8: Usabilidad y experiencia de usuario
Capítulo 8: Usabilidad y experiencia de usuarioCapítulo 8: Usabilidad y experiencia de usuario
Capítulo 8: Usabilidad y experiencia de usuario
 
Oportunidades de estancias y prácticas en la UTM 2014-2015
Oportunidades de estancias y prácticas en la UTM 2014-2015Oportunidades de estancias y prácticas en la UTM 2014-2015
Oportunidades de estancias y prácticas en la UTM 2014-2015
 
Taller de Desarrollo de Interfaces (Conalep 2014)
Taller de Desarrollo de Interfaces (Conalep 2014)Taller de Desarrollo de Interfaces (Conalep 2014)
Taller de Desarrollo de Interfaces (Conalep 2014)
 
Historia y Evolución de los Sistemas Operativos
Historia y Evolución de los Sistemas Operativos Historia y Evolución de los Sistemas Operativos
Historia y Evolución de los Sistemas Operativos
 

Último

SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfAngélica Soledad Vega Ramírez
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuaDANNYISAACCARVAJALGA
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadAlejandrino Halire Ccahuana
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdfDemetrio Ccesa Rayme
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSjlorentemartos
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxMaritzaRetamozoVera
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdfgimenanahuel
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAEl Fortí
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptxFelicitasAsuncionDia
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptELENA GALLARDO PAÚLS
 
UNIDAD DPCC. 2DO. DE SECUNDARIA DEL 2024
UNIDAD DPCC. 2DO. DE  SECUNDARIA DEL 2024UNIDAD DPCC. 2DO. DE  SECUNDARIA DEL 2024
UNIDAD DPCC. 2DO. DE SECUNDARIA DEL 2024AndreRiva2
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...JonathanCovena1
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticosisabeltrejoros
 

Último (20)

SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
Repaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia GeneralRepaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia General
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahua
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdad
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdf
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docx
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptx
 
Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
 
UNIDAD DPCC. 2DO. DE SECUNDARIA DEL 2024
UNIDAD DPCC. 2DO. DE  SECUNDARIA DEL 2024UNIDAD DPCC. 2DO. DE  SECUNDARIA DEL 2024
UNIDAD DPCC. 2DO. DE SECUNDARIA DEL 2024
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticos
 

7. Mantenimiento de Software

  • 1. 7. Mantenimiento de Software Ingeniería de Software UTM 2017 Junio 2015
  • 2. 2
  • 3. 3
  • 4. 4
  • 5. 5
  • 6. 6
  • 7. Introducción ✤ Durante su ciclo de vida, el software se ve presionado a cambiar. Estas presiones son las consecuencias inevitables de la naturaleza del software y el constante cambio en el medio ambiente en el que se usa. ✤ Una forma de reducir este impacto es de diseñar, desarrollar y mantener un sistema que facilite el cambio y reduzca el impacto de cambios individuales. ✤ Estos esfuerzos se encuentran englobados en el mantenimiento de software. 7
  • 8. 7.1 Aspectos Generales ✤ El mantenimiento de software es la modificación de un producto de software después de su entrega, con el objetivo de corregir fallas, mejorar su ejecución u otros atributos. Un error común es pensar que es sólo corregir defectos. 8
  • 9. Cambios ✤ Cambios adaptativos - para volver el software más acorde con condiciones diferentes ✤ Cambios correctivos - para quitar defectos ✤ Cambios perfectivos - para mejorar el software ✤ Cambios preventivos - para detener el deterioro 9
  • 10. Ventajas ✤ Reducir costos de mantenimiento ✤ Desarrollo de un diseño modular ✤ Extender la vida del sistema ✤ Diferir el reemplazo del sistema ✤ Reutilizar módulos o componentes 10
  • 11. Mantenimiento Óptimo Maximiza ganancias y minimiza costos Los costos dependen de la disponibilidad y capacidad de manutención del sistema para determinar los parámetros a minimizar. Ejemplos de parámetros: ✤ costo de fallo, costo de downtime, costo de mantenimiento correctivo, preventivo y reemplazo del sistema 11
  • 12. Costo de Mantenimiento ✤ Reportes sugieren que el costo de mantenimiento es alto, aproximadamente el 67% de el total del ciclo de desarrollo ✤ En promedio, es aproximadamente del 50%. ¿Por qué? http://www.tutorialspoint.com/software_engineering/software_maintenance_overview.htm 12
  • 13. Actividades de Mantenimiento ✤ Identificación y rastreo ✤ Análisis ✤ Diseño ✤ Implementación ✤ Pruebas del sistema ✤ Pruebas de Aceptación ✤ Entrega ✤ Administración del Mantenimiento 13
  • 14. Distribución de las Actividades de Mantenimiento http://www.slideshare.net/rajeevsharan/software-maintenance-9841842 14
  • 15. Problemas de Mantenimiento ✤ Es el programa de alguien más ✤ El desarrollador no está disponible ✤ La documentación no existe ✤ No fue diseñado con el cambio en mente ✤ El mantenimento no es una actividad primordial 15
  • 16. 7.2 Características del Mantenimiento Razones del costo tan elevado del mantenimiento 1. Estabilidad del Equipo de Desarrollo - los equipos de desarrollo se disuelven. Se invierte mucho tiempo y dinero en volver a comprender lo esencial del sistema 2. Responsabilidad Contractual - contrato de desarrollo puede ser diferente al contrato de mantenimiento 3. Habilidades de Personal - el mantenimiento no se aprecia igual que el desarrollo de software 4. Edad y Estructura del Sistema 16
  • 18. Complejidad del Mantenimiento 1. El número y la complejidad de las interfaces del sistema 2. El número de requerimientos del sistema intrínsecamente volátiles 3. Los procesos de negocios en los que se utiliza el sistema 18
  • 19. 7.3 Categorías de Mantenimiento: Correctivo, Adaptativo, Preventivo, Perfectivo Existen tres tipos diferentes de mantenimiento de software: 1. Mantenimiento para depurar defectos de software. Generalmente, los errores de código son relativamente baratos de corregir; los errores de diseño son mucho más caros ya que implican reescribir varios componentes de los programas. Los errores de requerimientos son los más caros de reparar debido a que puede ser necesario un rediseño extenso del sistema. 2. Mantenimiento para adaptar el software a diversos entornos operativos. Se requiere cuando se cambia algún aspecto del entorno del sistema, por ejemplo el hardware, la plataforma del sistema operativo u otro software de soporte. El sistema de aplicaciones debe modificarse para adaptarse a estos cambios en el entorno. 3. Mantenimiento para añadir o modificar funcionalidades al sistema. Es necesario cuando los requerimientos del sistema cambian como respuesta a cambios organizacionales o del negocio. La escala de los cambios requeridos en el software es a menudo mucho mayor que en los otros tipos de mantenimiento. 19
  • 20. ✤ En la práctica, no existe una clara distinción entre estos tipos de mantenimiento. Cuando se adapta el sistema a un nuevo entorno, pueden añadirse funcionalidades para aprovechar las ventajas de las nuevas características del entorno. ✤ Los defectos del software a menudo se muestran debido a que los usuarios utilizan el sistema en formas no anticipadas. La mejor forma de reparar estos defectos consiste en realizar cambios en el sistema que se adapten a su forma de trabajo. 20
  • 21. ✤ Normalmente se reconocen estos tipos de mantenimiento, pero varias personas les dan distintos nombres. El mantenimiento correctivo se utiliza generalmente para referirse al mantenimiento para reparación de defectos. Sin embargo, el mantenimiento adaptativo algunas veces significa adaptarse a un nuevo entorno y puede significar adaptar el software a nuevos requerimientos. ✤ El mantenimiento perfectivo puede significar perfeccionar el software implementando nuevos requerimientos; en otros casos significa mantener la funcionalidad del sistema, pero mejorando su estructura y su rendimiento. 21
  • 22. Costos de Mantenimiento Los costos de mantenimiento depende de la naturaleza del sistema: ✤ Los costos de mantenimiento para sistemas de aplicaciones corporativas son en general compatibles con los costos del desarrollo de los sistemas ✤ Para sistemas de tiempo real embebidos, los costos de mantenimiento pueden ser hasta cuatro veces mayores que los costos de desarrollo 22
  • 23. Costos de Mantenimiento Ingeniería de Software de Sommerville pp. 453 23
  • 24. 7.4 Reingeniería de Sistemas ✤ Como hemos visto, el proceso de mantenimiento de sistemas puede ser complicado, especialmente para sistemas heredados. Estos sistemas son difíciles de comprender y de mejorar. ✤ Una manera de poder hacer mantenimiento a sistemas heredados es utilizando un proceso de reingeniería. La reingeniería de sistemas consiste en en la reimplementación de sistemas heredados para hacerlos más mantenibles. ✤ Reingeniería implica redocumentar el sistema, organizar y restructurar, traducir el sistema a un lenguaje moderno y modificar y actualizar la estructura de los datos. Su funcionalidad y arquitectura no se cambia. 24
  • 25. Ventajas de la Reingeniería 1. Riesgo reducido. Existe un alto riesgo en volver a desarrollar software crítico para negocios. Pueden cometerse errores en la especificación, o puede haber problemas en el desarrollo. Los retrasos en la introducción del nuevo software pueden significar pérdidas en el negocio e incurrir en costos adicionales. Por ejemplo, en 1999 una gran compañía de comida en Estados Unidos tuvo retrasos en la introducción de un nuevo sistema de pedidos, lo que condujo a retrasos en las entregas de productos valoradas en 100 millones de dólares en una estación de máxima venta. 2. Costo reducido. El costo de hacer reingeniería es significativamente menor que el costo de desarrollar nuevo software. Ulrich (Ulrich, 1990) cita un ejemplo de un sistema comercial en el que los costos de reimplementación se estimaron en 50 millones de dólares. Al sistema se le aplicó reingeniería con éxito por 12 millones de dólares. Se presume que, con la tecnología moderna del software, el costo relativo de la reimplementación probablemente sea menor, pero aún así supera de forma considerable los costos de la reingeniería. 25
  • 26. Diferencias entre Ingeniería y Reingeniería Ingeniería de Software de Sommerville pp. 459 26
  • 28. Actividades de Reingeniería 1. Traducción del código fuente. El programa es convenido desde un lenguaje de programación antiguo a una versión más moderna del mismo lenguaje o a un lenguaje diferente. 2. Ingeniería inversa. El programa se analiza y se extrae información a partir de él. Ésto ayuda a documentar su organización y funcionalidad. 3. Mejora de la estructura del sistema. La estructura de control del programa se analiza y modifica para hacerla más fácil de leer y comprender. 4. Modularización de los programas. Se agrupan las partes relacionadas del programa y se elimina la redundancia en donde resulta adecuado. Esta etapa puede implicar una transformación de un sistema centralizado a una plataforma distribuida. 5. Reingeniería de datos. Los datos procesados por el programa se cambian para reflejar los cambios en él. 28
  • 29. Costos en Reingeniería 1. La calidad del software en el que se va a hacer reingeniería. Cuanto más baja sea la calidad del software y su documentación asociada, más altos serán los costos de reingeniería. 2. Las herramientas de soporte disponibles para la reingeniería. Normalmente no es rentable hacer reingeniería sobre un sistema software a menos que puedan utilizarse herramientas CASE para automatizar la mayor parte de los cambios en los programas. 3. La amplitud de la conversión de datos requerida. Si el sistema sobre el que se va a hacer reingeniería requiere que se conviertan grandes volúmenes de datos, el costo del proceso se incrementa de forma significativa. 4. La disponibilidad de personal experto. Si el personal responsable de mantener el sistema no puede involucrarse en el proceso de reingeniería, los costos se incrementarán debido a que los ingenieros encargados de la reingeniería tienen que invertir una gran cantidad de tiempo en comprender el sistema. 29
  • 30. Fin. Ingeniería de Software UTM 2017 16 de Junio, 2015 30