Estructurar soluciones de modelado
Para utilizar los modelos en un proyecto de desarrollo eficazmente, los miembros del equipo deben poder trabajar al mismo tiempo en los modelos de las diferentes partes del proyecto. En este tema se propone un esquema para dividir la aplicación en las diferentes partes que se corresponden con las capas de un diagrama de capas.
Para comenzar rápidamente con un proyecto o subproyecto, es útil tener una plantilla de proyecto que siga la estructura del proyecto elegido. En este tema se describe cómo crear y utilizar este tipo de plantilla.
En este tema se supone que está trabajando en un proyecto lo suficientemente grande como para necesitar la participación de varios miembros del equipo y quizá incluya varios equipos. El código y los modelos del proyecto están almacenados en un sistema de control de código fuente como Team Foundation Server. Algunos miembros del equipo puden utilizan Visual Studio Ultimate para desarrollar modelos, mientras que los otros miembros pueden ver los modelos utilizando otras versiones de Visual Studio.
Estructura de soluciones
En un proyecto de tamaño medio o grande, la estructura del equipo se basa en la estructura de la aplicación. Cada equipo utiliza una solución de Visual Studio.
Para dividir las aplicaciones en capas
Base la estructura de las soluciones en la estructura de la aplicación, es decir, aplicación web, aplicación de servicio o aplicación de escritorio. En Application Archetypes in the Microsoft Application Architecture Guide se comentan diversas arquitecturas comunes.
Cree una solución en Visual Studio, que denominaremos solución Arquitectura. Se utilizará para crear el diseño general del sistema. Contendrá modelos pero no incluirá código.
Agregue un diagrama de capas a dicha solución. En el diagrama de capas, dibuje la arquitectura que ha elegido para la aplicación. Por ejemplo, el diagrama podría mostrar los siguientes niveles y dependencias entre ellos: presentación, lógica empresarial y datos.
Puede crear el diagrama de capas y una nueva solución en Visual Studio al mismo tiempo mediante el comando Nuevo diagrama del menú Arquitectura.
Agregue al modelo Arquitectura diagramas UML que representen los conceptos empresariales importantes y casos de uso a los que se haga referencia en el diseño de todas las capas.
Por cada capa, cree una solución de Visual Studio independiente en el diagrama de capas Arquitectura.
Estas soluciones se utilizarán para desarrollar el código de las capas.
Cree modelos UML que representen los diseños de las capas y los conceptos comunes a todas las capas. Organice los modelos de forma que se vean todos en la solución Arquitectura y los que sean relevantes se puedan ver desde cada capa.
Esto se consigue mediante alguno de los siguientes procedimientos. La primera alternativa crea un proyecto de modelado independiente por capa y la segunda crea un proyecto de modelado único que se comparte entre las capas.
Para utilizar un proyecto de modelado independiente para cada capa
Cree un proyecto de modelado en cada solución de capas.
Este modelo contendrá diagramas UML que describen los requisitos y el diseño de esa capa. También puede incluir diagramas de capas que muestran las capas anidadas.
Ya tiene un modelo para cada capa, además de un modelo para la arquitectura de la aplicación. Cada modelo está contenido en una solución propia. Esto permite que los miembros del equipo trabajen al mismo tiempo en las capas.
Agregue a la solución Arquitectura, el proyecto de modelado de cada solución de capa. Para ello, abra la solución Arquitectura. En el Explorador de soluciones, haga clic en el nodo de la solución con el botón secundario, seleccione Agregar y haga clic en Proyecto existente. Navegue hasta el proyecto de modelado (.modelproj) en la solución de una capa.
Cada modelo está ahora visible en dos soluciones: la solución del modelo propiamente y la solución Arquitectura.
Agregue un diagrama de capas al proyecto de modelado de cada capa. Comience con una copia del diagrama de capas Arquitectura. Puede eliminar las partes que no sean dependencias del diagrama de capas.
También puede agregar diagramas de capas que representen la estructura detallada de esta capa.
Estos diagramas se utilizan para validar el código que se desarrolla en esta capa.
En la solución Arquitectura, modifique los requisitos y los modelos de diseño de todas las capas utilizando Visual Studio Ultimate.
En la solución de cada capa, desarrolle el código de capa haciendo referencia al modelo. Si no tiene inconveniente en hacer el desarrollo sin usar el mismo equipo para actualizar el modelo, puede leer el modelo y desarrollar el código con Visual Studio Premium. También puede generar el código del modelo en Visual Studio Premium.
Con este método se garantiza que los desarrolladores no causarán interferencias si modifican los modelos de una capa al mismo tiempo.
Sin embargo, como los modelos son independientes, es difícil hacer referencia a los conceptos comunes. Cada modelo debe tener una copia de los elementos de los que depende en otras capas y en la arquitectura. El diagrama de capas de cada capa se debe mantener en sincronización con el diagrama de capas Arquitectura. Es difícil mantener la sincronización cuando estos elementos cambian, aunque es posible desarrollar herramientas para hacerlo.
Para utilizar un paquete independiente por capa
En la solución de cada capa, agregue el proyecto de modelado Arquitectura. En el Explorador de soluciones, haga clic en el nodo de la solución con el botón secundario, seleccione Agregar y haga clic en Proyecto existente. Ahora se tiene acceso al proyecto de modelado único desde cada solución: el proyecto Arquitectura y el proyecto de desarrollo para cada capa.
En el modelo UML compartido, cree un paquete para cada capa: en el Explorador de soluciones, seleccione el proyecto de modelado. En el Explorador de modelos UML, haga clic con el botón secundario en el nodo raíz del modelo, seleccione Agregar y, a continuación, haga clic en Paquete.
Cada paquete contendrá diagramas UML que describen los requisitos y el diseño de la capa correspondiente.
Si es necesario, agregue diagramas de capa local para la estructura interna de cada capa.
Este método permite que los elementos de diseño de cada capa hagan referencia directamente a los de las capas y arquitectura común de las que dependen.
Aunque el trabajo simultáneo en paquetes diferentes puede producir algunos conflictos, se controlan con facilidad porque los paquetes se guardan en archivos independientes. La principal dificultad la causa la eliminación de un elemento al que se hace referencia en un paquete dependiente. Para obtener más información, vea Administrar modelos y gráficos con control de versiones.
Crear las plantillas de arquitectura
En la práctica, no creará todas las soluciones de Visual Studio al mismo tiempo, sino que las irá agregando a medida que el proyecto progrese. Probablemente utilizará también la misma estructura de la solución en proyectos futuros. Para crear nuevas soluciones rápidamente, puede crear una solución o una plantilla de proyecto. Puede capturar la plantilla en un proyecto de extensión de integración (VSIX) de Visual Studio para facilitar la distribución e instalación en otros equipos.
Por ejemplo, si utiliza con frecuencia soluciones que tienen capas de presentación, negocio y datos, puede configurar una plantilla que cree nuevas soluciones con esa estructura.
Para crear una plantilla de solución
Descargue e instale el Asistente para exportar plantillas, si aún no lo ha hecho.
Cree la estructura que desea utilizar como punto inicial de futuros proyectos.
En el menú Archivo, haga clic en Exportar plantilla como VSIX. Se abrirá el Asistente para exportar plantillas como VSIX.
Siguiendo las instrucciones del asistente, seleccione los proyectos que desea incluir en la plantilla, proporcione un nombre y una descripción para la plantilla y especifique la ubicación donde se guardará.
Nota
El contenido de este tema es un resumen elaborado a partir de 2010 Architecture Tooling Guidance de Visual Studio, escrito por los ALM Rangers de Visual Studio, que consiste en una colaboración entre los MVP (Profesionales más valorados por Microsoft), los Servicios de Microsoft y los redactores y el equipo de Visual Studio.Haga clic aquí para descargar el paquete completo.
Material relacionado
Organizing and Managing Your Models - vídeo de Clint Edmondson.
Visual Studio Architecture Tooling Guidance: información adicional sobre cómo administrar modelos en un equipo
Vea también
Referencia
Administrar modelos y gráficos con control de versiones