1.- Introducción.
En la actualidad estamos viviendo una época de auge en el terreno de la computación, esto es no sólo en el plano tecnológico sino también en el de la creación de aplicaciones o ‘software’, a diario aparecen nuevos desarrollos cada vez más poderosos pero a la vez sencillos de utilizar. La propuesta de proyecto terminal que se presenta en este reporte concierne el desarrollo de una aplicación para el área de Ingeniería Biomédica, en particular para el laboratorio de procesamiento de señales e imágenes biomédicas (PDSIB) de la UAM - Iztapalapa. Esta aplicación tiene cómo objetivo la representación en forma de imágenes tridimensionales de reconstrucciones hechas a partir de cortes tomográficos a los que se les ha aplicado uno o varios algoritmos.
Las imágenes que se obtienen a partir de estudios como el de resonancia magnética o el de tomografía muestran secciones del cuerpo en imágenes con diversos tonos de gris. Es posible crear un objeto tridimensional que represente alguna estructura interna y que se obtiene a partir de las imágenes, y que se pueda emplear por ejemplo, para visualizar el cráneo ante la necesidad de estudiar una fractura en la cabeza. Las imágenes deben ser procesadas antes de realizar las reconstrucciones, y para ello existe una gran variedad de algoritmos que permiten obtener resultados de mayor o menor calidad. En el laboratorio de procesamiento de señales e imágenes biomédicas se desean probar nuevos algoritmos para la obtención de reconstrucciones tridimensionales, pero hasta ahora no hay manera de hacerlo en las estaciones de trabajo, que permiten desplegar gráficas de manera eficiente, de ahí surge el interés por un sistema como este.
La creación de aplicaciones no es una tarea sencilla, sobre todo cuando estas comienzan a tener un cierto grado de complejidad, y por ello es necesaria la utilización de alguna metodología que permita llevar un orden a lo largo del proceso de desarrollo de la aplicación. En lo que nos concierne, seguiremos la metodología propuesta por Grady Booch en su libro "Object Solutions".
La metodología con enfoque Orientado a Objetos, que nos propone el autor de este libro, es la del seguimiento de un ciclo de desarrollo iterativo e incremental. Con iterativo se refiere al hecho de que los pasos principales del método deberán ser repetidos varias veces, y esto se realiza de manera incremental esto es que en cada ocasión se refinan los resultados que se tienen de la iteración anterior. Podemos asimilar el proceso a una espiral cuyo diámetro aumenta con el tiempo, pues aparecen cada vez más detalles, esto se llama el "macro proceso" (proceso global) y en su trayectoria se encuentran una serie de otras pequeñas espirales, que deben ser recorridas para poder continuar el seguimiento de la trayectoria de la espiral principal, eso se llama el "micro proceso" (proceso local).
El macro proceso, o proceso global, cuyo enfoque es principalmente administrativo, comprende el refinamiento sucesivo de la arquitectura del sistema, y está compuesto por los pasos principales del desarrollo tradicional del software (el modelo ‘top-down’), estos son:
Las fases que se muestran en el diagrama consisten principalmente de:
El micro proceso o proceso local, tiene un enfoque principalmente técnico. El macro proceso provee un contexto para el micro proceso al establecer los productos intermedios y las metas hacia las cuales el equipo se dirige. El macro proceso y el micro proceso no son entidades distintas, están entrelazados y los logros en el proceso global se obtienen a través del proceso local. Las fases de este proceso son las siguientes:
Las fases mostradas en el diagrama consisten de:
Posteriormente podremos apreciar el ciclo del micro proceso aplicado al proyecto que se esta describiendo, en particular en lo referente al descubrimiento de clases y sus relaciones.
Los dos proceso anteriores resumen de manera global la metodología que se empleó durante el desarrollo del proyecto. Es importante mencionar que también adoptamos algunas ideas propuestas por otros autores, en particular nos referimos a aquellas que describe Scott W. Ambler en sus papeles acerca del "proceso de modelado orientado a objetos: una aproximación manejada por arquitectura". De este autor en particular retomamos la visión de manera ‘serial’ del desarrollo. Aunque hemos hecho un énfasis especial en que el proceso es algo iterativo, podemos pensar que cada iteración ocurre de una manera secuencial, que puede ser recorrida en ambas direcciones, y a partir de ello utilizamos la propuesta que nos hace el autor acerca de las técnicas de modelado útiles en cada momento del proceso, para ello podemos referirnos al diagrama siguiente:
El diagrama anterior es útil pues nos permite ubicarnos dentro de la etapa del macro proceso dada la cantidad de diagramas que se necesitan, aunque no todos son indispensables.