15-06-2009 Luis Artola
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:
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:
.
1. Chefwww | junio 15th, 2009 at 9:37 am
Muy buena entrada! Voy a probar el PHP depends a ver que tal va. Un saludo!
2. Luis Artola | junio 15th, 2009 at 9:59 am
hola!
el PHP Depends me ha parecido que estaba un poco en bragas todavía… ![]()
Si lo pruebas, comenta a ver qué tal lo ves… el PMD, en cambio, parece estar mucho más desarrollado…
3. Diccionario tech: Cohesio&hellip | junio 30th, 2009 at 10:40 pm
[...] Visto en: programania.net [...]