Professional Documents
Culture Documents
Para obtener la documentacin ms reciente de Visual Studio 2017 RC, consulte Documentacin de Visual Studio 2017 RC
(http://docs.microsoft.com/visualstudio).
Asegrese de que su sistema de software cumple las necesidades de los usuarios mediante las herramientas de visualizacin y modelado de Visual
Studio. Use herramientas como diagramas de Lenguaje de modelos unificado (UML), mapas de cdigo, diagramas de capas y diagramas de clases
para:
Para ver qu versiones de Visual Studio admite cada herramienta, vea Compatibilidad de versiones con las herramientas de arquitectura y modelado
(https://msdn.microsoft.com/es-es/library/hh871439.aspx#VersionSupport).
Este tutorial:
Muestra cmo puede usar estas herramientas, independientemente de su enfoque de desarrollo, con un escenario de ejemplo.
Para obtener ms informacin acerca de estas herramientas y los escenarios compatibles, vea:
En este tema
Seccin Descripcin
Roles de arquitectura y diagramas de modelado en el Se describen los roles que estas herramientas pueden desempear durante el ciclo de
desarrollo de software vida de desarrollo de software.
Comprensin y comunicacin de informacin sobre el Proporciona una descripcin general del modo en que los participantes usan las
sistema herramientas en este escenario.
Actualizacin del sistema mediante visualizacin y Proporciona ms detalles sobre las herramientas y cmo se pueden usar en este
modelado escenario.
https://msdn.microsoft.com/es-es/library/ff183189(d=printer).aspx 1/29
8/11/2017 Escenario: Cambiar el diseo usando modelado y visualizacin
En este escenario se describen captulos del ciclo de vida de desarrollo del software de dos empresas ficticias: Dinner Now y Lucerne Publishing. Dinner
Now, con sede en Seattle, proporciona un servicio de comida a domicilio basado en web. A travs de l, los clientes pueden pedir comida y pagarla en
el sitio web de Dinner Now. Los pedidos se envan entonces al restaurante local que corresponda para que realice la entrega. Lucerne Publishing es
una empresa de Nueva York con varios negocios tanto en Internet como fuera de ella. Entre esos negocios, Lucerne cuenta con un sitio web donde los
clientes pueden publicar opiniones sobre restaurantes.
Lucerne adquiri recientemente Dinner Now y quiere realizar los siguientes cambios:
En Dinner Now usan programacin eXtreme y SCRUM y tienen una cobertura de pruebas muy elevada y mucho cdigo compatible. Minimizan los
riesgos mediante la creacin de versiones de un sistema, pequeas pero funcionales, a las que se les agrega funcionalidad de forma incremental.
Desarrollan el cdigo en iteraciones cortas y frecuentes, lo que les permite adoptar cambios con confianza, refactorizar el cdigo frecuentemente y
evitar tener que realizar un "gran diseo por adelantado".
Lucerne mantiene una coleccin mucho ms grande y compleja de sistemas, algunos de los cuales tienen ms de 40 aos de antigedad. Son muy
prudentes a la hora de realizar cambios debido a la complejidad y al mbito del cdigo heredado. Siguen un proceso de desarrollo ms riguroso;
prefieren disear soluciones detalladas y documentar el diseo y los cambios que se producen durante el desarrollo.
Ambos equipos usan diagramas de modelado de Visual Studio para desarrollar sistemas que satisfagan las necesidades del usuario. Asimismo, usan
Team Foundation Server junto con otras herramientas para la planeacin, organizacin y administracin de su trabajo.
Modelado de Diseo y
Modelado de Visualizacin y Comprob
requisitos de arquitectura de
procesos de negocio exploracin de cdigo acin
usuarios sistemas
Diagrama de componentes
(UML)
Diagrama de Lenguaje
especfico del dominio (DSL)
Mapa de cdigo
https://msdn.microsoft.com/es-es/library/ff183189(d=printer).aspx 2/29
8/11/2017 Escenario: Cambiar el diseo usando modelado y visualizacin
Para dibujar diagramas de UML y diagramas de capas, cree un proyecto de modelado como parte de una solucin nueva o existente. Estos diagramas
se deben crear en el proyecto de modelado. Los elementos de los diagramas de UML forman parte de un modelo comn y los diagramas de UML son
vistas de ese modelo. Los elementos de los diagramas de capas se encuentran en el proyecto de modelado, pero no se almacenan en el modelo
comn. Los mapas de cdigo y los diagramas de clases de .NET creados a partir de cdigo existen fuera del proyecto de modelado.
Vea:
Para mostrar vistas alternativas de la arquitectura, puede volver a usar ciertos elementos del mismo modelo en varios o en distintos diagramas. Por
ejemplo, puede arrastrar un componente a otro diagrama de componentes o a un diagrama de secuencia para que pueda funcionar como un actor.
Vea Editar modelos y diagramas UML (https://msdn.microsoft.com/es-es/library/dd409405.aspx).
Ambos equipos tambin usan la validacin de capas para asegurarse de que el cdigo en desarrollo siga siendo coherente con el diseo.
Vea:
Nota
Algunas versiones de Visual Studio admiten validacin de capas, versiones de solo lectura de mapas de cdigo y diagramas de UML para
visualizacin y modelado. Para ver qu versiones de Visual Studio admiten esta caracterstica, vea Compatibilidad de versiones con las
herramientas de arquitectura y modelado (https://msdn.microsoft.com/es-es/library/hh871439.aspx#VersionSupport).
Dinner Now y Lucerne se comunican entre s y con los participantes del proyecto mediante el uso de diagramas como su lenguaje comn. Por ejemplo,
Dinner Now usa diagramas para realizar estas tareas:
Identificar los cambios que son necesarios para admitir casos de usuario nuevos o actualizados.
Comunicarse con Dinner Now acerca de los requisitos de usuario nuevos o actualizados.
Los diagramas se integran con Team Foundation Server para que los equipos puedan planear, administrar y realizar un seguimiento de su trabajo ms
fcilmente. Por ejemplo, usan modelos para identificar los casos de prueba y las tareas de desarrollo, y para calcular su trabajo. Lucerne vincula los
elementos de trabajo de Team Foundation Server con elementos del modelo para poder supervisar el progreso y asegurarse de que el sistema cumple
los requisitos de los usuarios. Por ejemplo, los casos de uso se vinculan a elementos de trabajo de caso de prueba para poder ver si los casos de uso se
cumplen cuando se pasan todas las pruebas.
https://msdn.microsoft.com/es-es/library/ff183189(d=printer).aspx 3/29
8/11/2017 Escenario: Cambiar el diseo usando modelado y visualizacin
Antes de que los equipos protejan sus cambios, el cdigo se valida con las pruebas y el diseo mediante la ejecucin de compilaciones que incluyen
validacin de capas y pruebas automatizadas. Con esto se garantiza que el cdigo actualizado no est en conflicto con el diseo ni interrumpe
funcionalidades que anteriormente no presentaban problemas.
Vea:
Diagram Qu describe
Diagrama de casos de uso (UML) - Las actividades que admite el sistema de Dinner Now
- Las personas y los sistemas externos que realizan las actividades
Vea: - Los principales componentes del sistema que admiten cada actividad
- Las partes del proceso de negocio que estn fuera del mbito del sistema actual (por
- Diagramas de casos de uso de UML: Referencia ejemplo, la entrega de alimentos)
(https://msdn.microsoft.com/es-
es/library/dd409427.aspx)
- Diagramas de casos de uso de UML: Instrucciones
(https://msdn.microsoft.com/es-
es/library/dd409432.aspx)
Diagrama de actividades (UML) El flujo de pasos que se producen cuando un cliente crea un pedido
Vea:
Diagrama de clases (UML) Las entidades de negocio, los trminos usados y las relaciones entre las entidades. Por
ejemplo, pedido (Order) y men (Menu) forman parte del vocabulario de este
Vea: escenario.
Por ejemplo, Lucerne crea el siguiente diagrama de casos de uso para entender las tareas que se realizan en el sitio web de Dinner Now y quin las
realiza:
https://msdn.microsoft.com/es-es/library/ff183189(d=printer).aspx 4/29
8/11/2017 Escenario: Cambiar el diseo usando modelado y visualizacin
El siguiente diagrama de actividades describe el flujo de pasos cuando un cliente crea un pedido en el sitio web de Dinner Now. En esta versin, los
elementos de comentario identifican los roles y las lneas forman calles, que organizan los pasos por rol:
En el siguiente diagrama de clase se describen las entidades que participan en el proceso de pedido:
Diagram Qu describe
https://msdn.microsoft.com/es-es/library/ff183189(d=printer).aspx 5/29
8/11/2017 Escenario: Cambiar el diseo usando modelado y visualizacin
Diagram Qu describe
Diagrama de casos de uso (UML) Un nuevo caso de uso de Escribir una opinin de un restaurante
(Write a restaurant review)
Vea:
Diagrama de actividades (UML) Los pasos que se producen cuando un cliente quieren escribir una
opinin sobre un restaurante
Vea:
Diagrama de clases (UML) Los datos que son necesarios para almacenar una opinin
Vea:
Por ejemplo, el siguiente diagrama de casos de uso incluye un nuevo caso de uso de Escribir opinin (Write Review) para representar el nuevo
requisito. Para facilitar la identificacin, se resalta en color naranja en el diagrama:
En el siguiente diagrama de actividades se incluyen nuevos elementos en color naranja para describir el flujo de pasos en el nuevo caso de uso:
https://msdn.microsoft.com/es-es/library/ff183189(d=printer).aspx 6/29
8/11/2017 Escenario: Cambiar el diseo usando modelado y visualizacin
El siguiente diagrama de clases incluye una nueva clase para las opiniones (Review) y sus relaciones con otras clases para que los equipos puedan
analizar los detalles. Observe que un cliente (Customer) y un restaurante (Restaurant) pueden tener varias opiniones:
Cada caso de uso est representado por una o varias pruebas. Los elementos del diagrama de caso de uso se vinculan a los elementos de
trabajo del caso de prueba en Team Foundation Server.
Cada flujo de un diagrama de actividades o diagrama de secuencia de nivel de sistema est vinculado a una prueba como mnimo. El equipo de
pruebas se asegura sistemticamente de que se prueban todas las rutas posibles a travs del diagrama de actividades.
Los trminos usados para describir las pruebas se basan en los trminos definidos por caso de uso, clase y diagramas de actividad.
A medida que cambian los requisitos y los diagramas se actualizan para reflejar dichos cambios, tambin se actualizan las pruebas. Un requisito solo se
considera completado si se superan las pruebas. Si es posible o prctico, las pruebas se definen y se basan en diagramas de UML antes de iniciar la
implementacin.
Vea:
Vea: Por ejemplo, Dinner Now puede empezar revisando los mapas de cdigo de ensamblado para
obtener informacin general de los ensamblados y de sus dependencias. Dinner Now puede
- Asignar dependencias de sus soluciones profundizar en los mapas para explorar los espacios de nombres y las clases de esos ensamblados.
(https://msdn.microsoft.com/es-
es/library/dd409453.aspx) Dinner Now tambin puede crear mapas para explorar reas particulares y otros tipos de relaciones
- Examinar y reorganizar mapas de cdigo en el cdigo. Mediante el Explorador de soluciones, buscan y seleccionan las reas y las relaciones
(https://msdn.microsoft.com/es- de inters.
es/library/ee847415.aspx)
- Personalizar mapas de cdigo mediante la
edicin de los archivos DGML
(https://msdn.microsoft.com/es-
es/library/ee842619.aspx)
https://msdn.microsoft.com/es-es/library/ff183189(d=printer).aspx 7/29
8/11/2017 Escenario: Cambiar el diseo usando modelado y visualizacin
Por ejemplo, el desarrollador crea un mapa de cdigo y ajusta su mbito para centrarse en las reas que se vern afectadas por el nuevo escenario.
Estas reas se seleccionan y se resaltan en el mapa:
El desarrollador expande los espacios de nombres seleccionados para ver sus clases, mtodos y relaciones:
Mapa de cdigo de espacios de nombres expandidos con vnculos entre grupos visibles
El desarrollador examina el cdigo para encontrar los mtodos y las clases afectados. Para ver los efectos de cada cambio a medida que se producen,
regenere los mapas de cdigo despus de cada cambio. Vea Visualizar el cdigo (https://msdn.microsoft.com/es-es/library/dd409365.aspx).
Para describir los cambios realizados en otras partes del sistema, como componentes o interacciones, el equipo podra dibujar estos elementos en
pizarras. Tambin pueden dibujar los siguientes diagramas en Visual Studio, de manera que ambos equipos puedan capturar, administrar y entender
los detalles:
Diagramas Qu describe
https://msdn.microsoft.com/es-es/library/ff183189(d=printer).aspx 8/29
8/11/2017 Escenario: Cambiar el diseo usando modelado y visualizacin
Diagramas Qu describe
Diagrama de actividades (UML) El flujo de pasos que se producen cuando el sistema detecta que un cliente vuelve a realizar un
pedido en un restaurante y le pide que escriba una opinin.
Vea:
Diagrama de clases (UML) Las clases lgicas y sus relaciones. Por ejemplo, se agrega una nueva clase para describir una
Opinin (Review) y sus relaciones con otras entidades, como Restaurante (Restaurant), Men
Vea: (Menu) y Cliente (Customer).
- Diagramas de clases de UML: Referencia Para poder asociar opiniones a un cliente, el sistema debe almacenar detalles del cliente. Un
(https://msdn.microsoft.com/es- diagrama de clases UML puede ayudar a aclarar esos detalles.
es/library/dd409437.aspx)
- Diagramas de clases de UML: Instrucciones
(https://msdn.microsoft.com/es-
es/library/dd409416.aspx)
Diagrama de componentes (UML) Las partes de alto nivel del sistema, como el sitio web de Dinner Now, y sus interfaces. En estas
interfaces se define cmo interactan entre s los componentes a travs de los mtodos o
Vea: servicios que proporcionan y consumen.
Vea:
Por ejemplo, en el siguiente diagrama de componentes se muestra el nuevo componente, que forma parte del componente de sitio web de Dinner
Now. El componente ReviewProcessing controla la funcionalidad de creacin de opiniones y aparece resaltado en color naranja:
https://msdn.microsoft.com/es-es/library/ff183189(d=printer).aspx 9/29
8/11/2017 Escenario: Cambiar el diseo usando modelado y visualizacin
En el diagrama de secuencia siguiente se muestra la secuencia de interacciones que se producen cuando el sitio web de Dinner Now comprueba si el
cliente realiz anteriormente algn pedido en un restaurante. En caso afirmativo, le pregunta al cliente si quiere dejar su opinin, que se enva al
restaurante y se publica en el sitio web:
Diagram Qu describe
https://msdn.microsoft.com/es-es/library/ff183189(d=printer).aspx 10/29
8/11/2017 Escenario: Cambiar el diseo usando modelado y visualizacin
Diagram Qu describe
Vea: Un diagrama de capas organiza y asigna los artefactos de una solucin de Visual Studio para abstraer
grupos denominados capas. Estas capas identifican los roles, las tareas o las funciones que realizan
- Crear diagramas de capas a partir del estos artefactos en el sistema.
cdigo (https://msdn.microsoft.com/es-
es/library/dd465141.aspx) Los diagramas de capas son tiles para describir el diseo previsto del sistema y validar el cdigo
- Diagramas de capas: Referencia cambiante comparndolo con ese diseo.
(https://msdn.microsoft.com/es-
es/library/dd409462.aspx) Para crear las capas, arrastre elementos desde el Explorador de soluciones, los mapas de cdigo, la vista
- Diagrama de capas: Instrucciones de clases y el examinador de objetos. Para dibujar capas nuevas, use el cuadro de herramientas o haga
(https://msdn.microsoft.com/es- clic con el botn derecho en la superficie del diagrama.
es/library/dd418995.aspx)
- Validar cdigo con diagramas de Para ver las dependencias actuales, haga clic con el botn derecho en la superficie del diagrama de
capas (https://msdn.microsoft.com/es- capas y, despus, haga clic en Generar dependencias. Para especificar dependencias previstas, trace
es/library/dd409395.aspx) nuevas dependencias.
Por ejemplo, en el siguiente diagrama de capas se describen las dependencias existentes entre capas y el nmero de artefactos que estn asociados
con cada capa:
Diagrama de capas
Para asegurarse de que no haya conflictos con el diseo durante el desarrollo de cdigo, los equipos usan validacin de capas en compilaciones que
se ejecutan en Team Foundation Build. Tambin crean una tarea MSBuild personalizada para exigir la validacin de capas en las operaciones de
proteccin. Para recopilar los errores de validacin, usan informes de compilacin.
Vea:
Para abrir el cuadro de herramientas, vaya el men Ver y haga clic en Cuadro de herramientas.
Para crear un nodo, arrstrelo desde el cuadro de herramientas al diagrama. Hay determinados tipos de nodos que deben arrastrarse a los
nodos existentes. Por ejemplo, en un diagrama de componentes, un puerto nuevo debe agregarse a un componente existente.
Para crear una lnea o una conexin, haga clic en la herramienta correspondiente del cuadro de herramientas, luego haga clic en el nodo de
origen y, por ltimo, haga clic en el nodo de destino. Algunas lneas solo se pueden crear entre determinados tipos de nodos. Cuando mueve el
puntero sobre un posible origen o destino, el puntero indica si puede crear una conexin.
Cuando crea elementos en diagramas de UML, tambin los agrega a un modelo comn. Los diagramas de UML de un proyecto de modelado
son vistas de ese modelo. Los elementos de un diagrama de capas forman parte del proyecto de modelado, a pesar de que no se almacenan en
el modelo comn.
Para ver el modelo, vaya al men Arquitectura, elija Windows y haga clic en Explorador de modelos UML.
https://msdn.microsoft.com/es-es/library/ff183189(d=printer).aspx 11/29
8/11/2017 Escenario: Cambiar el diseo usando modelado y visualizacin
En algunos casos, puede arrastrar determinados elementos desde el Explorador de modelos UML hasta un diagrama de UML. Para mostrar
vistas alternativas de la arquitectura, pueden usarse algunos elementos del mismo modelo en varios o en distintos diagramas. Por ejemplo,
puede arrastrar un componente a otro diagrama de componentes o a un diagrama de secuencia para usarlo como un actor.
Visual Studio es compatible con UML 2.1.2. Esta informacin general se ocupa nicamente de las caractersticas principales de los diagramas de
UML de esta versin, pero hay muchos libros que analizan en detalle el UML y su uso.
A medida que avanza su trabajo, los equipos actualizan los elementos de trabajo para que reflejen el tiempo que invierten en sus tareas. Tambin
supervisan y registran el estado de su trabajo con las siguientes caractersticas de Team Foundation Server:
Informes de evolucin diarios que muestran si se completa el trabajo planeado en el tiempo esperado. Tambin generan otros informes
similares de Team Foundation Server para realizar un seguimiento del progreso de los errores.
Una hoja de clculo de iteracin que usa Microsoft Excel para ayudar al equipo a supervisar y repartir la carga de trabajo entre sus miembros.
Esta hoja de clculo est vinculada a Team Foundation Server y sirve de foco de discusin durante las reuniones en las que se analizan los
progresos.
Un panel de desarrollo que usa Office Project para mantener informado al equipo sobre aspectos importantes del proyecto.
Vea:
Seguimiento del trabajo mediante Visual Studio Online o Team Foundation Server (https://msdn.microsoft.com/es-es/library/dd286619.aspx)
Funciona.
Dinner Now tiene una gran cantidad de pruebas automatizadas que Lucerne puede reutilizar porque casi todo se sigue aplicando. Lucerne tambin
puede compilar en estas pruebas y agregar nuevas pruebas que cubran nuevas funcionalidades. Ambos tambin usan Visual Studio para ejecutar
pruebas manuales.
Para asegurarse de que el cdigo se ajusta al diseo, los equipos configuran sus compilaciones en Team Foundation Build para incluir la validacin de
capas. Si se produce algn conflicto, se genera un informe con los detalles.
Vea:
https://msdn.microsoft.com/es-es/library/ff183189(d=printer).aspx 12/29
8/11/2017 Escenario: Cambiar el diseo usando modelado y visualizacin
Vea:
La puerta de enlace externa del procesador de pago, usada por el sistema de pago de Dinner Now para validar los pagos, est fuera del mbito
del sitio web.
En el diagrama tambin se muestra cmo algunos de los principales casos de uso se dividen en casos de uso ms pequeos. En Lucerne quieren usar
su propio sistema de pago y resaltan con otro color el caso de uso del proceso de pago (Process Payment) para indicar que requiere cambios:
https://msdn.microsoft.com/es-es/library/ff183189(d=printer).aspx 13/29
8/11/2017 Escenario: Cambiar el diseo usando modelado y visualizacin
Si el tiempo de desarrollo es breve, el equipo quiz quiera que los clientes paguen directamente a los restaurantes. Para mostrar esta posibilidad,
reemplazan el caso de uso del proceso de pago por uno que est fuera del lmite del sistema de Dinner Now. A continuacin vinculan el cliente
(Customer) directamente al restaurante (Restaurant), con lo que indican que Dinner Now solo se dedica a procesar los pedidos:
Vea:
Actores, que representan roles desempeados por personas, organizaciones, mquinas o sistemas de software. Por ejemplo, el cliente, el
restaurante y el sistema de pago de Dinner Now son actores.
Casos de uso, que representan interacciones entre actores y el sistema en desarrollo. Pueden representar cualquier escala de interaccin, desde
un solo clic del mouse o un mensaje, hasta una transaccin que se extiende durante varios das.
Un caso de uso grande puede incluir otros ms pequeos. Por ejemplo, Crear pedido (Create Order) incluye Seleccionar restaurante (Select
Restaurant). Tambin puede extender un caso de uso, que agrega objetivos y pasos al caso de uso extendido, para indicar que el caso de uso se
produce nicamente bajo ciertas condiciones. Los casos de uso tambin pueden heredar de otros casos de uso.
Un subsistema representa el sistema de software que est desarrollndose o uno de sus componentes, y es un cuadro grande que contiene los
casos de uso. Un diagrama de casos de uso aclara lo que queda dentro o fuera del lmite del subsistema. Para indicar que el usuario debe
alcanzar ciertos objetivos de otras formas, dibuje esos casos de uso fuera del lmite del subsistema.
Vea:
Los principales componentes del sistema que admiten cada actividad y que puede representar como subsistemas anidados dentro del sistema
principal
Cmo se puede dividir un caso de uso en casos de uso ms pequeos o en variaciones del mismo
https://msdn.microsoft.com/es-es/library/ff183189(d=printer).aspx 14/29
8/11/2017 Escenario: Cambiar el diseo usando modelado y visualizacin
Diagram Qu describe
Diagrama de El flujo de pasos de un caso de uso y quines realizan esos pasos en dicho caso de uso.
actividades
Con frecuencia, los nombres de casos de uso reflejan los pasos de un diagrama de actividades. Los diagramas de actividades
admiten elementos como decisiones, combinaciones, entradas y salidas, flujos simultneos, etc.
Vea:
Lucerne actualiza el siguiente diagrama de actividad para mostrar que procesa el pago y paga al restaurante. Reemplazan el sistema de pago (Payment
System) de Dinner Now por el sistema de pago de Lucerne, como se muestra con el resaltado:
El diagrama actualizado sirve para que Lucerne y Dinner Now visualicen en qu parte del proceso de negocio encaja el sistema de pago de Lucerne. En
esta versin, los comentarios se usan para identificar los roles que llevan a cabo los pasos. Las lneas se usan para crear calles, que organizan los pasos
por rol.
Los equipos tambin pueden estudiar la opcin de que el cliente pague al restaurante despus de que se entregue el pedido. Esto creara distintos
requisitos para el sistema de software.
Anteriormente, Dinner Now dibujaba estos diagramas en una pizarra o en PowerPoint. En cambio, ahora tambin usan Visual Studio para trazar estos
diagramas, lo que permite a ambos equipos capturar, comprender y administrar los detalles.
Vea:
https://msdn.microsoft.com/es-es/library/ff183189(d=printer).aspx 15/29
8/11/2017 Escenario: Cambiar el diseo usando modelado y visualizacin
Acciones que describen los pasos en los que el usuario o el software realizan una tarea.
Aunque estos nodos son opcionales, resulta til incluirlos en el diagrama para mostrar dnde finaliza la actividad.
Vea:
Diagram Descripcin
Diagrama de Visualizacin del sistema como una coleccin de elementos reutilizables que proporcionan o usan el comportamiento a
componentes travs de un conjunto de interfaces bien definido.
Vea:
Para ayudar a Lucerne y a Dinner Now a visualizar y analizar los componentes del sistema y sus interfaces, se crean los siguientes diagramas de
componentes:
https://msdn.microsoft.com/es-es/library/ff183189(d=printer).aspx 16/29
8/11/2017 Escenario: Cambiar el diseo usando modelado y visualizacin
Este diagrama muestra distintos tipos de componentes y sus dependencias. Por ejemplo, tanto el sitio web de Dinner Now como el sistema de pago de
Lucerne requieren que haya una puerta de enlace externa del procesador de pagos (External Payment Processor Gateway) para validar los pagos. Las
flechas entre los componentes representan las dependencias que indican qu componentes necesitan la funcionalidad de otros componentes.
Para poder usar el sistema de pago de Lucerne, el sitio web de Dinner Now debe actualizarse para usar las interfaces PaymentApproval y
PayableInsertion del sistema de pago de Lucerne.
En el diagrama siguiente se muestra una configuracin especfica de componentes para el sitio web de Dinner Now. Esta configuracin indica que
cualquier instancia del sitio web se compone de cuatro elementos:
CustomerProcessing
OrderProcessing
ReviewProcessing
PaymentProcessing
Estos elementos son instancias de los tipos de componente especificados y estn conectados del modo siguiente:
El sitio web de Dinner Now delega su comportamiento en estos elementos, que controlan las funciones del sitio web. Las flechas entre el componente
primario y sus componentes miembros muestran delegaciones que indican qu elementos controlan los mensajes que el elemento primario recibe o
enva a travs de sus interfaces.
En esta configuracin, el componente PaymentProcessing procesa los pagos del cliente. Por lo tanto, debe actualizarse para integrarse con el sistema
de pago de Lucerne. En otros escenarios pueden existir varias instancias de un tipo de componente en el mismo componente primario.
https://msdn.microsoft.com/es-es/library/ff183189(d=printer).aspx 17/29
8/11/2017 Escenario: Cambiar el diseo usando modelado y visualizacin
Vea:
Puertos de interfaz proporcionados que representan grupos de mensajes o llamadas que los componentes implementan y que son usados por
otros componentes o sistemas externos.
Puertos de interfaz necesarios que representan grupos de mensajes o llamadas que los componentes envan a otros componentes o sistemas
externos. Este tipo de puerto describe las operaciones que un componente espera como mnimo de otros componentes o sistemas externos.
Elementos que son miembros de componentes y normalmente son instancias de otros componentes. Un elemento es un fragmento del diseo
interno del componente primario.
Dependencias que indican que los componentes requieren la funcionalidad de otros componentes.
Delegaciones que indican que las partes de un componente controlan los mensajes enviados o recibidos por el componente primario.
Vea:
El sistema como una coleccin de elementos separables independientemente de su lenguaje de implementacin o estilo.
Componentes con interfaces bien definidas, que facilitan la comprensin del diseo y su actualizacin cuando cambian los requisitos.
Diagram Descripcin
Para identificar los candidatos a componentes, cree un mapa de cdigo y agrupe los elementos segn su funcin en el sistema.
Vea:
Diagrama de Visualizacin de la secuencia de interacciones entre los componentes o los elementos dentro de un componente.
secuencia
Para crear una lnea de vida en un diagrama de secuencia a partir de un componente, haga clic con el botn derecho en el
componente y, despus, haga clic en Crear lnea de vida.
Vea:
Diagrama de Definicin de las interfaces en los puertos proporcionados o necesarios y las clases que implementan la funcionalidad de los
clases (UML) componentes.
Vea:
https://msdn.microsoft.com/es-es/library/ff183189(d=printer).aspx 18/29
8/11/2017 Escenario: Cambiar el diseo usando modelado y visualizacin
Diagram Descripcin
Diagrama de Descripcin de la arquitectura lgica del sistema en lo referente a los componentes. Mediante la validacin de capas, asegrese
capas de que el cdigo mantiene la coherencia con el diseo.
Vea:
Diagrama de Visualizacin del procesamiento interno efectuado por los componentes en respuesta a los mensajes entrantes.
actividades
Vea:
Buscar reas de complejidad, capas naturales o patrones, u otras reas que podran beneficiarse de una mejora.
Por ejemplo, Dinner Now debe calcular el costo de actualizacin del componente PaymentProcessing. Esto depende en parte de en qu medida
afectar este cambio a las otras partes del sistema. Para tener una idea ms clara, uno de los desarrolladores de Dinner Now genera mapas de cdigo
a partir del cdigo y se centra en las reas que podran verse afectadas por el cambio.
En el mapa siguiente se muestran las dependencias entre la clase PaymentProcessing y otros elementos del sistema Dinner Now, que aparecen
seleccionados:
Para explorar el mapa, el desarrollador expande la clase PaymentProcessing y selecciona sus miembros para ver las reas que podran verse afectadas:
https://msdn.microsoft.com/es-es/library/ff183189(d=printer).aspx 19/29
8/11/2017 Escenario: Cambiar el diseo usando modelado y visualizacin
El mapa siguiente del sistema de pago de Lucerne se genera para inspeccionar sus clases, mtodos y dependencias. El equipo ve que tambin podra
ser necesario actuar en el sistema de Lucerne para que interacte con los dems elementos de Dinner Now:
Ambos equipos colaboran para determinar los cambios que son necesarios para integrar los dos sistemas. Deciden refactorizar parte del cdigo para
que sea ms fcil de actualizar. La clase PaymentApprover se mover al espacio de nombres DinnerNow.Business y requerir algunos mtodos nuevos.
Las clases de Dinner Now que controlan las transacciones tendrn su propio espacio de nombres. Los equipos crean y usan elementos de trabajo para
planear, organizar y realizar un seguimiento de su trabajo. Vinculan los elementos de trabajo a elementos del modelo donde resulta til.
Despus de reorganizar el cdigo, los equipos generan un nuevo mapa de cdigo para ver la estructura y las relaciones actualizadas:
https://msdn.microsoft.com/es-es/library/ff183189(d=printer).aspx 20/29
8/11/2017 Escenario: Cambiar el diseo usando modelado y visualizacin
Este mapa muestra que la clase PaymentApprover se encuentra ahora en el espacio de nombres DinnerNow.Business y tiene algunos mtodos nuevos.
Las clases de transaccin de Dinner Now ahora tienen su propio espacio de nombres PaymentSystem, lo que facilita el trabajo posterior con ese
cdigo.
Para obtener una visin general rpida del cdigo compilado, cree un mapa de cdigo en blanco y, despus, arrastre los archivos de
ensamblado o los archivos binarios a la superficie del mapa.
Para explorar cdigo especfico o elementos de la solucin, use el Explorador de soluciones para seleccionar los elementos y las relaciones que
quiere visualizar. A continuacin puede generar un mapa nuevo o agregar elementos seleccionados a un mapa existente. Vea Asignar
dependencias de sus soluciones (https://msdn.microsoft.com/es-es/library/dd409453.aspx).
Para que le sea ms fcil explorar el mapa, reorganice el diseo para que se adapte a los tipos de tareas que quiere realizar.
Por ejemplo, para visualizar la distribucin en capas del cdigo, seleccione un diseo de rbol. Vea Examinar y reorganizar mapas de cdigo
(https://msdn.microsoft.com/es-es/library/ee847415.aspx).
Buscar reas de complejidad, patrones, capas u otras reas que se podran mejorar para que el cdigo sea ms fcil de mantener, modificar y
reutilizar.
Diagram Qu describe
https://msdn.microsoft.com/es-es/library/ff183189(d=printer).aspx 21/29
8/11/2017 Escenario: Cambiar el diseo usando modelado y visualizacin
Diagram Qu describe
Diagrama de capas La arquitectura lgica del sistema. Mediante la validacin de capas, asegrese de que el cdigo mantiene la
coherencia con el diseo.
Para ayudarle a identificar las capas existentes o las previstas, cree un mapa de cdigo y agrupe los elementos
relacionados. Para crear un diagrama de capas, vea:
Para identificar los componentes, cree un mapa de cdigo y agrupe los elementos segn su funcin en el sistema.
Vea:
Diagrama de clases (UML) Las clases, sus atributos y operaciones, y sus relaciones.
Para ayudarle a identificar estos elementos, cree un diagrama de clases UML que muestre esos elementos.
Vea:
Vea How to: Add Class Diagrams to Projects (Class Designer) (https://msdn.microsoft.com/es-
es/library/hyxd8c85.aspx).
Para poder describir y analizar los pasos del caso de uso del proceso de pago, Lucerne y Dinner Now crean el siguiente diagrama de secuencia a partir
del diagrama de componentes. Las lneas de vida reflejan el componente de sitio web de Dinner Now y sus elementos. Los mensajes que aparecen
entre las lneas de vida siguen las conexiones en los diagramas de componentes:
En el diagrama de secuencia se muestra que, cuando el cliente crea un pedido, el sitio de web de Dinner Now llama a ProcessOrder en una instancia
de OrderProcessing. A continuacin, OrderProcessing llama a ProcessPayment en PaymentProcessing. Este proceso contina hasta que la puerta de
enlace externa del procesador de pago (External Payment Processor Gateway) valida el pago. Solo entonces el control vuelve al sitio web de Dinner
Now.
Lucerne debe calcular el costo de actualizar su sistema de pago para integrarlo con el sistema de Dinner Now. Para ayudarles en la decisin, tambin
pueden crear mapas de cdigo con los que visualizar el cdigo afectado.
Vea:
Para agregar un smbolo de actor, que indica que un participante est fuera del sistema en desarrollo, haga clic en la lnea de vida. En la ventana
Propiedades, establezca Actor en True. Si la ventana Propiedades no est abierta, presione F4.
Mensajes horizontales que representan llamadas a mtodos, mensajes del servicio web o algn otro tipo de comunicacin.Incidencias de
ejecucin que son rectngulos sombreados verticales que aparecen en las lneas de vida y que representan los perodos en que los objetos
receptores procesan llamadas.
Durante un mensaje sincrnico, el objeto remitente espera a que el control devuelva un resultado (<<return>>) como en una llamada de
funcin normal. Durante un mensaje asincrnico, el remitente puede continuar de inmediato.
Use mensajes <<create>> para indicar la construccin de objetos por parte de otros objetos. Debe ser el primer mensaje enviado al objeto.
Vea:
El flujo de control que se transfiere entre actores u objetos durante la ejecucin de un caso de uso.
Diagram Descripcin
Diagrama Definicin de las clases que las lneas de vida representan y de los parmetros y valores devueltos que se usan en los mensajes
de clases enviados entre las lneas de vida.
(UML)
Para crear una clase a partir de una lnea de vida, haga clic con el botn derecho en la lnea de vida y luego haga clic en Crear clase o
Crear interfaz. Para crear una lnea de vida a partir de un tipo en un diagrama de clases, haga clic con el botn derecho en el tipo y,
despus, elija Crear lnea de vida.
Vea:
https://msdn.microsoft.com/es-es/library/ff183189(d=printer).aspx 23/29
8/11/2017 Escenario: Cambiar el diseo usando modelado y visualizacin
Diagram Descripcin
Diagrama Descripcin de los componentes que las lneas de vida representan y las interfaces que proporcionan y usan el comportamiento
de representado por los mensajes.
componen
tes Para crear una lnea de vida a partir de un diagrama de componentes, haga clic con el botn derecho en el componente y, despus,
haga clic en Crear lnea de vida.
Vea:
Diagrama Resumen de las interacciones entre los usuarios y los componentes en un diagrama de secuencia como un caso de uso, que
de casos representa el objetivo de un usuario.
de uso
Vea:
Para describir y analizar las entidades que participan en el caso de uso del proceso de pago, en Lucerne dibujan el diagrama de clases siguiente:
En este diagrama se muestra que un cliente (Customer) puede tener muchos pedidos (Orders) y diferentes modos de pago para los pedidos.
BankAccount y CreditCard heredan de Payment.
Durante el desarrollo, Lucerne usa el siguiente diagrama de clases para describir y analizar los detalles de cada clase:
Vea:
https://msdn.microsoft.com/es-es/library/ff183189(d=printer).aspx 24/29
8/11/2017 Escenario: Cambiar el diseo usando modelado y visualizacin
Dibujo de un diagrama de clases
Un diagrama de clases tiene las siguientes caractersticas principales:
Una clase es la definicin de objetos que comparten determinadas caractersticas estructurales y de comportamiento.
Una interfaz define una parte del comportamiento externamente visible de un objeto.
Los atributos son valores de un tipo determinado que describen cada instancia de un clasificador. Un clasificador es un nombre general para
tipos, componentes, casos de uso e incluso actores.
Las operaciones son mtodos o funciones que las instancias de un clasificador pueden realizar.
Una agregacin es una asociacin que indica una propiedad compartida entre clasificadores.
Una composicin es una asociacin que indica una relacin todo-parte entre clasificadores.
Para mostrar las agregaciones o composiciones, establezca la propiedad Agregacin en una asociacin.Compartido muestra las agregaciones
y Compuesto muestra las composiciones.
Una dependencia indica que al cambiar la definicin de un clasificador, tambin puede cambiar la definicin de otro clasificador.
Una generalizacin indica que un clasificador especfico hereda parte de su definicin de un clasificador general. Una realizacin indica que una
clase implementa las operaciones y los atributos que ofrece una interfaz.
Para crear estas relaciones, use la herramienta Herencia. Una realizacin tambin puede representarse como un crculo.
Los paquetes son grupos de clasificadores, asociaciones, lneas de vida, componentes y otros paquetes. Las relaciones de importacin indican
que un paquete incluye todas las definiciones de otro paquete.
Como punto de partida para explorar y analizar las clases existentes, puede usar el Diseador de clases para crear diagramas de clases desde el
cdigo.
Vea:
Un glosario comn de trminos que se usan al analizar las necesidades de los usuarios y las entidades que participan en el sistema. Vea
Requisitos del usuario de modelos (https://msdn.microsoft.com/es-es/library/dd409376.aspx).
Tipos usados por partes del sistema, como los componentes, independientemente de su implementacin. Vea Modelar la arquitectura de la
aplicacin (https://msdn.microsoft.com/es-es/library/dd490886.aspx).
Relaciones entre tipos, como dependencias. Por ejemplo, puede mostrar un tipo que se puede asociar con varias instancias de otro tipo.
Diagram Descripcin
Diagrama de casos Definicin de los tipos que se usan para describir los objetivos y los pasos de casos de uso.
de uso
Vea:
https://msdn.microsoft.com/es-es/library/ff183189(d=printer).aspx 25/29
8/11/2017 Escenario: Cambiar el diseo usando modelado y visualizacin
Diagram Descripcin
Diagrama de Definicin de los tipos de datos que pasan a travs de los nodos de objeto, input pins, output pins y nodos de parmetros
actividades de actividad.
Vea:
Diagrama de Descripcin de los componentes, sus interfaces y sus relaciones. Una clase tambin puede describir un componente
componentes completo.
Vea:
Diagrama de capas Definicin de la arquitectura lgica del sistema en lo referente a las clases.
Mediante la validacin de capas, asegrese de que el cdigo mantiene la coherencia con el diseo.
Vea:
Diagrama de Definicin de los tipos de lneas de vida y las operaciones, parmetros y valores devueltos para todos los mensajes que
secuencia puede recibir la lnea de vida.
Para crear una lnea de vida a partir de un tipo en un diagrama de clases, haga clic con el botn derecho en el tipo y,
despus, elija Crear lnea de vida.
Vea:
Para identificar las clases, sus relaciones y sus mtodos, cree un mapa de cdigo que muestre esos elementos.
Vea:
Para mantener la coherencia entre el cdigo y el diseo, Dinner Now y Lucerne usan el siguiente diagrama de capas para validar el cdigo a medida
que evoluciona:
https://msdn.microsoft.com/es-es/library/ff183189(d=printer).aspx 26/29
8/11/2017 Escenario: Cambiar el diseo usando modelado y visualizacin
Las capas de este diagrama se vinculan a los artefactos correspondientes de la solucin de Dinner Now y Lucerne. Por ejemplo, la capa Business se
vincula al espacio de nombres DinnerNow.Business y a sus miembros, que ahora incluyen la clase PaymentApprover. La capa Resource Access se
vincula al espacio de nombres DinnerNow.Data. Las flechas, o dependencias, especifican que solo la capa Business puede usar la funcionalidad de la
capa Resource Access. La validacin de capas se realiza con regularidad a medida que los equipos actualizan su cdigo; esto les permite detectar los
conflictos cuando se producen y resolverlos rpidamente.
Los equipos trabajan juntos para que la integracin se realice de forma incremental y para probar los dos sistemas. Antes de ocuparse de
PaymentProcessing, primero se aseguran de que PaymentApprover y el resto de Dinner Now trabajan de forma conjunta y correcta.
En el mapa de cdigo siguiente se muestran las nuevas llamadas entre Dinner Now y PaymentApprover:
Una vez que confirman que el sistema funciona segn lo esperado, Dinner Now convierte en comentario el cdigo de PaymentProcessing. Los
informes de validacin de capas estn limpios y el mapa de cdigo resultante muestra que ya no existen ms dependencias de PaymentProcessing:
https://msdn.microsoft.com/es-es/library/ff183189(d=printer).aspx 27/29
8/11/2017 Escenario: Cambiar el diseo usando modelado y visualizacin
Para crear las capas a partir de artefactos, arrastre elementos desde el Explorador de soluciones, los mapas de cdigo, la vista de clases o el
examinador de objetos. Para dibujar capas nuevas y luego vincularlas a artefactos, use el cuadro de herramientas o haga clic con el botn
derecho en la superficie del diagrama para crear las capas y, despus, arrastre elementos a esas capas.
El nmero de una capa muestra la cantidad de artefactos vinculados a ella. Estos artefactos pueden ser espacios de nombres, proyectos, clases,
mtodos, etc. Cuando interprete el nmero de artefactos de una capa, 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 nmero
incluye nicamente el artefacto vinculado. Sin embargo, los dems artefactos se incluyen para el anlisis durante la validacin de capas.
Por ejemplo, si una capa est vinculada a un solo espacio de nombres, el nmero de artefactos vinculados es 1, aunque el espacio de
nombres contenga clases. Si la capa tiene tambin vnculos a cada clase del espacio de nombres, el nmero incluir las clases vinculadas.
Si una capa contiene otras que estn vinculadas a artefactos, la capa contenedora tambin est vinculada a esos artefactos, incluso
aunque el nmero de la capa contenedora no los incluya.
Para ver los artefactos que estn vinculados a una capa, haga clic con el botn derecho en la capa y luego haga clic en Ver vnculos para abrir
el Explorador de capas.
Dependencias que indican que una capa puede usar la funcionalidad de otra capa, pero no viceversa. Una dependencia bidireccional indica que
una capa puede usar la funcionalidad de otra capa, y viceversa.
Para ver las dependencias actuales en el diagrama de capas, haga clic con el botn derecho en la superficie del diagrama y, despus, haga clic
en Generar dependencias. Para describir las dependencias previstas, dibuje unas nuevas.
Vea:
https://msdn.microsoft.com/es-es/library/ff183189(d=printer).aspx 28/29
8/11/2017 Escenario: Cambiar el diseo usando modelado y visualizacin
Relacin con otros diagramas
Diagram Descripcin
Para crear las capas, genere un mapa de cdigo y, despus, agrupe los elementos en el mapa como capas potenciales.
Arrastre los grupos desde el mapa al diagrama de capas.
Vea:
Vea:
Recursos externos
Categora Vnculos
Vea tambin
Visualizar el cdigo (https://msdn.microsoft.com/es-es/library/dd409365.aspx)
Crear modelos para la aplicacin (https://msdn.microsoft.com/es-es/library/dd409436.aspx)
Usar modelos en el proceso de desarrollo (https://msdn.microsoft.com/es-es/library/dd409423.aspx)
Usar modelos en Agile Development (https://msdn.microsoft.com/es-es/library/ff398061.aspx)
Validar el sistema durante el desarrollo (https://msdn.microsoft.com/es-es/library/dd409448.aspx)
Ampliar modelos y diagramas UML (https://msdn.microsoft.com/es-es/library/ee329484.aspx)
2017 Microsoft
https://msdn.microsoft.com/es-es/library/ff183189(d=printer).aspx 29/29