Mantenimiento de Software: Tipos, Métricas y Estándares
Clasificado en Diseño e Ingeniería
Escrito el en español con un tamaño de 4,18 KB
Tipos de Mantenimiento de Software
El mantenimiento de software es un proceso crucial para garantizar la operatividad, eficiencia y adaptabilidad de los sistemas a lo largo del tiempo. Se pueden identificar varios tipos de mantenimiento, cada uno con un objetivo específico:
- Correctivo: Se enfoca en localizar y eliminar los defectos de los programas.
- De Emergencia: Se realiza sin planificación previa para mantener operativo el sistema ante fallos inesperados.
- Adaptativo: Busca mantener operativo un programa mientras se realizan cambios en el entorno de producción.
- Perfectivo: Comprende las actividades para mejorar el rendimiento del software o añadir nuevas funcionalidades requeridas por el usuario. Incluye:
- Ampliación: Incorporación de nuevas funcionalidades al software.
- Eficiencia: Mejora la eficiencia de ejecución del código existente y la interfaz.
- Preventivo: Consiste en la modificación del producto de software, sin alterar sus especificaciones, para mejorar sus propiedades y facilitar futuras tareas de mantenimiento.
Outsourcing y SLA en el Mantenimiento de Software
Outsourcing: Consiste en que una empresa contrata a otra empresa o firma externa especializada en un área o servicio determinado, para desarrollar algún servicio en la cual la empresa contratante no se especializa.
SLA (Service Level Agreement): Son los acuerdos que definen los servicios de mantenimiento o niveles de servicio a prestar.
Métricas en el Desarrollo y Mantenimiento de Software
Métricas de Desarrollo de Software
El objetivo principal de la ingeniería del software es producir un sistema, aplicación o producto de alta calidad. Para lograr este objetivo, los ingenieros de software deben emplear métodos efectivos junto con herramientas modernas dentro del contexto de un proceso maduro de desarrollo del software.
Métricas de Mantenimiento de Software
Son técnicas que permiten cuantificar la complejidad, funcionalidad y eficiencia relacionada al mantenimiento de los sistemas.
Las métricas abarcan aspectos como:
- Calidad
- Productividad
- Documentación
- Costos
Estándares en el Mantenimiento de Software
IEEE 1219
Este estándar se relaciona con el mantenimiento de software y cubre todo el ciclo de vida de un software, cualquiera que sea su tamaño o complejidad.
ISO/IEC 14764-00
Este estándar internacional aclara los requerimientos para el proceso de mantenimiento del software.
El mantenimiento del software es un proceso primario en el ciclo de vida de un producto software tal como se describe en ISO/IEC 12207 IT.
IEEE 1219-1992: Define los sistemas y crea el marco de trabajo funcional para un entorno orientado a objetos.
Ingeniería Inversa
La ingeniería inversa es el proceso de analizar un sistema para identificar sus componentes y las interrelaciones que existen entre ellos. Permite reconstruir la documentación del sistema desde adentro hacia afuera a partir del código.
Ejemplo de Estimación de Costos y Tiempos
A continuación, se presenta un ejemplo simplificado de estimación de costos y tiempos para un proyecto de desarrollo de software:
- Entrevista: $20,000
- Análisis (2 horas): $60,000
- Diseño de Pantallas (2 horas): $60,000
- Diseño de Base de Datos (2 horas): $60,000
- Desarrollo: $200,000
- Número de Pantallas (10): $3,000 * 10 = $30,000 (1 hora)
- Número de Líneas por Pantalla (100): $3,000 * 10 = $30,000 (1 hora)
- Valor Hora/Hombre: $30,000
- Tiempo de Entrega: (Sumar total de horas + 10%)
- Multa por Atraso: 1% del costo total
- Revisión y Pruebas (1 hora por revisión, 3 revisiones): $30,000 * 3 = $90,000