Crear diagramas de capas a partir del código

Para visualizar el nivel alto del sistema de software, la arquitectura lógica, cree un diagrama de capas en Visual Studio Ultimate. Para asegurarse de que el código mantiene la coherencia con este diseño, valide el código con un diagrama de capas en Visual Studio Ultimate o Visual Studio Premium. Se pueden crear diagramas de capas para proyectos de Visual C# .NET y Visual Basic .NET.

¿Qué desea hacer?

  • Más información sobre los diagramas de capas

  • Crear un diagrama de capas

  • Crear capas a partir de artefactos

  • Administrar vínculos entre capas y artefactos

  • Realizar ingeniería inversa de dependencias existentes

  • Editar capas y dependencias para mostrar el diseño previsto

  • Cambiar cómo aparecen los elementos en el diagrama

Más información sobre los diagramas de capas

Un diagrama de capas permite organizar los elementos de la solución de Visual Studio en grupos lógicos abstractos, denominados capas. Las capas se pueden usar para describir las tareas principales que realizan estos artefactos o los componentes principales del sistema. Cada capa puede contener otras capas que describen tareas más detalladas. También se pueden especificar las dependencias planeadas o existentes entre las capas. Estas dependencias, que se representan como flechas, muestran qué capas pueden usar o usan actualmente la funcionalidad representada por otras capas. Para mantener el control de la arquitectura del código, muestre las dependencias previstas en el diagrama y, a continuación, valide el código con el diagrama.

Vea:

Sugerencia

Cuando se crea un diagrama de capas, existe la posibilidad de crear gráficos de dependencias como ayuda para explorar y entender el código.Estos gráficos ayudan a detectar clústeres, modelos, capas naturales y dependencias en el código.De este modo, le resultará más fácil asignar los artefactos a las capas.También puede usar el Explorador de arquitectura para explorar los espacios de nombres y las clases, que suelen corresponderse con las capas existentes.Posteriormente, podrá usar diagramas de capas que le ayuden a actualizar el código.

Vea:

Crear un diagrama de capas

Antes de poder crear un diagrama de capas, asegúrese de que la solución tenga un proyecto de modelado. Vea Crear proyectos y diagramas de modelado UML.

Importante

No agregue, arrastre ni copie un diagrama de capas de un proyecto de modelado a otro, ni a otro lugar de la solución.Esto conserva las referencias del diagrama original, aunque se cambie el diagrama.Esto también impide que la validación de capas se haga correctamente y es posible que cause otros problemas, como la pérdida de elementos u otros errores al intentar abrir el diagrama.

En su lugar, agregue un nuevo diagrama de capas al proyecto de modelado.Copie los elementos del diagrama de origen en el nuevo diagrama.Guarde el proyecto de modelado y el nuevo diagrama de capas.

Para agregar un nuevo diagrama de capas a un proyecto de modelado

  1. En el menú Arquitectura, elija Nuevo diagrama.

  2. En Plantillas, elija Diagrama de capas.

  3. Especifique un nombre para el diagrama.

  4. En Agregar a proyecto de modelado, busque y seleccione un proyecto de modelado existente en la solución.

    O bien

    Elija Crear un nuevo proyecto de modelado para agregar un nuevo proyecto de modelado a la solución.

    Nota

    Los diagramas de capas solo pueden existir dentro de un proyecto de modelado.Sin embargo, puede vincularlos a elementos en cualquier parte de la solución.

  5. Asegúrese de guardar tanto el proyecto de modelado como el diagrama de capas.

Crear capas a partir de artefactos

Puede crear capas a partir de elementos de una solución de Visual Studio, como proyectos, archivos de código, espacios de nombres, clases y métodos. Esto crea automáticamente vínculos entre las capas y los elementos, que se incluyen en el proceso de validación de capas.

También puede vincular capas a los elementos que no admiten validación, como documentos de Word o presentaciones de PowerPoint, para poder asociar una capa con especificaciones o planes. También puede vincular capas a archivos en proyectos que se comparten entre varias aplicaciones, pero el proceso de validación no incluirá esas capas, que aparecen con nombres genéricos como “Layer1" y “Layer2".

Para ver si un elemento vinculado admite la validación, abra el Explorador de capas y examine la propiedad Admite validación del elemento. Vea Administrar vínculos a artefactos.

Para

Siga estos pasos

Crear una capa para un único artefacto

  1. Arrastre el elemento hasta el diagrama de capas desde cualquiera de los siguientes orígenes:

  2. Cambie el nombre de la capa para que refleje las responsabilidades del código asociado u otros artefactos.

Importante

Al arrastrar los archivos binarios al diagrama de capas no se agregan automáticamente sus referencias al proyecto de modelado.Debe agregar manualmente los archivos binarios que desee validar al proyecto de modelado.

Para agregar archivos binarios al proyecto de modelado

  1. En el Explorador de soluciones, abra el menú contextual del proyecto de modelado y, a continuación, elija Agregar elemento existente.

  2. En el cuadro de diálogo Agregar elemento existente, busque los archivos binarios, selecciónelos y, a continuación, elija Aceptar.

    Los archivos binarios aparecen en el proyecto de modelado.

  3. En el Explorador de soluciones, elija un archivo binario agregado y, a continuación, presione F4 para abrir la ventana Propiedades.

  4. En cada archivo binario, establezca la propiedad Acción de compilación en Validar.

Crear una única capa para todos los artefactos seleccionados

Arrastre todos los artefactos hasta el diagrama de capas al mismo tiempo.

Aparecerá una capa en el diagrama que estará vinculada a todos los artefactos.

Crear una capa para cada artefacto seleccionado

Mantenga presionada la tecla MAYÚS mientras arrastra al mismo tiempo todos los artefactos al diagrama de capas.

Nota

Si usa la tecla MAYÚS para seleccionar un intervalo de elementos, suelte la tecla después de seleccionar los artefactos.Cuando arrastre los artefactos al diagrama, vuelva a mantener la tecla presionada.

Aparecerá una capa para cada artefacto y cada capa estará vinculada a cada uno de los artefactos.

Agregar un artefacto a una capa

Arrastre el artefacto hasta la capa.

Crear una nueva capa que no tenga vínculos

En el Cuadro de herramientas, expanda la sección Diagrama de capas y, a continuación, arrastre una Capa hasta el diagrama de capas.

Para agregar varias capas, haga doble clic en la herramienta. Cuando haya terminado, elija la herramienta Puntero o presione la tecla ESC.

– O bien –

Abra el menú contextual del diagrama de capas, elija Agregar y, a continuación elija Layer.

Crear capas anidadas

Arrastre una capa existente a otro nivel.

– O bien –

Abra el menú contextual de una capa, elija Agregar y, a continuación, elija Layer.

Crear una nueva capa que contenga dos o más capas existentes

Seleccione las capas, abra el menú contextual para su selección y después elija Agrupar.

Cambiar el color de una capa

Establezca la propiedad Color en el color que desee.

Especificar qué artefactos asociados a una capa no deben pertenecer a los espacios de nombres especificados

Escriba los espacios de nombres en la propiedad Forbidden Namespaces de la capa. Use un signo de punto y coma (;) para separar los espacios de nombres.

Especificar qué artefactos asociados a una capa no pueden depender de los espacios de nombres especificados

Escriba los espacios de nombres en la propiedad Forbidden Namespace Dependencies de la capa. Use un signo de punto y coma (;) para separar los espacios de nombres.

Especificar qué artefactos asociados a una capa no deben pertenecer a uno de los espacios de nombres especificados

Escriba el espacio de nombres en la propiedad Required Namespaces de la capa. Use un signo de punto y coma (;) para separar los espacios de nombres.

El número de una capa indica el número de artefactos vinculados a ella. Sin embargo, cuando lea este número, recuerde lo siguiente:

  • Si una capa se vincula a un artefacto que contiene otros artefactos, pero no se vincula directamente a estos otros artefactos, el número incluye únicamente el artefacto vinculado. Sin embargo, los demás artefactos se incluyen para el análisis durante la validación de capas.

    Por ejemplo, si una capa está vinculada a un solo espacio de nombres, el número de artefactos vinculados es 1, aunque el espacio de nombres contenga clases. Si la capa tiene también vínculos a cada clase del espacio de nombres, el número incluirá las clases vinculadas.

  • Si una capa contiene otras que están vinculadas a artefactos, la capa contenedora también está vinculada a esos artefactos, incluso aunque el número de la capa contenedora no los incluya.

Administrar vínculos entre capas y artefactos

  1. En el diagrama de capas, abra el menú contextual para la capa y, a continuación, elija Ver vínculos.

    En el Explorador de capas se muestran los vínculos de artefacto de la capa seleccionada.

  2. Use las tareas siguientes para administrar estos vínculos:

Para

En el Explorador de capas

Eliminar el vínculo entre la capa y un artefacto

Abra el menú contextual del vínculo del artefacto y, a continuación, elija Eliminar.

Mover el vínculo de una capa a otra

Arrastre el vínculo del artefacto a una capa del diagrama.

– O bien –

  1. Abra el menú contextual del vínculo del artefacto y, a continuación, elija Cortar.

  2. En el diagrama de capas, abra el menú contextual para la capa y, a continuación, elija Pegar.

Copiar el vínculo de una capa a otra

  1. Abra el menú contextual para el vínculo del artefacto y, a continuación, elija Copiar.

  2. En el diagrama de capas, abra el menú contextual para la capa y, a continuación, elija Pegar.

Crear una nueva capa a partir del vínculo de un artefacto existente

Arrastre el vínculo del artefacto a un espacio en blanco del diagrama.

Compruebe que el artefacto vinculado admite la validación con el diagrama de capas.

Observe la columna Admite validación del vínculo del artefacto.

Realizar ingeniería inversa de dependencias existentes

Una dependencia existe cuando un artefacto que está asociado a una capa tiene una referencia a un artefacto que está asociado a otra capa. Por ejemplo, una clase de una capa declara una variable que tiene una clase en otra capa. Puede realizar ingeniería inversa de las dependencias existentes en los artefactos vinculados a las capas del diagrama.

Nota

No se puede realizar ingeniería inversa en las dependencias de ciertos tipos de artefactos.Por ejemplo, no se va a realizar ingeniería inversa en ninguna dependencia que tenga como origen o destino una capa vinculada a un archivo de texto.Para ver qué artefactos tienen dependencias sobre las que se puede realizar ingeniería inversa, abra el menú contextual para una o múltiples capas y, a continuación, elija Ver vínculos.En el Explorador de capas, observe la columna Admite validación.No se realizará ingeniería inversa en las dependencias de artefactos en los que esta columna muestra False.

  • Seleccione una o varias capas, abra el menú contextual para una capa seleccionada y después elija Generar dependencias.

Normalmente, verá algunas dependencias que no deberían existir. Puede editar estas dependencias para alinearlas con el diseño buscado.

Editar capas y dependencias para mostrar el diseño previsto

Para describir los cambios que piensa realizar en el sistema o la arquitectura deseada, edite el diagrama de capas:

Para

Siga estos pasos

Cambiar o restringir la dirección de una dependencia

Establezca su propiedad Direction.

Crear nuevas dependencias

Use las herramientas Dependencia y Dependencia bidireccional.

Para dibujar varias dependencias, haga doble clic en la herramienta. Cuando haya terminado, elija la herramienta Puntero o presione la tecla ESC.

Especificar qué artefactos asociados a una capa no pueden depender de los espacios de nombres especificados

Escriba los espacios de nombres en la propiedad Forbidden Namespace Dependencies de la capa. Use un signo de punto y coma (;) para separar los espacios de nombres.

Especificar qué artefactos asociados a una capa no deben pertenecer a los espacios de nombres especificados

Escriba los espacios de nombres en la propiedad Forbidden Namespaces de la capa. Use un signo de punto y coma (;) para separar los espacios de nombres.

Especificar qué artefactos asociados a una capa no deben pertenecer a uno de los espacios de nombres especificados

Escriba el espacio de nombres en la propiedad Required Namespaces de la capa. Use un signo de punto y coma (;) para separar los espacios de nombres.

Cambiar cómo aparecen los elementos en el diagrama

Puede cambiar el tamaño, la forma, el color y la posición de las capas o el color de las dependencias mediante la edición de sus propiedades.

Vea también

Conceptos

Visualizar el código