05 agosto 2006

Analizadores del diseño de aplicaciones informáticas: Alloy

Cuando se desarrolla una aplicación informática, están definidos tres bloques fundamentales:

* Análisis y diseño, cuyos resultados son una serie de diagramas de proceso, de datos y de flujo.
* Construcción, que consiste en la programación efectiva de los módulos diseñados.
* Implantación y pruebas, donde se monta el nuevo sistema y se depuran los errores.

Un fallo bastante habitual que cometemos los desarrolladores es no dedicarle el tiempo suficiente a la primera fase. Puede ser por diversas razones: necesidad de terminar rápidamente un desarrollo y entregar cuanto antes un prototipo, creencia de que el programa es muy sencillo como para hacer un diseño exhaustivo, cambio de los requisitos del sistema iniciada la fase de construcción, etc... Por lo general, descargamos el peso de la verificación de la adecuación y la calidad en la tercera parte, lo que lleva a ir arreglando errores parcheando, de manera que un diseño inicialmente robusto, se va complicando y complicando de forma que termina siendo, en el mejor de los casos, escasamente reutilizable, y en el peor, inestable. El método de corrección de errores suele ser ejecutar el programa cientos de veces, en muy diversas condiciones, para asegurarse de que lo construido funciona.

Sin embargo, todos sabemos que la parte crítica de la construcción de un programa de ordenador es el diseño previo, porque un diseño adecuado acorta mucho las fases posteriores, con los consiguientes ahorros de tiempo y dinero. No obstante, los errores de la fase de análisis son muy sutiles y difíciles de ver. Por ello, existen diferentes herramientas de análisis del diseño de sistemas informáticos. La única de la que he leído un poco es Alloy:

http://alloy.mit.edu/index.php

desarrollada por el Grupo de Diseño del Software del MIT (Massachusetts Institute of Technology). En la revista Investigación y Ciencia de este mes de agosto, aparece un artículo de Daniel Jackson sobre el control de calidad de los programas, gracias al cual he conocido esta curiosa herramienta.

No hay comentarios: