3. LAS LEYES DE LEHMAN
Cambio continuado
Un programa que se usa en un entorno real
necesariamente debe cambiar o se volverá
progresivamente menos útil en ese entorno.
5. Evolución prolongada del programa
Sugiere que los grandes sistemas tienen su
propia dinámica que se establece en una etapa
temprana en el proceso de desarrollo.
12. TIPOS DE MANTENIMIENTO
• Correctivo: Se utiliza generalmente para referirse al
mantenimiento para reparación de defectos.
• Adaptativo: Significa adaptar el software a nuevos
requerimientos.
• Perfectivo: Significa mantener la funcionalidad del
sistema, pero mejorando su estructura y su rendimiento.
13. Factores que conducen a costes de mantenimiento
más elevados:
1. Estabilidad del equipo. Después de entregar un
sistema, es normal que el equipo de desarrollo se disuelva
y la gente trabaje en nuevos proyectos.
2. Responsabilidad contractual. El contrato para mantener
un sistema normalmente está separado del contrato para
desarrollar el sistema.
14. 3. Habilidades del personal. El personal de mantenimiento
a menudo no tiene experiencia y no está familiarizado
con el dominio de la aplicación.
4. Edad y estructura del programa. A medida que pasa el
tiempo, la estructura de los programas tiende a
degradarse con los cambios.
15. PREDICCIÓN DEL MANTENIMIENTO
Se debería intentar predecir qué cambios del sistema son probables
y qué partes del sistema son probablemente las más difíciles de
mantener.
16. PROCESOS DE EVOLUCIÓN
• Tipo de software a mantener
• Los procesos de desarrollo utilizados
• El personal implicado en el proceso
17. Propuestas de cambio:
• Requerimientos existentes que no han sido
implementados en el sistema entregado.
• Peticiones para nuevos requerimientos y reparaciones de
errores por parte de los stakeholders del sistema.
• Nuevas ideas y propuestas para mejoras en el software
por parte del equipo de desarrollo del sistema.
18. PROCESO DE EVOLUCIÓN
Los procesos de identificación
de cambios y evolución del
sistema son cíclicos y continúan
durante toda la vida del sistema.
19. PROCESOS DE EVOLUCIÓN
Incluyen las actividades fundamentales de análisis de cambios,
planificación de entregas, implementación del sistema y entrega de
un sistema a los clientes.
20. IMPLEMENTACIÓN DE LOS CAMBIOS
1. Si ocurre un defecto serio en el sistema que tenga que ser
reparado para permitir la continuación del funcionamiento
normal.
2. Si los cambios en el entorno del sistema operativo tienen efectos
inesperados que impiden el funcionamiento normal.
3. Si hay cambios no anticipados en las empresas que utilizan el
sistema.
21. REINGENIERÍA DE SISTEMAS
La reingeniería del software se refiere a la reimplementación de los
sistemas heredados para hacerlos más mantenibles.
22. REINGENIERÍA DE SISTEMAS
Puede implicar:
• Redocumentar el sistema.
• Organizar y reestructurar el sistema.
• Traducir el sistema a un lenguaje de programación más
moderno.
• Modificar y actualizar la estructura y valores de los datos
del sistema.
23. REINGENIERÍA DE SISTEMAS
Ventajas:
• Riesgo reducido. Existe un alto riesgo en volver a
desarrollar software crítico para los negocios.
• Coste reducido. El coste de hacer reingeniería es
significativamente menor que el coste de desarrollar
nuevo software.
24. REINGENIERÍA DE SISTEMAS
Desventajas:
• Existen límites prácticos a la extensión del sistema que
puede ser mejorada mediante reingeniería.
• No es posible convertir un sistema diseñado utilizando una
aproximación funcional en un sistema orientado a objetos.
• Los cambios arquitectónicos mayores no pueden
realizarse de forma automática, implica costes adicionales.
25. REINGENIERÍA DE SISTEMAS
La distinción crítica entre reingeniería y nuevo desarrollo software
es el punto de partida del desarrollo.
27. Opciones estratégicas:
1.Desechar completamente el sistema. Esta opción debería
elegirse cuando el sistema no constituye una contribución
efectiva para los procesos de negocio.
2.Dejar el sistema sin cambios y continuar con un
mantenimiento regular. Esta opción debería elegirse cuando
el sistema todavía es necesario.
28. 3.Hacer reingeniería del sistema para mejorar su
mantenibilidad. Esta opción debería elegirse cuando la
calidad del sistema se ha degradado por los cambios
continuos .
4.Reemplazar todo o parte del sistema con un nuevo
sistema. Esta opción debería elegirse cuando otros
factores, como un nuevo hardware, implican que el sistema
antiguo no puede continuar en funcionamiento.
29. EVOLUCIÓN DEL SOFTWARE
Espacio para: preguntas, dudas, aclarando,
aportaciones y plugins
Carlos R. Adames B.
Programador HTML5
@crabalex