Comparando Modelos - ¿Se puede gestionar el desarrollo por modelos?

El objetivo de esta publicación es realizar algunos comentarios sobre como puedo gestionar mis modelos, llevar consistencia entre los mismos y porque no incorporar una doctrina de control en el equipo de desarrollo o ingeniería de software.

Veamos un ejemplo de un modelo de casos de uso, trabajando nuevamente con los cursos en línea.



Figura 1 – modelo de casos de uso de negocio

Este diagrama de casos de uso en la herramienta, lo tengo agrupado en un paquete, lo que me permite tener opciones avanzadas sobre el mismo, por ejemplo realizar exportación del modelo y claramente es válido su importación también, además puedo someter a control de versiones automatizado del modelo, configurar líneas base y demás.Veamos una par de ejemplos de lo que estoy conceptualizando.

Figura 2 – funciones de importación / exportación

Podemos observar la función de exportación del modelo a formato estándar XMI para que podamos comparar diversos archivos con el modelo desarrollado.

Figura 3 – funciones de manejo del paquete (líneas base)

Además podemos incorporar funciones del paquete como las líneas base sobre el modelo y claro configuración de versionado del mismo.

Estas funciones nos permiten llevar consistencia a nuestros trabajos, verificar trabajos de nuestro equipo de ingeniería de software y poder gestionar el desarrollo por modelos de una forma versátil y sencilla.

Vamos a agregar una línea base sobre el modelo de casos de uso del negocio elaborado.

Figura 4 – especificación de línea base

Lo que debemos hacer en este punto es generar la nueva línea base ya que no existe ninguna.

Figura 5 – creación de línea base

Debemos colocar una versión para poder controlar este modelo y si queremos modificar las notas también es una buena práctica.

Figura 6 – Administración de línea base creada


Finalmente tenemos nuestra línea base configurada y podemos comparar las modificaciones efectuadas al modelo.

Este tipo de práctica es valido con las exportaciones de modelos, por ejemplo yo puedo realizar un modelo, colocarlo en un paquete efectuar las operaciones de exportación y luego comparar ese modelo con otro de mi desarrollo o como se me ocurra la combinación.

Ahora voy a realizar una modificación en uno de los casos.

Figura 7 – Modificación del estado en uno de los casos de uso

Además voy a realizar un agregado de un caso, y así se puede realizar cualquier operación.

Finalmente vamos a comparar los modelos con una de las funciones que brinda la herramienta pero en realidad esto no es más que una comparativa de los archivos XML que podemos incluso comparar con herramientas propias desarrolladas por nosotros mismos.

Figura 8 – Herramienta de comparación

La herramienta de comparación muestra los cambios en comparativa con al línea base especificada y grafica una modificación en uno de los casos, claramente también se ve un cambio en el diagrama y una agregación.

Pero podemos tener más datos si navegamos por los artefactos.

Figura 9 – Detalle comparativo extra

Esto deja claro que podemos realizar controles bastantes meticulosos sobre los modelos, controlar la generación de los mismos y de paso graficar métricas y tiempos de retrabajos por ejemplo interesantes dentro del área de ingeniería de software.

Comentarios

Entradas más populares de este blog

Modelando relaciones en UML, un acercamiento a las Asociaciones

Utilizando Intents implícitos para crear actividades

Secuencias…Modelado indispensable