Hace un par de semanas, descubrí un plugin para Sonar (herramienta para medir la calidad del software), desarrollado en España, en concreto, en Valencia, por la empresa eXcentia.
Este plugin proporciona una representación visual de la aplicación, usando las métricas de Sonar para modelarla como una ciudad en 3D. Para ello utiliza WebGL, así que necesitaremos un navegador que lo soporte. El objetivo es tener una idea de la complejidad de un proyecto, de un vistazo, sin profundizar en el cógido. Esto permite que personas sin conocimientos técnicos, como los gestores de proyectos o incluso los clientes, tengan una idea de la calidad de un proyecto de desarrollo.
Funcionamiento de City Model
Actualmente el plugin está disponible para código fuente Java. El funcionamiento del plugin es el siguiente:
Los paquetes se representan como barrios
Las clases se representan como edificios
Para cada clase:
La altura del edificio es el número de líneas de código de la clase
Su anchura es el número de métodos
El color del edificio representa la complejidad
Utilidad de City Model
Este plugin es muy útil. Supongamos que tenemos que evaluar una aplicación pero no tienes muchas información sobre ella. Situación que a mi se me ha dado a menudo desde mi experiencia. Este plugin te permite tener una representación en 3D de su complejidad con solo echar un vistazo al gráfico generado, sin tener que estar investigando el código. Ya de antemano sabes que compleja es. De un vistazo sabes cuantos paquetes hay, cuales de ellos tienen mas clases y cuales son las mas complejas.
Por otro lado, en cualquier entorno de desarrollo de software, no todos son técnicos. Hay responsables y gestores que no tienen conocimientos técnicos, sino comerciales y de gestión. City Model, es un modelo muy interesante para “explorar” la calidad y el diseño de los proyectos de software que permite mostrar a los gestores la calidad del software que se está produciendo en la empresa. Uno de los males que me he encontrado durante los 7 años que trabajé en España, es la baja calidad del software. El gestor solo ve que el software funcione, pero no se tiene en cuenta la calidad, y he visto unos “monstruos” que se llegan a hacer inmanejables en el futuro, teniendo incluso que empezar de cero la aplicación. Esto es debido muchas veces, al desconocimiento de los gestores, que solo ven que la aplicación funciona.
Demo
Podéis probar el plugin aquí. Para navegar por la ciudad, podéis usar el ratón. Usando la rueda, podéis acercaros o alejaros. Si mantenéis pulsado el botón izquierdo del ratón y lo movéis, podéis cambiar la perspectiva de visualización.
Mas información: Qualilogy.com | Página oficial de City Model | Demostración en línea