Interactuando con un Diagrama de Actividades

Este artículo tiene el objetivo de mostrar cómo podemos interactuar con los modelos e integrar esta información con nuestros sistemas empresariales.

Imaginemos el rol de un analista que se encuentra validando un proceso en una organización, hay varias estrategias para estas actividades y esto depende del analista, organización e infinidad de puntos, pero la idea que propongo es realizar la lectura de un diagrama de actividades de forma simple y básica, para poder armar una descripción del proceso luego en esquema formal (algo que generalmente torna muy productivo la captura de requerimientos y permite enlazar la información rápidamente al entorno de desarrollo).

Para este punto voy a utilizar la herramienta de modelado EA (Enterprise Architect) y un proyecto de Visual Studio 2005 para armar un plug in que me permita interactuar con mi modelo.

Veamos en primer lugar un modelo, solo voy a arrastrar dos actividades y el punto de inicio y fin del diagrama, como para mostrar de forma rápida la idea conceptual del articulo.


Bien, en este punto voy a mostrar el entorno programático para realizar el plug in en el visual studio.


Tenemos que tener en cuenta varios puntos para dejar funcional nuestro plug in:

  • Agregar un referencia Interop.EA (se encuentra en el directorio del aplicativo EA)
  • Agregar una referencia (path) del directorio de EA
  • Registrar el COM interop
  • Colocar el path en el registro de nuestro plug in- HKEY_CURRENT_USER\Software\Sparx Systems\EAAddins

Toda esta información la pueden consultar desde el site de EA donde se explica en detalle las interfaces de conexión. (http://www.sparxsystems.com.au/)

Al poner en funcionamiento el desarrollo, vemos en la plataforma una nueva opción de operaciones:


La idea aún para esta demo no es exportar a una descripción de casos de uso funcional sino mostrarles la interacción, veamos que el aplicativo muestra en una forma los elementos detectados del diagrama.


De esta forma se puede interactuar, no solo con este tipo de diagramas, sino con toda la suite del lenguaje UML que propone EA, pero particularmente para este objetivo es un esquema que puede tornar muy productivo un análisis puntual o una captura de requerimientos.

Veamos algo de código antes de finalizar la presentación:

switch (ItemName)

{


case
"&Exportar Actividades":


//Presentar las actividades en la forma



//trabajo sobre el paquete

EA.Package paquete;

paquete = Repository.GetTreeSelectedPackage();



//declaro una lista de cadenas


List<String> listaElementos = new
List<String>();



//itero por los elementos del paquete


foreach (EA.Element elemento in paquete.Elements)

{


//Identifico los elementos - Agrego a mi lista los nombres


//de los elementos

listaElementos.Add(elemento.Name);


}


//llamo a una forma y le paso mi lista de cadenas cargada


Elementos frmElementos = new
Elementos();

frmElementos.listaElementos = listaElementos;

frmElementos.ShowDialog();




break;


case
"&Ayuda":





break;


case
"Acerca de...":


//Al seleccionar el menu acerca - referencias al desarrollador


Acerca frmAcercaDe = new
Acerca();

frmAcercaDe.ShowDialog();


break;

Bien espero que les sea de utilidad, es solo un esquema de interacción pero que en miras a desarrollos dentro de un equipo de sistemas el impacto es considerable.











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