Ampliar modelos y diagramas UML

En este tema se resumen los distintos mecanismos mediante los que se pueden ampliar las herramientas de modelado de UML de Visual Studio Ultimate.

En el escenario del ejemplo siguiente, Fabrikam diseña e instala sistemas de control de equipaje en aeropuertos.Del proyecto de un aeropuerto al siguiente, existen muchas similitudes en el equipo básico y el software que lo controla.Sin embargo, hay algunos factores que varían considerablemente, como la configuración de las bandas transportadoras, los mostradores de facturación, los contenedores de almacenamiento y otros equipos de control de equipaje.

Al comienzo de un nuevo proyecto, el equipo de Fabrikam crea un modelo UML que le ayuda a debatir estos requisitos entre ellos y con su cliente.Utilizan diagramas de actividades para representar el flujo del equipaje, con nodos de objeto que representan cada parte del equipo.En el modelo UML no se representa el código del sistema directamente.

El equipo de herramientas de Fabrikam realiza una serie de mejoras para ayudar a los equipos de desarrollo.En las secciones siguientes se describen los diferentes tipos de extensiones que se pueden definir.Puede combinar varias de estas técnicas en una extensión de Visual Studio.

Para obtener más información, vea el vídeo: vínculo a vídeoMSDN cómo se realizan las ejecuciones de I: herramientas y extensibilidad de UML.

Requisitos

Perfiles

Los perfiles permiten definir estereotipos y propiedades adicionales en los elementos de UML.

Los desarrolladores de herramientas de Fabrikam definen los estereotipos en los nodos de objeto de los diagramas de actividades, como "banda transportadora" y "mostrador de facturación".Cuando un miembro del equipo crea un esquema de control de equipaje utilizando un diagrama de actividades, puede definir los estereotipos en ese momento para indicar qué tipo de equipo representa cada nodo.Los desarrolladores de herramientas definen propiedades adicionales en algunos de los estereotipos para que los usuarios puedan registrar valores, como la capacidad de una banda transportadora y la situación de un mostrador de facturación.

Para obtener más información, vea Cómo: Definir un perfil para ampliar UML.

Elementos personalizados del cuadro de herramientas

Un elemento personalizado del cuadro de herramientas crea un elemento o grupo de elementos a partir de un prototipo que se define en un diagrama.Por ejemplo, puede diseñar una herramienta que cree casos de uso en un color determinado o un estereotipo o puede crear un grupo de clases y asociaciones que representen un modelo de diseño.Puede agregar estos elementos del cuadro de herramientas a las extensiones de Visual Studio y distribuirlos a otros usuarios.

Para obtener más información, vea Cómo: Definir un elemento personalizado en un cuadro de herramientas de modelado.

Validación

Puede definir reglas para asegurarse de que un modelo UML cumple las restricciones especificadas.

Los desarrolladores de herramientas de Fabrikam definen reglas que ayudan a los miembros del equipo a evitar que se comentan errores simples en los modelos de control de equipaje.Por ejemplo, un mostrador de facturación no puede estar conectado directamente a un contenedor de almacenamiento.Debe haber por lo menos una banda transportadora entre ellos.

Para obtener más información, vea Cómo: Definir restricciones de validación para modelos UML.

Comandos de menú

Puede definir comandos que los usuarios pueden invocar al hacer clic con el botón secundario del mouse en los elementos de un diagrama de UML.Los comandos pueden actualizar el modelo y los diagramas o realizar otras operaciones en Visual Studio.

Fabrikam define los comandos de menú para automatizar las operaciones que realiza habitualmente, como crear un mostrador de facturación y conectarlo a una banda transportadora seleccionada o reorganizar un diagrama con arreglo a las reglas de diseño de la compañía.

Vea Cómo: Definir un comando de menú en un diagrama de modelado.

Gestos

Puede definir comandos que los usuarios inician haciendo doble clic en un elemento del diagrama o arrastrándolo hasta un diagrama o un elemento del diagrama.Puede definir comandos que se ocupen de los elementos arrastrados desde otros diagramas UML, de otros componentes de Visual Studio, desde otras aplicaciones o el Explorador de Windows (o el Explorador de archivos.

Los miembros del equipo de Fabrikam pueden asociar un archivo, como una especificación, a cualquier elemento del modelo arrastrándolo desde el escritorio de Windows.Los desarrolladores de herramientas definieron un estereotipo que proporciona una propiedad de ruta de acceso del archivo a cualquier elemento y un gesto que establece el estereotipo y la ruta de acceso del archivo cuando un archivo se coloca en un elemento.

Para obtener más información, vea Cómo: Definir un controlador de gestos en un diagrama de modelado.

Responder a los cambios

Puede escribir código que responda a los cambios del modelo, tanto si se derivan de acciones del usuario como de otro código de programa.

Los desarrolladores de Fabrikam crean código que establece automáticamente el color de un elemento en función de su estereotipo.De este modo, resulta sencillo para los usuarios distinguir los distintos roles que juegan los elementos en los modelos.

Para obtener más información, vea Cómo: Responder a cambios en un modelo UML.

Model Bus

Model Bus permite obtener acceso a un diagrama o modelo desde otro diagrama o extensión de Visual Studio.Entre otras cosas, esto le permite compartir información entre varios modelos, de modo que varias personas pueden trabajar al mismo tiempo en el modelo combinado.

Fabrikam utiliza los elementos de los diagramas de actividades para representar el equipo de control de equipaje.Cada elemento del equipo puede tener una especificación más detallada en otro diagrama, que puede estar en otro modelo.Las restricciones de validación del diagrama de flujo de equipaje pueden recuperar propiedades del equipo pertinentes de los demás diagramas.Las referencias a los otros diagramas se almacenan en otras propiedades adicionales que se definen en estereotipos.

Para obtener más información, vea Cómo: Integrar modelos UML con otros modelos y herramientas.

Generación

A partir de un modelo, puede generar código de programa, scripts, configuraciones, documentos, nuevos modelos u otros artefactos.

En los sistemas de equipajes que Fabrikam diseña, una gran parte del código del programa se comparte entre un proyecto y el siguiente.El aspecto principal que más varía es el plan del flujo del equipaje alrededor del aeropuerto.Tras acumular experiencia con sus primeros proyectos, los desarrolladores de herramientas del equipo de diseño crearon una plantilla que genera, a partir del modelo de flujo de equipaje, gran parte del código del programa que varía y otros archivos, como documentos de usuario.Esto reduce considerablemente el tiempo de desarrollo y la tasa de errores de cada nuevo proyecto.

Para obtener más información, vea Cómo: Generar archivos a partir de un modelo UML.

Integración de Team Foundation Server

Puede vincular los elementos de trabajo a los elementos del modelo y obtener acceso a los elementos vinculados mediante programación.

Los desarrolladores de herramientas de Fabrikam escriben una herramienta que genera la programación de trabajo de cada proyecto de aeropuerto.Los elementos de trabajo de la programación están vinculados a los elementos del modelo.

Para obtener más información, vea Cómo: Definir un controlador de vínculos de elementos de trabajo.

Herramientas que actualizan modelos

Puede crear aplicaciones independientes y extensiones de Visual Studio que sean capaces de cargar modelos UML.

Los desarrolladores de Fabrikam crean una herramienta que lee un modelo y genera informes del progreso de trabajo de cada elemento del modelo.

Para obtener más información, vea Cómo: Leer un modelo UML en el código del programa.

Lenguajes específicos del dominio

Si utiliza un determinado tipo de modelo frecuentemente, puede ser útil crear un lenguaje específico del dominio.Esto se puede realizar para ajustar sus necesidades comerciales con más detalle que un modelo UML, pero su compilación y mantenimiento requiere más esfuerzo.Para obtener más información, vea SDK de modelado y virtualización - Lenguajes específicos de dominio.

Recursos externos

Categoría

Vínculos

Videos

vínculo a vídeo

vínculo a vídeo

Foros

Blogs

Visual Studio Team System + Team Foundation Server Blog

Artículos y diarios técnicos

The Architecture Journal - Issue 23: Architecture Modeling and Processes

Otros sitios

Centro de Arquitectura - MSDN

Vea también

Conceptos

Desarrollar modelos para el diseño de software

Otros recursos

Referencia de la API para la extensibilidad del modelado UML