Aun cuando son las últimas
en el ciclo de vida del software, las actividades de mantenimiento no son las menos importantes.
Muy al contrario demasiada importancia pues logran un mejor funcionamiento del
software.
Definición de Mantenimiento
El estándar IEEE 1219 [IEEE, 1993] define el Mantenimiento
del Software como “la modificación de un producto software después de haber
sido entregado [a los usuarios o clientes] con el fin de corregir defectos,
mejorar el rendimiento u otros atributos, o adaptarlo a un cambio en el entorno”.
Pressman [1998] dice que “la
fase mantenimiento se centra en el cambio que va asociado a la corrección de
errores, a las adaptaciones requeridas a medida que evoluciona el entorno del
software, y a cambios debidos a las mejoras producidas por los requisitos
cambiantes del cliente”.
En la definición de
mantenimiento aparecen indicados, directa o indirectamente, cuatro tipos de mantenimiento:
– Corregir defectos →correctivo
– Mejorar el rendimiento →preventivo/perfectivo
u otras propiedades
– Adaptar a un cambio de
entorno →adaptativo
Mantenimiento Correctivo
A pesar de las pruebas y
verificaciones que aparecen en etapas anteriores del ciclo de vida del software, los programas
pueden tener defectos. El mantenimiento
correctivo tiene por objetivo localizar
y eliminar los posibles defectos de los
programas.
• Un defecto en un sistema
es una característica del sistema con el potencial de causar un fallo.
• Un fallo ocurre cuando el comportamiento de un
sistema es diferente del establecido en
la especificación. Entre otros, los fallos en el software pueden ser de:
- Procesamiento, por
ejemplo, salidas incorrectas de un programa.
- Rendimiento, por ejemplo,
tiempo de respuesta demasiado alto en una búsqueda de información.
- Programación, por ejemplo,
inconsistencias en el diseño de un programa.
- Documentación, por
ejemplo, inconsistencias entre la funcionalidad de un programa y el manual de usuario.
Mantenimiento Adaptativo
Este tipo de mantenimiento
consiste en la modificación de un programa
debido a cambios en el entorno (hardware
o software) en el cual se ejecuta.
• Los cambios pueden afectar
a:
– el sistema operativo
(cambio a uno más moderno),
– la arquitectura física del
sistema informático (paso de una arquitectura de red de área local a Internet/Intranet),
– o al entorno de desarrollo
del software (incorporación de nuevos elementos o herramientas como ODBC).
• La envergadura del cambio
necesario puede ser muy diferente: desde un
pequeño retoque en la estructura de un módulo hasta tener que reescribir
prácticamente todo el programa para su ejecución en un ambiente
distribuido en una red.
Los cambios en el entorno
software pueden ser de dos clases:
– En el entorno de los datos,
por ejemplo, al dejar de trabajar con un sistema de ficheros clásico y sustituirlo por un sistema
de gestión de bases de datos relacionales.
– En el entorno de los procesos, por ejemplo, migrando a una nueva
plataforma de desarrollo con componentes
distribuidos, Java, ActiveX, etc.
• Este tipo de mantenimiento
es cada vez más frecuente debido principalmente
al cambio, cada vez más rápido, en los diversos aspectos de la
informática: nuevas generaciones de
hardware, nuevos sistemas operativos -o versiones de los antiguos-, y mejoras en los periféricos o
en otros elementos del sistema (frente a
esto, la vida útil de un sistema software puede superar fácilmente los diez años).
Mantenimiento
perfectivo:
Cambios en la
especificación, normalmente debidos a cambios en los requerimientos de un
producto software, implican un nuevo tipo de
mantenimiento llamado perfectivo. La casuística es muy variada. Desde
algo tan simple como cambiar el formato de impresión de un informe, hasta la incorporación
de un nuevo módulo funcional. Podemos definir el mantenimiento perfectivo como
el conjunto de actividades para mejorar o añadir nuevas funcionalidades requeridas
por el usuario. Se divide en dos:
- Mantenimiento de Ampliación: incorporación
de nuevas funcionalidades.
- Mantenimiento de
Eficiencia: mejora de la eficiencia de ejecución.
Mantenimiento preventivo:
Modificación del software para mejorar las
propiedades de dicho software (calidad y
mantenibilidad) sin alterar sus especificaciones funcionales. Incluir sentencias que comprueben la validez de los
datos de entrada, reestructuración de los
programas para aumentar su legibilidad o incluir nuevos comentarios.
Este tipo de mantenimiento utiliza las
técnicas de ingeniería inversa y reingeniería. El mantenimiento para la reutilización
especializado en mejorar la reusabilidad del software se incluye en este tipo.
El mantenimiento tiene una
importancia muy grande debido a que si queremos tener un software libre de fallos o con fallos mínimos
debemos darle mantenimiento para que tenga buena funcionabilidad y así
satisfaga las necesidades del usuario.
Trabajos citados
ESCUELA SUPERIOR DE INFORMÁTICA, U. D.-L. (2010). Grupo
Alarcos. Recuperado el 31 de Enero de 2014, de Grupo Alarcos:
http://alarcos.inf-cr.uclm.es/doc/mso/slides/S1.pdf
Facultad de Estadística
e Informática, U. V. (2000). http://www.uv.mx/fei/. Recuperado el 31 de
Enero de 2014, de http://www.uv.mx/fei/:
http://informatica.uv.es/iiguia/2000/IPI/material/tema7.pdf
Tlaxcala, U. A. (Agosto
de 2011). http://ingenieria.uatx.mx/. Recuperado el 30 de Enero de
2014, de http://ingenieria.uatx.mx/: http://ingenieria.uatx.mx/
No hay comentarios.:
Publicar un comentario