Mantenimiento del Software

Comienza Ya. Es Gratis
ó regístrate con tu dirección de correo electrónico
Mantenimiento del Software por Mind Map: Mantenimiento del Software

1. Tipos de Mantenimiento:

1.1. 1) Reparacion de fallas: Implican la re escritura de muchos componentes del programa, los errores de requerimiento son mas costosos.

1.2. 2) Adaptación Ambiental: Se ocupa este tipo de mantenimiento cuando el hardware de la plataforma operativa cambia el software.

1.3. 3) Adición de funcionalidad: Es necesario cuando varían los requerimientos en el software

1.4. Estos tipos de mantenimiento se reconoce por diferentes personas y en ocasiones les dan diferentes nombres.

2. Distribución del esfuerzo de mantenimiento

2.1. Los costos relativos de mantenimiento y del nuevo desarrollo varían de un dominio de aplicación a otro.

2.2. También coinciden en que una mayor parte del presupuesto de mantenimiento se destina a la implementación de nuevos requerimientos, y no a la reparación de bugs.

2.3. Aunque estas estimaciones tienen más de 25 años de antigüedad, es improbable que las distribuciones de costos para diferentes tipos de sistema hayan cambiado significativamente.

3. Variables a tomar en cuenta al desarrollo de software

3.1. 1) Estabilidad del equipo: Después de que un sistema se entrega, es normal que el equipo de desarrollo se separe y que los individuos trabajen en nuevos proyectos.

3.2. 2) Práctica de desarrollo deficiente: El contrato para mantener un sistema por lo general está separado del contrato de desarrollo del sistema.

3.3. 3) Habilidades del personal: El personal de mantenimiento con frecuencia es relativamente inexperto y no está familiarizado con el dominio de aplicación.

3.4. 4) Antigüedad y estructura del programa: Conforme se realizan cambios al programa, su estructura tiende a degradarse. En consecuencia, a medida que los programas envejecen, se vuelven más difíciles de entender y cambiar.

4. Por otro lado, “mantenimiento adaptativo” algunas veces quiere decir adaptarse a un nuevo entorno y otras veces significa adaptar el software a nuevos requerimientos. “Mantenimiento perfectivo” a veces significa perfeccionar el software

4.1. Para sistemas embebidos de tiempo real, los costos de mantenimiento fueron hasta cuatro veces mayores que los costos de desarrollo.

4.2. El mantenimiento se ve como una actividad de segunda clase, y no hay incentivo para gastar dinero durante el desarrollo para reducir los costos del cambio de sistema.

5. Reingeniería de l software

5.1. 1. Reducción de fallas

5.2. 2.Reducción de costos

6. Modelo general del proceso de reingeniería

6.1. Traducción del código fuente

6.2. Ingeniería inversa

6.3. Mejoramiento de la estructura del programa

6.4. Modularización del programa

6.5. Reinginiería de datos

7. Mantenimiento preventivo mediante refactorización

7.1. La refactorización es el proceso de hacer mejoras a un programa para frenarla degradación mediante el cambio.

7.2. Fowler y sus colaboradores (1999) sugieren que existensituaciones estereotípicas.

7.2.1. 1.Codigo Duplicado

7.2.2. 2.Métodos Largos

7.2.3. 3.Enunciados de switch

7.2.4. 4.Aglomeración de datos

7.2.5. 5.Generalidad especulativa