Mantenimiento del software

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).

Límites de aplicabilidad

Hay dos puntos de vista sobre los límites de aplicabilidad del término "mantenimiento de software":

  1. El mantenimiento de los sistemas de información automatizados no se distingue del mantenimiento de cualquier otro software.
  2. El mantenimiento de software no incluye el mantenimiento de los sistemas de información automatizados (AIS), ya que el mantenimiento de estos últimos tiene diferencias significativas.

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".

  1. Estos dos términos son sinónimos.
  2. Estos son dos términos diferentes. El mantenimiento del software lo realiza el mantenedor. El mantenedor puede ser una organización externa o la propia organización (su departamento, empleado individual) que utiliza el software en su trabajo. El soporte lo brindan exclusivamente los empleados del departamento de la organización que utiliza el software en su trabajo (esta organización se denomina el "cliente" de ISO/IEC 14764:99). Estos son especialistas menos calificados que los mantenedores y, por lo tanto, no realizan completamente el trabajo previsto por la norma ISO / IEC 14764:99. Por ejemplo, el personal de soporte no realiza el trabajo de detección y corrección de errores latentes para prevenir la manifestación obvia de estos errores.

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).

Véase también

Enlaces