← Ir a portada

Métricas para la calidad del software

Definí una vez la ingeniería del software es aquel conocimiento específico que busca maximizar la calidad del software y minimizar su coste. Siguiendo con esa misma idea: ¿Cómo se podría maximizar la calidad del código escrito (incluyendo su diseño)? Los pasos básicos serían:

  1. establecer una serie de métricas (variables a maximizar o minimizar) sobre el código. Sólo nos sirve aquello que podamos medir.
  2. montar un sistema automático que genere información sobre esas variables y su evolución a lo largo del desarrollo (integración continua).
  3. aplicar medidas sobre el código y observar si se consigue maximizar o minimizar la variable objetivo

Muchas de las medidas que maximizan la calidad producen como efecto colateral una diminución en el coste, y viceversa. Tradicionalmente se piensa que aumentar la calidad es aumentar el coste en tiempo. Pero muchas veces el tiempo invertido en aumentar la calidad (robusto, flexible, mantenible, escalable) repercute en el futuro en un menor coste de desarrollo o mantenimiento.

Valores abstractos del software:

Las variables medibles (métricas) que pongo a continuación están centradas en el código, no en la gestión de proyectos (no se incluyen métricas como “esfuerzo del equipo”, etc…). Tampoco en temas propiamente web como la accesibilidad ni el diseño de interfaces (usabilidad).

Un software cuyo código tiene una cohesión alta, un acoplamiento bajo, tiene un alto porcentaje de código cubierto por pruebas unitarias y/o funcionales, tiene código que se reutiliza desde diferentes partes y cuyas lineas crecen de manera controlada, es un código que permitirá añadir funcionalidades facilmente (reduciendo el coste de añadirlas) y permitirá mantener más fácilmente el código existente.

Algunas herramientas para aplicar métricas sobre el software:

.

Apuntes relacionados:

3 Respuestas a “Métricas para la calidad del software”

  1. Chefwww dice:

    Muy buena entrada! Voy a probar el PHP depends a ver que tal va. Un saludo!

  2. Luis Artola dice:

    hola!

    el PHP Depends me ha parecido que estaba un poco en bragas todavía… :-D
    Si lo pruebas, comenta a ver qué tal lo ves… el PMD, en cambio, parece estar mucho más desarrollado…

Deja un comentario