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[cita requerida].
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.
Los principales problemas de mantenimiento del software son administrativos y técnicos. Las cuestiones clave de la gestión son: la alineación con las prioridades del cliente, la dotación de personal, qué organización se encarga del mantenimiento y la estimación de los costes. Las cuestiones técnicas clave son: comprensión limitada, análisis de impacto, pruebas, medición de la mantenibilidad.
El mantenimiento de software es una actividad muy amplia que incluye corrección de errores, mejoras de capacidad, eliminación de funciones obsoletas y optimización. Debido a que el cambio es inevitable, se deben desarrollar mecanismos de evaluación, control y modificación.
Cualquier trabajo realizado para cambiar el software después de que esté en funcionamiento se considera trabajo de mantenimiento. El propósito es preservar el valor del software a lo largo del tiempo. El valor puede mejorarse ampliando la base de clientes, cumpliendo requisitos adicionales, siendo más fácil de usar, más eficiente y empleando más tecnología nueva. El mantenimiento puede cubrir 20 años, mientras que el desarrollo puede ser entre 1 y 2 años.
Tipos de mantenimiento de software
Con el paso del tiempo, las aplicaciones informáticas deben someterse a procesos de modificación que prolongan su vida útil o mejoran sus características. Corrección de bugs, adaptación a nuevos entornos tecnológicos o incorporación de funcionalidades son algunas de las tareas incluidas en el mantenimiento del software, actividad que se repite periódicamente desde el momento en que se empieza a utilizar hasta su abandono definitivo.
A lo largo de su vida útil, la aplicación puede necesitar modificaciones por diferentes razones, que determinan diferentes tipos de mantenimiento:
- 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.
Mantenimiento de software de una pc
Dar mantenimiento a un PC es algo que cualquiera puede hacer con un simple destornillador y un poco de habilidad (y muchas veces de paciencia), ya que son equipos frágiles y requieren de mucho cuidado para no estropear algún componente, considero que si tiene lo que se dice, se puede hacer.
En el caso del mantenimiento de software podemos recurrir a una variedad de programas que se especializan en la tarea de limpieza, desfragmentación y optimización del rendimiento del ordenador a través de los procesos que se explican a continuación.
El mantenimiento del software nos permite dar una nueva vida a nuestro ordenador, optimizando los recursos y aprovechándolos al máximo es una de las tareas más importantes, ya que de esta forma nuestro PC funcionará mucho mejor, más rápido y sin ningún problema. La fase de mantenimiento del software implica cambios en el software para corregir defectos encontrados durante su uso o la adición de nuevas funcionalidades que mejoren la usabilidad y aplicabilidad del software.
La fase de mantenimiento del software es una parte explícita del modelo en cascada del proceso de desarrollo de software que se desarrolló durante el movimiento de programación estructurada del ordenador. Con el lanzamiento del software, otros defectos y deficiencias no documentadas serán descubiertos por los usuarios del software. Tan pronto como estos defectos se comunican a la organización de desarrollo, se introducen en el sistema de seguimiento de defectos. Las personas involucradas en la fase de mantenimiento del software esperan trabajar en estos defectos conocidos, localizarlos y preparar una nueva versión del software, conocida como versión de mantenimiento, que resolverá los problemas pendientes.
Esto se refiere a anticipar posibles problemas que puedan existir en el software en el momento de su uso o simplemente por la forma en que usamos nuestro sistema operativo y nuestros programas. Nuestro PC puede comenzar a presentar problemas cuando menos lo esperamos, algunos de los síntomas y el más común es un sistema operativo lento y también el ciclo de ejecución de algunos programas.
El mantenimiento preventivo se puede llevar a cabo con programas que pueden optimizar el funcionamiento del PC, y éstos deben ejecutarse periódicamente cada tres o cuatro meses.
Mantenimiento de software ejemplos
Podemos decir que dentro de la ingeniería de software, el mantenimiento es un conjunto de actividades a través de las cuales se busca mejorar determinados aspectos relevantes del software y además poder detectar a tiempo cualquier evidencia de fallo o daño en sus componentes, en un establecimiento concreto como la seguridad, productividad, funcionalidad, etc…. Existen cuatro tipos de mantenimiento: correctivo, preventivo, adaptativo y perfecto. A continuación se presentan cinco ejemplos de cada tipo de mantenimiento de software:
Correctivo
- Corrección de la mala postura al sentarse.
- El uso de un corrector cuando se comete un error de ortografía.
- Reanudar alguna actividad desde antes se estaba haciendo mal.
- Repare un objeto como una puerta que no se cierra correctamente.
- Corregir algunos datos como para corregir la cantidad de dinero que se le cobra por error por un servicio.
Preventivo
- Las vacunas o el antivirus.
- El uso de protecciones al realizar un ejercicio, en particular un ejercicio extremo o peligroso.
- Usar el doble de material o reforzar cualquier parte de un edificio.
- Póngase un suéter antes de salir al frío para evitar un resfriado.
- Trae un paraguas por si llueve.
Adaptable
- Cámbiese de ropa cuando cambie de una región caliente a una fría.
- Cambio de personal cuando es muy viejo o no funciona según las necesidades.
- El uso de alguna herramienta para acelerar un proceso al estar en un entorno que necesita una producción rápida.
- El cambio de teléfono celular puede considerarse como un cambio en el ambiente de trabajo y se necesita un teléfono celular más eficiente.
- Cambio de lugar de trabajo por condiciones que puedan afectar mi salud.
Perfecto
- Mejoras constantes o versiones de un sistema operativo.
- Tomar vitaminas para mejorar algún proceso de nuestro cuerpo.
- Añadir más armas o mejoras en algún videojuego, añadiendo nuevas funcionalidades.
- El entrenamiento constante de un atleta para mejorar.
- Realice actividades que mejoren su técnica en algo.
El mantenimiento de software es una actividad muy amplia que incluye corrección de errores, mejoras de capacidad, eliminación de funciones obsoletas y optimización. Dado que el cambio es inevitable, es necesario desarrollar mecanismos de evaluación, control y modificación.
Por lo tanto, cualquier trabajo realizado para cambiar el software después de que esté en funcionamiento se considera trabajo de mantenimiento, cuyo propósito es preservar el valor del software a lo largo del tiempo, donde el valor puede mejorarse ampliando la base de clientes, cumpliendo con los requisitos adicionales, siendo cada vez más fácil de usar, más eficiente y utilizando más tecnologías nuevas.
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.
Imágenes de mantenimiento de software
Vídeos de mantenimiento de software
https://www.youtube.com/watch?v=WSB-9QYg28o
Contenido