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

Reingenieria
ReingenieriaReingenieria
ReingenieriaAnel Sosa
 
DEFINICION DE CALIDAD Y CALIDAD DE SOFTWARE
DEFINICION DE CALIDAD Y CALIDAD DE SOFTWAREDEFINICION DE CALIDAD Y CALIDAD DE SOFTWARE
DEFINICION DE CALIDAD Y CALIDAD DE SOFTWARELidizz Garcia Alvarado
 
Proyecto de software
Proyecto de softwareProyecto de software
Proyecto de softwaremonik1002
 
Arquitectura Multiprocesadores
Arquitectura Multiprocesadores Arquitectura Multiprocesadores
Arquitectura Multiprocesadores JUANR1022
 
Documentación de sistemas
Documentación de sistemasDocumentación de sistemas
Documentación de sistemasGladys Rodriguez
 
Factores de calidad según mc call
Factores de calidad según mc callFactores de calidad según mc call
Factores de calidad según mc callclauddiaa
 
calidad de los sistemas de informacion
calidad de los sistemas de informacioncalidad de los sistemas de informacion
calidad de los sistemas de informacionErika Vazquez
 
Crisis del software
Crisis del softwareCrisis del software
Crisis del softwareecasteloc
 
Calidad De Software
Calidad De SoftwareCalidad De Software
Calidad De SoftwareJimmy Campo
 
Mapa conceptual - Institutos Reguladores Calidad de Software
Mapa conceptual - Institutos Reguladores Calidad de SoftwareMapa conceptual - Institutos Reguladores Calidad de Software
Mapa conceptual - Institutos Reguladores Calidad de SoftwareKarloz Dz
 
Software caja negra y caja blanca
Software caja negra y caja blancaSoftware caja negra y caja blanca
Software caja negra y caja blancaStudentPc
 

La actualidad más candente (20)

Requerimientos del software
Requerimientos del software Requerimientos del software
Requerimientos del software
 
Reingenieria
ReingenieriaReingenieria
Reingenieria
 
DEFINICION DE CALIDAD Y CALIDAD DE SOFTWARE
DEFINICION DE CALIDAD Y CALIDAD DE SOFTWAREDEFINICION DE CALIDAD Y CALIDAD DE SOFTWARE
DEFINICION DE CALIDAD Y CALIDAD DE SOFTWARE
 
Proyecto de software
Proyecto de softwareProyecto de software
Proyecto de software
 
Metodología RUP
Metodología RUPMetodología RUP
Metodología RUP
 
Modelo incremental
Modelo incrementalModelo incremental
Modelo incremental
 
02 Mitos de la ingeniería de software
02 Mitos de la ingeniería de software02 Mitos de la ingeniería de software
02 Mitos de la ingeniería de software
 
Ingenieria de software
Ingenieria de softwareIngenieria de software
Ingenieria de software
 
Arquitectura Multiprocesadores
Arquitectura Multiprocesadores Arquitectura Multiprocesadores
Arquitectura Multiprocesadores
 
Documentación de sistemas
Documentación de sistemasDocumentación de sistemas
Documentación de sistemas
 
Principios diseño del software
Principios diseño del software Principios diseño del software
Principios diseño del software
 
Factores de calidad según mc call
Factores de calidad según mc callFactores de calidad según mc call
Factores de calidad según mc call
 
MetodologíAs Y Ciclos De Vida
MetodologíAs Y Ciclos De VidaMetodologíAs Y Ciclos De Vida
MetodologíAs Y Ciclos De Vida
 
calidad de los sistemas de informacion
calidad de los sistemas de informacioncalidad de los sistemas de informacion
calidad de los sistemas de informacion
 
Crisis del software
Crisis del softwareCrisis del software
Crisis del software
 
Calidad De Software
Calidad De SoftwareCalidad De Software
Calidad De Software
 
Mapa conceptual - Institutos Reguladores Calidad de Software
Mapa conceptual - Institutos Reguladores Calidad de SoftwareMapa conceptual - Institutos Reguladores Calidad de Software
Mapa conceptual - Institutos Reguladores Calidad de Software
 
Software caja negra y caja blanca
Software caja negra y caja blancaSoftware caja negra y caja blanca
Software caja negra y caja blanca
 
Mitos de-software.
Mitos de-software.Mitos de-software.
Mitos de-software.
 
5.comprensión de los requerimientos
5.comprensión de los requerimientos5.comprensión de los requerimientos
5.comprensión de los requerimientos
 

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
 
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
 
Mantenimiento De Software
Mantenimiento De SoftwareMantenimiento De Software
Mantenimiento De Softwareguest2710e83
 

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
 
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
 
Mantenimiento De Software
Mantenimiento De SoftwareMantenimiento De Software
Mantenimiento 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

Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaDecaunlz
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónLourdes Feria
 
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
 
Valoración Crítica de EEEM Feco2023 FFUCV
Valoración Crítica de EEEM Feco2023 FFUCVValoración Crítica de EEEM Feco2023 FFUCV
Valoración Crítica de EEEM Feco2023 FFUCVGiustinoAdesso1
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxYadi Campos
 
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptxORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptxnandoapperscabanilla
 
Criterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosCriterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosJonathanCovena1
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxlupitavic
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...JAVIER SOLIS NOYOLA
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfFrancisco158360
 
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA IIAFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA IIIsauraImbrondone
 
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICAÁngel Encinas
 
PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesYanirisBarcelDelaHoz
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Alejandrino Halire Ccahuana
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dstEphaniiie
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxlclcarmen
 

Último (20)

Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativa
 
Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
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
 
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdfTema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
 
Valoración Crítica de EEEM Feco2023 FFUCV
Valoración Crítica de EEEM Feco2023 FFUCVValoración Crítica de EEEM Feco2023 FFUCV
Valoración Crítica de EEEM Feco2023 FFUCV
 
Medición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptxMedición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptx
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
 
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptxORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
 
Criterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosCriterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficios
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docx
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
 
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA IIAFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
 
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
 
PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonables
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes d
 
Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
 

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