miércoles, 25 de marzo de 2015

Categorías de mantención de software





Como vimos anteriormente, un problema no necesariamente implica un defecto del software. Estos aparecen simplemente porque el comportamiento esperado del sistema no coincide con el actual. Esto puede ser de un defecto del software, pero también puede ser fácilmente el resultado de: un desconocimiento de las capacidades del sistema, de la utilización incorrecta del flujo de trabajo, de una documentación pobre de cambios en las directrices de la empresa, o de otras tantas razones. La gestión de respuestas a los problemas del sistema cubre muchas de las potenciales actividades. Algunas de las posibles soluciones a los problemas del sistema podrían incluir: • Liberación de nuevas versiones. • Sesiones de planificación. • Identificación de la formación necesaria. • Actualización de la documentación, etc. La gran mayoría de los estándares relacionados con el mantenimiento de software, definen las siguientes categorías:


 a) Mantenimiento adaptativo Es la modificación de un software (después de su puesta en producción), para mantenerlo en funcionamiento en un ambiente que ha cambiado o que lo va a hacer. Tiene por objetivo la modificación de un sistema debido a cambios en el entorno (sistema operativo, por ejemplo), o en el hardware (por ejemplo pasar de un sistema de 16 bits a uno de 32) o en el software (por ejemplo, los cambios de un cliente clásico desarrollado en Visual Basic, Delphi o C/C++ a uno “ligero” Thin Client para ejecutarse sobre un navegador de internet; etc.) en el que se realiza. Este tipo de mantenimiento es el más usual debido a los rápidos cambios que se producen en la tecnología informática, que en la mayoría de las ocasiones dejan obsoletos los softwares desarrollados, no por su inoperancia, sino por la competitividad entre las empresas, en las que cada vez influye más el software utilizado.


 b) Mantenimiento correctivo Es la modificación de un software, después de su puesta en producción, para corregir los fallos descubiertos. Tiene por objetivo localizar y eliminar los posibles defectos de los programas. A pesar de las pruebas y verificaciones que se deben realizar durante el ciclo de vida del software, los programas pueden tener desperfectos. Estos se producen cuando el comportamiento del sistema es diferente al esperado por su especificación. Estos pueden ser: de procesamiento, de rendimiento, de programación o de documentación. La mayoría de los defectos se originan en la etapa de especificación de requisitos y en la de codificación, por lo que también son importantes las primeras fases del ciclo de vida para el mantenimiento del software.


 c) Mantenimiento perfectivo Es la modificación de un software, después de su puesta en producción y para mejorar el rendimiento. Estos cambios pueden ser: la inclusión de un monitor transaccional y su gestión, para mejorar los accesos a la base de datos, la utilización de cachés en los usuarios de un sistema cliente-servidor, para liberar la carga de la red de comunicaciones, etc. El aumento del número de usuarios del sistema, como el incremento de las funcionalidades, puede repercutir en el rendimiento de este y requerir un mantenimiento perfectivo.


 d) Mantenimiento preventivo Este mantenimiento es citado en algunos importantes textos de Ingeniería de software (Pressman, R. (2010). Ingeniería del software. Editorial McGraw-Hill, 7° edición), sin embargo, no se menciona como tal en el estándar IEEE 1219, sino que se incluye como parte del Mantenimiento perfectivo. Éste consiste en la modificación del software sin alterar las especificaciones del mismo. Es decir, no se quitan ni agregan funcionalidades ni propiedades, pero se cambian para mejorar los atributos del producto y facilitar así futuras tareas de mantenimiento. Los cambios que se llevan a cabo son en cuanto a los comentarios del código y la reestructuración de los programas para mejorar su comprensión. Se debe realizar cuando sabemos que un sistema tiene un alto grado de probabilidad de que requiera modificaciones, de manera que sea más fácil su mantención. Como ejemplo, podemos citar el agregar comentarios en el código, explicando lo que hace cada grupo de instrucciones.


Referencias bibliográficas Pressman R. (2010). Ingeniería del software, séptima edición. Mexico: Mc Graw Hill Educación. Estándar IEEE 1219. Estándar IEEE/ISO 12207.

No hay comentarios:

Publicar un comentario