Buscar este blog

lunes, 2 de noviembre de 2020

Mantenimiento Preventivo de Software

 En la ingeniería de software, el mantenimiento de software es la modificación de un producto de software después de la entrega, para corregir errores, mejorar el rendimiento u otros atributos. El mantenimiento de software es una de las actividades más comunes en la ingeniería de software.

El mantenimiento del software es también una de las fases del ciclo de vida del desarrollo del sistema (SDLC), que se aplica al desarrollo de software. La fase de mantenimiento es la fase que sigue al despliegue (implementación) del software en el campo.


Una percepción común del mantenimiento es que se trata simplemente de la corrección de defectos. Sin embargo, un estudio indicó que la mayoría, más del 80%, del esfuerzo de mantenimiento se utiliza para acciones no correctivas (Pigosky 1997). Esta percepción se perpetúa cuando los usuarios envían informes de problemas que en realidad son mejoras en la funcionalidad del sistema.

El mantenimiento del software y la evolución de los sistemas fue abordado por primera vez por Meir M. Lehman en 1969. Durante un período de veinte años, su investigación condujo a la formulación de las leyes de Lehman (Lehman 1997). Las principales conclusiones de su investigación incluyen que el mantenimiento es realmente un desarrollo evolutivo y que las decisiones de mantenimiento son ayudadas por la comprensión de lo que sucede con los sistemas (y el software) a lo largo del tiempo. Lehman demostró que los sistemas siguen evolucionando con el tiempo. A medida que evolucionan, se vuelven más complejos a menos que se tomen algunas medidas como la refactorización del código para reducir la complejidad.



TIPOS DE MANTENIMIENTO DE SOFTWARE

  • Mantenimiento preventivo: Consiste en la revisión constante del software para detectar posibles fuentes de problemas que puedan surgir en el futuro.
  • Mantenimiento predictivo. Evalúa el flujo de ejecución del programa para predecir con certeza cuándo ocurrirá la falla, y así determinar cuándo es apropiado hacer los ajustes correspondientes.
  • Mantenimiento correctivo. Corrige los defectos encontrados en el software, y que originan un comportamiento diferente al deseado. Estas fallas pueden ser de procesamiento, rendimiento (por ejemplo, uso ineficiente de recursos de hardware), programación (inconsistencias en la ejecución), seguridad o estabilidad, entre otras.
  • Mantenimiento adaptativo. Si es necesario cambiar el entorno en el que se utiliza la aplicación (que incluye el sistema operativo, la plataforma de hardware o, en el caso de las aplicaciones web, el navegador), puede ser necesario modificarla para mantener su plena funcionalidad en estas nuevas condiciones.
  • Mantenimiento evolutivo. Es un caso especial donde la adaptación es prácticamente obligatoria, ya que de lo contrario el programa quedaría obsoleto con el paso del tiempo. Por ejemplo, el cambio de versión en un navegador (a menudo impuesto sin el consentimiento del usuario) suele requerir ajustes en los plugins y aplicaciones web.
  • Mantenimiento perfecto. Por diferentes razones, el usuario puede solicitar la adición de nuevas funcionalidades o características no consideradas en el momento de la implementación del software. Un mantenimiento perfecto adapta la aplicación a este requisito. El mantenimiento permanente del software puede asegurar su funcionalidad durante muchos años, ahorrando tiempo y el coste económico de una migración total a una nueva aplicación.


PROCESO DE MANTENIMIENTO DE SOFTWARE

El proceso de mantenimiento contiene actividades y medidas para el encargado del mantenimiento. Este proceso se activa cuando:

  • Los procesos primarios de Adquisición y Entrega pueden iniciar la actividad de Implementación por medio de un acuerdo o contrato.
  • El proceso de operación principal puede iniciar el proceso de mantenimiento del software enviando una solicitud de modificación o un informe de problemas.
  • Los procesos de soporte de documentación, gestión de configuración, control de calidad, verificación, revisión conjunta, auditoría y resolución de problemas se utilizan en el proceso de mantenimiento del software.
  • La gestión, la infraestructura y la formación son procesos que el encargado del mantenimiento emplea al iniciar un proyecto de mantenimiento.
  • El proceso de mejora se centra en mejorar el proceso de mantenimiento para que la adaptación sea apropiada para eventos no rutinarios como el mantenimiento de emergencia.

El proceso del ciclo de vida del Mantenimiento de Software comienza con la implementación de este proceso donde se planifica el mantenimiento y termina con la retirada del producto.

  • Incluye la modificación del código y la documentación debido a un problema o a la necesidad de mantenimiento.
  • El objetivo del Proceso de Mantenimiento es modificar un producto de software existente preservando su integridad.
  • Deben tenerse en cuenta los requisitos y restricciones implícitos impuestos al promotor original.

Videos relacionados con el Mantenimiento Preventivo de Software






No hay comentarios:

Publicar un comentario

Mantenimiento Preventivo de Hardware

 ¿Qué es el Mantenimiento Preventivo de Hardware? El mantenimiento de hardware engloba las acciones que nos permiten mantener, cuidar y reem...