Mantenimiento del Software
por Bryan Adrian
1. Variables a tomar en cuenta al desarrollo de software
1.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.
1.2. 2) Práctica de desarrollo deficiente: El contrato para mantener un sistema por lo general está separado del contrato de desarrollo del sistema.
1.3. 3) Habilidades del personal: El personal de mantenimiento con frecuencia es relativamente inexperto y no está familiarizado con el dominio de aplicación.
1.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.
2. 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
2.1. Para sistemas embebidos de tiempo real, los costos de mantenimiento fueron hasta cuatro veces mayores que los costos de desarrollo.
2.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.
3. Reingeniería de l software
3.1. 1. Reducción de fallas
3.2. 2.Reducción de costos
4. Mantenimiento preventivo mediante refactorización
4.1. La refactorización es el proceso de hacer mejoras a un programa para frenarla degradación mediante el cambio.
4.2. Fowler y sus colaboradores (1999) sugieren que existensituaciones estereotípicas.
4.2.1. 1.Codigo Duplicado
4.2.2. 2.Métodos Largos
4.2.3. 3.Enunciados de switch
4.2.4. 4.Aglomeración de datos
4.2.5. 5.Generalidad especulativa