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

Entradas relacionadas: