You are on page 1of 29

8/11/2017 Escenario: Cambiar el diseo usando modelado y visualizacin

Escenario: Cambiar el diseo usando modelado y


visualizacin
Visual Studio 2015

Publicado: octubre de 2016

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).

Aclarar los requisitos y procesos de negocio de los usuarios.

Visualizar y explorar el cdigo existente.

Describir los cambios de un sistema existente.

Verificar que el sistema cumple sus requisitos.

Mantener la coherencia del cdigo con el diseo.

Este tutorial:

Describe la manera en que estas herramientas pueden beneficiar a su proyecto de software.

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:

Analizar y modelar la arquitectura (https://msdn.microsoft.com/es-es/library/57b85fsc.aspx)

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)

En este tema

Seccin Descripcin

Informacin general del escenario Se describe el escenario de ejemplo y sus participantes.

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.

Informacin general del 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:

Integrar sus sitios web y agregar la opcin de opinar en Dinner Now.

Reemplazar el sistema de pago de Dinner Now por el sistema de Lucerne.

Ampliar el servicio de Dinner Now a toda la regin.

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.

Para obtener ms informacin acerca de Team Foundation Server, vea:

Planeacin y seguimiento del trabajo

Pruebas, validacin y proteccin de cdigo actualizado

Roles de arquitectura y diagramas de modelado en el desarrollo de software


En la tabla siguiente se describen las funciones que estas herramientas pueden desempear durante mltiples y diversas fases del ciclo de vida de
desarrollo de software:

Modelado de Diseo y
Modelado de Visualizacin y Comprob
requisitos de arquitectura de
procesos de negocio exploracin de cdigo acin
usuarios sistemas

Diagrama de casos de uso


(UML)

Diagrama de actividades (UML)

Diagrama de clases (UML)

Diagrama de componentes
(UML)

Diagrama de secuencia (UML)

Diagrama de Lenguaje
especfico del dominio (DSL)

Diagrama de capas, validacin


de capas

Mapa de cdigo

Diseador de clases (basado


en 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:

Crear proyectos y diagramas de modelado UML (https://msdn.microsoft.com/es-es/library/dd409445.aspx)

Crear diagramas de capas a partir del cdigo (https://msdn.microsoft.com/es-es/library/dd465141.aspx)

Asignar dependencias de sus soluciones (https://msdn.microsoft.com/es-es/library/dd409453.aspx)

How to: Add Class Diagrams to Projects (Class Designer) (https://msdn.microsoft.com/es-es/library/hyxd8c85.aspx)

Modelar el SDK de Visual Studio - lenguajes especficos de dominio (https://msdn.microsoft.com/es-es/library/bb126259.aspx)

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:

Coherencia entre cdigo y diseo

Descripcin de la arquitectura lgica: diagramas de capas

Validar cdigo con diagramas de capas (https://msdn.microsoft.com/es-es/library/dd409395.aspx)

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).

Comprensin y comunicacin de informacin sobre el sistema


No hay ningn orden establecido para usar los diagramas de modelado de Visual Studio, por lo que puede usarlos como mejor se adapten a sus
necesidades o enfoque. Normalmente, los equipos revisan sus modelos de forma iterativa y con frecuencia a lo largo de un proyecto. Cada diagrama
ofrece determinados puntos fuertes para ayudarle a entender, describir y comunicar diferentes aspectos del sistema en desarrollo.

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:

Visualizar el cdigo existente.

Comunicarse con Lucerne acerca de casos de usuario nuevos o actualizados.

Identificar los cambios que son necesarios para admitir casos de usuario nuevos o actualizados.

Lucerne usa diagramas para realizar estas tareas:

Obtener informacin acerca del proceso de negocio de Dinner Now.

Entender el diseo del sistema.

Comunicarse con Dinner Now acerca de los requisitos de usuario nuevos o actualizados.

Documentar las actualizaciones del sistema.

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:

Descripcin del rol del sistema en el proceso de negocio

Descripcin de requisitos de usuario nuevos o actualizados

Creacin de pruebas a partir de modelos

Identificacin de cambios en el sistema existente

Coherencia entre cdigo y diseo

Sugerencias generales para crear y usar modelos

Planeacin y seguimiento del trabajo

Pruebas, validacin y proteccin de cdigo actualizado

Descripcin del rol del sistema en el proceso de negocio


Lucerne desea obtener ms informacin acerca del proceso de negocio de Dinner Now. Para ello crean los diagramas siguientes con el fin de mejorar
su entendimiento con Dinner Now:

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:

- Diagramas de actividades UML: Referencia


(https://msdn.microsoft.com/es-
es/library/dd409360.aspx)
- Diagramas de actividades UML: Instrucciones
(https://msdn.microsoft.com/es-
es/library/dd409465.aspx)

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.

- Diagramas de clases de UML: Referencia


(https://msdn.microsoft.com/es-
es/library/dd409437.aspx)
- Diagramas de clases de UML: Instrucciones
(https://msdn.microsoft.com/es-
es/library/dd409416.aspx)

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

Diagrama de casos de uso UML

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:

Diagrama de actividades UML

En el siguiente diagrama de clase se describen las entidades que participan en el proceso de pedido:

Diagrama de clases de UML

Descripcin de requisitos de usuario nuevos o actualizados


Lucerne desea agregar funcionalidad al sistema de Dinner Now para que los clientes puedan leer opiniones sobre restaurantes y aportar las suyas
propias. Para ello, actualizan los diagramas siguientes, para que sean capaces de describir y analizar este nuevo requisito con Dinner Now:

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:

- Diagramas de casos de uso de UML: Referencia


(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) Los pasos que se producen cuando un cliente quieren escribir una
opinin sobre un restaurante
Vea:

- Diagramas de actividades UML: Referencia (https://msdn.microsoft.com/es-


es/library/dd409360.aspx)
- Diagramas de actividades UML: Instrucciones
(https://msdn.microsoft.com/es-es/library/dd409465.aspx)

Diagrama de clases (UML) Los datos que son necesarios para almacenar una opinin

Vea:

- Diagramas de clases de UML: Referencia (https://msdn.microsoft.com/es-


es/library/dd409437.aspx)
- Diagramas de clases de UML: Instrucciones (https://msdn.microsoft.com/es-
es/library/dd409416.aspx)

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:

Diagrama de casos de uso UML

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

Diagrama de actividades UML

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:

Diagrama de clases de UML

Creacin de pruebas a partir de modelos


Ambos equipos acuerdan que necesitan llevar a cabo un completo conjunto de pruebas en el sistema y sus componentes antes de realizar cualquier
cambio. Lucerne tiene un equipo especializado que realiza las pruebas en los componentes y el sistema. Reutilizan las pruebas creadas por Dinner Now
y las estructuran mediante los diagramas de UML:

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:

Desarrollar pruebas en un modelo (https://msdn.microsoft.com/es-es/library/dd409381.aspx)

Validar el modelo UML (https://msdn.microsoft.com/es-es/library/ee702473.aspx)

Identificacin de cambios en el sistema existente


Dinner Now debe estimar el costo de satisfacer el requisito nuevo. Esto depende en parte de en qu medida afectar este cambio a las otras partes del
sistema. Para ayudarles a comprender esto, uno de los desarrolladores de Dinner Now crea estos mapas y diagramas a partir del cdigo existente:

Mapa o diagrama Qu muestra

Mapa de cdigo Dependencias y otras relaciones en el cdigo.

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

Mapa o diagrama Qu muestra

Diagrama de clases basado en cdigo Clases existentes en el cdigo

Vea How to: Add Class Diagrams to Projects


(Class Designer)
(https://msdn.microsoft.com/es-
es/library/hyxd8c85.aspx).

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:

Mapa de cdigo de espacio de nombres

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:

- Diagramas de actividades UML: Referencia


(https://msdn.microsoft.com/es-
es/library/dd409360.aspx)
- Diagramas de actividades UML: Instrucciones
(https://msdn.microsoft.com/es-
es/library/dd409465.aspx)

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 clases basado en cdigo Las clases existentes en el cdigo.

Vea How to: Add Class Diagrams to Projects


(Class Designer) (https://msdn.microsoft.com/es-
es/library/hyxd8c85.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.

- Diagramas de componentes de UML:


Referencia (https://msdn.microsoft.com/es-
es/library/dd409390.aspx)
- Diagramas de componentes de UML:
Instrucciones (https://msdn.microsoft.com/es-
es/library/dd409393.aspx)

Diagrama de secuencia (UML) La secuencia de interacciones entre instancias.

Vea:

- Diagramas de secuencia UML: Referencia


(https://msdn.microsoft.com/es-
es/library/dd409377.aspx)
- Diagramas de secuencia de UML: Instrucciones
(https://msdn.microsoft.com/es-
es/library/dd409389.aspx)

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

Diagrama de componentes UML

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:

Diagrama de secuencia UML

Coherencia entre cdigo y diseo


Dinner Now debe asegurarse de que el cdigo actualizado mantiene la coherencia con el diseo. Crea diagramas de capas en los que se describen las
capas de funcionalidad del sistema, se especifican las dependencias permitidas entre ellas y se asocian artefactos de la solucin a esas capas.

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

Diagrama de capas La arquitectura lgica del cdigo.

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:

Definir el proceso de compilacin (https://msdn.microsoft.com/es-es/library/ms181715.aspx)

Utilizar un proceso de compilacin de proteccin controlada para validar cambios (https://msdn.microsoft.com/es-es/library/dd787631.aspx)

Personalizar la plantilla de proceso de compilacin (https://msdn.microsoft.com/es-es/library/dd647551.aspx)

Sugerencias generales para crear y usar modelos


La mayora de los diagramas constan de nodos que estn conectados mediante lneas. Para cada tipo de diagrama, el cuadro de herramientas
proporciona distintas clases de nodos y lneas.

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.

Vea Crear modelos para la aplicacin (https://msdn.microsoft.com/es-es/library/dd409436.aspx).

Planeacin y seguimiento del trabajo


Los diagramas de modelado de Visual Studio se integran con Team Foundation Server para que pueda planear, administrar y realizar un seguimiento
del trabajo ms fcilmente. Ambos equipos usan modelos para identificar los casos de prueba y las tareas de desarrollo, y para calcular su trabajo.
Lucerne crea elementos de trabajo de Team Foundation Server y los vincula a elementos de modelo, como casos de uso o componentes. Esto les
ayuda a supervisar sus progresos y a realizar un seguimiento de su trabajo hasta los requisitos de los usuarios. As se aseguran de que sus cambios
continan cumpliendo dichos requisitos.

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)

Vincular elementos de modelo con elementos de trabajo (https://msdn.microsoft.com/es-es/library/dd465152.aspx)

Grficos, paneles e informes para Visual Studio ALM (https://msdn.microsoft.com/es-es/library/bb649552.aspx)

Crear un registro de trabajo pendiente y tareas mediante Project (https://msdn.microsoft.com/es-es/library/dd286701.aspx)

Pruebas, validacin y proteccin de cdigo


Cuando los equipos completan una tarea, comprueban su cdigo en el control de versiones de Team Foundation y reciben un aviso de Team
Foundation Server si se olvidan de hacerlo. Antes de que Team Foundation Server acepte las protecciones, los equipos ejecutan pruebas unitarias y
validacin de capas para comprobar el cdigo comparndolo con sus casos de prueba y el diseo. Usan Team Foundation Server para ejecutar con
regularidad compilaciones, pruebas unitarias automatizadas y validacin de capas. Con esto se aseguran de que el cdigo cumple los criterios
siguientes:

Funciona.

No interrumpe cdigo que ya funcionaba anteriormente.

No est en conflicto con el diseo.

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:

Probar la aplicacin (https://msdn.microsoft.com/es-es/library/ms182409.aspx)

Validar el sistema durante el desarrollo (https://msdn.microsoft.com/es-es/library/dd409448.aspx)

Usar el control de versiones (http://go.microsoft.com/fwlink/?LinkID=525605)

Compilar la aplicacin (https://msdn.microsoft.com/es-es/library/ms181709.aspx)

https://msdn.microsoft.com/es-es/library/ff183189(d=printer).aspx 12/29
8/11/2017 Escenario: Cambiar el diseo usando modelado y visualizacin

Actualizacin del sistema mediante visualizacin y modelado


Lucerne y Dinner Now deben integrar sus sistemas de pago. En las secciones siguientes se muestra cmo los diagramas de modelado de Visual Studio
les ayudan con esta tarea:

Comprensin de los requisitos de usuario: diagramas de casos de uso

Comprensin del proceso de negocio: diagramas de actividades

Descripcin de la estructura del sistema: diagramas de componentes

Descripcin de las interacciones: diagramas de secuencia

Visualizacin del cdigo existente: mapas de cdigo

Definicin de un glosario de tipos: diagramas de clases

Descripcin de la arquitectura lgica: diagramas de capas

Vea:

Crear modelos para la aplicacin (https://msdn.microsoft.com/es-es/library/dd409436.aspx)

Visualizar el cdigo (https://msdn.microsoft.com/es-es/library/dd409365.aspx)

Usar modelos en el proceso de desarrollo (https://msdn.microsoft.com/es-es/library/dd409423.aspx)

Requisitos del usuario de modelos (https://msdn.microsoft.com/es-es/library/dd409376.aspx)

Modelar la arquitectura de la aplicacin (https://msdn.microsoft.com/es-es/library/dd490886.aspx)

Comprensin de los requisitos de usuario: diagramas de casos de uso


Los diagramas de casos de uso resumen las actividades que admite un sistema e indican quin lleva a cabo dichas actividades. Lucerne usa un
diagrama de casos de uso para obtener la informacin siguiente sobre el sistema de Dinner Now:

Los clientes realizan pedidos.

Los restaurantes reciben pedidos.

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:

Resaltar el proceso de pago en el diagrama de casos de uso

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:

Reajuste del pago al restaurante en el diagrama de casos de uso

Vea:

Diagramas de casos de uso de UML: Referencia (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)

Dibujo de un diagrama de casos de uso


Un diagrama de casos de uso tiene las siguientes caractersticas principales:

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.

Asociaciones, que vinculan actores con casos de uso.

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.

Artefactos, que vinculan elementos del diagrama a otros diagramas o documentos.

Vea:

Diagramas de casos de uso de UML: Referencia (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)

Resumen: Ventajas de los diagramas de casos de uso


Los diagramas de casos de uso le ayudan a visualizar:

Las actividades que un sistema admite o no admite

Las personas y los sistemas externos que realizan esas actividades

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

Relacin con otros diagramas

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:

- Diagramas de actividades UML: Referencia (https://msdn.microsoft.com/es-es/library/dd409360.aspx)


- Diagramas de actividades UML: Instrucciones (https://msdn.microsoft.com/es-es/library/dd409465.aspx)

Diagrama de La secuencia de interacciones entre los participantes en un caso de uso.


secuencia
Vea:

- Diagramas de secuencia UML: Referencia (https://msdn.microsoft.com/es-es/library/dd409377.aspx)


- Diagramas de secuencia de UML: Instrucciones (https://msdn.microsoft.com/es-es/library/dd409389.aspx)

Diagrama de Las entidades o tipos que participan en el caso de uso.


clases (UML)
Vea:

- Diagramas de clases de UML: Referencia (https://msdn.microsoft.com/es-es/library/dd409437.aspx)


- Diagramas de clases de UML: Instrucciones (https://msdn.microsoft.com/es-es/library/dd409416.aspx)

Comprensin del proceso de negocio: diagramas de actividades


Los diagramas de actividades describen el flujo de pasos de un proceso de negocio y proporcionan una manera sencilla para la comunicacin de flujo
de trabajo. Un proyecto de desarrollo puede tener varios diagramas de actividades. Normalmente, una actividad abarca todas las acciones resultantes
de una accin externa, por ejemplo, pedir una comida, actualizar un men o agregar un nuevo restaurante al negocio. Una actividad tambin puede
describir los detalles de una accin compleja.

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:

Reemplazar el sistema de pago de Dinner Now en el diagrama de actividades

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:

Diagramas de actividades UML: Referencia (https://msdn.microsoft.com/es-es/library/dd409360.aspx)

https://msdn.microsoft.com/es-es/library/ff183189(d=printer).aspx 15/29
8/11/2017 Escenario: Cambiar el diseo usando modelado y visualizacin

Diagramas de actividades UML: Instrucciones (https://msdn.microsoft.com/es-es/library/dd409465.aspx)

Dibujo de un diagrama de actividades


Un diagrama de actividades tiene las siguientes caractersticas principales:

Un nodo inicial que indica la primera accin de la actividad.

El diagrama siempre debe tener uno de estos nodos.

Acciones que describen los pasos en los que el usuario o el software realizan una tarea.

Flujos de control que muestran el flujo entre las acciones.

Nodos de decisin que representan las bifurcaciones condicionales en el flujo.

Nodos de bifurcacin que dividen un flujo nico en flujos simultneos.

Nodos finales de actividad que muestran el final de la actividad.

Aunque estos nodos son opcionales, resulta til incluirlos en el diagrama para mostrar dnde finaliza la actividad.

Vea:

Diagramas de actividades UML: Referencia (https://msdn.microsoft.com/es-es/library/dd409360.aspx)

Diagramas de actividades UML: Instrucciones (https://msdn.microsoft.com/es-es/library/dd409465.aspx)

Resumen: Ventajas de los diagramas de actividades


Los diagramas de actividades ayudan a visualizar y describir el flujo de control y de informacin entre las acciones de un negocio, un sistema o un
programa. Es una manera sencilla y til de describir el flujo de trabajo al comunicarse con otras personas.

Relacin con otros diagramas

Diagram Descripcin

Diagrama de casos Resumen de las actividades que realiza cada actor.


de uso
Vea:

- Diagramas de casos de uso de UML: Referencia (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 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:

- Diagramas de componentes de UML: Referencia (https://msdn.microsoft.com/es-es/library/dd409390.aspx)


- Diagramas de componentes de UML: Instrucciones (https://msdn.microsoft.com/es-es/library/dd409393.aspx)

Descripcin de la estructura del sistema: diagramas de componentes


Los diagramas de componentes describen un sistema como una coleccin de elementos separables que proporcionan o usan el comportamiento a
travs de un conjunto de interfaces bien definido. Los elementos pueden tener cualquier escala y estar conectados de cualquier modo.

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

Componentes del sistema de pago de Dinner Now

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:

Componentes dentro del sitio web de Dinner Now

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:

Diagramas de componentes de UML: Referencia (https://msdn.microsoft.com/es-es/library/dd409390.aspx)

Diagramas de componentes de UML: Instrucciones (https://msdn.microsoft.com/es-es/library/dd409393.aspx)

Dibujo de un diagrama de componentes


Un diagrama de componentes tiene las siguientes caractersticas principales:

Componentes que representan partes separables de funcionalidad del sistema.

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:

Diagramas de componentes de UML: Referencia (https://msdn.microsoft.com/es-es/library/dd409390.aspx)

Diagramas de componentes de UML: Instrucciones (https://msdn.microsoft.com/es-es/library/dd409393.aspx)

Resumen: Ventajas de los diagramas de componentes


Los diagramas de componentes le ayudan a visualizar:

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.

Relacin con otros diagramas

Diagram Descripcin

Mapa de cdigo Visualizacin de la organizacin y las relaciones en el cdigo existente.

Para identificar los candidatos a componentes, cree un mapa de cdigo y agrupe los elementos segn su funcin en el sistema.

Vea:

- Asignar dependencias de sus soluciones (https://msdn.microsoft.com/es-es/library/dd409453.aspx)

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:

- Diagramas de secuencia UML: Referencia (https://msdn.microsoft.com/es-es/library/dd409377.aspx)


- Diagramas de secuencia de UML: Instrucciones (https://msdn.microsoft.com/es-es/library/dd409389.aspx)

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:

- Diagramas de clases de UML: Referencia (https://msdn.microsoft.com/es-es/library/dd409437.aspx)


- Diagramas de clases de UML: Instrucciones (https://msdn.microsoft.com/es-es/library/dd409416.aspx)

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:

- Crear diagramas de capas a partir del cdigo (https://msdn.microsoft.com/es-es/library/dd465141.aspx)


- Diagramas de capas: Referencia (https://msdn.microsoft.com/es-es/library/dd409462.aspx)
- Diagrama de capas: Instrucciones (https://msdn.microsoft.com/es-es/library/dd418995.aspx)
- Validar cdigo con diagramas de capas (https://msdn.microsoft.com/es-es/library/dd409395.aspx)

Diagrama de Visualizacin del procesamiento interno efectuado por los componentes en respuesta a los mensajes entrantes.
actividades
Vea:

- Diagramas de actividades UML: Referencia (https://msdn.microsoft.com/es-es/library/dd409360.aspx)


- Diagramas de actividades UML: Instrucciones (https://msdn.microsoft.com/es-es/library/dd409465.aspx)

Visualizacin del cdigo existente: mapas de cdigo


Los mapas de cdigo muestran la organizacin y las relaciones actuales del cdigo. Los elementos se representan mediante nodos en el mapa y las
relaciones mediante vnculos. Los mapas de cdigo le ayudan a realizar los siguientes tipos de tareas:

Examinar cdigo desconocido.

Comprender dnde y cmo un cambio propuesto podra afectar al cdigo existente.

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:

Mapa de cdigo del sistema de pago de Dinner Now

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

Mtodos de la clase PaymentProcessing y sus dependencias

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:

Mapa de cdigo del sistema de pago de Lucerne

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

Mapa de cdigo con cdigo reorganizado

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.

Creacin de un mapa de cdigo


Para obtener una visin general rpida del cdigo fuente, siga estos pasos para generar un mapa de cdigo:

En el men Arquitectura, haga clic en Generar mapa de cdigo para solucin.

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).

Resumen: Ventajas de los mapas de cdigo


Los mapas de cdigo le ayudan en las siguientes tareas:

Obtener informacin acerca de la organizacin y las relaciones en el cdigo existente.

Identificar reas que podran verse afectadas por un cambio propuesto.

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.

Relacin con otros diagramas

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:

- Crear diagramas de capas a partir del cdigo (https://msdn.microsoft.com/es-es/library/dd465141.aspx)


- Diagrama de capas: Instrucciones (https://msdn.microsoft.com/es-es/library/dd418995.aspx)

Diagrama de componentes Los componentes, sus interfaces y sus relaciones.

Para identificar los componentes, cree un mapa de cdigo y agrupe los elementos segn su funcin en el sistema.

Vea:

- Diagramas de componentes de UML: Referencia (https://msdn.microsoft.com/es-es/library/dd409390.aspx)


- Diagramas de componentes de UML: Instrucciones (https://msdn.microsoft.com/es-es/library/dd409393.aspx)

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:

- Diagramas de clases de UML: Referencia (https://msdn.microsoft.com/es-es/library/dd409437.aspx)


- Diagramas de clases de UML: Instrucciones (https://msdn.microsoft.com/es-es/library/dd409416.aspx)

Diagrama de clases Las clases existentes en el cdigo de un proyecto especfico.


(basado en cdigo)
Para visualizar y modificar una clase existente en el cdigo, use el Diseador de clases.

Vea How to: Add Class Diagrams to Projects (Class Designer) (https://msdn.microsoft.com/es-
es/library/hyxd8c85.aspx).

Descripcin de las interacciones: diagramas de secuencia


Los diagramas de secuencia describen una serie de interacciones entre los elementos de un sistema. Los elementos pueden ser de cualquier escala,
desde objetos individuales de un programa a grandes subsistemas o actores externos. Las interacciones pueden ser de cualquier escala y tipo, desde
mensajes individuales a transacciones extendidas, y pueden ser llamadas a funciones o mensajes del servicio web.

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:

Diagrama de secuencia para el caso de uso de proceso de pago


https://msdn.microsoft.com/es-es/library/ff183189(d=printer).aspx 22/29
8/11/2017 Escenario: Cambiar el diseo usando modelado y visualizacin

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:

Diagramas de secuencia UML: Referencia (https://msdn.microsoft.com/es-es/library/dd409377.aspx)

Diagramas de secuencia de UML: Instrucciones (https://msdn.microsoft.com/es-es/library/dd409389.aspx)

Asignar dependencias de sus soluciones (https://msdn.microsoft.com/es-es/library/dd409453.aspx)

Dibujo de un diagrama de secuencia


Un diagrama de secuencia tiene las siguientes caractersticas principales:

Lneas de vida verticales que representan actores o instancias de objetos de software.

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:

Diagramas de secuencia UML: Referencia (https://msdn.microsoft.com/es-es/library/dd409377.aspx)

Diagramas de secuencia de UML: Instrucciones (https://msdn.microsoft.com/es-es/library/dd409389.aspx)

Resumen: Ventajas de los diagramas de secuencia


Los diagramas de secuencia le ayudan a visualizar:

El flujo de control que se transfiere entre actores u objetos durante la ejecucin de un caso de uso.

La implementacin de un mensaje o una llamada a mtodo.

Relacin con otros diagramas

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:

- Diagramas de clases de UML: Referencia (https://msdn.microsoft.com/es-es/library/dd409437.aspx)


- Diagramas de clases de UML: Instrucciones (https://msdn.microsoft.com/es-es/library/dd409416.aspx)

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:

- Diagramas de componentes de UML: Referencia (https://msdn.microsoft.com/es-es/library/dd409390.aspx)


- Diagramas de componentes de UML: Instrucciones (https://msdn.microsoft.com/es-es/library/dd409393.aspx)

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:

- Diagramas de casos de uso de UML: Referencia (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)

Definicin de un glosario de tipos: diagramas de clases


Los diagramas de clases definen las entidades, trminos o conceptos que participan en el sistema y sus relaciones entre s. Por ejemplo, estos
diagramas se pueden usar durante el desarrollo para describir los atributos y las operaciones de cada clase, independientemente del lenguaje de
implementacin o el estilo.

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:

Entidades del proceso de pago en un diagrama de clases

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:

Detalles del proceso de pago en el diagrama de clases

Vea:

Diagramas de clases de UML: Referencia (https://msdn.microsoft.com/es-es/library/dd409437.aspx)

Diagramas de clases de UML: Instrucciones (https://msdn.microsoft.com/es-es/library/dd409416.aspx)

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:

Tipos como clases, interfaces y enumeraciones:

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.

Una enumeracin es un clasificador que contiene una lista de valores literales.

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 asociacin indica algn tipo de relacin entre dos clasificadores.

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:

Diagramas de clases de UML: Referencia (https://msdn.microsoft.com/es-es/library/dd409437.aspx)

Diagramas de clases de UML: Instrucciones (https://msdn.microsoft.com/es-es/library/dd409416.aspx)

How to: Add Class Diagrams to Projects (Class Designer) (https://msdn.microsoft.com/es-es/library/hyxd8c85.aspx)

Resumen: Ventajas de los diagramas de clases


Los diagramas de clases le ayudan a definir lo siguiente:

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.

Relacin con otros diagramas

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:

- Diagramas de casos de uso de UML: Referencia (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)

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:

- Diagramas de actividades UML: Referencia (https://msdn.microsoft.com/es-es/library/dd409360.aspx)


- Diagramas de actividades UML: Instrucciones (https://msdn.microsoft.com/es-es/library/dd409465.aspx)

Diagrama de Descripcin de los componentes, sus interfaces y sus relaciones. Una clase tambin puede describir un componente
componentes completo.

Vea:

- Diagramas de componentes de UML: Referencia (https://msdn.microsoft.com/es-es/library/dd409390.aspx)


- Diagramas de componentes de UML: Instrucciones (https://msdn.microsoft.com/es-es/library/dd409393.aspx)

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:

- Crear diagramas de capas a partir del cdigo (https://msdn.microsoft.com/es-es/library/dd465141.aspx)


- Diagramas de capas: Referencia (https://msdn.microsoft.com/es-es/library/dd409462.aspx)
- Diagrama de capas: Instrucciones (https://msdn.microsoft.com/es-es/library/dd418995.aspx)
- Validar cdigo con diagramas de capas (https://msdn.microsoft.com/es-es/library/dd409395.aspx)

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:

- Diagramas de secuencia UML: Referencia (https://msdn.microsoft.com/es-es/library/dd409377.aspx)


- Diagramas de secuencia de UML: Instrucciones (https://msdn.microsoft.com/es-es/library/dd409389.aspx)

Mapa de cdigo Visualizacin de la organizacin y las relaciones en el cdigo existente.

Para identificar las clases, sus relaciones y sus mtodos, cree un mapa de cdigo que muestre esos elementos.

Vea:

- Asignar dependencias de sus soluciones (https://msdn.microsoft.com/es-es/library/dd409453.aspx)

Descripcin de la arquitectura lgica: diagramas de capas


Los diagramas de capas organizan los artefactos de la solucin en grupos abstractos, o capas, con los que describen la arquitectura lgica de un
sistema. Estos artefactos pueden ser muchas cosas: espacios de nombres, proyectos, clases, mtodos, etctera. En las capas se representan y describen
los roles o las tareas que realizan los artefactos en el sistema. Tambin puede incluir la validacin de capas en la compilacin y las operaciones de
proteccin para asegurarse de que el cdigo sigue siendo coherente con el diseo.

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

Diagrama de capas para la integracin de Dinner Now y Lucerne

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:

Mapa de cdigo con llamadas a mtodo actualizadas

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

Mapa de cdigo sin PaymentProcessing

Dibujo de un diagrama de capas


Un diagrama de capas tiene las siguientes caractersticas principales:

Capas que describen grupos lgicos de artefactos.

Vnculos, es decir, asociaciones entre capas y artefactos.

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:

Crear diagramas de capas a partir del cdigo (https://msdn.microsoft.com/es-es/library/dd465141.aspx)

Diagramas de capas: Referencia (https://msdn.microsoft.com/es-es/library/dd409462.aspx)

Diagrama de capas: Instrucciones (https://msdn.microsoft.com/es-es/library/dd418995.aspx)

Validar cdigo con diagramas de capas (https://msdn.microsoft.com/es-es/library/dd409395.aspx)

Resumen: Ventajas de los diagramas de capas


Los diagramas de capas le permiten hacer lo siguiente:

Describir la arquitectura lgica de un sistema conforme a la funcionalidad de sus artefactos.

Asegurarse de que el cdigo en desarrollo se ajusta al diseo especificado.

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

Mapa de cdigo Visualizacin de la organizacin y las relaciones en el cdigo existente.

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:

- Asignar dependencias de sus soluciones (https://msdn.microsoft.com/es-es/library/dd409453.aspx)


- Examinar y reorganizar mapas de cdigo (https://msdn.microsoft.com/es-es/library/ee847415.aspx)

Diagrama de Descripcin de los componentes, sus interfaces y sus relaciones.


componentes
Para visualizar las capas, cree un diagrama de componentes en el que se describa la funcionalidad de los distintos
componentes del sistema.

Vea:

- Diagramas de componentes de UML: Referencia (https://msdn.microsoft.com/es-es/library/dd409390.aspx)


- Diagramas de componentes de UML: Instrucciones (https://msdn.microsoft.com/es-es/library/dd409393.aspx)

Recursos externos

Categora Vnculos

Foros - Herramientas de visualizacin y modelado de Visual Studio (http://go.microsoft.com/fwlink/?LinkId=184720)


- SDK de visualizacin y modelado de Visual Studio (Herramientas ADSL) (http://go.microsoft.com/fwlink/?LinkId=184721)

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

You might also like