El mantenimiento (soporte) del software es el proceso de mejora, optimización y eliminación de defectos en el software (SW) después de haberlo puesto en funcionamiento. El mantenimiento del software es una de las fases del ciclo de vida del software que sigue a la fase de lanzamiento del software. Durante el mantenimiento, se realizan cambios en el programa para corregir defectos y deficiencias encontradas durante el uso, así como para agregar nuevas funciones a fin de aumentar la facilidad de uso ( usabilidad ) y la aplicabilidad del software.
El mantenimiento del software está estandarizado, existen estándares nacionales de la Federación Rusa que son idénticos a los internacionales (ISO / IEC 12207: 2008 Ingeniería de sistemas y software - Procesos del ciclo de vida del software, GOST R ISO / IEC 12207-2010 "Estándar nacional de la Rusia Federación. Tecnología de la información. Ingeniería de sistemas y software. Procesos del ciclo de vida del software "; ISO / IEC 14764: 99 Tecnología de la información - Mantenimiento de software, GOST R ISO / IEC 14764-2002 "Estándar estatal de la Federación Rusa. Tecnología de la información. Mantenimiento de software " ; IEEE 1219).
Hay dos puntos de vista sobre los límites de aplicabilidad del término "mantenimiento de software":
Según GOST 34.601-90 “Estándar estatal de la URSS. Tecnologías de la información. Conjunto de normas para sistemas automatizados. Sistemas automatizados. Etapas de creación" (reedición - junio de 1997) la etapa de creación de un sistema automatizado "mantenimiento de un sistema automatizado" incluye dos etapas de trabajo: 1) "realización del trabajo de acuerdo con las obligaciones de garantía", 2) "servicio posterior a la garantía ".
Hay dos puntos de vista diferentes sobre los límites de aplicabilidad de los términos "mantenimiento de software" y "soporte de software".
En el modelo de cascada , también llamado "modelo de ciclo de vida en cascada" o "modelo de ciclo de vida en cascada con retroalimentación" (ver Mezentsev K. N. Sistemas de información automatizados: libro de texto. M .: Centro de publicaciones "Academia", 2013, p. 57-58), el mantenimiento del software se destaca como una fase separada del ciclo de vida.
En el modelo en espiral que surgió durante el desarrollo de la programación orientada a objetos , el mantenimiento no se destaca como una etapa separada. No obstante, esta actividad ocupa un lugar importante, dado que el mantenimiento suele ocupar alrededor de 2/3 del ciclo de vida de los sistemas de software. “El mantenimiento de una herramienta de software puede, en términos de valor, representar la mayor parte del ciclo de vida” (ISO/IEC 14764:99).
La mantenibilidad del software son las características de un producto de software que minimizan el esfuerzo de realizar cambios en él:
“El cliente establece las características que describen los requisitos cualitativos y cuantitativos para la mantenibilidad de la herramienta de software. Deben establecerse criterios apropiados en estas características y cómo deben probarse... Los desarrolladores deben implementar requisitos de mantenibilidad y los mantenedores deben supervisar su implementación” (ISO/IEC 14764:99).
estructura de soporte de TI.
Es habitual destacar varias líneas de soporte (la estructura se muestra en el ejemplo de soporte de software externo):
El trabajo de un ingeniero de mantenimiento se compara erróneamente con el de una cámara de compensación. Sin embargo, en términos de funcionalidad, estos especialistas son fundamentalmente diferentes: si el centro de llamadas realmente acumula solicitudes de los usuarios, entonces el mantenimiento es el eslabón central en la cadena de desarrollo y mejora del software, que resuelve los problemas que surgen durante la operación del software ( sistema, servicio).
Desarrollo de software | |
---|---|
Proceso | |
Conceptos de alto nivel | |
Direcciones |
|
Metodologías de desarrollo | |
Modelos |
|
Figuras notables |
|