Beruflich Dokumente
Kultur Dokumente
Mantenimiento de
software
1 aulas.aprendiendoaprogramar.com apdaza@gmail.com
MANTENIMIENTO DE SOFTWARE
7 8 7
5
67 6 Mantenimiento
Análisis de requisitos
Diseño
Codigo
Pruebas modulares
Pruebas de
integración
2 aulas.aprendiendoaprogramar.com apdaza@gmail.com
MANTENIMIENTO DE SOFTWARE
3 aulas.aprendiendoaprogramar.com apdaza@gmail.com
MANTENIMIENTO DE SOFTWARE
4 aulas.aprendiendoaprogramar.com apdaza@gmail.com
MANTENIMIENTO DE SOFTWARE
5 aulas.aprendiendoaprogramar.com apdaza@gmail.com
MANTENIMIENTO DE SOFTWARE
6 aulas.aprendiendoaprogramar.com apdaza@gmail.com
MANTENIMIENTO DE SOFTWARE
Definición
7 aulas.aprendiendoaprogramar.com apdaza@gmail.com
MANTENIMIENTO DE SOFTWARE
8 aulas.aprendiendoaprogramar.com apdaza@gmail.com
MANTENIMIENTO DE SOFTWARE
Tipos de Mantenimiento
Perfectivo:
También llamado evolutivo
Mejoras al rendimiento
Aumento de facilidad para mantener un programa
ante cambios.
Nuevas funcionalidades (de ampliación) y mejoras de
eficiencia de ejecución (Gorla,1991).
9 aulas.aprendiendoaprogramar.com apdaza@gmail.com
MANTENIMIENTO DE SOFTWARE
Tipos de Mantenimiento
Adaptativo:
Conjunto actividades para adaptar el sistema a los
cambios (HW o SW) en su entorno tecnológico.
El entorno de datos:
Cambio de soporte de los datos de una aplicación,
ej. archivos a sistema Relacional.
El entorno de Proceso:
Nueva plataforma de explotación
Nuevo Sistema Operativo
10 aulas.aprendiendoaprogramar.com apdaza@gmail.com
MANTENIMIENTO DE SOFTWARE
Tipos de Mantenimiento
Correctivo:
Corrección de defectos en el HW o SW detectados por
el usuario en la explotación .
Terminaciones anormales o salidas incorrectas…
Procesamiento
Tiempos de respuestas altos….Rendimiento
Violación de estándares de programación o
inconsistencias del diseño…Implementación
Pruebas y actualización de documentación luego de
las modificaciones.
11 aulas.aprendiendoaprogramar.com apdaza@gmail.com
MANTENIMIENTO DE SOFTWARE
Tipos de Mantenimiento
Preventivo:
Actividades para facilitar el mantenimiento futuro.
Validación de datos entrada
Mejoras en su legibilidad
12 aulas.aprendiendoaprogramar.com apdaza@gmail.com
MANTENIMIENTO DE SOFTWARE
18
5
60 17
Perfectivo
Correctivo
Preventivo
Adaptativo
13 aulas.aprendiendoaprogramar.com apdaza@gmail.com
MANTENIMIENTO DE SOFTWARE
19 23
6 Implementar cambio
28 Realizar pruebas
18
6 Actualizar
documentación
Estudiar peticiones
Estudiar
documentación
Estudiar código
14 aulas.aprendiendoaprogramar.com apdaza@gmail.com
MANTENIMIENTO DE SOFTWARE
El Proceso de Mantenimiento
15 aulas.aprendiendoaprogramar.com apdaza@gmail.com
MANTENIMIENTO DE SOFTWARE
El Proceso de Mantenimiento
Correctivo
Perfectivo
Peticiones Análisis de Planificación Implementación Liberación
de Cambio Impacto de versiones de cambios del Sistema
Adaptativo
Preventivo
16 aulas.aprendiendoaprogramar.com apdaza@gmail.com
MANTENIMIENTO DE SOFTWARE
El Proceso de Mantenimiento
Mito:
Una vez que se escribe un programa y se hace funcionar el
mismo, el trabajo de programación ha terminado.
Realidad:
Los datos indican que entre el cincuenta y sesenta por
ciento de todo el esfuerzo dedicado a un programa se
realizará después de la primera entrega del software al
cliente.
"cuanto más pronto se comience a escribir
código, más se tardara en terminarlo"
17 aulas.aprendiendoaprogramar.com apdaza@gmail.com
MANTENIMIENTO DE SOFTWARE
El Proceso de Mantenimiento
Mito:
Hasta que no se cuente con un programa ejecutable,
realmente no se puede comprobar su calidad.
Realidad:
Desde el inicio de un proyecto de software debe aplicarse
uno de los mecanismos más efectivos para garantizar la
calidad del software: la revisión técnica formal.
La revisión del software es un filtro de calidad que es
mucho más efectivo que la prueba, para encontrar ciertas
clases de defectos en el software.
18 aulas.aprendiendoaprogramar.com apdaza@gmail.com
MANTENIMIENTO DE SOFTWARE
El Proceso de Mantenimiento
Mito:
Lo único que se entrega al terminar el proyecto es el
programa funcionando.
Realidad:
Un programa que funciona es sólo una parte de una
configuración de software que incluye programas,
documentos y datos.
La documentación es la base de un buen desarrollo y, lo
que es más importante, proporciona guías para la tarea de
mantenimiento de software
19 aulas.aprendiendoaprogramar.com apdaza@gmail.com
MANTENIMIENTO DE SOFTWARE
El Proceso de Mantenimiento
20 aulas.aprendiendoaprogramar.com apdaza@gmail.com
MANTENIMIENTO DE SOFTWARE
21 aulas.aprendiendoaprogramar.com apdaza@gmail.com
MANTENIMIENTO DE SOFTWARE
Mantenibilidad
22 aulas.aprendiendoaprogramar.com apdaza@gmail.com
MANTENIMIENTO DE SOFTWARE
23 aulas.aprendiendoaprogramar.com apdaza@gmail.com
MANTENIMIENTO DE SOFTWARE
V(G)
Niveles anidados (MAX)
24 aulas.aprendiendoaprogramar.com apdaza@gmail.com
MANTENIMIENTO DE SOFTWARE
Transformación Arquitectónica:
Cambios del SW para seguir dándole
mantenimiento conforme se implementan
cambios más importantes en la arquitectura del
Sistema de Software.
Evolución de una arquitectura centralizada a
una Cliente-Servidor
25 aulas.aprendiendoaprogramar.com apdaza@gmail.com
MANTENIMIENTO DE SOFTWARE
26 aulas.aprendiendoaprogramar.com apdaza@gmail.com
MANTENIMIENTO DE SOFTWARE
Cambio Continuo
Un programa utilizado en un entorno real
necesariamente debe cambiar o llegar a ser
progresivamente menos útil en ese entorno.
El mantenimiento es un proceso inevitable.
27 aulas.aprendiendoaprogramar.com apdaza@gmail.com
MANTENIMIENTO DE SOFTWARE
Incremento de la Complejidad
Puesto que un programa evolutivo cambia, su
estructura tiende a ser mas compleja.
Se deben dedicar recursos extra para preservar y
simplificar la estructura.
Puesto que el sistema cambia su estructura se
degrada.
Invertir en mantenimiento preventivo evita que
esto pase.
28 aulas.aprendiendoaprogramar.com apdaza@gmail.com
MANTENIMIENTO DE SOFTWARE
29 aulas.aprendiendoaprogramar.com apdaza@gmail.com
MANTENIMIENTO DE SOFTWARE
Estabilidad organizacional
En el tiempo de vida de un programa, su tasa de
desarrollo es aproximadamente constante e
independiente de los recursos dedicados al
desarrollo del sistema.
Un cambio a los recursos o al personal tiene
efectos imperceptibles en la evolución a largo
plazo del sistema
30 aulas.aprendiendoaprogramar.com apdaza@gmail.com
MANTENIMIENTO DE SOFTWARE
Conservación de la familiaridad
En el tiempo de vida del sistema , el cambio
incremental en cada entrega es
aproximadamente constante.
Incorporar nuevas funcionalidades al sistema
introduce nuevas fallas al sistema.
31 aulas.aprendiendoaprogramar.com apdaza@gmail.com
MANTENIMIENTO DE SOFTWARE
Reingeniería:
Examen y modificación del sistema para reconstruirlo
en una nueva forma.
Ingeniería inversa:
Análisis de un sistema para identificar sus
componentes y las relaciones entre ellos, así como
para crear representaciones del sistema en otra forma
o en un nivel de abstracción más elevado.
32 aulas.aprendiendoaprogramar.com apdaza@gmail.com
MANTENIMIENTO DE SOFTWARE
33 aulas.aprendiendoaprogramar.com apdaza@gmail.com
MANTENIMIENTO DE SOFTWARE
34 aulas.aprendiendoaprogramar.com apdaza@gmail.com