Agregar Compartimientos Personalizados a Elemento [Guía de Usuario de Enterprise Architect]

Top Previous Next

Agregar Compartimientos Personalizados a Elemento

button_main button_prev button_next

Cuando muestra un elemento en un diagrama en formato normal y rectangular es posible mostrar un número de compartimientos dentro de ese marco, para revelar características agregadas tal como Atributos, Operaciones y Notas, utilizando ventanas de Propiedades de Diagramas y Visibilidad de Compartimientos y Características de un elemento. Si quiere revelar otras características agregadas, tal como elementos relacionados o Puertos y Partes, puede utilizar un Script de Forma para agregar Compartimientos Personalizados a la disposición de diagrama del elemento. Usualmente, agregaría éste Script de Forma a un elemento Estereotipo en un Perfil.

Habiendo creado un compartimiento personalizado, puede agregar una Nota vinculado al elemento para mostrar el contenido del compartimiento, como puede para otras características del elemento.

Acceso    Elemento de Estereotipo de Perfil: ( F9 ) > General | Valor Inicial: browse o

Configuraciones | Tipos de UML > Estereotipos (especificar estereotipo): Script de Forma, Asignar

Agregar Compartimientos Personalizados a Elementos

Proceso

Descripción

Ver También

Desarrollar script

Para el estereotipo seleccionado, abra el Editor de Forma.

En el script, reemplace forma principal  con:

shape ChildElement o

shape RelatedElement

 

Puede mantener forma principal si prefiere, para ajustar algunas propiedades del elemento principal (tal como color); sin embargo, la forma principal después requiere una llamada a DrawNativeShape() para que funcione correctamente.

En éste punto, puede utilizar el método de consulta HasProperty para buscar elementos hijos o relacionados para propiedades específicas (tal como estereotipos) para que sean mostradas en compartimientos. Un Script de Forma de un Elemento Relacionado determina propiedades de elementos que están vinculadas al elemento actual a través de conectores.

Ejemplos de Scripts de Forma que definen compartimientos personalizados se proveen abajo.

 

Editor de Forma

 

Métodos de Dibujo

Métodos de Consulta

Mostrar Propiedades de Elemento/Conector

 

Adjuntar Nota Vinculada

Puede utilizar uno de dos métodos para crear una Nota vinculada para mostrar contenidos de compartimientos personalizados:

Método 1 (el elemento se muestra actualmente en compartimientos personalizados) - resalte el nombre del elemento hijo o relacionado en el compartimiento personalizado, luego hágale clic derecho y seleccione la opción del menú Crear Nota Vinculada; el compartimento personalizado se cierra automáticamente, y la Nota vinculada agregada al diagrama listando todos los nombres de elementos en dicho compartimiento

 

Método 2 (el elemento no muestra necesariamente compartimentos personalizados) - arrastre un elemento de Nota desde la página Común de la Caja de Herramientas de Diagrama y vincularla al elemento que contiene el compartimiento personalizado con un conector de Vínculo de Nota

 

Haga clic derecho en el conector y seleccione la opción del menú Vincular esta nota a una característica del elemento, para mostrar la ventana Vincular nota a característica de elemento, haga clic en la flecha de despliegue en el campo Tipo de Característica y haga clic en el nombre del compartimiento personalizado, tal como, Propiedades luego haga clic en el botón Aceptar.

 

El contenido de dicho compartimiento aparece en la nota

 

En el Método 2, si se muestra el compartimiento, el método NO ocultará el compartimiento. Es recomendable que utilice éste método si el compartimento ya está oculto.

Cuales quiera cambios que haga a la lista de elementos en el compartimiento, o sus nombres, se reflejan inmediatamente en la Nota para mantener la precisión de la información mostrada.

 

 

Ejemplo de Script 1: Agregar compartimiento sin ajustar el elemento padre

 

//Agregar compartimientos para elementos Hijos.

shape ChildElement

{

//Revisar si un elemento hijo tiene la propiedad estereotipo, si es así configurar

//el nombre del compartimiento como Propiedades.

if(HasProperty("stereotype", "property"))

{

SetCompartmentName("Properties");

}

 

//Revisar si el elemento hijo tiene un alcance público y si es así agregar el símbolo +

//al compartimiento hijo.

if(HasProperty("scope", "public"))

{

AppendCompartmentText("+");

}

 

//Agregar el nombre de los elementos hijos al compartimiento hijo.

AppendCompartmentText("#NAME#");

}

 

El Script de Forma revisa todos los elementos hijos para ver si tienen un estereotipo de propiedad. Si se encuentra el estereotipo, la función SetCompartmentName configura una compartimiento llamado Propiedades.

El script luego revisa si el elemento hijo tiene un alcance público, y si lo tiene, anexa el símbolo +.

Finalmente, la función AppendCompartmentText agrega el nombre del elemento hijo al compartimiento.

Si un compartimiento ya ha sido declarado por SetCompartmentName, cuales quiera elementos hijos adicionales que caerán bajo el mismo compartimiento son agregados automáticamente sin tener que declarar un nuevo nombre de compartimiento (esto es, todos los elementos hijos con el estereotipo propiedad terminan en el compartimiento Propiedades).

 

 

Ejemplo de Script 2: Ajusta el color del elemento padre y agregar compartimientos hijos

 

//Forma principal afecta al padre

shape main

{

//establecer el color del elemento primario a rojo

setfillcolor(255,0,0);

//dibujar la forma nativa de la forma

drawnativeshape();

}

 

//Forma ChildElement agrega Compartimientos Hijos al padre.

shape ChildElement

{

if(HasProperty("stereotype", "part"))

{

SetCompartmentName("Parts");

}

else if(HasProperty("stereotype", "mystereotype"))

{

SetCompartmentName("My Stereotype");

}

 

AppendCompartmentText("#NAME#");

}

 

La sección forma principal configura el color del elemento principal a rojo para agregar compartimientos hijos basados en elementos hijos estereotipados.

El script revisa si el elemento hijo tiene el valor estereotipado "parte" o "mystereotype"aplicado a él. Si hay múltiples elementos hijos, tener una combinación de estereotipos "parte" y "mystereotype" estereotipos, dos compartimientos se crean, llamados Partes y Mi Estereotipo.

Para mostrar los compartimientos, AppendCompartmentText debe ser llamado para insertar contenido en el compartimiento.

Valores pasados a SetCompartmentName y AppendCompartmentText no pueden contener nuevos caracteres de línea.

 

 

Ejemplo de Script 3: Solo lista elementos hijos en compartimiento si no están ya visibles en el diagrama.

 

shape ChildElement

{

//Revisar si el elemento hijo está en el diagrama o no.

if(hasproperty("IsVisible", "false"))

{

//Crear un compartimiento para partes.

if(hasproperty("type", "part"))

{

SetCompartmentName("Parts");

}

//Crear un compartimiento para puertos.

else if(hasproperty("type", "port"))

{

SetCompartmentName("Ports");

}

 

//Agregar el nombre del elemento hijo al compartimiento.

AppendCompartmentText("#NAME#");

}

 

}

 

Éste script agrega compartimientos personalizados para elementos Puerto y Parte que pertenecen al elemento actual, pero que no son visibles en el diagrama.

La propiedad IsVisible devuelve verdadero si el elemento hijo ya está visible en el diagrama, falso si el elemento hijo no está visible.

Esto puede ser utilizado para prevenir que el elemento hijo se liste en el compartimiento personalizado, si ya es visible en el diagrama, evitando la muestra de información redundante.

 

 

Ejemplo de Script 4: Mostrar elementos que son el destino de un conector de Dependencia desde el elemento que tienen el script de forma

 

shape RelatedElement

{

//Revisar si el conector actual que estamos procesando tiene un

//tipo de dependencia.

if(HasProperty("Connector.Type", "Dependency"))

{

//Revisar si el elemento que estamos comprobando actualmente es

//el destino del conector actual.

if(HasProperty("Element.IsTarget"))

{

//Configurar el compartimiento Nombre

SetCompartmentName("dependsOn");

if(HasProperty("Element.Stereotype", ""))

{

}

else

{

AppendCompartmentText("«#Element.Stereotype#» ");

}

AppendCompartmentText("#Element.Name#");

}

}

}

 

Con este script, si una Clase1 tiene un estereotipo con el Script de Forma 'RelatedElement' y Clase1 es el origen de un conector de Dependencia para la Clase2 de destino, entonces el nombre Clase2 aparece en un compartimiento de la Clase 1, llamado dependsOn.

 

 

Ejemplo de Script 5: Mostrar una lista de las interfaces realizadas dentro de un compartimiento en un elemento

 

shape RelatedElement

{

//Revisar si el conector actual que se está procesando es una Realización

if(HasProperty("Connector.Type", "Realization"))

{

//Sólo mostrar este compartimento si el elemento relacionado que estamos

//revisando es el destino del conector que tiene este

//elemento de scripts de formacomo la fuente

if(HasProperty("Element.IsTarget"))

{

//Si el elemento es una interfaz, muéstrela en el

//compartimiento 'realizedInterfaces'

if(HasProperty("Element.Type", "Interface"))

{

SetCompartmentName("realizedInterfaces");

AppendCompartmentText("#Element.Name#");

}

}

}

}

 

Si un elemento Clase 1 tiene un Script de Forma y es la fuente de un conector de Realización a un elemento Interfaz 1, el nombre Interfaz 1 se muestra en el compartimiento realizedInterfaces de Clase 1.

 

 

Notas

Si utiliza puntuación dentro de un nombre de compartimiento, se quita cuando el script es guardado; por ejemplo, Puertos, Partes y Propiedades se convierte en Puertos Partes y Propiedades

Visibilidad de cada compartimiento personalizado individual definido por un script de forma, puede ser controlado utilizando la ventana Visibilidad de Característica y Compartimiento

Los Scripts de Forma 'ElementosRelacionado' tienen capacidades extendidas para revisar tanto un conector y el elemento en el otro extremo del conector; son aplicados sólo a un elemento y son sólo utilizados para retirar información para ser mostrada dentro de un compartimiento de ese elemento.

Aprender Más

Agregar Scripts de Formas

Visibilidad de Característica

Mostrar Diagrama Compuesto

Pestaña Elementos