mantenimiento de software
Mantenimiento del Software
Aun cuando son las últimas en el ciclo de vida del software, las actividades de mantenimiento no son las menos importantes. Muy al contrario, a continuación veremos que el mantenimiento del software se ha convertido en la principal actividad en cuanto a recursos necesarios y costes.
Según la terminología ANSI-IEEE, el mantenimiento del software es: “lamodificación de un producto software después de su entrega al cliente o usuario para corregir defectos, para mejorar el rendimiento u otras propiedades deseables, o para adaptarlo a un cambio de entorno”.
Múltiples estudios señalan que el mantenimiento es la parte más costosa del ciclo de vida del software. Estadísticamente está comprobado que el coste de mantenimiento de un producto software alo largo de toda su vida útil supone mas del doble que los costes de su desarrollo. La tendencia es creciente con el paso del tiempo:
Referencia Fechas % Mantenimiento
[Pressman, 1993] años 70 35%-40%
[Lientz y Swanson, 1980] 1976 60%
[Pigoski, 1997] 1980-1984 55%
• Algunas de las razones por las que es menos costoso detectar y corregir un error durante las etapas iniciales del ciclo devida que durante las etapas últimas son:
– Es más fácil cambiar la documentación (por ejemplo, los documentos de especificación o de diseño) que modificar el código.
– Un cambio durante una fase tardía puede requerir que sea modificada la documentación de todas las fases anteriores.
• Los costes del mantenimiento se incrementan al utilizar técnicas y metodologías poco actas, casi siemprepensadas para las fases previas del ciclo de vida.
Tipos de Mantenimiento
• En la definición de mantenimiento aparecen indicados, directa o indirectamente, cuatro tipos de mantenimiento:
– Corregir defectos
→correctivo
– Mejorar el rendimiento
→preventivo/perfectivo u otras propiedades
– Adaptar a un cambio de entorno
→adaptativo
•En MANTEMA se trabaja con los siguientes tipos:
– NoPlanificable (NP):
• Correctivo Urgente (UC): localizar y eliminar los posibles defectos que bloquean el programa o los procesos de funcionamiento de la empresa.
– Planificable (P):
• Correctivo No Urgente (NUC): localizar y eliminar los posibles defectos de los programas que no son bloqueantes.
• Perfectivo (PER): añadir al software nuevas funcionalidades solicitadas por los usuarios.
•Adaptativo (A): modificar el software para adaptarlo a cambios en el entorno de trabajo (hardware o software).
• Preventivo (PRE): modificar el software para mejorar sus propiedades (calidad, mantenibilidad, etc.).
Mantenimiento Correctivo (i)
• A pesar de las pruebas y verificaciones que aparecen en etapas anteriores del ciclo de vida del software, los programas pueden tener defectos. Elmantenimiento correctivo tiene por objetivo localizar y eliminar los posibles defectos de los programas.
• Un defecto en un sistema es una característica del sistema con el potencial de causar un fallo.
•Un fallo ocurre cuando el comportamiento de un sistema es diferente del establecido en la especificación. Entre otros, los fallos en el software pueden ser de:
- Procesamiento, por ejemplo,salidas incorrectas de un programa.
- Rendimiento, por ejemplo, tiempo de respuesta demasiado alto en una búsqueda de información.
- Programación, por ejemplo, inconsistencias en el diseño de un programa.
- Documentación, por ejemplo, inconsistencias entre la funcionalidad de un programa y el manual de usuario.
Mantenimiento Adaptativo (ii)
• Los cambios en el entorno software pueden ser de dosclases:
– En el entorno de los datos, por ejemplo, al dejar de trabajar con un sistema de ficheros clásico y sustituirlo por un sistema de gestión de bases de datos relacionales.
– En el entorno de los procesos, por ejemplo, migrando a una nueva plataforma de desarrollo con componentes distribuidos, Java, ActiveX, etc.
• Este tipo de mantenimiento es cada vez más frecuente debido...
Regístrate para leer el documento completo.