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 del
software es una de las actividades más comunes en la ingeniería de software.
El mantenimiento de software es
también una de las fases en el ciclo de vida de desarrollo de sistemas (SDLC,
sigla en inglés de system development life cycle), que se aplica al desarrollo
de software. La fase de mantenimiento es la fase que viene después del
despliegue (implementación) del software en el campo.
Una percepción común del
mantenimiento es que se trata meramente de la corrección de defectos. Sin
embargo, un estudio indicó que la mayoría, más del 80%, del esfuerzo de
mantenimiento es usado para acciones no correctivas (Pigosky 1997). Esta
percepción es perpetuada por usuarios enviando informes de problemas que en
realidad son mejoras de funcionalidad al sistema[cita requerida].
El mantenimiento del software y la
evolución de los sistemas fue abordada 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). Principales conclusiones de
su investigación incluyen que el mantenimiento es realmente un desarrollo
evolutivo y que las decisiones de mantenimiento son ayudadas por entender lo
que sucede a los sistemas (y al software) con el tiempo. Lehman demostró que
los sistemas continúan evolucionando con el tiempo. A medida que evolucionan,
ellos crecen más complejos a menos que se toman algunas medidas como
refactorización de código para reducir la complejidad.
Los problemas claves de mantenimiento
de software son administrativos y técnicos. Problemas clave de administración
son: alineación con las prioridades del cliente, dotación de personal, cuál
organización hace mantenimiento, estimación de costos. Son cuestiones técnicas
claves: limitado entendimiento, análisis de impacto, pruebas (testing),
medición de mantenibilidad.
El mantenimiento de software es una
actividad muy amplia que incluye la corrección de errores, mejoras de las
capacidades, eliminación de funciones obsoletas y optimización. Debido a que el
cambio es inevitable, se debe desarrollar mecanismos para la evaluación,
controlar y hacer modificaciones.
Así que cualquier trabajo realizado
para cambiar el software después de que esté en operación es considerado
trabajo de mantenimiento. El propósito es preservar el valor del software sobre
el tiempo. El valor puede ser mejorado ampliando la base de clientes,
cumpliendo requisitos adicionales, siendo cada vez más fácil de usar, más
eficiente y empleando más nuevas tecnología.
0 comentarios:
Publicar un comentario