Parte 5: Análisis de una aplicación heredada con Altova UModel
Anteriormente, en las partes 1, parte 2, parte 3 y parte 4 de esta serie, utilizamos la funcionalidad de ingeniería inversa de Altova UModel para crear diagramas UML para una aplicación de simulación bancaria de cajeros automáticos. Después de analizar la arquitectura existente, planificamos e implementamos una nueva función: la comisión por retiro. Incluso en un tamaño reducido, nuestro diagrama de secuencia actualizado para la transacción de retiro representa de forma gráfica la estructura lógica interna del código fuente.
![]()
Esta mañana, coincidimos con el responsable del producto de cajeros automáticos en la máquina de café. "Lleváis trabajando en ese código de cajeros automáticos durante más de un mes", dijo. "¿Cuándo podré ver los resultados de vuestro trabajo?". Podemos aprovechar la función Generar documentación de UModel para satisfacer esta solicitud. UModel generará automáticamente documentación personalizada para nuestro proyecto en formatos HTML, Microsoft Word o RTF. La pestaña "Incluir" en el cuadro de diálogo "Generar documentación" nos permite elegir qué tipos de diagramas incluir, y especificar el nivel de detalle de nuestro informe, permitiéndonos expandir cada tipo de elemento del diagrama.
![]()
Para un informe general, podemos seleccionar todos los tipos de diagramas. También seleccionaremos "clase" de la lista de elementos para mostrar información adicional sobre las clases en nuestra aplicación. UModel nos pregunta si también queremos añadir elementos derivados de la clase.
![]()
Una vez que hemos seleccionado o ajustado otros parámetros del documento, incluyendo fuentes y tamaños, UModel genera el informe en cuestión de segundos. En la parte superior de la primera página, el informe comienza con un índice de diagramas y un índice separado de elementos. Cada elemento del índice está enlazado a un marcador dentro del documento.
![]()
Independientemente del formato que elija, el informe resultante es totalmente editable. Por ejemplo, podemos añadir un pie de página que incluya los números de página y una línea de texto que registre la fecha de creación del documento. Podemos utilizar la línea de texto que UModel ha creado para crear nuestro propio pie de página.
![]()
Nuestro informe finalizado contiene todos los diagramas UML que describen la aplicación ATM heredada, con diagramas de clases detallados que muestran las propiedades y operaciones de cada clase. Además, la representación de cada clase está acompañada de un diagrama de jerarquía para mostrar las relaciones entre las clases, y una lista de todas las asociaciones entre clases. A medida que nuestro proyecto evolucione, podremos generar fácilmente una versión actualizada del informe. Incluso podríamos aprovechar la funcionalidad de línea de comandos de UModel o la API de UModel para automatizar la creación de la documentación del proyecto, o podríamos adjuntar la versión .html del informe a la wiki de nuestro equipo de desarrollo. Pero, por ahora, todo lo que tenemos que hacer es enviar el informe por correo electrónico al responsable del producto ATM.
Conclusión
Esperamos que hayan disfrutado siguiendo este ejercicio de análisis de una aplicación heredada con Altova UModel. Aunque cerramos esta serie aquí, en el mundo real, queda mucho trabajo por hacer en nuestra aplicación de cajeros automáticos. Por ejemplo, la función que permite a los usuarios aceptar la comisión o cancelar un retiro aún debe implementarse. O, podríamos actualizar el código heredado con construcciones más recientes del lenguaje Java, como los genéricos, las anotaciones y las enumeraciones.
Si ya tiene experiencia con UML, esperamos haberle mostrado algunos trucos nuevos. Si es un desarrollador que nunca ha probado UML, queríamos mostrarle algunos de los aspectos y beneficios del modelado visual de software. En cualquier caso, si está listo para avanzar en su propio proyecto, haga clic aquí para descargar una versión de prueba gratuita y completamente funcional de Altova UModel.