Está en la página 1de 91

Modelar la aplicacin

La creacin de modelos en Visual Studio Ultimate ayuda a garantizar que la aplicacin satisface las necesidades de los usuarios. Puede crear modelos con distintos niveles de detalle y relacionarlos entre s, con pruebas y con el plan de desarrollo. Puede crear y desarrollar modelos durante todo el ciclo de vida de la aplicacin como parte del proceso de desarrollo. Para obtener ms informacin, vea: Uso de modelos dentro del proceso de desarrollo Tutorial_ Actualizar un sistema mediante herramientas de visualizacin y modelado Para agregar capacidades a esta versin, descargue e instale Visual Studio 2010 Paquete de caractersticas de modelado y visualizacin de Microsoft Visual Studio 2010.

Actividades compatibles con los modelos

Actividad
Comprender las necesidades de los usuarios: clarifique los casos de usuario, las reglas de negocios y otros requisitos, y asegure la coherencia dibujando diagramas de actividades, de clases y otros diagramas UML: Crear modelos de los requisitos de los usuarios Desarrollar modelos para el diseo de software

Visualizar el cdigo: vea una representacin visual del cdigo generando grficos de dependencias y diagramas de secuencia. Vea los objetos, las configuraciones y las relaciones en las bases de datos creando una representacin sin c onexin de dichas bases de datos: Visualizar cdigo Introduccin a la configuracin y los objetos de bases de datos existentes

Definir la arquitectura: modele la estructura del sistema y los modelos de diseo a gran escala dibujando diagramas de las clases y los componentes ULM y diagramas de secuencia. Defina y aplique restricciones a las dependencias entre los componentes del cdigo creando diagramas de capas. Modelar la arquitectura de un sistema de Software Desarrollar modelos para el diseo de software

Genere o configure partes de la aplicacin a partir de UML o de los lenguajes especficos de dominio, y haga un diseo que responda mejor a los cambios de requisitos y que se pueda variar ms fcilmente en una lnea de productos: Generar y configurar aplicaciones a partir de modelos

Validar el sistema con los requisitos y el diseo que se persigue: defina pruebas de aceptacin o pruebas del sistema en funcin de los modelos de los requisitos. De este modo, establecer una fuerte relacin entre las pruebas y los requisitos del usuario, y costar menos actualizar el sistema cuando cambien los requisitos. Validar el sistema durante el desarrollo

Compartir modelos, diagramas y grficos utilizando el control de versiones de Team Foundation: coloque el proyecto de modelado y los archivos de diagramas, los grficos de dependencias y las consultas del Explorador de arquitectura bajo control de versiones de Team Foundation. Cuando haya varios usuarios que trabajen con estos elementos bajo control de versiones de Team Foundation, utilice estas instrucciones para evitar problemas con el control de versiones. Administrar modelos y grficos con control de versiones

Personalizar modelos y diagramas: adapte los modelos para que se ajusten mejor al modo en que se usan en el proyecto definiendo propiedades adicionales para los elementos UML, restricciones de validacin para garantizar que los modelos se ajustan a las reglas de negocios y otros elementos de cuadro de herramientas y comandos de men. Tambin puede crear lenguajes especficos del dominio. Ampliar modelos y diagramas UML SDK de modelado y virtualizacin - Lenguajes especficos de dominio

Tipos de modelos y usos

Tipo y modelo y usos habituales


Modelo UML
Un modelo UML incluye varias vistas, como son los diagramas de secuencias, clases, componentes, casos de uso y actividades. Puede personalizar el modelo UML para que se ajuste al dominio de la aplicacin. Por ejemplo, puede adjuntar etiquetas, informacin adicional y restricciones a los elementos del modelo. Tambin puede definir herramientas que acten en los modelos. Para obtener ms informacin, vea Desarrollar modelos para el diseo de software.

Usos tpicos:
Describir requisitos y diseo. UML se puede aplicar rpidamente al desarrollo de cualquier aplicacin. Para obtener ms informacin, vea Uso de modelos dentro del proceso de desarrollo. Generar o configurar pruebas o partes de una aplicacin. Es necesario realizar algn trabajo para personalizar la notacin y desarrollar las plantillas de generacin o la aplicacin configurable. Para obtener ms informacin, vea Generar y configurar aplicaciones a partir de modelos. Para la descripcin general y para la generacin de cdigo o la configuracin en proyectos menores.

Lenguaje especfico del dominio (DSL)


Un DSL es una notacin que se disea con un objetivo concreto. En Visual Studio suele ser un objetivo grfico. Para obtener ms informacin, vea SDK de modelado y virtualizacin - Lenguajes especficos de dominio. Usos tpicos: Generar o configurar partes de la aplicacin. Hay que realizar algn trabajo para desarrollar la notacin y las herramientas. El resultado puede ser un mejor ajuste al dominio que una personalizacin UML.

Para proyectos grandes o en lneas de productos donde la inversin en desarrollo de DSL y sus herramientas se recupera cuando se usa en ms de un proyecto.

Diagrama de capas
Un diagrama de capas permite definir la estructura de una aplicacin como un conjunto de capas o bloques con

dependencias explcitas. Tambin se puede validar el cdigo con el diagrama de capas en cada proteccin. Para obtener ms in Instrucciones. Usos tpicos: Estabilizar la estructura de la aplicacin a travs de numerosos cambios a lo largo de su duracin. Para obtener ms informacin, vea Cmo: Validar cdigo .NET con diagramas de capas.

Grficos dirigidos o de dependencias

Los grficos dirigidos y de dependencias permiten inspeccionar conjuntos grandes y complejos de dependencias u otras relaci

estructura del cdigo. Tambin puede escribir herramientas para crear grficos a partir de una gran variedad de orgenes. Par Generar grficos de dependencia para cdigo .NET. Usos tpicos: Analizar el cdigo del programa como preparacin para su actualizacin ayuda a entender la estructura y calcular el costo de los cambios propuestos. Analizar otras redes grandes como sitios web, bases de datos, etc.

Diagrama de secuencia basado en cdigo


Los diagramas de secuencias que se generan a partir de cdigo .NET ayudan a visualizar la forma en que el cdigo implementa un mtodo. Para obtener ms informacin, vea Como: Explorar el cdigo con diagramas de secuencia. Usos tpicos: Comprender y analizar el cdigo de programa.

Recursos externos

Categora
Videos

Vnculos

Foros

Visual Studio Visualization & Modeling Tools

Visual Studio Visualization & Modeling SDK (DSL Tools)

Blogs

Blog de Visual Studio Architecture, Visualization, and Modeling Tools Layer Validation Dependency Graphs and DGML

Artculos y diarios tcnicos

The Architecture Journal - Issue 23: Architecture Modeling and Processes

Otros sitios

Centro de Arquitectura - MSDN

Diagramas de capas: Referencia


En Visual Studio Ultimate, puede usar un diagrama de capas para visualizar la arquitectura lgica del sistema. En un diagrama de capas los artefactos fsicos del sistema se organizan en grupos lgicos y abstractos denominados capas.Estas capas ayudan a identificar, describir y distinguir los tipos de tareas que estos artefactos realizan. Cada nivel tambin puede contener otras capas o subcapas adicionales en las que se describen tareas ms pequeas que realizan grupos discretos de artefactos. Se pueden mostrar las dependencias planeadas o existentes entre algunas capas. Estas dependencias indican qu capas pueden usar o ya usan la funcionalidad de otras capas. Como los diagramas de capas organizan el sistema en capas en las que se describen los distintos roles y funciones, resulta ms fcil entender, reutilizar y mantener el cdigo. Use un diagrama de capas como ayuda para realizar las siguientes tareas: Comunicar la arquitectura lgica existente o planeada del sistema. Detectar conflictos entre el cdigo existente y la arquitectura planeada. Visualizar el impacto que tendrn los cambios en la arquitectura planeada cuando el sistema se refactorice, se actualice o evolucione. Reforzar la arquitectura planeada durante el desarrollo y mantenimiento del cdigo incluyendo la validacin con las operaciones de compilacin y proteccin. En este tema se describen los elementos que se pueden usar en un diagrama de capas. Para obtener informacin ms detallada acerca de cmo se crean y dibujan diagramas de capas, vea Diagrama de capas: Instrucciones. Para obtener ms informacin sobre los modelos de capas, visite el sitio Patterns & Practices en http://go.microsoft.com/fwlink/?LinkId=145794.

Leer diagramas de capas

En la tabla siguiente se describen los elementos que se pueden usar en un diagrama de capas.

Forma Elemento
1 Capa

Descripcin

Grupo lgico de artefactos fsicos del sistema. Estos artefactos pueden ser espacios de no

Para ver los artefactos que estn vinculados a una capa, haga clic con el botn secundario en Ver vnculos para abrir el Explorador de capas. Para obtener ms informacin, vea el Explorador de capas.

Forbidden Namespace Dependencies: especifica que los artefactos asociados a e espacios de nombres especificados.

Forbidden Namespaces: especifica que los artefactos asociados a esta capa no d nombres especificados.

Required Namespaces: especifica que los artefactos asociados a esta capa deben nombres especificados.

Dependencia

Indica que una capa puede usar la funcionalidad de otra capa, pero no viceversa. Direction: especifica la direccin de la dependencia.

Bidirectional Dependency

Indica que una capa puede usar la funcionalidad de otra capa, y viceversa. Direction: especifica la direccin de la dependencia.

Comment

Se usa para agregar notas generales al diagrama o los elementos del diagrama.

Comment Link

Se usa para vincular comentarios a elementos del diagrama.

Explorador de capas
Puede vincular cada capa a uno o varios artefactos de la solucin, como por ejemplo, proyectos, clases, espacios de nombres, archivos de proyecto y otros elementos del software. El nmero de una capa indica el nmero de artefactos vinculados a ella. Sin embargo, al leer 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 obtener ms informacin sobre cmo vincular capas y artefactos, vea: Diagrama de capas: Instrucciones Cmo: Crear diagramas de capas desde artefactos Para examinar los artefactos vinculados En el diagrama de capas, haga clic con el botn secundario en uno o varios niveles y, a continuacin, haga clic en Ver vnculos. El Explorador de capas se abre y en l se muestran los artefactos vinculados a los niveles seleccionados. ElExplorador de capas contiene una columna en la que se muestran las propiedades de los vnculos de los artefactos.

Nota
Si no puede ver todas estas propiedades, expanda la ventana Explorador de capas.

Columna del Explorador de capas


Categoras

Descripcin
Tipo de artefacto, como clase, espacio de nombres, archivo de origen, etc.

Capa

Capa vinculada al artefacto.

Admite validacin

Si es True, el proceso de validacin de capas pued

ajusta a las dependencias que tienen como origen

Si es False, el vnculo no participa en el proceso de

Para obtener ms informacin, vea Diagrama de c

Identificador

Referencia al artefacto vinculado

Diagrama de capas: Instrucciones


En Visual Studio Ultimate, los diagramas de capas proporcionan un mecanismo para describir la estructura de una aplicacin desde el nivel ms alto y comprobar que el cdigo se ajusta a esta estructura. Para asegurarse de que el cdigo mantiene la coherencia con el diseo, puede incluir la validacin de capas como parte del proceso de compilacin. Al igual que en un diagrama de arquitectura tradicional, en un diagrama de capas se identifican los componentes primarios o las unidades funcionales del diseo y sus interdependencias. Cada nodo del diagrama, que se denominacapa, representa un grupo lgico de espacios de nombres, proyectos u otros artefactos. Puede dibujar las dependencias que debera haber en el diseo. A diferencia de un diagrama de arquitectura tradicional, puede comprobar que las dependencias reales del cdigo fuente se ajustan a las dependencias especificadas que se pretenden. Al incluir la validacin en el proceso de compilacin normal de Team Foundation Server, tiene la garanta de que el cdigo de programa seguir ajustndose a la arquitectura del sistema cuando se realicen cambios. Para obtener informacin sobre los elementos de los diagramas de capas y sus propiedades, vea Diagramas de capas: Referencia.

Disear o actualizar la aplicacin mediante diagramas de capas


Los siguientes pasos proporcionan informacin general sobre cmo utilizar los diagramas de capas dentro del proceso de desarrollo. Las secciones posteriores de este tema describen cada paso con ms detalle. Si est desarrollando un nuevo diseo, omita los pasos en los que se hace referencia al cdigo existente.

Nota

Estos pasos aparecen en un orden aproximado. Es probable que desee superponer las tareas, reorganizarlas situacin particular y revisarlas al inicio de cada iteracin del proyecto.
1. 2. Cree un diagrama de capas para toda la aplicacin o para una de sus capas. Defina las capas que para que representen las principales reas o componentes funcionales de la aplicacin.Denomine estos niveles segn su funcin, por ejemplo, "Presentacin" o "Servicios". Si tiene una solucin de Visual Studio, puede asociar cada capa a una coleccin de artefactos, como proyectos, espacios de nombres, archivos, etc. Detecte las dependencias existentes entre las capas. Modifique las capas y las dependencias para mostrar el diseo actualizado que desea que el cdigo refleje.

3. 4.

5.

6. 7. 8. 9.

Disee nuevas reas de la aplicacin; para ello, cree capas que representen los principales bloques arquitectnicos o componentes y defina las dependencias que van a representar el modo en que cada capa emplea las otras. Modifique el diseo y el aspecto del diagrama para que le resulte ms fcil explicrselo a sus colegas. Valide el cdigo con el diagrama de capas para poner de manifiesto los conflictos entre el cdigo y la arquitectura necesaria. Actualice el cdigo para que se adapte a la nueva arquitectura. Desarrolle y refactorice el cdigo en iteraciones hasta que la validacin no muestre ningn conflicto. Incluya la validacin de capas en el proceso de compilacin para asegurarse de que el cdigo no se desva del diseo.

Crear un diagrama de capas


Los diagramas de capas deben crearse dentro de un proyecto de modelado. Puede agregar un nuevo diagrama de capas a un proyecto de modelado existente o bien puede crear otro modelado en la solucin para el nuevo diagrama de capas. Para agregar un nuevo diagrama de capas a un proyecto de modelado 1. 2. 3. 4. En el men Arquitectura, haga clic en Nuevo diagrama. En Plantillas, haga clic en Diagrama de capas. Especifique un nombre para el diagrama. En Agregar a proyecto de modelado, busque y seleccione un proyecto de modelado existente en la solucin. O bien Haga clic en Crear un nuevo proyecto de modelado para agregar un nuevo proyecto de modelado a la solucin.

Nota Los diagramas de capas solo pueden existir dentro de un proyecto de modelado. Sin embargo, pueden vincularse a cualquier artefacto que exista en cualquier parte de la solucin.

Tambin puede copiar un diagrama de capas existente dentro del mismo proyecto de modelado.

Nota No agregue, arrastre ni copie un diagrama de capas de un proyecto de modelado a otro, ni a otra ubicacin de la solucin.

Un diagrama de capas que se copia de esta manera tendr las mismas referencias que el diagrama original, incluso si se modif capas se haga correctamente y es posible que cause otros problemas, como la prdida de elementos u otros errores al intentar abrir el diagrama.

Para copiar un diagrama de capas, siga estos pasos: Para copiar un diagrama de capas existente 1. 2. Agregue un nuevo diagrama de capas al proyecto de modelado. Copie los elementos del diagrama de capas de origen en el nuevo diagrama.

Definir capas para representar reas o componentes funcionales


Las capas representan grupos lgicos de artefactos, como proyectos, archivos de cdigo, espacios de nombres, clases y mtodos. Puede crear capas a partir de artefactos en la solucin de Visual Studio o adjuntar especificaciones o planes a una capa vinculando documentos, como archivos de Word o presentaciones de PowerPoint. Cada capa aparece como un rectngulo en el diagrama y muestra el nmero de artefactos vinculados a ella. Una capa puede contener capas anidadas que describan tareas ms granulares. Como regla general, denomine las capas segn su funcin, por ejemplo, "Presentacin" o "Servicios." Si los artefactos tienen una estrecha interdependencia, colquelos en la misma capa. Si los artefactos se pueden actualizar de forma independiente o usar en aplicaciones diferentes, sitelos en capas distintas. Para obtener ms informacin sobre los modelos de capas, visite el sitio Patterns & Practices en http://go.microsoft.com/fwlink/?LinkId=145794.

Nota Existen ciertos tipos de artefactos que se pueden vincular a capas, pero que no admiten la validacin con el diagrama de capas. Para ver si el artefacto admite la validacin, abra el Explorador de capas y examine la propiedad Supports Validation del vnculo de artefacto. Para obtener ms informacin, vea Administrar vnculos entre capas y artefactos.

Si actualiza una aplicacin que le resulta poco familiar, puede usar grficos de dependencias que le ayuden a examinar y comprender el cdigo. Estos grficos de dependencias pueden ayudarle a detectar los clsteres y dependencias del cdigo. Tambin puede usar el Explorador de arquitectura para examinar los espacios de nombres y las clases, que suelen corresponderse con las capas existentes. De este modo, le resultar ms fcil

Diagramas de actividades UML: Referencia


En un diagrama de actividades se muestra un proceso de negocio o un proceso de software como un flujo de trabajo a travs de una serie de acciones. Estas acciones las pueden llevar a cabo personas, componentes de software o equipos. Puede usar un diagrama de actividades para describir procesos de diversos tipos, como los ejemplos siguientes: Un proceso de negocio o un flujo de trabajo entre los usuarios y el sistema. Para obtener ms informacin, veaCrear modelos de los requisitos de los usuarios. Los pasos realizados en un caso de uso. Para obtener ms informacin, vea Diagramas de casos de uso de UML: Instrucciones. Un protocolo de software, es decir, las secuencias de interacciones permitidas entre los componentes. Un algoritmo de software.

En este tema se describen los elementos que se pueden usar en los diagramas de actividades. Para obtener informacin ms detallada sobre cmo se dibujan diagramas de actividades, vea Diagramas de actividades UML: Instrucciones. Para crear un diagrama de actividades de UML, en el men Arquitectura, haga clic en Nuevo diagrama.Para obtener ms informacin acerca de cmo se dibujan diagramas de modelado en general, vea Cmo: Modificar un modelo UML y los diagramas.

Leer diagramas de actividades


En las tablas de las secciones siguientes se describen los elementos que se pueden usar en un diagrama de actividades y sus propiedades principales. Para obtener una lista completa de las propiedades de los elementos, vea Propiedades de los elementos de diagramas de actividades. Las acciones y otros elementos que aparecen en un diagrama de actividades conforman una actividad. Puede ver la actividad en el Explorador de modelos UML. La actividad se crea cuando se agrega el primer elemento al diagrama. Para leer un diagrama, imagine que un token o un subproceso de control pasa por los conectores de una accin a la siguiente.

Flujos de control sencillos


Puede mostrar una secuencia de acciones con bifurcaciones y bucles. Para obtener ms informacin sobre cmo se usan los elementos que se describen aqu, consulte la seccin Describir el flujo de control del tema Diagramas de actividades UML: Instrucciones.

Forma
1

Elemento
Action

Descripcin y propiedades principales


Paso de la actividad en el que los usuarios o el software realizan alguna

10

La accin se puede iniciar cuando un token ha llegado a todos sus flujos Cuando finaliza, los tokens se envan en todos los flujos de salida. Body: especifica la accin en detalle. Language: lenguaje de la expresin de Body.

Local Postconditions: restricciones que deben cumplirse cuand ejecucin.Objetivo conseguido por la accin.

Local Preconditions: restricciones que deben satisfacerse antes comience la ejecucin.

Control Flow

Conector que muestra el flujo de control entre las acciones. Para interpr diagrama, imagine que un token fluye de una accin a la siguiente. Para crear un flujo de control, use la herramienta Conector.

Initial Node

Indica la primera accin o acciones de la actividad. Cuando la actividad s token fluye desde el nodo inicial.

Activity Final Node

Extremo de la actividad. Cuando un token llega a este nodo, la actividad

Decision Node

Bifurcacin condicional de un flujo. Tiene una entrada y dos o ms salida de entrada solo emerge en una de las salidas.

Guard

Condicin que especifica si un token puede fluir por un conector. Su uso es en los flujos de salida de un nodo de decisin.

Para establecer una proteccin, haga clic con el botn secundario del m

flujo, haga clic en Propiedades y, a continuacin, establezca la propieda

Merge Node

Es necesario para combinar los flujos que se dividieron mediante un nod

Tiene dos o varias entradas y una nica salida. Un token de alguna de la emerge en la salida.

Comment

Proporciona informacin adicional sobre los elementos a los que est vi

Call Behavior Action

Accin que se define con ms detalle en otro diagrama de actividades. IsSynchronous: si es true, la accin espera hasta que finaliza la Behavior: actividad invocada.

11

(no se muestra)

Call Operation Action

Accin que llama a una operacin de una instancia de una clase.

Actividad

Flujo de trabajo que se describe en un diagrama de actividades. Para ve

propiedades de una actividad, debe seleccionarla en el Explorador de m UML.

Is Read Only: si es true, la actividad no debe modificar el estado objeto.

Is Single Execution: si es true, se produce como mximo una ej de este diagrama a la vez.

UML Activity Diagram

Diagrama en el que se muestra una actividad. Para ver sus propiedades, en una parte vaca del diagrama. Nota

Los nombres del diagrama de actividades, el archivo que contiene el dia actividad que se muestra en el diagrama pueden ser diferentes.

Flujos simultneos
Puede describir secuencias de acciones que se ejecutan al mismo tiempo. Para obtener ms informacin, vea la seccin en la que se indica cmo se dibujan flujos simultneos.

12

Forma Elemento
11 Fork Node

Descripcin
Divide un nico flujo en flujos simultneos. Cada token de entrada genera un token en cada conector de salida.

12

Join Node

Combina flujos simultneos en un nico flujo. Cuando cada flujo de entrada tiene un token esperando, se genera un token en la salida.

13

Send Signal Action

Accin que enva un mensaje o seal a otra actividad o a un subproceso simultneo de la misma actividad. El tipo y el contenido del mensaje viene definido de forma implcita en el ttulo de la accin o se especifica en comentarios adicionales. La accin puede enviar los

datos en la seal, que se pueden pasar a la accin de un flujo de objeto o terminal de entrada

14

Accept Event Action

Accin que espera un mensaje o seal antes de que pueda continuar. El tipo de mensaje que la el ttulo o se especifica en comentarios adicionales.

Si la accin no tiene ningn flujo de control de entrada, genera un token cada vez que recibe u

La accin puede recibir los datos de la seal, que se puede pasar en un flujo de objeto o termin

IsUnmarshall: si es true, puede haber varios terminales de salida con tipo y no se calcula la refe todos los datos aparecen en un terminal.

Flujos de datos
Puede describir el flujo de datos de una accin a otra. Para obtener ms informacin sobre los elementos que se usan en esta seccin, en el tema relativo a las instrucciones para dibujar un diagrama de actividades, vea la seccin en la que se indica cmo se dibuja un diagrama de actividades.

13

Forma
15

Elemento
Object Node

Descripcin
Representa los datos que pasan por un flujo. Ordering: cmo se almacenan varios tokens.

Selection: invoca un proceso que filtra los datos (y que puede defin en otro diagrama).

Upper Bound: 0 indica que los datos deben pasar directamente por flujo; * indica que los datos pueden almacenarse en el flujo. Type: tipo de lo objetos almacenados y transmitidos.

16

Input Pin

Representa los datos que una accin puede recibir cuando se ejecuta. Type: tipo de los objetos transmitidos.

17

Output Pin

Representa los datos que una accin genera cuando se ejecuta. Type: tipo de los objetos transmitidos.

18

Activity Parameter Node

Nodo de objeto a travs del que la actividad puede recibir o generar los datos. Se usa cuando la actividad representada en el diagrama se llama desde otra actividad o cuando el diagrama describe una operacin o funcin. Type: tipo de los objetos transmitidos.

(no se muestra)

Object Flow

Conector que muestra el flujo de datos entre las acciones y los nodos de objeto. Si desea crear un flujo de objeto, use la herramienta Conector para vincular un terminal de entrada o salida o un nodo de objeto con otro elemento. Selection: invoca un proceso que filtra los datos (y que puede definirse en otro diagrama). Transformation: invoca un proceso que transforma los datos (y que puede definirse en otro diagrama). IsMulticast: indica que puede haber varios componentes u objetos que actan como destinatarios. IsMultiReceive: indica que pueden recibirse entradas de varios objetos o componentes.

14

Diagramas de actividades UML: Instrucciones


En Visual Studio Ultimate, puede dibujar un diagrama de actividades para describir un proceso de negocio o un algoritmo de software como un flujo de trabajo a travs de una serie de acciones. Estas acciones las pueden llevar a cabo personas, componentes de software o dispositivos. Si desea una demostracin en vdeo, vea: Capture Business Workflows by using Activity Diagrams. Para crear un diagrama de actividades de UML, en el men Arquitectura, haga clic en Nuevo diagrama. Puede usar un diagrama de actividades para muchos propsitos: Para describir un proceso de negocio o un flujo de trabajo entre los usuarios y el sistema. Para obtener ms informacin, vea Crear modelos de los requisitos de los usuarios. Para describir los pasos que se llevan a cabo en un caso de uso. Para obtener ms informacin, vea Diagramas de casos de uso de UML: Instrucciones. Para describir un mtodo, una funcin o una operacin de software. Para obtener ms informacin, veaModelar la arquitectura de un sistema de Software. Dibujar un diagrama de actividades puede ayudarle a mejorar un proceso. Si el diagrama de un proceso existente resulta ser muy complejo, puede considerar la posibilidad de buscar un medio para simplificar el proceso. Para obtener informacin de referencia sobre los elementos de los diagramas de actividades, vea Diagramas de actividades UML: Referencia.

En este tema
Relacin con otros diagramas Pasos bsicos para dibujar diagramas de actividades Describir el flujo de control Describir el flujo de datos Definir una accin con ms detalle Flujos simultneos

Relacin con otros diagramas


Si dibuja un diagrama de actividades para describir un proceso de negocio o el modo en que los usuarios usan el sistema, puede dibujar un diagrama de casos de uso para representar una vista diferente de la misma informacin.En el diagrama de casos de uso, las acciones se dibujan como casos de uso. Asigne a los casos de uso los mismos nombres que los de las acciones correspondientes. La vista de casos de uso tiene algunas ventajas, pues le permite: Mostrar en un diagrama cmo las acciones o casos de uso ms grandes se componen de otras acciones o casos de uso ms pequeos mediante la relacin Includes. Conectar cada accin o caso de uso con los usuarios o sistemas externos implicados explcitamente en su ejecucin. Dibujar lmites alrededor de las acciones o casos de uso que el sistema o cada uno de los componentes principales que lo conforman admiten. Tambin puede dibujar un diagrama de actividades para describir en detalle el diseo de una operacin de software. En un diagrama de actividades, puede mostrar el flujo de los datos que pasan de una accin a otra. Vea la seccinDescribir el flujo de datos. Sin embargo, en un diagrama de actividades no se describe la

15

estructura de los datos.Para ese propsito, puede dibujar un diagrama de clases UML. Para obtener informacin, vea Diagramas de clases de UML: Instrucciones.

Pasos bsicos para dibujar diagramas de actividades


En Cmo: Modificar un modelo UML y los diagramas se describen en detalle los pasos para crear diagramas de modelado.

Para dibujar un diagrama de actividades


1. 2. 3. 4. En el men Arquitectura, haga clic en Nuevo diagrama. En Plantillas, haga clic en Diagrama de actividades UML. Especifique un nombre para el diagrama. En Agregar a proyecto de modelado, seleccione un proyecto de modelado existente de la solucin o Crear un nuevo proyecto de modelado.

Para dibujar los elementos de un diagrama de actividades


1. Arrastre los elementos del cuadro de herramientas hasta el diagrama. Para comenzar, coloque las actividades principales del diagrama, conctelas y, a continuacin, incorpore los ltimos detalles, como el nodo inicial y el nodo final.

Nota
No puede arrastrar elementos existentes al diagrama desde el Explorador de modelos UML.

2.

Para conectar los elementos, siga estos pasos: a. En el cuadro de herramientas Diagrama de actividades, haga clic en Conector. b. En el diagrama, haga clic en el elemento de origen. c. A continuacin, haga clic en el elemento de destino.

Nota
Haga doble clic en una herramienta del cuadro de herramientas para usarla varias veces.

Para mover una actividad a otro paquete


En el Explorador de modelos UML, arrastre la actividad a un paquete. -O bien En el Explorador de modelos UML, haga clic con el botn secundario en la actividad y haga clic en Cortar. A continuacin, haga clic con el botn secundario en el paquete y haga clic en Pegar.

16

Nota
La actividad solo aparecer en el Explorador de modelos UML cuando agregue el primer elemento al diagrama.

Describir el flujo de control


En un diagrama de actividades se describe un proceso de negocio o un algoritmo de software como una serie de acciones. Las flechas de conexin muestran cmo el control pasa de forma secuencial de una accin a la siguiente.Generalmente, una accin solo puede iniciarse despus de que la accin anterior se ha completado. En la ilustracin siguiente se muestra un ejemplo del modo en que se puede representar una secuencia de acciones mediante acciones, conectores, bifurcaciones y bucles. Cada elemento se explica con ms detalle en las secciones siguientes.

En los diagramas de actividades se usan Acciones y Conectores para describir el sistema o la aplicacin como una serie de acciones donde el control fluye de manera secuencial de una accin a la siguiente. Cree una Accin (1) para cada una de las tareas principales que realiza un usuario, el sistema o los dos juntos.

Nota
Intente describir su proceso o algoritmo con unas pocas acciones. Puede usar las acciones de llamada a comportamiento para definir cada accin con ms detalle en un diagrama diferente, tal y como se describe en Describir actividades secundarias con acciones de llamada a comportamiento.

17

Asegrese de que el ttulo de cada accin indica con claridad el objetivo que normalmente se persigue. Vincule en orden las acciones con los Conectores (2). Cada accin finaliza antes de que comience la siguiente accin del flujo de control. Si desea describir acciones que se superponen, use un Nodo de bifurcacin como el que se describe en la seccin Flujos simultneos. Aunque en el diagrama se describe la secuencia de acciones, no se describe cmo se ejecutan las acciones o cmo el control pasa de una accin a la siguiente. Si usa el diagrama para representar un proceso de negocio, el control podra pasarse, por ejemplo, cuando una persona enva un mensaje de correo electrnico a otra. Si usa el diagrama para representar un diseo de software, el control podra pasarse a travs del flujo de ejecucin normal de una instruccin a la siguiente.

Describir decisiones y bucles


Use un Nodo de decisin (3) para indicar un punto en el que el resultado de una decisin dicta el paso siguiente. Puede dibujar tantas rutas de acceso de salida como desee. Si usa el diagrama de actividades para definir parte de una aplicacin, deber determinar las protecciones (4) para dejar claro cundo debe tomarse cada ruta de acceso. Haga clic con el botn secundario en el conector, haga clic en Propiedades y, a continuacin, escriba un nmero en el campo Guard de la ventanaPropiedades. No siempre es necesario definir las protecciones. Por ejemplo, si usa el diagrama de actividades para describir un proceso de negocio o un protocolo de interaccin, una bifurcacin define el intervalo de opciones que se van a abrir para el usuario o para los componentes que interactan. Use un Nodo de combinacin (5) para reunir dos o ms flujos alternativos que se bifurcan en un Nodo de decisin.

Nota
Debe usar un Nodo de combinacin, en lugar de una accin, para reunir flujos alternativos. En el ejemplo, no sera correcto volver a conectar el nodo de decisin directamente con Elegir elemento del men. El motivo es que una accin no se inicia hasta que los subprocesos de control han llegado a todos sus conectores de entrada. Por tanto, en una accin solamente deben reunirse flujos simultneos. Para obtener ms informacin, vea Flujos simultneos.

Use las bifurcaciones para describir bucles, tal y como se muestra en el ejemplo.

Nota
Intente anidar los bucles de forma bien estructurada, tal y como lo hara en el cdigo del programa. Si est describiendo un proceso de negocio existente, aqu pueden ponerse de manifiesto algunas oportunidades para mejorarlo.

18

Iniciar la actividad
Existen dos mecanismos para indicar los puntos de entrada en una actividad: Nodo inicial Cree un Nodo inicial (6) para indicar la primera accin de la actividad. Este mtodo resulta muy til cuando se describe una actividad secundaria o all donde no es necesario indicar explcitamente que se inicie la actividad. Por ejemplo, es evidente que la actividad Pedir un men se inicia cuando un cliente se siente hambriento.

Nodo de aceptacin de evento


Cree Nodos de aceptacin de evento, tal y como se describe en la seccin Flujos simultneos, para indicar el inicio de un subproceso que responde a un evento determinado, como los datos proporcionados por el usuario. No proporcione un flujo de entrada para el nodo. Al omitir el flujo de entrada, se indica que se iniciar un subproceso cada vez que se produzca el evento. Este mtodo es muy til cuando se describe una respuesta a un evento externo concreto.

Finalizar la actividad
Use un Nodo final de actividad (7) para indicar el fin de una actividad.
Cuando un subproceso de control alcanza un Nodo final de actividad, finalizan todas las acciones simultneas de la actividad y las actividades secundarias. Puede usar varios nodos finales de actividad para reducir la cantidad de conectores adicionales.

Interrumpir la actividad
Para describir cmo se puede interrumpir el flujo ordinario de una actividad, por ejemplo, si el usuario decide cancelar el proceso, puede crear un nodo de aceptacin de evento que escuche ese evento. Para obtener ms informacin, vea la seccin Flujos simultneos. Cree un flujo de control que parta de este nodo hacia un nodo final de actividad (7).

Calles
A veces resulta til organizar las acciones de una actividad en reas que se corresponden con distintos objetos o roles del negocio que realizan las acciones. Convencionalmente, estas reas se organizan en columnas y se denominan calles. Use las lneas y rectngulos de la seccin Simple Shapes del Cuadro de herramientas para dibujar calles u otras reas. Para etiquetar cada calle, cree un comentario y establezca su propiedad Transparent en True. Las formas simples no forman parte del modelo UML y no aparecen en el Explorador de modelos UML.

19

Describir el flujo de datos


Puede describir los datos que entran y salen en una actividad de dos maneras: A travs de un Nodo de objeto. ste es el mtodo ms simple para describir la informacin que fluye entre las actividades. Un nodo de objeto es como una variable de un programa. Representa algo que almacena uno o varios valores que se pasan de una accin a otra. A travs de un Terminal de salida y un Terminal de entrada. Este mtodo le permite describir por separado las salidas de una accin y las entradas a otra. Los terminales son como los parmetros de un programa. Los terminales representan los puertos desde donde los objetos pueden entrar en una accin o abandonarla.

Nota
Para obtener informacin general sobre los elementos que se usan en esta seccin, vea la seccin Flujos de datos del tema Diagramas de actividades UML: Referencia.

Describir el flujo de datos con nodos de objeto


La mayora de los flujos de control transportan datos. Por ejemplo, el flujo de salida de la accin "El cliente proporciona los detalles" lleva una referencia a la direccin de envo. Si desea describir esos datos en su diagrama, puede reemplazar un conector por un nodo de objeto y dos conectores, tal y como se muestra en la ilustracin siguiente.

Observe que los rectngulos redondeados, como Despachar mercanca, representan acciones en las que tiene lugar el procesamiento. Los rectngulos cuadrados, como Direccin de envo, representan un flujo de objetos que pasan de una accin a otra. Especifique un nombre para el nodo de objeto que refleje el rol del nodo como canalizacin o bfer de los objetos que fluyen entre las acciones. Puede establecer un valor para la propiedad Type del nodo de objeto en la ventana Propiedades. Este valor puede ser un tipo primitivo, como un entero, o una clase, interfaz o enumeracin que haya definido en un diagrama de clases. Por ejemplo, puede crear una clase Direccin de envo, con atributos como Domicilio, Ciudad, etc., junto con una asociacin con otra clase denominada Cliente. Para obtener ms informacin, vea Diagramas de clases de UML: Instrucciones.

20

Nota Si escribe el nombre de un tipo que no se ha definido todava, se agregar un elemento en Tipos sin especificar del Explorador de modelos UML. Si posteriormente define un tipo con ese nombre en un diagrama de clases, deber restablecer el tipo del nodo de objeto para que haga referencia al nuevo tipo.

Almacenar en bfer los datos de los nodos de objeto Un nodo de objeto puede actuar como bfer de varios objetos. En la siguiente ilustracin, el flujo de control muestra que el usuario recorre el bucle [elija ms] (1) muchas veces, mientras el nodo de objeto Elementos del men seleccionados (2) acumula las selecciones del usuario. Finalmente, cuando el usuario ha completado su seleccin, el control pasa a la accin Confirmar pedido (3), que acepta la lista completa de selecciones del bfer Elementos de men seleccionados.

Puede especificar el modo en que se almacenan los elementos de un bfer estableciendo las propiedades del nodo de objeto: Establezca la propiedad Ordering: Unordered para especificar un orden aleatorio o indeterminado. Predeterminado. Ordered para especificar un orden con arreglo a una clave especfica. Fifo para especificar un orden donde el primer elemento en entrar es el primero en salir. Lifo para especificar un orden donde el ltimo elemento en entrar es el primero en salir. Establezca la propiedad Upper Bound para especificar el nmero mximo de objetos que se pueden incluir en el bfer. El valor predeterminado es *. Significa que no hay ningn lmite.

Describir el flujo de datos con terminales de entrada y salida


Use un Terminal de salida y un Terminal de entrada para describir por separado las salidas de una accin y las entradas de otra.

21

Para crear un terminal, en el cuadro de herramientas haga clic en Input Pin o en Output Pin y, a continuacin, haga clic en una accin. Puede mover el terminal alrededor del permetro de la accin y cambiar su nombre. Puede crear terminales de entrada o salida de cualquier tipo de accin, incluidas las acciones de llamada a comportamiento,las acciones de llamada a operacin, las acciones de envo de seal y las acciones de aceptacin de eventos. Un conector entre terminales representa un flujo de objetos, exactamente igual que los flujos de entrada y salida de un nodo de objeto. Especifique un nombre para cada terminal que indique el rol de los objetos que genera o acepta, como por ejemplo un nombre de parmetro. Puede establecer el tipo de objetos que se transmite en la propiedad Type. Debe tratarse de un tipo que se haya creado en un diagrama de clases UML. Los objetos que fluyen entre los terminales conectados deben ser compatibles de alguna forma. El motivo es que los objetos generados por el terminal de salida pertenecen a un tipo derivado del tipo del terminal de entrada. Tambin puede especificar que el flujo de objetos contiene una transformacin que convierte los datos entre el tipo del terminal de salida y el tipo del terminal de entrada. La transformacin ms comn de este tipo solamente extrae la parte adecuada de un tipo mayor. En el ejemplo de la ilustracin se presupone la existencia de una transformacin que extrae la direccin de envo del detalle del

pedido. Definir una accin con ms detalle


Adems de usar el nombre de la accin para dar cuenta del resultado que normalmente deber conseguir, se exponen a continuacin algunos mecanismos que puede usar para incorporar ms detalles a una accin: Escriba una descripcin ms detallada de la propiedad Body. Por ejemplo, puede escribir un fragmento de cdigo o pseudocdigo del programa o una descripcin completa de los resultados logrados. Reemplace la accin por una accin de llamada a comportamiento y describa su comportamiento detallado en un diagrama de actividades diferente. Vea Describir actividades secundarias con acciones de llamada a comportamiento. Establezca las propiedades Local Postconditions y Local Preconditions de la accin que su resultado se describa con ms detalle. Para obtener ms informacin, vea Definir condiciones previas y posteriores.

22

Describir actividades secundarias con acciones de llamada a comportamiento


Puede describir el comportamiento detallado de una accin usando un diagrama de actividades diferente. Un comportamiento llamado es un diagrama de actividades que se representa en el diagrama de actividades principal a travs de una accin de llamada a comportamiento. Tambin puede usar la accin de llamada a comportamiento para describir el comportamiento que comparten diferentes actividades, de modo que no tenga que dibujar varias veces la actividad secundaria. En el diagrama 1 de la ilustracin siguiente se muestra una actividad que tiene una accin de llamada a comportamiento, mientras que en el diagrama 2 se muestra el diagrama de actividades secundarias donde se representa un comportamiento llamado.

Para describir una actividad secundaria con una accin de llamada a comportamiento
1. Para crear el diagrama de la actividad secundaria, en el Explorador de soluciones, haga clic con el botn secundario en el proyecto de modelado, elija Agregar y, a continuacin, haga clic en Nuevo elemento. En el cuadro de dilogo Agregar nuevo elemento, en Plantillas haga clic en Diagrama de actividades y en el cuadro Nombre especifique el nombre que va a asignar a la Accin de llamada a comportamiento. Dibuje el flujo de trabajo detallado de la actividad secundaria. Este es el comportamiento llamado. En el diagrama de la actividad secundaria llamada, el Nodo inicial indica dnde se inicia el control cuando se invoca el comportamiento llamado. En el Nodo final de actividad se muestra en qu punto el control debe volver a la actividad principal. Establezca la propiedad Behavior de Accin de llamada a comportamiento para que haga referencia al diagrama del comportamiento llamado.

2.

3.

4. 5.

23

Nota El diagrama de la actividad secundaria debe contener algunos elementos o no estar disponible en la lista desplegable de la propiedad Behavior. Adems, el icono con forma de tridente no aparecer en la forma Accin de llamada a comportamiento hasta que establezca su propiedad Behavior.

6.

Establezca la propiedad Is Synchronous de la accin para indicar si la actividad espera hasta que la actividad llamada se complete. Si establece Is Synchronous en false, indicar que el flujo puede continuar en la siguiente accin antes de que finalice la actividad llamada. No debe definir terminales de salida ni flujos de datos de salida de la accin.

Describir el flujo de datos de entrada y salida de las actividades secundarias


Puede describir los datos que fluyen dentro y fuera de las actividades secundarias del mismo modo que usa los parmetros en el software. En la accin de llamada a comportamiento, cree terminales de entrada y salida (1) en cada fragmento de datos que fluya dentro o fuera de la accin. Especifique un nombre adecuado para cada uno. En el diagrama de la actividad secundaria, cree un Nodo de parmetros de actividad (2) para cada terminal de entrada y salida de la accin de llamada. Asigne a cada nodo el mismo nombre el que del terminal correspondiente. En el diagrama de la actividad secundaria, dibuje conectores que muestren el flujo de objetos de entrada y salida de cada nodo de parmetros de actividad.

24

Definir condiciones previas y posteriores


Puede usar las propiedades Local Postconditions y Local Preconditions para especificar en detalle los resultados de una accin. Estas propiedades describen el efecto de la accin sin dar cuenta de cmo se logra. Para establecer estas propiedades, haga clic con el botn secundario en la accin y, a continuacin, haga clic enPropiedades. Especifique los valores de las propiedades en la ventana Propiedades. Local Postconditions Una condicin posterior es una condicin que debe cumplirse antes de que la accin pueda considerarse completada. En la accin Confirmar pedido del ejemplo, la condicin posterior podra ser: El cliente ha proporcionado detalles completos y vlidos que son necesarios para procesar su tarjeta de crdito. Una relacin posterior puede expresar una relacin entre los estados antes y despus de que se produzca la accin.Por ejemplo: El tipo de inters es el doble de lo que era antes. Puede escribir condiciones posteriores con un estilo ms formal y hacer referencia a atributos concretos de los datos implicados en las acciones. Por ejemplo: InvoiceTotal == Sum(OrderItem.MenuItem.Price) Local Preconditions Una condicin previa es una condicin que debe darse cuando la accin est a punto para comenzar. Por ejemplo, la accin Confirmar pedido podra tener la condicin previa siguiente: El cliente ha elegido al menos un elemento del men. Describir las llamadas a operaciones Generalmente, una accin describe el trabajo que realizan una combinacin de personas, software o equipos. Sin embargo, puede usar una accin de llamada a operacin para describir una llamada a un determinado mtodo o funcin de software. Establezca el nombre de la accin de llamada a operacin para indicar a qu se llama y en qu objeto o componente. Agregue terminales de entrada y salida a la accin de operacin de llamada para describir los parmetros y los valores devueltos. Puede establecer la propiedad Is Synchronous de la accin para indicar si la actividad espera a que la operacin se complete. Si establece Is Synchronous en false, indicar que el flujo puede continuar en la siguiente accin antes de que se complete la operacin llamada. No debe definir terminales de salida ni flujos de datos de salida de la accin.

25

Flujos simultneos
Puede usar el Nodo de bifurcacin y el Nodo de unin para describir dos o ms subprocesos de actividades que pueden ejecutarse al mismo tiempo.

El efecto del Nodo de bifurcacin (1) consiste en dividir el subproceso de control en dos o ms subprocesos.Cuando la accin anterior termina, todas las acciones situadas en la salida de la bifurcacin pueden iniciarse. Un Nodo de unin (2) rene los subprocesos simultneos. La accin que sigue al Nodo de unin no se puede iniciar hasta que se completan todas las acciones que preceden al Nodo de unin. Describir seales y eventos Puede mostrar un paso en el que un proceso enva una seal como una accin de envo de seal de una actividad.Puede mostrar un paso en el que se espera a que una determinada seal o evento anterior al paso pueda continuar como una accin de aceptacin de evento. Por ejemplo, puede mostrar un paso en el que se enva un pedido y otro paso en el que debe recibirse el pedido antes de procesarlo. Enviar una seal Use una accin de envo de seal (3) para indicar que una seal o mensaje de algn tipo se enva a otras actividades o procesos. Use el nombre de la accin para indicar qu tipo de mensaje se enva. El control pasa inmediatamente a la siguiente accin del flujo de control, si la hubiera. No puede usar una accin de envo de seal para describir el modo en que responde el proceso a una informacin devuelta. Para ello, use una accin de aceptacin de evento independiente. Puede mostrar el flujo de datos de entrada en una accin de envo de seal para indicar que los datos pueden enviarse con el mensaje saliente. Para obtener ms informacin, vea Describir el flujo de datos. Esperar una seal o evento Use una accin de aceptacin de evento (4) para indicar que esta actividad espera algn evento externo o mensaje entrante. Use el nombre de la accin para indicar el tipo de evento que espera.

26

Para mostrar que la actividad espera un mensaje o evento externo en un punto concreto del flujo, dibuje una accin de aceptacin de evento con un flujo de entrada en el lugar adecuado de la actividad. Para mostrar que la actividad puede responder en cualquier momento a un mensaje o evento externo, dibuje una accin de aceptacin de evento sin el flujo de entrada. Cuando tiene lugar el evento externo con nombre, se inicia un nuevo subproceso en la actividad que comienza en la accin de aceptacin de evento. No puede usar una accin de aceptacin de evento para describir el valor devuelto al remitente de la seal.Use una accin de envo de seal diferente para ese propsito. Puede mostrar los flujos de datos de salida de la accin para ilustrar el modo en que la actividad procesa los datos que se reciben en la seal. Si desea mostrar varios flujos de salida, debe establecer la propiedadIsUnmarshall de la accin de aceptacin de evento, que indica que la accin analiza la seal de entrada en sus diferentes componentes. Para obtener ms informacin, vea Describir el flujo de datos.

Describir varios flujos de datos


Puede dibujar varios flujos de control o flujos de objeto de salida de una accin para indicar que varios subprocesos emergen cuando finaliza la accin. El efecto es similar al de una bifurcacin, salvo en que puede usar una combinacin de flujos de control y objeto. En el siguiente ejemplo se muestran varios flujos de entrada y salida de acciones.

Cuando se completa la accin "El cliente proporciona detalles", genera dos objetos: "Direccin de envo" y "Detalles de la tarjeta de crdito". Los dos objetos avanzan en el procesamiento a travs de acciones diferentes. Dado que una accin necesita que todas sus entradas estn disponibles antes de poder iniciarse, la ltima accin no da comienzo hasta que todas las acciones que la preceden se han completado. Flujos Puede usar un diagrama de actividades para que le ayude a describir una canalizacin o una serie de acciones que se ejecutan al mismo tiempo y para describir los datos que pasan continuamente de una accin a otra. La finalidad del ejemplo siguiente es que cada accin pueda generar objetos y continuar funcionando. Dado que no hay flujos de control, cada accin se puede iniciar tan pronto como recibe sus primeros objetos.

27

Observe que los conectores de este ejemplo son flujos de objeto, ya que todos tienen al menos un extremo en un nodo de parmetros de actividad, un nodo de objeto o un terminal de entrada o salida.

1. En el ejemplo, hay tres nodos de parmetros de actividad, que representan sus entradas y salidas. 2. Los nodos de objeto, los terminales de entrada y los terminales de salida pueden representar bferes. Puede establecer la propiedad Upper Bound de un nodo de objeto para indicar cuntos objetos puede haber al mismo tiempo en el bfer. 3. Puede usar los nodos de decisin para mostrar que un flujo se divide y enva objetos diferentes a travs de bifurcaciones distintas. Puede usar los comentarios o los ttulos de los nodos para explicar cul es el criterio de divisin. 4. Puede usar los nodos de bifurcacin para mostrar que se han realizado dos o ms copias de los objetos envindolas para su procesamiento simultneo. 5. Puede usar los nodos de unin para mostrar que dos secuencias de procesamiento se combinan en una sola. Seleccin y transformacin Puede especificar que los objetos de un flujo de objeto se transformen, se seleccionen o ambas cosas. Un flujo de objeto es un flujo de entrada o salida de un terminal o un nodo objeto. Una transformacin indica cmo los objetos que entran un flujo se convierten en otro tipo. Una seleccin indica cmo solo algunos de los objetos que entran en un flujo se transmiten a la accin receptora. En el ejemplo se muestra una transformacin. La primera accin del diagrama 1 genera un cdigo postal o un terminal de salida. Este se conecta a un terminal de entrada de la segunda accin. Sin embargo, la segunda accin espera una direccin completa. La conversin de un tipo a otro se especifica en una segunda actividad, Bsqueda de direcciones. En la propiedad Transformation del flujo de objeto se hace referencia a esta accin. La actividad Bsqueda de direcciones contiene un nodo de parmetros de actividad para el cdigo postal de entrada y otro nodo de parmetros de actividad para la direccin completa de salida.

28

Existen dos mecanismo para especificar una transformacin o seleccin: Adjuntar un comentario al terminal de entrada o salida. Para distinguir esta descripcin de un comentario general, puede el comentario puede empezar por <<transformacin>> o <<seleccin>>. Especificar con detalle la transformacin o seleccin en un diagrama de actividades independiente. Si usa este mtodo, adjunte tambin un comentario para aclarar a los lectores que se ha definido la transformacin. Para especificar una transformacin o seleccin en un diagrama de actividades independiente Cree un nuevo diagrama de actividades en el que describa el flujo de transformacin o seleccin. En el Explorador de soluciones, haga clic con el botn secundario en el proyecto, elija Agregar, haga clic en Nuevo elemento y, a continuacin, en Diagrama de actividades. Asigne al diagrama un nombre adecuado para el flujo de transformacin o seleccin. Haga clic en Agregar. 2. En el nuevo diagrama: a. Cree dos nodos de parmetros de actividad: uno para el flujo de entrada y otro para la salida. b. Cree acciones que estn interconectadas con los flujos de objeto. De este modo, se mostrar cmo funciona la transformacin o la seleccin. En los diagramas en los que desee usar la transformacin o seleccin: . Cree un flujo de objeto, es decir, un conector que tenga como origen o destino un terminal de entrada o salida, un nodo de objeto o un nodo de parmetros de actividad. a. Haga clic con el botn secundario en el flujo de objeto y, a continuacin, haga clic en Propiedades. b. En la propiedad Transformation o Selection, seleccione el diagrama en el que especific el flujo de transformacin o seleccin. Tambin puede definir una seleccin en un nodo de objeto y en terminales de entrada y salida individuales. Defina una actividad de seleccin como en el procedimiento anterior y, a continuacin, establezca la propiedad Selectiondel nodo de objeto o del terminal de entrada o salida. 1.

29

Diagramas de componentes de UML: Referencia

En Visual Studio Ultimate, en los diagramas de componentes se muestran los elementos de diseo de un sistema de software. Un diagrama de componentes permite visualizar con ms facilidad la estructura general del sistema y el comportamiento del servicio que estos componentes proporcionan y utilizan a travs de las interfaces. Para crear un diagrama de componentes UML, en el men Arquitectura, haga clic en Nuevo diagrama.
Puede usar un diagrama de componentes para describir un diseo que se implemente en cualquier lenguaje o estilo.Solo es necesario identificar los elementos del diseo que interactan con otros elementos del diseo a travs de un conjunto restringido de entradas y salidas. Los componentes pueden tener cualquier escala y pueden estar interconectados de cualquier manera. Para obtener ms informacin acerca de cmo se utilizan los diagramas de componentes en el proceso de diseo, veaModelar la arquitectura de un sistema de Software.

Nota En este tema se describen los elementos que se pueden utilizar en los diagramas de componentes. Para obtener informacin ms detallada sobre cmo se dibujan diagramas de componentes, vea Diagramas de componentes de UML: Instrucciones. Para obtener ms informacin acerca de cmo se dibujan diagramas de modelado en general, vea Cmo: Modificar un modelo UML y los diagramas.

Leer diagramas de componentes


En la tabla siguiente se describen los elementos que pueden utilizarse en un diagrama de componentes junto con sus propiedades principales. Para obtener una lista completa de las propiedades de los elementos, vea Propiedades de los elementos de diagramas de componentes.

30

Forma
1

Elemento
Componente

Descripcin y propiedades principales

Elemento de funcionalidad del sistema reutilizable. Un componente proporciona utiliza el comportamiento a travs de las interfaces y puede hacer uso de otros componentes.

Los elementos internos de un componente se pueden mostrar u ocultar con el c de expandir y contraer (9). Un componente es un tipo de clase.

Is Indirectly Instantiated. Si es true (valor predeterminado), el compon

solo existe como artefacto de diseo. Solo existen sus elementos en ti de ejecucin.

Puerto

de

interfaz

Representa un grupo de mensajes o llamadas que un componente implementa y que otros componentes o sistemas externos pueden utilizar. Un puerto es una propiedad de un componente que tiene una interfaz como tipo.

proporcionada

Puerto necesaria

de

interfaz

Representa un grupo de mensajes o llamadas que el componente enva a otros componentes o sistemas externos. El componente est diseado para que se

acople a los componentes que proporcionan al menos estas operaciones. El pue tiene una interfaz como tipo.

Dependencia

Se puede utilizar para indicar que una interfaz necesaria de un componente se puede satisfacer mediante una interfaz proporcionada de otro.

Las dependencias tambin se pueden utilizar con ms frecuencia entre los elem del modelo para mostrar que el diseo de uno depende del diseo del otro.

Parte

Atributo de un componente cuyo tipo normalmente es otro componente. Los elementos se utilizan en el diseo interno de su componente primario. Los

elementos se muestran de forma grfica, anidados dentro del componente prim Para crear un elemento de un tipo del componente existente, arrastre el componente del Explorador de modelos UML al componente propietario.

Para crear un elemento de un nuevo tipo, haga clic en la herramienta Compone propietario.

Por ejemplo, un componente Car tiene los elementos engine:CarEngine,backLef frontRight:Wheel, etc.

Varios elementos pueden tener el mismo tipo y varios componentes distintos pu

31

tener elementos del mismo tipo.

Tipo. Tipo del elemento, que se define en otra parte del modelo. Norm Multiplicity. El valor predeterminado es 1. Puede establecerse en 0..1 para indicar que el elemento puede tener el valor null, en * para indicar que el elemento es una coleccin de instancias del tipo

especificado, o en cualquier expresin que se pueda evaluar como un intervalo de nmeros.

Ensamblado de elementos

Conexin entre los puertos de la interfaz necesaria de un elemento y los puerto de la interfaz proporcionada de otro. La implementacin de un ensamblado de

elementos puede variar de un componente a otro. Los elementos conectados de tener el mismo componente primario.

Delegacin

Vincula un puerto a una interfaz de uno de los elementos del componente.

Indica que los mensajes enviados al componente se administran en el elemen elemento se envan fuera del componente primario.

Generalizacin

Indica que un componente hereda de otro componente. Los elementos y las inte

Control contraer

de

expandir

Utilice este control para mostrar u ocultar los elementos internos de un compon

(no muestra)

se

Comentario

Se utiliza para agregar notas adicionales. Puede vincular un comentario a cualq mediante la herramienta Conector.

Diagramas de componentes de UML: Instrucciones


En Visual Studio Ultimate, puede dibujar un diagrama de componentes para mostrar la estructura de un sistema de software. Si desea una demostracin en vdeo, vea Designing the Physical Structure by using Component Diagrams. Para crear un diagrama de componentes UML, en el men Arquitectura, haga clic en Nuevo diagrama. Un componente es una unidad modular que puede reemplazarse en su propio entorno. Sus elementos internos quedan ocultos, pero tiene una o varias interfaces proporcionadas bien definidas a travs de las cuales se puede obtener acceso a sus funciones. Un componente tambin puede tener interfaces necesarias. En una interfaz necesaria, se definen las funciones o servicios de otros componentes que son necesarios. Mediante la conexin de las interfaces proporcionadas y las interfaces necesarias de distintos componentes, puede construirse un componente mayor. Un sistema de software completo se puede concebir como un componente. El uso de diagramas de componentes tiene algunas ventajas:

32

Concebir el diseo atendiendo a los bloques principales ayuda al equipo de desarrollo a entender un diseo existente y a crear uno nuevo. Al pensar en el sistema como una coleccin de componentes con interfaces proporcionadas y necesarias bien definidas, se mejora la separacin entre los componentes. Esto, a su vez, facilita la comprensin y los cambios cuando se modifican los requisitos. Puede utilizar un diagrama de componentes para representar el diseo con independencia del lenguaje o plataforma que el diseo utiliza o va a utilizar.

En este tema

Relacin con otros diagramas Pasos bsicos para dibujar diagramas de componentes Mostrar los elementos internos de un componente Disear el componente Nota
Para obtener informacin de referencia sobre los elementos de los diagramas de componentes, vea Diagramas de componentes de UML: Referencia. Relacin con otros diagramas
Puede utilizar un diagrama de componentes junto con otros diagramas.

Otro diagrama
Diagrama de secuencia de UML

Ayuda a debatir y transmitir los siguientes aspectos del diseo


Interacciones entre los componentes de un sistema. Interacciones entre los elementos que contiene un componente. Para obtener ms informacin, vea Diagramas de secuencia de UML: Instrucciones.

Diagrama de clases de UML

Las interfaces de un componente y las clases que forman los elementos del co

Los datos enviados en los parmetros a travs de las interfaces de los compon Para obtener ms informacin, vea Diagramas de clases de UML: Instrucciones.

Diagramas de actividades

El procesamiento interno efectuado por un componente en respuesta a los me Para obtener ms informacin, vea Diagramas de actividades UML: Instrucciones.

Diagramas de capas

Los niveles arquitectnicos lgicos de los componentes. Para obtener ms informacin, vea Diagramas de capas: Referencia.

33

Pasos bsicos para dibujar diagramas de componentes


Para obtener informacin de referencia sobre los elementos de los diagramas de componentes, vea Diagramas de componentes de UML: Referencia. Para obtener ms informacin acerca de cmo se utilizan los diagramas de componentes en el proceso de diseo, vea Modelar la arquitectura de un sistema de Software.

Nota
En Cmo: Modificar un modelo UML y los diagramas se describen en detalle los pasos para crear diagramas de modelado. Para crear un diagrama de componentes 1. 2. 3. 4. En el men Arquitectura, haga clic en Nuevo diagrama. En Plantillas, haga clic en Diagrama de componentes UML. Especifique un nombre para el diagrama. En Agregar a proyecto de modelado, seleccione un proyecto de modelado existente de la solucin o Crear nuevo proyecto de modelado y, a continuacin, haga clic en Aceptar. Aparece un nuevo diagrama de componentes con el cuadro de herramientas Diagrama de componentes de UML. El cuadro de herramientas contiene las relaciones y elementos necesarios.

Dibujar componentes

Cree un componente (1) para cada unidad funcional principal del sistema o aplicacin. Algunos ejemplos pueden ser una aplicacin, un dispositivo de hardware, un servicio Web, un ensamblado .NET, una clase o un grupo de clases de programa o cualquier segmento de un programa que se pueda separar.

34

Para crear componentes


1. En el cuadro de herramientas, haga clic en Componente y, a continuacin, haga clic en una parte en blanco del diagrama. -O bienCopie y pegue un componente existente. a. b. c. d. Busque un componente existente en un diagrama o en el Explorador de modelos UML. Haga clic con el botn secundario del mouse en el componente y, a continuacin, haga clic en Copiar. Abra el diagrama en el que desea que aparezca el componente copiado. Haga clic con el botn secundario del mouse en una parte en blanco del diagrama y, a continuacin, haga clic en Pegar. Aparece una copia del componente con un nombre nuevo. 2. 3. Haga clic en el nombre del componente para cambiarlo. Haga clic en el botn de contenido adicional 5) si desea ver exclusivamente el encabezado del componente.

Mostrar los puertos de un componente


Un puerto (2, 3) representa un grupo de mensajes o llamadas de operaciones que tienen como origen o destino un componente. El grupo se describe mediante una interfaz, que define el tipo de puerto. Un puerto puede proporcionar o necesitar una interfaz. Un puerto con una interfaz proporcionada (2) suministra operaciones que se implementan en el componente y que otros componentes pueden utilizar. Algunos ejemplos seran una interfaz de usuario, un servicio Web, una interfaz de .NET o una coleccin de funciones de cualquier lenguaje de programacin. Un puerto con una interfaz necesaria (3) representa el requisito de un componente de que un grupo de operaciones o servicios sea a probado por otros componentes o sistemas externos. Por ejemplo, un explorador web necesita servidores web o un complemento de la aplicacin necesita los servicios de la aplicacin. Un componente puede tener cualquier nmero de puertos.

Para agregar puertos a un componente


1. 2. En el cuadro de herramientas, haga clic en Provided Interface o Required Interface. Haga clic en el componente al que desea agregar los puertos. Aparecer un puerto en el lmite del componente. Se crea una nueva interfaz como el tipo del puerto. Esta interfaz aparece en el Explorador de modelos UML.

35

3. 4. 5.

Arrastre el puerto situado en torno al lmite del componente hasta situarlo donde desee. Arrastre la etiqueta del puerto hasta ajustar su posicin. Haga clic en la etiqueta para cambiarla. En la etiqueta se muestra el nombre de la interfaz. Si la modifica, cambiar el nombre de la interfaz.

Establecer vnculos entre componentes


Utilice una dependencia 4) para mostrar que el requisito de un componente puede satisfacerse a travs de las operaciones o servicios proporcionados por otro componente.

Para mostrar que una interfaz proporcionada puede satisfacer una interfaz necesaria
1. 2. En el cuadro de herramientas, haga clic en Dependency. Haga clic en el puerto con la interfaz necesaria de un componente y, a continuacin, haga clic en el puerto con la interfaz proporcionada de otro componente.

En la fase de diseo, intente evitar los bucles de dependencia en los que todos los componentes de un grupo dependen de todos los dems componentes.

Para agregar un puerto de una interfaz existente a un componente


Busque la interfaz en el Explorador de modelos UML y arrstrela hasta el componente. O bien Copie y pegue una referencia a una interfaz desde un diagrama. 1. En un diagrama de clases o componentes, haga clic con el botn secundario del mouse en la interfaz y, a continuacin, haga clic en Copiar. 2. En el diagrama de componentes, haga clic con el botn secundario del mouse en el componente y, a continuacin, haga clic en Pegar referencia. En el componente aparece una interfaz proporcionada. Cerca de ella aparece una etiqueta de accin.

Nota
Si utiliza Pegar en lugar de Pegar referencia, se crear una nueva interfaz con un nuevo nombre.

3. Si desea crear una interfaz necesaria, haga clic en la etiqueta de accin y, a continuacin, en Convertir en Required Interface.

36

Mostrar los elementos internos de un componente

Puede incluir elementos (3) en un componente (1) para mostrar que est formado de componentes ms pequeos que interactan entre s. En el diagrama de la ilustracin se muestra que todas las instancias del servicio Web Cenar ahora contienen una instancia del Servidor de cliente y una instancia del Servidor de cocina. Un elemento es una propiedad de su componente primario, al igual que un atributo pertenece a una clase ordinaria.Los elementos tienen su propio tipo, que suele ser tambin un componente. La etiqueta del elemento tiene el mismo formato que un atributo ordinario: + partName : TypeName Dentro del componente primario, en cada elemento se muestran las interfaces proporcionadas y necesarias que se definieron para su tipo (4, 5). Las operaciones o servicios que necesita un elemento puede proporcionrselos otro.Puede utilizar los conectores de Part Assembly para mostrar cmo se conectan los elementos entre s (6). Tambin puede mostrar que una interfaz del componente primario es una interfaz que uno de sus elementos proporciona o necesita. Puede conectar un puerto del componente primario a un puerto de un elemento interno mediante una relacin Delegation (9). Los dos puertos tienen que ser del mismo tipo (proporcionados o necesarios) y sus tipos de interfaz tienen que ser compatibles. Puede crear un nuevo elemento con un nuevo tipo o a partir de un tipo existente.

Para agregar elementos a un componente


1. Cree un elemento para cada unidad funcional principal que cree que forma parte del componente primario. a. En el cuadro de herramientas, haga clic en Componente y, a continuacin, haga clic en el interior del componente primario (1). Aparece un nuevo elemento (3) dentro del componente primario.

37

En el Explorador de modelos UML se crea un nuevo componente. Este es el nuevo tipo del elemento. -O bienArrastre un componente existente del Explorador de modelos UML al componente primario. Aparece un nuevo elemento (3) dentro del componente primario. Su tipo es el componente que arrastr desde el Explorador de modelos UML. -O bienHaga clic con el botn secundario del mouse en un componente de un diagrama o del Explorador de modelos UML y, a continuacin, haga clic en Copiar. Haga clic con el botn secundario del mouse en el componente primario y, a continuacin, haga clic enPegar referencia. Aparece un nuevo elemento (3) dentro del componente primario. Su tipo es el componente que copi. b. c. Haga clic en el nombre del nuevo componente para cambiarlo. Su tipo no se puede modificar. Puede agregar interfaces proporcionadas y necesarias (4, 5) al nuevo elemento. Haga clic en la herramienta Provided Interface o Required Interface y, a continuacin, en el elemento. -O bienArrastre una interfaz existente del Explorador de modelos UML al elemento. Las interfaces se agregan al tipo del elemento y aparecen en el propio elemento. El componente primario ajusta su tamao, si es necesario. 2. Conecte los elementos entre s. Utilice la herramienta Dependency para conectar los puertos de distintos elementos (6). Conecte los puertos a los puertos del componente primario: . Cree uno o varios puertos (7) en el componente primario. En el cuadro de herramientas, haga clic enRequired Interface o Provided Interface y, a continuacin, en el componente primario. a. Cree delegados (9) del puerto en uno o varios elementos. Haga clic en la herramienta Delegation, en un puerto del componente primario y, a continuacin, en un puerto de un elemento. A travs de este mismo mecanismo, puede conectar puertos que proporcionan o necesitan interfaces.

Mostrar los elementos que conforman un elemento


Despus de descomponer un componente en elementos, puede descomponer cada uno de los tipos de elementos en sus propios elementos internos. Resulta ms fcil representar cada nivel de la descomposicin en un diagrama de componentes diferente. Primero debe buscar el tipo del elemento. Por ejemplo, en la ilustracin, uno de los

38

elementos se denominaDNCustomerServer y su tipo es un componente que se denomina CustomerServer. Puede buscar este tipo en el Explorador de modelos UML y situarlo en otro diagrama. A continuacin, puede crear sus propios elementos internos.

Para situar un tipo de elemento en un diagrama


1. Especifique el nombre completo del tipo de elemento. Haga clic con el botn secundario del mouse en el elemento y, a continuacin, haga clic en Propiedades. El nombre del tipo aparece en el campo Type de la ventana Propiedades. 2. Busque el tipo del elemento en el Explorador de modelos UML. Haga clic en Ver, elija Otras ventanas y, a continuacin, haga clic en Explorador de modelos UML. Expanda el proyecto y, si es necesario, los paquetes a los que pertenece el tipo. El tipo aparecer como un componente. Si lo desea, puede cambiar su nombre aqu. 3. 4. Abra o cree otro diagrama de componentes. Arrastre el tipo del Explorador de modelo UML al diagrama. En el diagrama aparece una vista del tipo como componente. Tiene las mismas interfaces que las que defini para el elemento. Ahora puede agregar otros elementos.

Disear el componente

Describir cmo colaboran los elementos


Puede dibujar un diagrama de secuencia para mostrar el modo en que los elementos trabajan juntos en respuesta a un mensaje que llega al componente primario. Puede utilizar estos diagramas para explicar un componente existente o disear uno nuevo. Si todava est diseando el componente, puede dibujar diagramas de secuencia antes de decidir qu elementos contendr. Puede utilizar los diagramas de secuencia para experimentar con distintos elementos, interfaces necesarias y secuencias de mensajes. Dibuje diagramas de secuencia para los mensajes entrantes ms frecuentes y ms importantes. Puede crear elementos en el componente que se correspondan con las lneas de vida que haya decidido. Utilice los diagramas de secuencia para valorar el modo en que los diferentes componentes comparten el trabajo del sistema. Si la carga de trabajo es muy grande en un elemento, probablemente resultar ms complicado actualizar la aplicacin que si el trabajo se distribuye uniformemente. Si la carga de trabajo es demasiado escasa y se distribuye en muchas interacciones, el sistema podra tener un mal rendimiento y podra resultar difcil de entender.

39

Para dibujar un diagrama de secuencia en el que se muestre la colaboracin entre los elementos
1. Cree un nuevo diagrama de secuencia. Para obtener ms informacin, vea Diagramas de secuencia de UML: Instrucciones. 2. Cree una lnea de vida en un componente externo, usuario, dispositivo u otro actor (1) que enve mensajes a este componente. Puede establecer la propiedad Actor de esta lnea de vida en true para indicar que es externa al componente en cuestin. Sobre la lnea de vida aparece un dibujo esquemtico. 3. 4. 5. 6. 7. Cree una lnea de vida en la interfaz proporcionada (2) de este componente al que el actor seleccionado enva mensajes. Cree una lnea de vida en cada elemento (3) del componente. Cree una lnea de vida en cada interfaz necesaria (4) del componente. Dibuje mensajes procedentes del actor externo (5). Muestre cmo se pasa el mensaje a los elementos y cmo estos elementos colaboran para responder al mensaje. Siempre que sea necesario, muestre los mensajes enviados a una interfaz necesaria (6). No muestre los detalles de la ejecucin del mensaje.

Es el componente mayor que la suma de sus partes?


En algunos casos, un componente no es ms que un nombre que se asigna a una coleccin de elementos. Los elementos realizan todo el trabajo y no hay ningn cdigo ni ningn otro artefacto en tiempo de ejecucin que represente al componente. Esto puede indicarse en el modelo estableciendo la propiedad Is Indirectly Instantiated del componente. En este caso, todas las interfaces del componente deben estar en los puertos, con delegaciones en los elementos internos.

40

Describir el proceso que tiene lugar en cada elemento Puede utilizar diagramas de actividades para mostrar cmo un componente procesa cada mensaje entrante. Para obtener ms informacin, vea Diagramas de actividades UML: Instrucciones.

Utilice una accin de evento de aceptacin (1) para mostrar que un mensaje entrante inicia un nuevo subproceso. Utilice nodos de objeto y pins de entrada y salida para mostrar el flujo de informacin y dnde se almacena la informacin. En el ejemplo, se utiliza un nodo de objeto (2) para mostrar los elementos que se estn almacenando en bfer entre un subproceso y otro.

Definir datos y clases


Puede utilizar un diagrama de clases de UML para describir en detalle el contenido de: Las interfaces de los componentes. Los datos que se pasan en los parmetros de las operaciones de las interfaces. Los datos almacenados en los componentes, por ejemplo, tal y como se muestran en los flujos de objetos de los diagramas de actividades.

Dependencias generales entre componentes


Puede utilizar un diagrama de componentes para mostrar exclusivamente los elementos principales del diseo y sus interdependencias.

Utilice la herramienta Dependency para dibujar una dependencia. As indicar que el diseo de un componente se basa en otro.

41

Entre los tipos habituales de dependencia se incluyen los siguientes: Un componente llama al cdigo en otro. Un componente crea una instancia de una clase que se define en otra clase. Un componente usa informacin creada por otro componente. Puede utilizar el nombre de la flecha de dependencia para dar cuenta de un tipo de uso concreto. Para establecer el nombre, haga clic con el botn secundario del mouse en la flecha; a continuacin, haga clic en Propiedades y establezca el campo Name de la ventana Propiedades.

Diagramas de clases de UML: Referencia


En los diagramas de clases de UML, se describen el objeto y las estructuras de informacin que se utilizan en la aplicacin, tanto de forma interna como en la comunicacin con los usuarios. Esta informacin se describe sin hacer referencia a ninguna implementacin concreta. Las clases y relaciones se pueden implementar de muchas maneras, por ejemplo, en tablas de bases de datos, en nodos XML o en composiciones de objetos de software.

Nota
En este tema se analizan los diagramas de clases de UML. Existe otro tipo de diagrama de clases, el diagrama de clases .NET, que se utiliza para visualizar el cdigo del programa. Para obtener ms informacin, vea Disear y ver clases y tipos.

Leer diagramas de clases


En la tabla de esta seccin se describen los elementos que pueden verse en un diagrama de clases de UML. Para obtener informacin sobre las propiedades de estos elementos, vea los temas siguientes: Propiedades de los tipos de diagramas de clases de UML Propiedades de los atributos de diagramas de clases de UML Propiedades de las operaciones de diagramas de clases de UML Propiedades de las asociaciones de diagramas de clases de UML

Para obtener ms informacin acerca de cmo se dibujan diagramas de clases de UML, vea Diagramas de clases de UML: Instrucciones. Para crear un diagrama de clases UML, en el men Arquitectura, haga clic en Nuevo diagrama.Para obtener ms informacin acerca de cmo se crean y dibujan diagramas de modelado, vea Cmo: Modificar un modelo UML y los diagramas.

42

Forma
1

Elemento
Class

Descripcin

Definicin de objetos que comparten ciertas caractersticas estructura comportamiento. Para obtener ms informacin, vea Propiedades de los tipos de diagramas de clases de UML.

Clasificador

Nombre general de una clase, interfaz o enumeracin. Los component uso y actores tambin son clasificadores.

Control de expandir y contraer

Si no puede ver los detalles de un clasificador, haga clic en el botn de

situado en la parte superior izquierda del clasificador. Es posible que ta hacer clic en el icono [+] de cada segmento.

Attribute

Valor con tipo que se adjunta a cada instancia de un clasificador.

Para agregar un atributo, haga clic en la seccin Atributos y, a continu

presioneENTRAR. Escriba la forma del atributo. Para obtener ms info Propiedades de los atributos de diagramas de clases de UML.

Operacin

Mtodo o funcin que pueden realizar las instancias de un clasificador

operacin, haga clic en la seccin Operaciones y, a continuacin, pres

ENTRAR.Escriba la forma de la operacin. Para obtener ms informaci Propiedades de las operaciones de diagramas de clases de UML.

Asociacin

Relacin entre los miembros de dos clasificadores. Para obtener ms in veaPropiedades de las asociaciones de diagramas de clases de UML.

43

5a

Agregacin

Asociacin que representa una relacin de propiedad compartida. La p Aggregation del rol del propietario se establece en Shared.

5b

Composicin

Asociacin que representa una relacin parte/todo. La propiedad Aggr del propietario se establece en Composite.

Nombre de asociacin

Nombre de una asociacin. El nombre puede quedarse vaco.

Nombre de rol

Nombre de un rol, es decir, un extremo de una asociacin. Puede utiliz

referencia al objeto asociado. En la ilustracin anterior, cualquier Pedi ChosenMenu como Men asociado.

Cada rol tiene sus propias propiedades, que se muestran bajo las prop asociacin.

Multiplicity

Indica cuntos de los objetos de este extremo se pueden vincular a cad

En el ejemplo, cada Pedido debe vincularse exactamente a un solo Me * significa que no hay lmite superior en el nmero de vnculos que se establecer.

Generalizacin

El clasificador especfico hereda parte de su definicin del clasificador

El clasificador general se encuentra en el extremo del conector de la fl

El clasificador especfico hereda los atributos, las asociaciones y las op

Utilice la herramienta Herencia para crear una generalizacin entre do

44

Forma
10

Elemento
Interface

Descripcin

Definicin de parte del comportamiento de un objeto que puede observarse desde el ext

Para obtener ms informacin, vea Propiedades de los tipos de diagramas de clases de U

11

Enumeracin

Clasificador que se compone de un conjunto de valores literales.

12

Paquete

Grupo de clasificadores, asociaciones, acciones, lneas de vida, componentes y paquetes.

En un diagrama de clases lgicas se muestra que los paquetes y clasificadores de miembr estn incluidos dentro del paquete.

El mbito de los nombres se limita a los paquetes, de modo que Clase1 en el Paquete1 se distinto que Clase1 fuera de ese paquete. El nombre del paquete forma parte de las propiedades Qualified Name de su contenido.

Puede establecer la propiedad Linked Package de cualquier diagrama de UML para hacer referencia a un paquete. Todos los elementos que cree en ese diagrama, formarn parte

paquete. En el Explorador de modelos UML, estos elementos aparecern bajo el paquete

13

Importar

Relacin entre paquetes que indica que un paquete incluye todas las definiciones de otro

14

Dependencia

La definicin o implementacin del clasificador dependiente podra cambiar si el clasificador situado en el extremo con la punta de flecha se modifica.

Forma
15

Elemento
Realization

Descripcin
La clase implementa las operaciones y atributos definidos por la interfaz.

Utilice la herramienta Herencia para crear una realizacin entre una clase y una interfaz.

16

Realizacin

Presentacin alternativa de la misma relacin. La etiqueta del smbolo circular identifica interfaz.

Para crear esta presentacin, seleccione una relacin de realizacin existente. Aparecer

etiqueta de accin cerca de la asociacin. Haga clic en la etiqueta de accin y, a continua haga clic en Mostrar como crculo.

45

Diagramas de clases de UML: Instrucciones


En Visual Studio Ultimate, puede utilizar un diagrama de clases de UML para describir los tipos de datos y sus relaciones con independencia de su implementacin. El diagrama se utiliza para que la atencin se centre en los aspectos lgicos de las clases en lugar de en su implementacin. Si desea una demostracin en vdeo, vea Modeling the Business Domain by using Class Diagrams. Para crear un diagrama de clases UML, en el men Arquitectura, haga clic en Nuevo diagrama.

Nota
En este tema se analizan los diagramas de clases de UML. Existe otro tipo de diagrama de clases, que se crea y utiliza para visualizar el cdigo del programa. Para obtener ms informacin, vea Disear y ver clases y tipos.

En este tema
Usar diagramas de clases de UML Pasos bsicos para dibujar diagramas de clases Usar clases, interfaces y enumeraciones Atributos y operaciones Dibujar y utilizar asociaciones Herencia Tipos de plantilla Definir los espacios de nombres con paquetes

Usar diagramas de clases de UML


Los diagramas de clases de UML pueden utilizarse para una gran variedad de propsitos: Para proporcionar una descripcin de los tipos que se utilizan en un sistema y se pasan entre sus componentes que no tenga nada que ver con su implementacin. Por ejemplo, en el cdigo .NET, el tipo Pedido de men podra implementarse en la capa del negocio; en XML, en las interfaces entre los componentes; en SQL, en la base de datos, y en HTML, en la interfaz de usuario. Aunque estas implementaciones tengan un nivel de detalle diferente, la relacin entre el tipo Pedido de men y otros tipos, como Men y Pago, es siempre la misma. El diagrama de clases de UML permite analizar estas relaciones con independencia de las implementaciones.

46

Para clarificar el glosario de trminos que se utiliza en la comunicacin entre la aplicacin y los usuarios y en las descripciones de las necesidades de los usuarios. Para obtener ms informacin, vea Crear modelos de los requisitos de los usuarios. Por ejemplo, piense en los casos de usuario, los casos de uso y otras descripciones de los requisitos de la aplicacin de un restaurante. En este tipo de descripcin, encontrar trminos como Men, Pedido, Comida, Precio, Pago, etc. Puede dibujar un diagrama de clases de UML en el que se definan las relaciones entre estos trminos. De este modo, se reducir el riesgo de inconsistencias en las descripciones de los requisitos, as como en la interfaz de usuario y los documentos de ayuda.

Relacin con otros diagramas


Un diagrama de clases de UML normalmente se crea junto con otros diagramas de modelado para proporcionar descripciones de los tipos que utilizan. En cada caso, la representacin fsica de los tipos no est implcita en ninguno de los diagramas.

Si dibuj:
Diagrama de actividades

Utilice un diagrama de clases de UML para describir:


Tipos de datos que pasan por un nodo de objeto. Tipos de terminales de entrada (Input Pin) y de salida (Output Pin) de nodos de parmetros de actividad. Para obtener ms informacin, vea Diagramas de actividades UML: Instrucciones.

Diagrama de secuencia

Tipos de parmetros y valores devueltos de mensajes.

Tipos de lneas de vida. La clase de una lnea de vida debe incluir las operaciones de todos los me Para obtener ms informacin, vea Diagramas de secuencia de UML: Instrucciones.

Diagrama de componentes

Interfaces de componentes, con un listado de sus operaciones. Tambin puede describir un componente completo como una clase. Para obtener ms informacin, vea Diagramas de componentes de UML: Instrucciones.

Diagrama de casos de uso

Tipos mencionados en las descripciones de los objetivos y los pasos de un caso de uso. Para obtener ms informacin, vea Diagramas de casos de uso de UML: Instrucciones.

Pasos bsicos para dibujar diagramas de clases


Para obtener ms informacin de referencia sobre los elementos de los diagramas de clases de UML, veaDiagramas de clases de UML: Referencia.

Nota En Cmo: Modificar un modelo UML y los diagramas se describen en detalle los pasos para crear diagramas de modelado.

47

Para crear un diagrama de clases de UML 1. 2. 3. 4. En el men Arquitectura, haga clic en Nuevo diagrama. En Plantillas, haga clic en Diagrama de clases UML. Especifique un nombre para el diagrama. En Agregar a proyecto de modelado, seleccione un proyecto de modelado existente de la solucin o Crear un nuevo proyecto de modelado y, a continuacin, haga clic en Aceptar. En el cuadro de herramientas Diagrama de clasesUML aparece un nuevo diagrama de clases. El cuadro de herramientas contiene las relaciones y elementos necesarios.

Para dibujar un diagrama de clases de UML


1. 2. Para crear un tipo, haga clic en la herramienta Clase, Interfaz o Enumeracin del cuadro de herramientas y, a continuacin, haga clic en un espacio en blanco del diagrama. Para agregar atributos u operaciones a los tipos o agregar literales a una enumeracin, haga clic en el ttuloAtributos, Operaciones o Literales del tipo y presione ENTRAR. Puede escribir una firma, como por ejemplo f(x:Boolean):Integer. Para obtener ms informacin, veaAtributos y operaciones. Para agregar rpidamente varios elementos, presione ENTRAR dos veces al final de cada elemento. Puede utilizar las teclas de direccin para subir y bajar la lista. 3. Para expandir o contraer un tipo, haga clic en el icono de botn de contenido adicional situado en la parte superior izquierda. Tambin puede expandir y contraer la seccin Atributos y Operaciones de una clase o interfaz. Para dibujar vnculos de asociacin, herencia o dependencia entre los tipos, haga clic en la herramienta de relacin adecuada, a continuacin, en el tipo de origen y, por ltimo, en el tipo de destino. Para crear tipos en un paquete, cree un paquete mediante la herramienta Paquete y, a continuacin, cree los tipos y paquetes nuevos en el paquete. Tambin puede copiarlos con el comando Copiar y pegarlos despus en un paquete. Cada diagrama es una vista de un modelo que comparten otros diagramas del mismo proyecto. Para ver una vista de rbol del modelo completo, haga clic en Ver, elija Otras ventanas y, a continuacin, haga clic enExplorador de modelos UML.

4.

5.

6.

Usar clases, interfaces y enumeraciones


Hay tres tipos estndar de clasificadores disponibles en el cuadro de herramientas. En este documento, se les denomina tipos.

48

Utilice las clases (1) para representar datos o tipos de objetos para la mayor parte de los propsitos. Utilice las interfaces (2) en contextos en los que es necesario diferenciar entre interfaces puras y clases concretas que tienen implementaciones internas. Esta diferencia resulta til cuando el propsito del diagrama es describir una implementacin de software. Resulta menos til, sin embargo, cuando se modelan datos pasivos o cuando se definen contextos que se utilizan para describir los requisitos del usuario. Utilice una enumeracin (3) para representar un tipo que tiene un nmero limitado de valores literales, por ejemplo Stop y Go. Agregue los valores literales a la enumeracin. Asigne a cada uno un nombre diferente. Si lo desea, tambin puede proporcionar un valor numrico para cada valor literal. Haga clic con el botn secundario del mouse en el literal de la enumeracin, haga clic en Propiedades y, a continuacin, escriba un nmero en el campo Value de la ventana Propiedades. Asigne un nombre nico a cada tipo.

Obtener tipos de otros diagramas


Puede hacer que los tipos de otro diagrama aparezcan en su diagrama de clases de UML.

Otro tipo de diagrama


Diagrama de clases de UML

Cmo obtener tipos del otro diagrama

Puede hacer que una clase aparezca en varios diagramas de clases de UML. Cuando haya creado una c del Explorador de modelos UML al otro diagrama. Esto resulta til si desea que cada diagrama se concentre en un grupo de relaciones determinado. Por ejemplo, puede mostrar las asociaciones entre un Pedido de men y el Men del restaurante en un diagrama y las asociaciones entre Pedido de men y Pago en otro diagrama.

Diagrama de

Si ha definido los componentes en un diagrama de componentes, puede arrastrar un componente

49

componentes

del Explorador de modelos UML al diagrama de clases. Este componente aparecer como una clase. Para obtener ms informacin, vea Diagramas de componentes de UML: Instrucciones.

Diagrama de secuencia de UML

Puede crear clases e interfaces a partir de las lneas de vida de un diagrama de secuencia y, a continuacin, arrastrar la clase del Explorador de modelos UML a un diagrama de clases de UML.Cada lnea de vida de un diagrama de secuencia representa una instancia de un objeto, componente o actor. Para crear una clase a partir de una lnea de vida, haga clic con el botn secundario del mouse en la lnea de vida y, a continuacin, haga clic en Crear clase o Crear interfaz. Para obtener ms informacin, vea Diagramas de secuencia de UML: Instrucciones.

Atributos y operaciones
Un atributo (4) es un valor con nombre que todas las instancias de un tipo pueden tener. Cuando se obtiene acceso a un atributo, no se modifica el estado de la instancia. Una operacin (5) es un mtodo o funcin que las instancias del tipo pueden realizar. Puede devolver un valor. Si su propiedad isQuery es true, no se puede modificar el estado de la instancia. Para agregar un atributo u operacin a un tipo, haga clic con el botn secundario del mouse en el tipo, elijaAgregar y, a continuacin, elija Atributo u Operacin. Para ver sus propiedades, haga clic con el botn secundario del mouse en el atributo u operacin y, a continuacin, haga clic en Propiedades. Las propiedades aparecen en la ventana Propiedades. Para ver las propiedades de los parmetros de una operacin, en la propiedad Parameters, haga clic en [...].Aparece un nuevo cuadro de dilogo Propiedades. Para obtener informacin detallada sobre todas las propiedades que puede establecer, consulte los temas siguientes: Propiedades de los atributos de diagramas de clases de UML Propiedades de las operaciones de diagramas de clases de UML

Tipos de atributos y operaciones


Los tipos de atributo u operacin y los tipos de parmetro pueden ser uno de los que se detallan a continuacin: (ninguno): un tipo puede dejarse sin especificar en la firma omitiendo el signo de dos puntos anterior (:). Uno de los tipos primitivos estndar: Booleano, Entero, Cadena. Un tipo que est definido en el modelo. Un valor parametrizado de un tipo de plantilla, con el formato Plantilla<Parmetro>. Vea Tipos de plantilla. Tambin puede escribir el nombre de un tipo que an no haya definido en el modelo. El nombre aparecer enTipos sin especificar en el Explorador de modelos UML.

50

Nota
Si posteriormente define una clase o interfaz con ese nombre en el modelo, los atributos y operaciones anteriores todava harn referencia al elemento en Tipos sin especificar. Si desea cambiarlos para que hagan referencia a la nueva clase, deber visitar cada atributo u operacin y restablecer el tipo, seleccionando la nueva clase en el men desplegable.

Tipos mltiples
Puede establecer la multiplicidad de cualquier tipo de parmetro, atributo u operacin. Los valores permitidos son los siguientes:

Multiplicidad
[1]

El atributo, parmetro o valor devuelto contiene:


Un valor del tipo especificado. ste es el valor predeterminado.

[0..1]

Null o un valor del tipo especificado.

[*]

Una coleccin con un nmero de instancias del tipo especificado.

[1..*]

Una coleccin de al menos una instancia del tipo especificado.

[n..m]

Una coleccin de entre n y m instancias del tipo especificado.

Si la multiplicidad es mayor que 1, tambin puede establecer estas propiedades: IsOrdered: si es true, la coleccin tiene un orden definido. IsUnique: si es true, no hay ningn valor duplicado en la coleccin.

Visibilidad
La visibilidad indica si se puede obtener acceso al atributo u operacin fuera de la definicin de clase. Los valores permitidos son los siguientes: Name Forma abreviada + Significado

Public

Accesible desde todos los dems tipos.

Private

Solamente se puede obtener acceso a la definicin interna de este tipo.

51

Package

Solamente se puede obtener acceso dentro del paquete que contiene este tipo y en los paquete explcitamente. Vea Definir espacios de nombres y paquetes.

Protected

Solamente se puede obtener acceso a este tipo y sus tipos heredados. Vea Herencia.

Establecer la firma de un atributo u operacin


La firma de un atributo u operacin es una coleccin de propiedades entre las que se incluyen la visibilidad, el nombre, los parmetros (en las operaciones) y el tipo. Puede escribir directamente una firma en el diagrama. Haga clic en el atributo u operacin para seleccionarlo y, a continuacin, vuelva a hacer clic. Escriba la firma con el formato: visibility attribute-name : Type -O bienvisibility operation-name (parameter1 : Type1, ...) : Type Por ejemplo: + AddItem (item : MenuItem, quantity : Integer) : Boolean Utilice la forma abreviada de visibilidad. El valor predeterminado es + (public). Los tipos pueden ser tipos definidos en el modelo, tipos estndar, como Entero o Cadena, o el nombre de un nuevo tipo que no se haya definido todava.

Nota Si escribe un nombre sin tipo en una lista de parmetros, especificar el nombre del parmetro, en lugar de su tipo. En este . ejemplo, MenuItem e Integer resultan ser los nombres de dos parmetros con tipos no especificados: AddItem(MenuItem, Integer) /* parameter names, not types! */

Para establecer la multiplicidad de un tipo en una firma, escriba la multiplicidad entre corchetes tras el nombre de tipo, por ejemplo: + AddItems (items : MenuItem [1..*]) + MenuContent : MenuItem [*] Si el atributo u operacin es esttico, su nombre aparecer subrayado en la firma. Si es abstracto, el nombre aparecer en cursiva.

52

Sin embargo, las propiedades Is Static e Is Abstract solo pueden establecerse en la ventana Propiedades.

Firma completa
Al modificar la firma de un atributo u operacin, algunas propiedades adicionales pueden aparecer al final de la lnea y despus de cada parmetro. Aparecen entre llaves {...}. Puede editar o agregar estas propiedades. Por ejemplo: + AddItems (items: MenuItem [1..*] {unique, ordered}) + GetItems (filter: String) : MenuItem [*] {ordered, query} Estas propiedades son las siguientes: En la firma Propiedad Significado

unique

Is Unique

No hay valores duplicados en la coleccin. Se aplica a tipos cuya multiplicidad es mayor que 1.

ordered

Is Ordered

La coleccin es una secuencia. Si es false, no est definido el primer elemento. Se aplica a tipos cuy

query

Is Query

La operacin no cambia el estado de la instancia. Solo se aplica a las operaciones.

Is Derived

El atributo se calcula a partir de los valores de otros atributos o asociaciones. "/" precede al nombre de un atributo. Por ejemplo: /TotalPrice: Integer

Normalmente, la firma completa solamente aparece en el diagrama mientras se est editando. Al finalizar la edicin, las propiedades adicionales quedan ocultas. Si desea ver la firma completa en todo momento, haga con el botn secundario del mouse en el tipo y, a continuacin, haga clic en Mostrar firma completa.

Dibujar y utilizar asociaciones


Utilice una asociacin para representar cualquier tipo de vinculacin entre dos elementos, con independencia del modo en que esta vinculacin se implemente en el software. Puede utilizar, por ejemplo, una asociacin para representar un puntero en C#, una relacin de una base de datos o una referencia cruzada que asocie una parte de un archivo XML con otra. Puede representar una asociacin entre objetos en el mundo real, como la tierra y el sol.La asociacin no indica cmo se representa el vnculo, solo que existe la informacin.

Propiedades de una asociacin


Despus de crear una asociacin, establezca sus propiedades. Haga clic con el botn secundario del mouse en la asociacin y, a continuacin, haga clic en Propiedades.

53

Adems de las propiedades de toda la asociacin, cada rol, es decir, cada extremo de la asociacin, tiene algunas propiedades especficas. Para verlas, expanda las propiedades First Role y Second Role. Algunas propiedades de cada uno de los roles pueden verse directamente en el diagrama. Son las siguientes: El nombre del rol. Aparece en el extremo correspondiente de la asociacin del diagrama. Se puede especificar en el diagrama o en la ventana Propiedades. Multiplicity, cuyo valor predeterminado es 1. Tambin aparece en el diagrama situado junto al extremo correspondiente de la asociacin. Aggregation. Aparece en un extremo del conector y tiene forma de diamante. Puede utilizarse para indicar que las instancias del rol que se estn agregando poseen o contienen instancias del otro rol. Is Navigable. Si es true solamente en uno de los roles, aparece una flecha en la direccin navegable. Puede utilizarse para indicar la navegabilidad de vnculos y relaciones de base de datos en el software. Para obtener todos los detalles sobre estas y otras propiedades, vea Propiedades de las asociaciones de diagramas de clases de UML.

Navegabilidad
Cuando se dibuja una asociacin, tiene una flecha en un extremo, lo que significa que la asociacin es navegable en esa direccin. Esto resulta til si el diagrama de clases representa las clases de software y las asociaciones representan punteros o referencias. Sin embargo, cuando se usa un diagrama de clases para representar entidades y relaciones o conceptos de negocio, es menos pertinente representar la navegabilidad. En este caso, podra ser preferible dibujar las asociaciones sin flechas. Puede hacerlo si establece la propiedad Is Navigable en ambos extremos de la asociacin en true. Para simplificar esto, puede descargar el ejemplo de cdigo UML Domain Modeling.

Atributos y asociaciones
Una asociacin es una manera grfica de mostrar un atributo. Por ejemplo, en lugar de crear una clase Restaurante con un atributo de tipo Men, puede dibujar una asociacin entre Restaurante y Men. Cada nombre de atributo se transforma en un nombre de rol. Aparece en el extremo opuesto al tipo propietario de la asociacin. Observe, por ejemplo, myMenu en la ilustracin. Por lo general, resulta ms conveniente utilizar los atributos solo en aquellos tipos que no se van a dibujar en el diagrama, como los tipos primitivos.

54

Herencia
Utilice la herramienta Herencia para crear las relaciones siguientes: Una relacin de generalizacin entre un tipo especializado y un tipo general. -O bien Una relacin de realizacin entre una clase y una interfaz que implementa. No se pueden crear bucles en las relaciones de herencia.

Generalizacin
La generalizacin significa que el tipo que se especializa o el tipo derivado heredan los atributos, las operaciones y las asociaciones del tipo general o tipo base. El tipo general aparece en el extremo de la relacin con la punta de flecha. Las operaciones y atributos heredados no suelen mostrarse en los tipos especializados. Sin embargo, pueden agregarse operaciones heredadas a la lista de operaciones del tipo especializado. Esto resulta til si desea invalidar algunas de las propiedades de una operacin en el tipo especializado o si desea indicar que el cdigo que se va a implementar debera hacerlo.

Para invalidar la definicin de una operacin en un tipo especializado


1. Haga clic en la relacin de generalizacin. Aparecer resaltada junto a una etiqueta inteligente de accin. 2. Haga clic en la etiqueta de accin y, a continuacin, en Invalidar operaciones. Aparece el cuadro de dilogo Invalidar operaciones. 3. Seleccione las operaciones que desea que aparezcan en el tipo especializado y, a continuacin, haga clic enAceptar.

Las operaciones que seleccion aparecen ahora en el tipo especializado.

Realizacin
La realizacin significa que una clase implementa los atributos y operaciones especificados por la interfaz. La interfaz se encuentra en el extremo del conector que tiene la flecha. Al crear un conector de realizacin, las operaciones de la interfaz se replican automticamente en la clase que se realiza. Si se agregan nuevas operaciones a una interfaz, estas operaciones se replicarn en las clases que se realizan.

55

Despus de crear una relacin de realizacin, puede transformarla en una notacin circular. Haga clic con el botn secundario del mouse en la relacin y elija Mostrar como crculo. De este modo, puede mostrar las interfaces que una clase implementa sin llenar los diagramas de clases con vnculos de realizacin. Tambin puede mostrar la interfaz y las clases que la realizan en diagramas independientes.

Tipos de plantilla
Puede definir un tipo genrico o un tipo de plantilla que otros tipos o valores puedan parametrizar. Por ejemplo, puede crear un Diccionario genrico parametrizado por tipos de valor y clave:

Para crear un tipo de plantilla


1. 2. 3. Cree una clase o interfaz. Este objeto pasar a ser el tipo de plantilla. Asgnele el nombre apropiado, por ejemplo Dictionary. Haga clic con el botn secundario del mouse en el nuevo tipo y, a continuacin, haga clic en Propiedades. En la ventana Propiedades, en el campo Template Parameters, haga clic en [...]. Aparecer el cuadro de dilogo Editor de colecciones de parmetros de plantillas. 4. 5. 6. 7. 8. 9. Haga clic en Agregar. Establezca la propiedad de nombre en el nombre de un parmetro del tipo de plantilla, por ejemplo, Key. Establezca Tipo de parmetro. El valor predeterminado es Clase. Si desea que el parmetro acepte solamente clases derivadas de una clase base determinada, establezcaValor restringido en la clase base que desee. Agregue tantos parmetros como necesite y, a continuacin, haga clic en Aceptar. Agregue atributos y operaciones al tipo de plantilla del mismo modo que lo hara en otras clases. Puede utilizar parmetros cuyo tipo sea Clase, Interfaz o Enumeracin en la definicin de atributos y operaciones. Por ejemplo, si utiliza las clases de parmetros Key y Value, puede definir esta operacin enDictionary:

56

Get(k : Key) : Value Puede utilizar un parmetro cuyo tipo Entero sea un lmite de multiplicidad. Por ejemplo, el valor entero mximo de un parmetro podra utilizarse para definir la multiplicidad de un atributo como [0..max]. Una vez creados los tipos de plantilla, puede utilizarlos para definir los enlaces de la plantilla:

Para utilizar un tipo de plantilla


1. 2. 3. 4. Cree un nuevo tipo, por ejemplo, AddressTable. Haga clic con el botn secundario del mouse en el nuevo tipo y, a continuacin, haga clic en Propiedades. En la propiedad Template Binding, seleccione el tipo de plantilla, por ejemplo Dictionary, en la lista desplegable. Expanda la propiedad Template Binding. Aparecer una fila para cada parmetro del tipo de plantilla. 5. Establezca cada parmetro en un valor apropiado. Por ejemplo, establezca el parmetro Key en una clase denominada Name.

Paquetes
Puede ver los paquetes en un diagrama de clases de UML. Un paquete es un contenedor de otros elementos del modelo. Puede crear cualquier elemento dentro de un paquete. En el diagrama, los elementos incluidos en el paquete se desplazarn al mover el paquete. Puede utilizar el control de expandir y contraer para ocultar o mostrar el contenido del paquete. Para obtener ms informacin, vea Definir espacios de nombres y paquetes.

Diagramas de secuencia UML: Referencia


En Visual Studio Ultimate, un diagrama de secuencia muestra una interaccin, que representa la secuencia de mensajes entre las instancias de clases, componentes, subsistemas o actores. El tiempo fluye hacia abajo en el diagrama y muestra el flujo de control de un participante a otro. Para crear un diagrama de secuencia de UML, en el men Arquitectura, haga clic en Nuevo diagrama. El diagrama muestra instancias y eventos de ejemplo, en lugar de clases y mtodos; ms de una instancia del mismo tipo puede aparecer en el diagrama y ms de una aparicin del mismo mensaje tambin puede aparecer. Existen dos tipos de diagrama de secuencia:

57

Diagramas de secuencia basados en cdigo se pueden generar a partir del cdigo de programa .NET, y se pueden colocar dentro de cualquier proyecto. Para obtener ms informacin, vea Como: Explorar el cdigo con diagramas de secuencia. Los diagramas de secuencia UML forman parte de un modelo UML y slo existe dentro de los proyectos de modelado UML. Para obtener ms informacin, vea Diagramas de secuencia de UML: Instrucciones. Los dos tipos de diagrama de secuencia son similares, aunque algunas propiedades de los elementos son diferentes. Para obtener ms informacin acerca de cmo se crean y dibujan diagramas de modelado, vea Cmo: Modificar un modelo UML y los diagramas.

Leer diagramas de secuencia


En la tabla siguiente se describen los elementos que se pueden ver en un diagrama de secuencia. Para obtener informacin sobre las propiedades de estos elementos, vea Propiedades de los elementos de diagramas de secuencia de UML. Para obtener informacin acerca de cmo usar los diagramas de secuencia, vea Diagramas de secuencia de UML: Instrucciones.

Forma Elemento
1 Lnea de vida

Descripcin
Una lnea vertical que representa la secuencia de eventos que se producen en un participante durante una interaccin, mientras el tiempo avanza. Este participante puede ser una instancia de una clase, componente o actor.

Actor

Un participante que es externo al sistema que est desarrollando.

58

Puede hacer que aparezca un smbolo de actor en la parte superior de una lnea de estableciendo su propiedad Actor.

Mensaje sincrnico

El remitente espera una respuesta a un mensaje sincrnico antes de continuar.

El diagrama muestra la llamada y el retorno. Los mensajes sincrnicos se utilizan pa representar llamadas de funcin ordinarias dentro de un programa, as como otros tipos de mensaje que se comportan de la misma manera.

Mensaje asincrnico

Un mensaje que no requiere una respuesta antes de que el remitente contine. Un mensaje asincrnico muestra slo una llamada del remitente. Se utiliza para

representar la comunicacin entre subprocesos diferentes o la creacin de un nuev subproceso.

Incidencia de ejecucin

Un rectngulo sombreado vertical que aparece en la lnea de la vida de un participa que el participante est ejecutando una operacin.

La ejecucin comienza donde el participante recibe un mensaje. Si el mensaje inicia es un mensaje sincrnico, la ejecucin finalizar con una flecha de devolucin al

Mensaje de devolucin de llamada

Un mensaje que vuelve a un participante que est esperando la devolucin de una

llamada anterior. La aparicin de ejecucin resultante aparece encima de la existen

Automensaje

Un mensaje de un participante a s mismo. La aparicin de ejecucin resultante aparece encima de la ejecucin de envo.

Crear mensajes

Un mensaje que crea un participante. Si un participante recibe un mensaje de creacin, este debe ser el primer mensaje que recibe.

Mensaje encontrado

Un mensaje asincrnico de un participante desconocido o no especificado.

10

Mensaje perdido

Un mensaje asincrnico a un participante desconocido o no especificado.

11

Comentarios

Un comentario se puede adjuntar a cualquier punto de una lnea de vida.

12

Uso de interaccin

Agrega una secuencia de mensajes que se definen en otro diagrama.

Para crear un Uso de interaccin, haga clic en la herramienta y arrastre por las lnea de vida que desee incluir.

59

13

Fragmento combinado

Una coleccin de fragmentos. Cada fragmento puede agregar uno o ms mensajes. Existen distintos tipos de fragmentos combinados. Para obtener ms informacin,

veaDescribir el flujo de control con fragmentos de diagramas de secuencia de UML Para crear un fragmento, haga clic con el botn secundario en un mensaje, elija Rodear con y, a continuacin, haga clic en un tipo de fragmento.

14

Proteccin de fragmentos

Se puede utilizar para enunciar una condicin relativa a si el fragmento se producir

Para establecer la proteccin, seleccione un fragmento, seleccione despus la prote

Interaccin

La coleccin de mensajes y lneas de vida que se muestra en el diagrama de secuencia.Para ver las propiedades de una interaccin, debe seleccionarla en el Explorador de modelos UML.

Diagrama de secuencia

Diagrama en el que se muestra una interaccin. Para ver sus propiedades, haga clic en una parte vaca del diagrama. Nota Los nombres del diagrama de secuencia, la interaccin que muestra y el archivo que contiene el diagrama pueden ser diferentes.

Diagramas de secuencia de UML: Instrucciones


Este tema an no ha recibido ninguna valoracin - Valorar este tema En Visual Studio Ultimate, puede dibujar un diagrama de secuencia para mostrar una interaccin. Una interaccin es una secuencia de mensajes entre instancias tpicas de clases, componentes, subsistemas o actores. Si desea una demostracin en vdeo, vea Sketching Interactions by using Sequence Diagrams. Para crear un diagrama de secuencia de UML, en el men Arquitectura, haga clic en Nuevo diagrama. Existen dos tipos de diagramas de secuencia: Los diagramas de secuencia basados en cdigo, que se pueden generar desde el cdigo de programa .NET.Para obtener ms informacin, vea Como: Explorar el cdigo con diagramas de secuencia. Los diagramas de secuencia de UML, que forman parte de los proyectos de modelado de UML. En este tema se analizan los diagramas de secuencia de UML. Para obtener informacin detallada sobre los elementos que pueden verse en un diagrama de secuencia, veaDiagramas de secuencia UML: Referencia.

En este tema
60

Usar diagramas de secuencia de UML Pasos bsicos para dibujar diagramas de secuencia Crear y usar diagramas de secuencia sencillos Clases y lneas de vida Crear secuencias de interacciones reutilizables Contraer grupos de lneas de vida Describir estructuras de control con fragmentos Generar diagramas de secuencia desde el cdigo

Usar diagramas de secuencia de UML


Los diagramas de secuencia pueden utilizarse para una gran variedad de propsitos y con diferentes niveles de detalle sobre el programa. Las ocasiones ms frecuentes en las que se crea un diagrama de secuencia son las siguientes: Si tiene un diagrama de casos de uso en el que se resumen los usuarios del sistema y sus objetivos, puede dibujar diagramas de secuencia para describir el modo en que los principales componentes del sistema interactan para lograr el objetivo de cada caso de uso. Para obtener ms informacin, vea Diagramas de casos de uso de UML: Instrucciones. Si ha identificado los mensajes que llegan a una interfaz de un componente, puede crear diagramas de secuencia en los que se describa cmo interactan los elementos internos del componente para lograr el resultado necesario para cada mensaje entrante. Para obtener ms informacin, vea Diagramas de componentes de UML: Instrucciones. El uso de diagramas de secuencia tiene algunas ventajas: Puede verse con facilidad cmo se distribuyen las tareas entre los componentes. Pueden identificarse los modelos de interaccin que dificultan la actualizacin de software.

Relacin con otros diagramas


Existen varios mecanismos que permiten utilizar los diagramas de secuencia de UML junto con otros diagramas.

Lneas de vida y tipos


Las lneas de vida que se dibujan en un diagrama de secuencia pueden representar instancias tpicas de los componentes o clases del sistema. Puede crear lneas de vida a partir de tipos y tipos a partir de lneas de vida y mostrar los tipos en diagramas de clases de UML y diagramas de componentes de UML. Para obtener ms informacin, vea Clases y lneas de vida.

Tipos de parmetros
Tambin puede describir en un diagrama de clases de UML los tipos de parmetros y valores devueltos utilizados en los mensajes enviados entre las lneas de vida.

Detalles de casos de uso


Un caso de uso representa el objetivo de un usuario, junto con una secuencia de pasos para lograr dicho objetivo.La secuencia de pasos se puede describir de varias maneras. Una opcin es crear un diagrama de secuencia en el que se muestren las interacciones entre los usuarios y los principales componentes del sistema. Para obtener ms informacin, vea Diagramas de casos de uso de UML: Instrucciones.

61

Cdigo fuente
Puede generar un diagrama de secuencia desde el cdigo fuente. Puede revisar el diagrama para probar diferentes opciones de diseo. Si lo desea, tambin puede copiar el contenido en un diagrama de secuencia de un proyecto de modelado. Para obtener ms informacin, vea Generar diagramas de secuencia desde el cdigo.

Pasos bsicos para dibujar diagramas de secuencia


Para obtener una lista completa de los elementos de los diagramas de secuencia, vea Diagramas de secuencia UML: Referencia.

Nota En Cmo: Modificar un modelo UML y los diagramas, se describen en detalle los pasos para crear diagramas de modelado. Para crear un diagrama de secuencia 1. 2. 3. 4. En el men Arquitectura, haga clic en Nuevo diagrama. En Plantillas, haga clic en Diagrama de secuencia UML. Especifique un nombre para el diagrama. En Agregar a proyecto de modelado, seleccione un proyecto de modelado existente de la solucin o Crear un nuevo proyecto de modelado y, a continuacin, haga clic en Aceptar. Aparece un nuevo diagrama de secuencia con el cuadro de herramientas Diagrama de secuencia. El cuadro de herramientas contiene los elementos y conectores requeridos.

62

Para dibujar un diagrama de secuencia


1. Arrastre las lneas de vida (1) del cuadro de herramientas al diagrama para representar instancias de clases, componentes, actores o dispositivos.

Nota Tambin puede crear una lnea de vida arrastrando una clase, interfaz, actor o componente existente delExplorador este modo, crear una lnea de vida que representar una instancia del tipo elegido.

2.

Cree mensajes para mostrar de qu modo colaboran las lneas de vida con el fin de conseguir un objetivo concreto. Para crear un mensaje (3, 4, 6, 7), haga clic en una herramienta de mensajes. A continuacin, haga clic en el punto de la lnea de vida emisora en el que desee que comience el mensaje y despus haga clic en la lnea de vida receptora. En la lnea de vida receptora aparecer una incidencia de ejecucin (5). La incidencia de ejecucin representa un perodo de tiempo durante el que la instancia est ejecutando un mtodo. Puede crear otros mensajes que se inicien a partir de una incidencia de ejecucin.

3.

Para mostrar un mensaje que procede de un origen de eventos desconocido (9) o que se va a difundir a destinatarios desconocidos (10), dibuje un mensaje asincrnico que tenga como origen o destino un espacio en blanco del diagrama. Estos mensajes se denominan mensajes encontrados (9) y mensajes perdidos(10).

Nota Si desea mover un grupo de lneas de vida que tienen mensajes perdidos o encontrados, siga estos pasos para seleccionar las lneas de vida antes de moverlas: dibuje un rectngulo en torno a estas lneas de vida o mantenga presionada la tecla CTRL mientras hace clic en cada lnea de vida. Si usa Seleccionar todo o CTRL+A para seleccionar todas las lneas de vida y moverlas a continuacin, los mensajes perdidos o encontrados que estn adjuntos a estas lneas de vida no se movern. En este caso, podr mover estos mensajes por separado.

4.

Dibuje diagramas de secuencia para cada mensaje principal dirigido al mismo componente o sistema.

Para cambiar el orden de los mensajes


Arrastre un mensaje hacia arriba o hacia abajo en su lnea de vida. Puede arrastrarlo sobre otros mensajes o dentro o fuera de un bloque de ejecucin. -O bien Haga clic en el mensaje y utilice las teclas FLECHA ARRIBA y FLECHA ABAJO para ajustar las posiciones del mensaje. Utilice MAYS+FLECHA ARRIBA y MAYS+FLECHA ABAJO para cambiar el orden de los mensajes.

63

Para mover o copiar secuencias de mensajes en el diagrama de secuencia


1. 2. Haga clic con el botn secundario del mouse en un mensaje (3, 4) y, a continuacin, haga clic en Copiar. Haga clic con el botn secundario del mouse en la incidencia de ejecucin (5) o en una lnea de vida (1) desde la que desee enviar el nuevo mensaje y, a continuacin, haga clic en Pegar. El nuevo remitente podr estar en otro diagrama, si as lo desea. Al final de la incidencia de ejecucin o de la lnea de vida, se agrega una copia del mensaje y de todos sus mensajes secundarios.

Nota El mensaje pegado siempre aparece al final de la incidencia de ejecucin o lnea de vida. Despus de pegarlo, puede arrastrarlo hasta una posicin anterior.

Para mejorar el diseo de un diagrama de secuencia


Haga clic con el botn secundario del mouse en un espacio en blanco del diagrama y, a continuacin, haga clic en Reorganizar diseo. Para deshacer la operacin, haga clic en Edicin y, a continuacin, en Deshacer.

Para cambiar el paquete que contiene la interaccin


1. En el Explorador de modelos UML, busque la interaccin que se muestra en el diagrama de secuencia.

Nota La interaccin no aparecer en el Explorador de modelos UML hasta que agregue la primera lnea de vida al diagrama de secuencia.

2.

Arrastre la interaccin hasta el paquete. -O bienHaga clic con el botn secundario del mouse en la interaccin y, a continuacin, haga clic en Cortar. Haga clic con el botn secundario del mouse en el paquete y, a continuacin, haga clic en Pegar.

Crear y usar diagramas de secuencia sencillos


El diseo ms simple y ms utilizado de un diagrama de secuencia es el que contiene exclusivamente lneas de vida y mensajes. Un diagrama de este tipo permite representar con claridad una secuencia de

64

interacciones tpica entre los objetos del diseo o entre el sistema y los usuarios. Normalmente, suele ser suficiente para ayudarle a analizar y difundir el diseo. Conviene tener algunas cosas en cuenta al dibujar un diagrama de secuencia sencillo.

Tipos de mensajes
Hay tres herramientas que puede utilizar para crear mensajes. Utilice la herramienta Synchronous para describir una interaccin en la que el remitente espera a que el receptor devuelva una respuesta (3). Al final de la incidencia de ejecucin, aparecer una flecha <<devolver>>. Esta flecha indica la devolucin del control al remitente. Utilice la herramienta Asynchronous para describir una interaccin en la que el remitente puede continuar inmediatamente sin necesidad de esperar la respuesta del receptor (4). Utilice la herramienta Create para describir una interaccin en la que el remitente crea al receptor (8). El primer mensaje que recibe el receptor debera ser un mensaje de creacin.

Comentar las interacciones


Para describir con ms detalle la secuencia, puede agregar un comentario en cualquier parte del diagrama. Con los vnculos de comentarios, puede vincular un comentario a lneas de vida, ejecuciones, usos de interaccin y fragmentos.

Precaucin Si desea adjuntar un comentario a un punto determinado de la secuencia, vinclelo a una incidencia de ejecucin, uso de interaccin o fragmento. No lo vincule a una lnea de vida porque, en ese caso, no se mantendr adjunto en el punto correcto de la secuencia.

Utilice un comentario para: Dar cuenta de lo que se ha conseguido en los puntos clave de la secuencia. De este modo, ayudar a los lectores a ver los objetivos de las interacciones. Describir el objetivo global de toda la secuencia. Adjunte el comentario a la incidencia de ejecucin inicial o djelo sin adjuntar. Por ejemplo, "El cliente ha elegido elementos del men y se le ha proporcionado un precio". Describir las responsabilidades de cada lnea de vida. Adjunte el comentario a la lnea de vida. Por ejemplo, "El administrador de pedidos recopila las opciones de men del cliente". Dar cuenta de las excepciones o alternativas que podran producirse como disyuntiva a la secuencia normal mostrada. Por ejemplo "El cliente puede optar por omitir el resto de esta secuencia". Considere la posibilidad de utilizar fragmentos como una alternativa ms formal a este tipo de nota.Vea Describir estructuras de control con fragmentos

65

Decidir el mbito del diagrama


Es importante tener claro lo que se desea mostrar en el diagrama.

Evento de iniciacin
Cada diagrama debe mostrar la secuencia de interacciones que se obtiene como resultado de un evento de iniciacin. Podra tratarse, por ejemplo: De un usuario que inicia un caso de uso, por ejemplo, al abrir la pgina web para comprar un men. De un mensaje que se transmite de un componente del sistema a otro, por ejemplo, para consultar la disponibilidad de elementos que el cliente desea comprar. De un evento que se activa por un cambio de estado, por ejemplo, cuando las existencias de un elemento descienden por debajo del umbral establecido.

Nivel de detalle
En los diagramas de secuencia, el nivel de detalle puede variar. Puede decidir el nivel de detalle en dos dimensiones diferentes casi con total independencia: Las lneas de vida pueden representar uno de estos niveles de detalle: Los objetos del cdigo del programa, que ya existen o que se estn desarrollando. Los componentes o sus subcomponentes, sin incluir por lo general los elementos de fachada, los servidores proxy y otros mecanismos de conexin. Los actores del sistema y los actores externos Los mensajes pueden representar uno de estos niveles de detalle: Los mensajes de software del cdigo de programa, en una API o interfaz web. Las transacciones o transacciones secundarias, por ejemplo, entre los usuarios y el sistema o entre el cdigo y la base de datos. Los casos de uso: interacciones principales entre los usuarios y el sistema. Si est analizando el cdigo existente o describiendo un nuevo diseo, normalmente le ser til dibujar y explorar vistas con menos detalles.

Describir variaciones
En el diagrama se muestra una sola secuencia de eventos tpica. Si desea mostrar las alternativas posibles, como los escenarios de error, puede utilizar cualquiera de estas opciones: Dibujar diagramas de secuencia diferentes para describir dichos escenarios Usar descripciones de estructuras de control con fragmentos para mostrar bucles, alternativas, etc.

Acceso al diseo
Puede utilizar el diagrama para evaluar la distribucin de las tareas entre sus objetos o componentes. Considere la posibilidad de utilizar la refactorizacin si observa estos modelos:

66

Parece que una lnea de vida hace todo, ya que se encarga de hacer las llamadas a los dems elementos, mientras que las dems lneas de vida nicamente se encargan de responder de forma pasiva. Hay muchos mensajes que cruzan las lneas de vida. Cada lnea de vida solamente debe enviar mensajes a unos pocos elementos vecinos, pero no debe comunicarse con los vecinos de dichos elementos.Normalmente debera ser posible organizar las lneas de vida para que hubiera muy pocos lugares en los que se cruzan con mensajes, y, all donde se produjeran cruces, la lnea de vida de destino no debera intercambiar mensajes que tuvieran lneas de vida con cruces. Algunas lneas de vida parecen administrar varios tipos de tareas. Debera ser fcil encontrar una frase sucinta que describa las responsabilidades de cada lnea de vida y que resuma el trabajo que realiza en respuesta a cada mensaje que recibe.

Clases y lneas de vida


En las lneas de vida de los diagramas de secuencia se muestran instancias de clases o interfaces de componentes.Existen dos mecanismos para asignar un nombre a una lnea de vida: Para este propsito

Instancia annima de un tipo. Utilcela si tiene nicamente una lnea de vida de cada tipo.

Instancia con nombre de un tipo. Utilcela si desea mostrar una secuencia que implique varias instancias del mismo tipo.

Crear lneas de vida a partir de tipos


Puede crear nuevas lneas de vida a partir de las clases que ya ha definido, por ejemplo, en un diagrama de clases.

Nota Asegrese de que ya cuenta con un diagrama de secuencia existente antes de realizar esta tarea. Para crear una lnea de vida a partir de un tipo existente Arrastre una clase, componente o interfaz del Explorador de modelos UML a un diagrama de secuencia. -O bien1. Haga clic con el botn secundario del mouse en la clase, componente o interfaz de su respectivo diagrama y, a continuacin, haga clic en Crear lnea de vida. 2. En el cuadro de dilogo Crear lnea de vida, seleccione un diagrama de secuencia y, a continuacin, haga clic en Aceptar.

67

Aparecer una nueva lnea de vida de la instancia con nombre cuyo tipo ser el tipo que arrastr.

Nota Puede repetir esta accin tantas veces como desee. De este modo, crear lneas de vida con nombres de instancias diferentes.

Para cambiar el tipo de una lnea de vida


1. 2. Haga clic con el botn secundario del mouse en una lnea de vida y, a continuacin, haga clic en Propiedades. En la ventana Propiedades, establezca la propiedad Type. Puede seleccionar un tipo en el men desplegable o especificar un nuevo nombre.

Crear clases a partir de lneas de vida


Una vez que ha creado uno o varios diagramas de secuencia, puede resumir las lneas de vida creando clases o interfaces a partir de ellas.

Para crear una clase o interfaz a partir de una lnea de vida


1. Haga clic con el botn secundario del mouse en la lnea de vida y, a continuacin, haga clic en Crear clase oCrear interfaz. En el Explorador de modelos UML aparecer una nueva clase o interfaz. 2. En la clase o interfaz, cree las operaciones de los mensajes que la lnea de vida recibe: a. Seleccione todos los mensajes que desee incluir. b. Haga clic con el botn secundario del mouse en uno de los mensajes y, a continuacin, haga clic enCrear mtodo. La nueva clase o interfaz tiene operaciones para cada mensaje seleccionado. El nombre de la operacin aparece debajo de cada flecha de mensaje y en la propiedad Operationdel mensaje. Si su mensaje contiene parmetros con el formato "(parmetro: tipo)", aparecern en la lista de parmetros de la nueva operacin.

Nota Debe repetir este paso para agregar nuevos mensajes al diagrama de secuencia.

3.

Para ver la nueva clase o interfaz en detalle, agrguela a un diagrama de clases o componentes. a. Abra o cree un diagrama de clases o componentes. b. Arrastre la nueva clase o interfaz del Explorador de modelos UML a un diagrama de clases.

68

La clase o interfaz aparece en el diagrama de clases. -O bienc. Arrastre la nueva interfaz del Explorador de modelos UML a un componente o puerto de un diagrama de componentes. La interfaz aparece en el componente como un crculo.

Crear clases para los parmetros


Puede incluir parmetros en los mensajes de un diagrama de secuencia. Puede utilizar un diagrama de clases UML para describir los tipos de parmetro.

Crear secuencias de interacciones reutilizables


Puede utilizar un diagrama independiente para describir una secuencia que contenga detalles que desee separar o que sea comn a varios diagramas. Puede crear un rectngulo de uso de interaccin (12) en un diagrama que apunte a los detalles de otro diagrama. Haga doble clic en un uso de interaccin para abrir el diagrama de secuencia al que est vinculado.

Para crear una secuencia de interacciones reutilizable a partir de lneas de vida existentes
1. 2. En el Cuadro de herramientas, haga clic en Uso de interaccin. En el diagrama de secuencia, mantenga presionado el botn del mouse mientras arrastra las lneas de vida que desea incluir en la secuencia reutilizable. Comience en la posicin vertical en la que desea insertar el uso de interaccin. Aparecer un uso de interaccin que cruzar las lneas de vida seleccionadas del diagrama de secuencia. 3. Haga doble clic en el nombre del uso de interaccin y asgnele un nuevo nombre que describa el efecto de la secuencia reutilizable en este diagrama. -O bienEscriba el nombre como una llamada de funcin, con parmetros. 4. Vincule el uso de interaccin a otro diagrama de secuencia. Haga clic con el botn secundario del mouse en el uso de interaccin y, a continuacin: Haga clic en Crear nueva secuencia para crear un nuevo diagrama de secuencia. -O bienHaga clic en Vincular a secuencia para vincularlo a un diagrama existente.

69

Visual Studio crea un vnculo entre el uso de interaccin y la nueva secuencia de interaccin. Aparecer un nuevo diagrama de secuencia en la solucin. Este diagrama contendr las lneas de vida que se utilizaron para crear el uso de interaccin.

Nota nicamente albergar las lneas de vida que se utilizaron para crear el uso de interaccin. El nuevo diagrama no incluir las lneas de vida que se crearon despus del uso de interaccin, aunque actualmente estn cubiertas por el uso de interaccin.

Para crear una secuencia reutilizable a partir de mensajes existentes


Haga clic con el botn secundario del mouse en el mensaje que desea mover y, a continuacin, haga clic enMover a diagrama. Visual Studio: Reemplace el mensaje seleccionado y sus mensajes secundarios por un uso de interaccin. Mueva los mensajes reemplazados a un nuevo diagrama de secuencia. Cree un vnculo entre el uso de interaccin y el nuevo diagrama de secuencia.

Para navegar a la secuencia a la que el uso de interaccin hace referencia


Haga doble clic en el uso de interaccin. -O bienHaga clic con el botn secundario del mouse en el uso de interaccin y, a continuacin, haga clic en Ir a secuencia.

Crear un marcador de posicin con un uso de interaccin


Puede crear un uso de interaccin sin vincularlo a otro diagrama. Puede utilizarlo como un marcador de posicin de una parte de la secuencia cuyos detalles an no ha desarrollado. Utilice el nombre del uso de interaccin para indicar el resultado que desea obtener.

Contraer grupos de lneas de vida


Puede contraer un conjunto de lneas de vida de manera que el grupo aparezca como una sola lnea de vida. De este modo, podr visualizar un grupo de objetos como un nico componente. Los mensajes y los usos de interaccin entre las lneas de vida de un grupo contrado quedan ocultos. En cambio, se muestran los mensajes y las secuencias de interacciones que incluyen otras lneas de vida.

70

Para contraer un grupo de lneas de vida a la vez


1. 2. Seleccione dos o ms lneas de vida. Haga clic con el botn secundario del mouse en una de ellas y, a continuacin, haga clic en Contraer. Las distintas lneas de vida se sustituyen por una nica lnea de vida. Los mensajes y usos de interaccin que solo implican a miembros del grupo quedan ocultos. 3. Para cambiar el nombre del grupo, haga clic en el nombre.

Nota Cuando expanda el grupo, se perder el nombre del grupo.

Para expandir un grupo contrado


Haga clic con el botn secundario del mouse en la lnea de vida contrada y, a continuacin, haga clic enExpandir.

Nota El nombre del grupo se perder, as como cualquier vnculo entre el grupo y los comentarios o elementos de trabajo.

Describir estructuras de control con fragmentos


Puede utilizar fragmentos combinados (13) para definir bucles, bifurcaciones y procesamientos simultneos en un diagrama de secuencia. Si lo desea, tambin puede utilizar en su lugar un diagrama de actividades. El diagrama de actividades no resulta til para mostrar mensajes entre actores, pero en algunos casos es ms idneo para mostrar bucles, bifurcaciones y procesos simultneos. Para obtener una lista completa de los tipos de fragmentos, vea Describir el flujo de control con fragmentos de diagramas de secuencia de UML.

Para crear un fragmento combinado


1. Seleccione un mensaje o una secuencia de mensajes en la que todos se inicien en la misma lnea de vida o incidencia de ejecucin.

Nota Seleccione las flechas de mensaje y no las incidencias de ejecucin a las que apuntan los mensajes.

71

2.

Haga clic con el botn secundario del mouse en uno de los mensajes, elija Delimitar con y, a continuacin, haga clic en el tipo de fragmento correspondiente. Aparecer un nuevo fragmento. Este fragmento contendr los mensajes que se seleccionaron. Si el tipo de fragmento combinado permite varios fragmentos, aparecer tambin un fragmento vaco.

3.

Para establecer la proteccin de un fragmento, haga clic con el botn secundario del mouse en el borde del fragmento y, a continuacin, haga clic en Propiedades. Establezca la propiedad Guard. La proteccin se utiliza para definir la condicin de una bifurcacin o un bucle.

4.

5.

Para agregar un nuevo fragmento a un tipo que permite varios fragmentos, haga clic con el botn secundario del mouse en el lmite de un fragmento y elija Agregar. Haga clic en Operando de interaccin Before o enOperando de interaccin After. Para agregar nuevos mensajes a un fragmento, utilice las herramientas de mensajes o copiar y pegar.

Generar diagramas de secuencia desde el cdigo


Puede generar un diagrama de secuencia a partir de una definicin de un mtodo en un archivo de cdigo de Visual C# o Visual Basic. Un diagrama de secuencia generado es muy similar a un diagrama de secuencia que se haya creado en un proyecto de modelado. Sin embargo, en un diagrama de secuencia generado, los elementos no aparecen en el Explorador de modelos UML.

Para generar un diagrama de secuencia desde el cdigo


1. 2. En Visual Studio, abra el archivo de cdigo que contiene la definicin del mtodo. Haga clic con el botn secundario del mouse en cualquier parte del interior de la definicin del mtodo y, a continuacin, haga clic en Generar diagrama de secuencias. Para obtener ms informacin, vea Como: Explorar el cdigo con diagramas de secuencia.

Nota
Despus de generar el diagrama, los cambios que realice en el diagrama no aparecern en el cdigo y los cambios que efecte en el cdigo no aparecern en el diagrama. Para mostrar estos cambios, debe generar un nuevo diagrama de secuencia. Puede generar un nuevo diagrama de secuencia desde el mismo mtodo tantas veces como desee.

Puede navegar desde las lneas de vida y los mensajes a las definiciones del cdigo de las clases y mtodos que representan.

72

Para navegar desde los mensajes y las lneas de vida generadas al cdigo
Haga clic con el botn secundario del mouse en un mensaje o lnea de vida generada y, a continuacin, haga clic en Ir a definicin.

Copiar secuencias generadas en un modelo UML


Puede copiar lneas de vida, mensajes y otras partes de una secuencia generada en un diagrama de secuencia de un proyecto de modelado.

Para realizar una copia de un diagrama de secuencia generado tomando como origen o destino un modelo UML
1. En un diagrama de secuencia, seleccione los elementos que desea copiar, como las lneas de vida y los mensajes. Si desea copiar todo lo que aparece en el diagrama, en el men Edicin, haga clic en Seleccionar todo. En el men Edicin, haga clic en Copiar. Cree o abra un diagrama de secuencia en un proyecto de modelado. Para obtener informacin acerca de esta operacin, vea Pasos bsicos para dibujar diagramas de secuencia. En el men Edicin, haga clic en Pegar. En el diagrama aparecen las copias de los elementos seleccionados.

2. 3. 4.

Diagramas de casos de uso de UML: Referencia


En Visual Studio Ultimate, en los diagramas de casos de uso se resume quin utiliza la aplicacin o sistema y qu puede hacer con ella. Para crear un diagrama de casos de uso de UML, en el men Arquitectura, haga clic en Nuevo diagrama. Un diagrama de casos de uso acta como foco en la descripcin de los requisitos del usuario. En l se describen las relaciones entre los requisitos, los usuarios y los componentes primarios. No se describen en detalle los requisitos, ya que esto puede hacerse en otros diagramas o documentos que pueden vincularse a cada caso de uso. Para obtener informacin acerca de cmo los diagramas de casos de uso pueden ayudar a entender, debatir y transmitir las necesidades de los usuarios, vea Crear modelos de los requisitos de los usuarios.

Nota En este tema se describen los elementos que estn disponibles en los diagramas de casos de uso. Para obtener ms informacin acerca de cmo se dibujan diagramas de casos de uso, vea Diagramas de casos de uso de UML: Instrucciones. Para obtener ms informacin acerca de cmo se crean y dibujan diagramas de modelado, veaCmo: Modificar un modelo UML y los diagramas.

Leer diagramas de casos de uso

73

En las tablas de las secciones siguientes, se describen los elementos que estn disponibles en un diagrama de casos de uso junto con sus propiedades principales. Para obtener una lista de propiedades completa, vea Propiedades de los elementos de diagramas de casos de uso.

Actores, casos de uso y subsistemas

Forma
1

Elemento Descripcin y propiedades principales


Actor Representa un usuario, organizacin o sistema externo que interacta con la aplicacin o sistema. Un actor es una clase de tipo. Image Path: ruta de acceso del archivo de una imagen que debe utilizarse en lugar del icono de actor predeterminado. El icono debe ser un archivo de recursos incluido en el proyecto de Visual Studio.

Caso de uso

Representa las acciones que realizan uno o varios actores para conseguir un objetivo determinado. Un caso de uso es una clase de tipo. Subjects: subsistema en el que aparece el caso de uso.

Asociacin

Indica que un actor forma parte de un caso de uso.

Subsistema o componente

Sistema o aplicacin (o alguno de sus componentes) en el que se est trabajando. Puede abarcar desde una red grande hasta una nica clase de una aplicacin. Los casos de uso que un sistema o componente admiten aparecen dentro de su rectngulo. Para aclarar el mbito del sistema, puede resultar til mostrar algunos casos de uso fuera del rectngulo. Un subsistema de un diagrama de casos de uso tiene bsicamente el mismo tipo que un componente de un diagrama de componentes. Is Indirectly Instantiated: si es false, el sistema en ejecucin tiene uno o varios objetos que se corresponden directamente con este subsistema. Si es true, el subsistema es una construccin del diseo que solo aparece en el sistema en ejecucin a travs de l creacin de instancias de los elementos que lo conforman.

74

Forma
5

Elemento Descripcin
Incluir Un caso de uso de inclusin llama o invoca al caso de uso incluido. La inclusin se utiliza

para mostrar cmo se divide un caso de uso en pasos ms pequeos. El caso de uso incluido punta de flecha. Tenga en cuenta que en el diagrama no se muestra el orden de los pasos. Puede utilizar un diagrama de actividades, un diagrama de secuencia u otro documento para describir estos detalles.

Extender

Un caso de uso de extensin agrega objetivos y pasos al caso de uso extendido. Las

extensiones solamente funcionan en ciertas condiciones. El caso de uso extendido se encue flecha. Tenga en cuenta que en el diagrama no se muestran las circunstancias exactas en las que se aplica la extensin; puede registrarlas en un comentario o en otro documento.

Herencia

Relaciona un elemento especializado y un elemento general. El elemento general se encuentra en el extremo con la punta de flecha. Un caso de uso especializado hereda los objetivos y actores de su generalizacin y puede agregar objetivos ms especficos y los pasos para llevarlos a cabo. Un actor especializado hereda los casos de uso, atributos y asociaciones de su generalizacin y puede agregar ms elementos.

Dependencia

Indica que el diseo del origen depende del diseo del destino.

Comentario

Se utiliza para agregar notas generales al diagrama.

10

Artefacto

Un artefacto proporciona un vnculo a otro diagrama o documento. Puede crearlo arrastrando un archivo desde el Explorador de soluciones. Se puede vincular mediante una relacin de dependencia a otro elemento del diagrama. Un artefacto se utiliza normalmente para vincular un caso de uso a un diagrama de secuencia, una pgina de OneNote, un documento de Word o una presentacin de PowerPoint que describe el

caso de uso en detalle. El documento puede ser un elemento de la solucin de Visual Studio compartida, como un sitio de SharePoint. Hipervnculo. La direccin URL o ruta de acceso del diagrama o documento. Haga doble clic en un artefacto para abrir la pgina web o el archivo al que est vinculado.

11 (no se

Paquetes

Los casos de uso, actores y subsistemas pueden incluirse dentro de paquetes. Los formas

75

muestra)

del paquete no se muestran en el diagrama, pero puede establecer la propiedad LinkedPackage del diagrama. Los elementos que cree posteriormente en el diagrama estarn situados dentro del paquete. Para obtener ms informacin, vea Definir espacios de nombres y paquetes.

Estructurar los casos de uso

Diagramas de casos de uso de UML: Referencia


En Visual Studio Ultimate, en los diagramas de casos de uso se resume quin utiliza la aplicacin o sistema y qu puede hacer con ella. Para crear un diagrama de casos de uso de UML, en el men Arquitectura, haga clic en Nuevo diagrama. Un diagrama de casos de uso acta como foco en la descripcin de los requisitos del usuario. En l se describen las relaciones entre los requisitos, los usuarios y los componentes primarios. No se describen en detalle los requisitos, ya que esto puede hacerse en otros diagramas o documentos que pueden vincularse a cada caso de uso. Para obtener informacin acerca de cmo los diagramas de casos de uso pueden ayudar a entender, debatir y transmitir las necesidades de los usuarios, vea Crear modelos de los requisitos de los usuarios.

Nota En este tema se describen los elementos que estn disponibles en los diagramas de casos de uso. Para obtener ms informacin acerca de cmo se dibujan diagramas de casos de uso, vea Diagramas de casos de uso de UML: Instrucciones. Para obtener ms informacin acerca de cmo se crean y dibujan diagramas de modelado, veaCmo: Modificar un modelo UML y los diagramas.

Leer diagramas de casos de uso


En las tablas de las secciones siguientes, se describen los elementos que estn disponibles en un diagrama de casos de uso junto con sus propiedades principales. Para obtener una lista de propiedades completa, vea Propiedades de los elementos de diagramas de casos de uso.

76

Actores, casos de uso y subsistemas

Forma
1

Elemento
Actor

Descripcin y propiedades principales

Representa un usuario, organizacin o sistema externo que interacta con la aplicaci sistema. Un actor es una clase de tipo.

Image Path: ruta de acceso del archivo de una imagen que debe utilizarse en

del icono de actor predeterminado. El icono debe ser un archivo de recurso incluido en el proyecto de Visual Studio.

Caso de uso

Representa las acciones que realizan uno o varios actores para conseguir un objetivo determinado. Un caso de uso es una clase de tipo. Subjects: subsistema en el que aparece el caso de uso.

Asociacin

Indica que un actor forma parte de un caso de uso.

Subsistema o componente

Sistema o aplicacin (o alguno de sus componentes) en el que se est trabajando. Pu abarcar desde una red grande hasta una nica clase de una aplicacin.

Los casos de uso que un sistema o componente admiten aparecen dentro de su rect Para aclarar el mbito del sistema, puede resultar til mostrar algunos casos de uso

Un subsistema de un diagrama de casos de uso tiene bsicamente el mismo tipo que componente de un diagrama de componentes.

Is Indirectly Instantiated: si es false, el sistema en ejecucin tiene uno o var

objetos que se corresponden directamente con este subsistema. Si es true,

el subsistema es una construccin del diseo que solo aparece en el sistem

en ejecucin a travs de la creacin de instancias de los elementos que lo c

77

Estructurar los casos de uso

Forma
5

Elemento Descripcin
Incluir Un caso de uso de inclusin llama o invoca al caso de uso incluido. La inclusin se utiliza para mostrar cmo se divide un caso de uso en pasos ms pequeos. El caso de uso incluido se encuentra en el extremo con la punta de flecha. Tenga en cuenta que en el diagrama no se muestra el orden de los pasos. Puede utilizar un diagrama de actividades, un diagrama de secuencia u otro documento para describir estos detalles.

Extender

Un caso de uso de extensin agrega objetivos y pasos al caso de uso extendido. Las extension condiciones. El caso de uso extendido se encuentra en el extremo con la punta de flecha. Tenga en cuenta que en el diagrama no se muestran las circunstancias exactas en las que se aplica la extensin; puede registrarlas en un comentario o en otro documento.

Herencia

Relaciona un elemento especializado y un elemento general. El elemento general se encuentra en el extremo con la punta de flecha. Un caso de uso especializado hereda los objetivos y actores de su generalizacin y puede agregar objetivos ms especficos y los pasos para llevarlos a cabo. Un actor especializado hereda los casos de uso, atributos y asociaciones de su generalizacin y puede agregar ms elementos.

78

Dependencia

Indica que el diseo del origen depende del diseo del destino.

Comentario

Se utiliza para agregar notas generales al diagrama.

10

Artefacto

Un artefacto proporciona un vnculo a otro diagrama o documento. Puede crearlo arrastrand un archivo desde el Explorador de soluciones. Se puede vincular mediante una relacin de

dependencia a otro elemento del diagrama. Un artefacto se utiliza normalmente para vincula secuencia, una pgina de OneNote, un documento de Word o una presentacin de Power

Point que describe el caso de uso en detalle. El documento puede ser un elemento de la solu en una ubicacin compartida, como un sitio de SharePoint. Hipervnculo. La direccin URL o ruta de acceso del diagrama o documento. Haga doble clic en un artefacto para abrir la pgina web o el archivo al que est vinculado.

11 (no se muestra)

Paquetes

Los casos de uso, actores y subsistemas pueden incluirse dentro de paquetes. Los formas del paquete no se muestran en el diagrama, pero puede establecer la propiedad LinkedPackage del diagrama. Los elementos que cree posteriormente en el diagrama estarn situados dentro del paquete. Para obtener ms informacin, vea Definir espacios de nombres y paquetes.

Diagramas de casos de uso de UML: Instrucciones


En Visual Studio Ultimate, puede dibujar un diagrama de casos de uso para resumir quin usa la aplicacin o sistema y qu pueden hacer. Para crear un diagrama de casos de uso de UML, en el men Arquitectura, haga clic enNuevo diagrama. Si desea una demostracin en vdeo, vea Organizing Features into Use Cases. Con la ayuda de un diagrama de casos de uso, puede analizar y notificar: Los escenarios en los que el sistema o aplicacin interacta con personas, organizaciones o sistemas externos. Los objetivos que el sistema o aplicacin ayuda a conseguir. El mbito del sistema. En un diagrama de casos de uso, no se muestran los casos de uso en detalle; solamente se resumen algunas de las relaciones entre los casos de uso, los actores y los sistemas. En concreto, en el diagrama no se muestra el orden en el que se llevan a cabo los pasos para lograr los objetivos de cada caso de uso. Esos detalles pueden describirse en otros diagramas y documentos, que pueden vincularse a cada caso de uso. Para obtener ms informacin, vea en este tema Describir los casos de uso en detalle. En las descripciones que se proporcionen de los casos de uso se utilizarn diversos trminos relacionados con el dominio en el que trabaja el sistema, como Ventas, Men, Cliente, etc. Resulta importante definir estos trminos y sus relaciones y, para ello, puede resultar til un diagrama de clases de UML. Para obtener ms informacin, veaDiagramas de clases de UML: Instrucciones.

79

Los casos de uso solamente se utilizan para los requisitos funcionales de un sistema. Otros requisitos, como las reglas de negocios, los requisitos de calidad del servicio y las restricciones de implementacin, deben representarse por separado. La arquitectura y los detalles internos tambin deben describirse de forma independiente. Para obtener ms informacin acerca de cmo se definen los requisitos del usuario, vea Crear modelos de los requisitos de los usuarios. Los ejemplos que se utilizan en este tema estn relacionados con un sitio web en el que los clientes pueden hacer pedidos de comida de restaurantes locales.

Un actor (1) es una clase de persona, organizacin, dispositivo o componente de software externo que interacta con el sistema. Los actores del ejemplo son Cliente, Restaurante, Sensor de temperatura y Titular de tarjeta de crdito. Un caso de uso (2) representa las acciones que uno o varios de los actores realizan a fin de conseguir un objetivo determinado. Los casos de uso del ejemplo son Pedir men, Actualizar men y Procesar pago. En un diagrama de casos de uso, los casos de uso estn asociados (3) a los actores que los realizan. El sistema (4) es aquello que se est desarrollando. Podra tratarse de un pequeo componente de software, cuyos actores simplemente fueran otros componentes de software, o podra tratarse de un gran conjunto de aplicaciones que se implementan en muchos equipos y dispositivos. Los subsistemas del ejemplo son Sitio web de pedidos de men, Empresa de envo de mens y Versin 2 del sitio web. En un diagrama de casos de uso pueden mostrarse los casos de uso que el sistema o sus subsistemas admiten. En este tema Pasos bsicos para crear diagramas de casos de uso Dibujar actores y casos de uso Describir los casos de uso en detalle Estructurar los casos de uso Usar lmites de sistema Pasos bsicos para crear diagramas de casos de uso

Nota En Cmo: Modificar un modelo UML y los diagramas se describen en detalle los pasos para crear diagramas de modelado.

80

Para crear un nuevo diagrama de casos de uso 1. 2. 3. 4. En el men Arquitectura, haga clic en Nuevo diagrama. En Plantillas, haga clic en Diagrama de casos de usode UML. Especifique un nombre para el diagrama. En Agregar a proyecto de modelado, seleccione un proyecto de modelado existente de la solucin o Crear nuevo proyecto de modelado y, a continuacin, haga clic en Aceptar.

Para dibujar un diagrama de casos de uso 1. Arrastre los lmites de subsistema del cuadro de herramientas al diagrama para representar el sistema completo o sus principales componentes. Si no desea describir los casos de uso que el sistema o sus componentes admiten, puede dibujar un diagrama de casos de uso sin lmites de sistema. Si es necesario, arrastre la esquina de un sistema para hacerlo ms grande. Cambie su nombre como corresponda. Arrastre los actores del cuadro de herramientas al diagrama (sitelos fuera de los lmites de sistema). Los actores representan las clases de usuarios, organizaciones y sistemas externos que interactan con el sistema. Asgneles un nuevo nombre. Por ejemplo: Cliente, Restaurante o Entidad de tarjeta de crdito. Arrastre los casos de uso del cuadro de herramientas a los sistemas adecuados. Los casos de uso representan las actividades que los actores realizan con la ayuda del sistema. Utilice nombres que los propios actores puedan reconocer. No utilice ttulos que tengan relacin con el cdigo. Por ejemplo: Pedir men, Pagar men o Entregar men. Comience con las transacciones principales, como Pedir men, y posponga para ms adelante las transacciones ms pequeas, como Elegir elemento del men. Site cada caso de uso en el sistema o el subsistema principal compatible (omita los elementos de fachada o los componentes que solamente estn implicados en la conexin con el usuario). Puede dibujar un caso de uso fuera del lmite de sistema para dar cuenta de que dicho caso de uso puede no ser compatible con el sistema en una determinada versin. En el cuadro de herramientas, haga clic en Association, a continuacin, en un caso de uso y, posteriormente, en un actor que participe en el caso de uso. Vincule cada actor con sus casos de uso siguiendo este mecanismo. Estructure los casos de uso con las relaciones Include, Extend y Generalization. Para crear cada uno de estos vnculos, haga clic en la herramienta, a continuacin, en el caso de uso del origen y, posteriormente, en el destino. Vea ms adelante la seccin titulada Estructurar los casos de uso. Describa los casos de uso con ms detalle. Vea la seccin siguiente titulada Describir los casos de uso en detalle. Dibuje otros diagramas para hacer hincapi en subsistemas distintos o grupos diferentes de casos de uso relacionados. Todos los diagramas de un proyecto de modelado son vistas del mismo modelo.

2.

3.

4.

5.

6. 7.

Dibujar actores y casos de uso


El propsito principal de un diagrama de casos de uso es mostrar quin interacta con el sistema y los principales objetivos que los actores consiguen con dicho sistema. Cree actores que representen clases de personas, organizaciones, otros sistemas, software o dispositivos que interactan con el sistema o subsistema.

81

Para obtener informacin acerca de cmo se dibujan actores y otros elementos, vea Cmo: Modificar un modelo UML y los diagramas. En cada uno de los conjuntos de objetivos, identifique los actores en funcin de su tipo o rol, aun cuando las entidades o personas fsicas sean las mismas. Por ejemplo, Restaurante y Cliente son actores diferentes, aunque un empleado del restaurante podra ocasionalmente actuar como cliente. Cree casos de uso para cada uno de los objetivos que los actores pretendan conseguir con el sistema. Asigne un nombre y una descripcin para los casos de uso utilizando palabras que el actor pueda entender; no utilice trminos relacionados con la implementacin. Utilice las asociaciones para vincular los actores con los casos de uso. Herencia entre actores

Puede dibujar un vnculo de generalizacin entre actores. El actor especializado (Cliente del club en el ejemplo) hereda los casos de uso del actor general (Cliente en el ejemplo). La punta de flecha apuntara al actor ms general, como Cliente. Cuando cree el vnculo, apunte primero al actor ms especializado. El actor especializado puede tener otros casos de uso propios que no estarn disponibles para los dems actores.

Precaucin

No debera generar bucles de relaciones de generalizacin en los que, como resultado, un actor se generalice a s mismo. Los b Iconos de actores alternativos Puede utilizar iconos personalizados para representar a un actor en lugar del dibujo estndar. Por ejemplo, puede cambiar el icono para que tenga un aspecto similar a un dispositivo, restaurante, banco, etc. Para cambiar la apariencia de un actor 1. Haga clic con el botn secundario del mouse en el actor y, a continuacin, haga clic en Propiedades. Aparece la ventana Propiedades. 2. Establezca la propiedad Image Path en la ubicacin de un archivo de imagen. Puede utilizar cualquiera de los diversos formatos de imagen, incluidos los formatos .gif, .jpg y .bmp. Utilice un archivo que est incluido en el control de cdigo fuente de la solucin o proyecto para que siga disponible cuando la solucin se mueva o copie.

82

3.

Para replicar esta apariencia en otros diagramas de casos de uso, copie al actor y pguelo en otro diagrama. El cambio de imagen solo se aplica a la vista de un diagrama determinado. No se aplica al elemento del modelo subyacente. Si arrastra el actor del Explorador de modelos UML a otro diagrama, aparecer el dibujo estndar.

Multiplicidades entre actores y casos de uso La asociacin entre un actor y un caso de uso puede mostrar una multiplicidad en cada extremo.

Nota Las multiplicidades de una asociacin de un diagrama de casos de uso se ocultan si las dos tienen el valor 1.

De forma predeterminada, cada multiplicidad es 1. En una interpretacin estricta del modelo, una multiplicidad de 1 significa que, por ejemplo, solo un cliente est implicado en el pedido de cada men y que cada cliente pide exclusivamente un men cada vez. Estas multiplicidades se pueden modificar. Por ejemplo:

Para establecer que varios actores de la misma clase pueden participar en una nica instancia de un caso de uso, establezca la multiplicidad del extremo de la asociacin que corresponde al actor en 1..*. En la ilustracin, uno o varios restaurantes pueden participar en la elaboracin del mismo pedido de men. Para mostrar que cada actor puede participar al mismo tiempo en varias instancias de un caso de uso, establezca la multiplicidad del extremo del caso de uso de la asociacin en *. En la ilustracin, cada restaurante puede trabajar en la realizacin de un nico pedido a la vez. Para establecer las multiplicidades de una asociacin 1. Haga clic con el botn secundario del mouse en la asociacin y, a continuacin, haga clic en Propiedades.

83

2.

Expanda el primer rol o el segundo rol. Rol hace referencia al elemento de un extremo de la asociacin.

3.

Elija en la lista uno de los valores siguientes para la propiedad Multiplicity: 1 para indicar que exactamente una instancia de este rol participa en cada vnculo. 1..* para establecer que una o varias instancias de este rol participan en cada vnculo. 0..1 para establecer que la participacin es opcional. * para establecer que cero o ms instancias de este rol participan en el vnculo.

Nota

Muchos equipos no colocan informacin de multiplicidad en los diagramas de casos de uso, dejando las multiplicidades con lugar, proporcionan la informacin en descripciones independientes de los casos de uso. En este caso, se ocultarn todas las casos de uso. Usar un actor o un caso de uso en varios diagramas Puede mostrar los mismos actores y casos de uso en varios diagramas. Por ejemplo: Puede describir en diagramas diferentes los distintos casos de uso en los que est involucrado un actor. Puede utilizar un diagrama para mostrar los actores y subsistemas a los que un caso de uso est asociado y utilizar otro diagrama para mostrar cmo se estructura el caso de uso con la inclusin y ampliacin de casos de uso. Para mostrar el mismo actor o caso de uso en diagramas diferentes 1. 2. 3. Cree el actor o caso de uso en un diagrama. Cree otro diagrama de casos de uso. Arrastre un actor o caso de uso del Explorador de modelos al nuevo diagrama.

Nota

Si en el nuevo diagrama se sita un actor y un caso de uso que ya estn asociados, la asociacin entre ellos apare diagrama. Describir los casos de uso en detalle

Un caso de uso representa: Un objetivo de un actor a la hora de utilizar el sistema, como Comprar un men y Uno o varios escenarios, es decir, secuencias de pasos que se llevan a cabo para conseguir el objetivo, por ejemplo: {Pedir men, Pagar, Enviar}. Adems de los escenarios correctos, puede haber diferentes escenarios de excepciones o errores, como Tarjeta de crdito rechazada. Un caso de uso se puede describir con diferentes niveles de detalle. En una fase inicial de diseo, basta con indicar el nombre en el diagrama de casos de uso. Posteriormente, se pueden incluir descripciones ms detalladas de los escenarios.

84

En Visual Studio Ultimate, puede describir un caso de uso de varias maneras, que pueden utilizarse por separado o de forma conjunta: Puede vincular el caso de uso a otro diagrama o diagramas del proyecto. Un diagrama de actividades ayuda a explicar un proceso ms complejo que presenta bucles, bifurcaciones y subprocesos paralelos. Tambin puede mostrar el flujo de datos entre partes del proceso. Para obtener ms informacin, vea Diagramas de actividades UML: Instrucciones. Un diagrama de secuencia ayuda a explicar una serie compleja de interacciones entre diferentes actores. Tambin puede utilizarse para mostrar lo que pasa dentro del sistema en respuesta a cada caso de uso. Para obtener ms informacin, vea Diagramas de secuencia de UML: Instrucciones. Vincule el caso de uso a una pgina, seccin o prrafo de OneNote que describa el caso de uso en detalle. Puede vincular el caso de uso a un documento de Word en el que utilice texto, capturas de pantalla, etc. para describir los escenarios del caso de uso. Para obtener ms informacin, vea Crear modelos de los requisitos de los usuarios.

Para vincular un caso de uso a un diagrama o un archivo en la misma solucin


1. 2. 3. 4. Dibuje un diagrama, por ejemplo un diagrama de secuencia o de actividades, para mostrar un escenario del caso de uso. Regrese al diagrama de casos de uso. Arrastre el diagrama o archivo del Explorador de soluciones a una zona vaca del diagrama de casos de uso. Asocie el artefacto con el caso de uso utilizando una dependencia.

Para vincular a un archivo de solucin, por ejemplo un documento de Word o una presentacin de PowerPoint
1. 2. Cree un documento que use texto, capturas de pantalla, etc., para describir el escenario del caso de uso. Agregue el documento a la solucin. a. Site el documento de Word en la misma carpeta de Windows que la solucin. b. En el Explorador de soluciones, haga clic con el botn secundario del mouse en la solucin, elijaAgregar y, a continuacin, haga clic en Elemento existente. c. Navegue al documento de Word y haga clic en Agregar. El documento de Word aparece en una carpeta de soluciones del Explorador de soluciones. 3. Arrastre el documento de Word del Explorador de soluciones a una parte en blanco del diagrama de casos de uso. Aparece un nuevo artefacto. 4. Asocie el artefacto con el caso de uso utilizando una dependencia.

85

Para vincular a un documento compartido, elemento de OneNote o pgina web 1. Obtenga la direccin URL del elemento compartido. Por ejemplo, esta puede ser una ruta de acceso al archivo de red que comience por '\\', o una pgina web o direccin URL de Sharepoint que comience por 'http://', o un vnculo a una seccin, pgina o prrafo de OneNote que comience por 'onenote:'. En el cuadro de herramientas, haga clic en Artefacto y, a continuacin, en el diagrama de casos de uso. Con el nuevo artefacto seleccionado, escriba o pegue la direccin URL en la propiedad Hyperlink.

2. 3.

Nota Puede hacer doble clic en un artefacto para abrir el diagrama o documento al que est vinculado. Vincular casos de uso a elementos de trabajo Si en su proyecto utiliza Visual Studio Team Foundation Server 2010 y tiene Team Explorer, puede vincular cada caso de uso a un elemento de trabajo de Team Foundation. Para obtener informacin acerca de cmo se establecen estos vnculos, vea Cmo: Vincular elementos de trabajo con elementos de modelo. Esto le permite: Describir el caso de uso del elemento de trabajo vinculado. En concreto, si en el proyecto utiliza la plantilla de procesos formales de Visual Studio, puede establecer vnculos con un elemento de trabajo de casos de uso.Este tipo de elemento de trabajo proporciona campos para describir los objetivos y escenarios del caso de uso. Vincular casos de prueba al caso de uso para que pueda obtener informes acerca de en qu medida el cdigo que se est desarrollando implementa el caso de uso. Vincular tareas al caso de uso para que pueda hacer un seguimiento del progreso de desarrollo.

Estructurar los casos de uso


Es conveniente que intente describir el comportamiento del sistema con solo unos pocos casos de uso principales.En cada caso de uso grande se define un objetivo principal que un actor logra, como comprar un producto o, desde el punto de vista del proveedor, ofrecer productos para su venta. Una vez que haya presentado estos objetivos con claridad, puede proporcionar ms detalles sobre cmo se consigue el objetivo y sobre las variaciones de los objetivos bsicos. Evite descomponer los casos de uso en informacin demasiado detallada. Los casos de uso hacen referencia a la experiencia de los usuarios de su sistema y no a sus mecanismos internos. Adems, normalmente le resultar ms eficaz crear versiones auxiliares del cdigo en lugar de invertir tiempo en estructurar casos de uso con mucho detalle. Puede utilizar un diagrama de casos de uso para resumir las relaciones entre los casos de uso principales y los casos de uso ms detallados. En las secciones siguientes se describe cmo: Mostrar los detalles de un caso de uso con la relacin de inclusin Compartir los objetivos con la relacin de generalizacin Descomponer las variaciones de casos con la relacin de extensin

86

Mostrar los detalles de un caso de uso con la relacin de inclusin


Utilice la relacin de inclusin para representar que en un caso de uso se describen algunos detalles de otro. En la ilustracin, Pedir un men incluye Pagar, Elegir men y Elegir elemento del men. Cada uno de los casos incluidos, que son ms detallados, constituye un paso que muy probablemente el actor o actores tendrn que llevar a cabo para conseguir el objetivo global del caso de uso que contiene a los dems. La flecha debera apuntar al caso de uso ms detallado, que es el que est incluido en otro.

Precaucin No debe crear bucles de relaciones de inclusin en los que un caso de uso est incluido en s mismo. Los bucles pueden producir errores.

Puede compartir casos de uso incluidos. En el ejemplo, los casos de uso Pedir un men y Suscribirse a revistas incluyen Pagar.

El objetivo y los escenarios de un caso de uso incluido deberan tener sentido por s mismos, de modo que puedan incluirse en casos de uso que se diseen posteriormente. Descomponer los casos de uso en elementos de inclusin y elementos incluidos resulta til para conseguir los siguientes objetivos: Estructurar las descripciones del caso de uso en diferentes niveles de detalle. Evitar repetir escenarios que distintos casos de uso comparten.

Definir el orden de los pasos detallados


En el diagrama de casos de uso no aparece ninguna informacin acerca del orden en el que se deben seguirse los pasos ms detallados ni sobre si cada uno de ellos siempre resulta necesario. Si desea especificar con claridad el orden de los pasos, puede utilizar un artefacto para adjuntar un documento independiente al caso de uso de inclusin. En el ejemplo siguiente, se muestra un diagrama de actividades adjunto al caso de uso Pedir men. Si lo desea, tambin puede utilizar un documento de texto que contenga una lista de pasos o una secuencia de capturas de pantalla. Para obtener ms informacin, vea Describir los casos de uso en detalle. Tenga en cuenta estas convenciones de nomenclatura cuando utilice un diagrama de actividades: El nombre de la actividad global es el mismo que el del caso de uso de inclusin.

87

Las acciones del diagrama de actividades tienen los mismos nombres que los casos de uso incluidos. Para obtener ms informacin, vea Diagramas de actividades UML: Instrucciones.

Compartir los objetivos con la relacin de generalizacin Utilice una relacin de generalizacin para mostrar que un caso de uso especializado constituye un mecanismo especfico para conseguir los objetivos expresados por otro caso de uso general. La punta de flecha abierta debera apuntar al caso de uso ms general.

Por ejemplo, Pagar es una generalizacin de Pagar con tarjeta de crdito y Pagar en efectivo.

Precaucin

No debera establecer bucles de relaciones de generalizacin que hagan que un actor sea la generalizacin de s mismo. Los bu

Los casos de uso especializados pueden ayudarle a representar mecanismos distintos a travs de los cuales el sistema puede conseguir el mismo objetivo. Se supone que los casos de uso especializados heredan los objetivos y actores del caso de uso general. El caso de uso general no tiene que tener escenarios propios; en sus especializaciones se describen diferentes mecanismos para conseguir los objetivos.

88

Para refactorizar los objetivos comunes de dos o ms casos de uso 1. 2. Cree el nuevo caso de uso general y asgnele un nombre. Cree una relacin de generalizacin; la flecha grande apuntar al nuevo caso de uso general. a. En el cuadro de herramientas, haga clic en Generalization. b. Haga clic en un caso de uso especializado (Pagar con tarjeta de crdito en el ejemplo). c. Haga clic en el caso de uso general (Pagar en el ejemplo). Si ha descrito los objetivos de los casos de uso especializados, transfiera las partes comunes a la descripcin del caso de uso general. Los actores que se comparten entre los casos de uso especializados pueden transferirse al caso de uso general.

3. 4.

Descomponer las variaciones de casos con la relacin de extensin Utilice un vnculo de extensin para mostrar que, en determinadas circunstancias, un caso de uso puede agregar funcionalidad a otro. La flecha debera apuntar al caso de uso principal extendido.

Precaucin No debera establecer bucles de relaciones de extensin que hagan que un actor sea una generalizacin de s mismo. Los bucles pueden generar errores.

Por ejemplo, el caso de uso Inicio de sesin de un sitio web normal puede incluir Registrar nuevo usuario, pero solamente cuando el usuario todava no tiene una cuenta. Para descomponer un caso de uso en elementos principales y elementos de extensin 1. 2. Cree el nuevo caso de uso de extensin y asgnele un nombre. Cree una relacin de extensin; la flecha deber apuntar al caso de uso extendido. a. En el cuadro de herramientas, haga clic en Extend. b. Haga clic en el caso de uso de extensin (Registrar nuevo usuario en el ejemplo). c. Haga clic en el caso de uso extendido (Inicio de sesin en el ejemplo).

Nota Evite crear un bucle de relaciones de extensin en el diagrama. No es correcto que un caso de uso sea una extensin de s mismo.

3. 4.

Si ya ha creado los escenarios del caso de uso extendido, transfiera los pasos pertinentes al escenario de la extensin. La descripcin de la extensin (Registrar nuevo usuario en el ejemplo) debe incluir los detalles acerca de en qu lugar de los escenarios de caso de uso principales va a producirse y en qu circunstancias. Debe concebirse como una modificacin de la descripcin del caso principal.

89

El caso de uso de extensin representa los pasos del escenario que, de otro modo, formaran parte de los escenarios del caso de uso principal. El escenario y el objetivo de la extensin siempre se interpretarn en el contexto del caso de uso principal y, por tanto, no es necesario que resulten tiles por separado. Descomponer las extensiones puede resultar til para describir estas situaciones: Hay actores adicionales que solamente estn implicados en el caso de uso de extensin. Por ejemplo, es necesario que un administrador apruebe el registro de un cliente en el sitio web. Un subsistema independiente se ocupar del caso de uso de extensin. Esta extensin solamente estar disponible en versiones concretas del sistema. Puede mostrar cada versin como un subsistema independiente en el diagrama de casos de uso.

Usar lmites de sistema


Utilice un lmite de subsistema para mostrar qu casos de uso estn dentro del mbito del sistema.

Para dibujar un lmite de subsistema


1. En el cuadro de herramientas, haga clic en Subsistema y, a continuacin, en el diagrama. Aparecer un subsistema en el diagrama. 2. 3. -O bienPara crear directamente un nuevo caso de uso en un subsistema, en el cuadro de herramientas, haga clic en Caso de uso y, a continuacin, haga clic en el interior del subsistema. Arrastre las esquinas del subsistema para ajustar su tamao. Arrastre los casos de uso existentes fuera o dentro del subsistema hasta ajustar su contenido.

Nota
La propiedad Subjects de un caso de uso indica qu subsistema es el que est incluido.

Casos de uso fuera del mbito del sistema


Normalmente, resulta til incluir en el diagrama casos de uso que forman parte del negocio pero no tienen relacin con el sistema que se est desarrollando. Esto ayuda a los desarrolladores de software a entender el contexto de su trabajo. Por ejemplo, Enviar men podra presentarse como un caso de uso en el que estn implicados los actores Restaurante y Cliente, pero podra quedar fuera de la responsabilidad del sitio web de pedidos de mens. Varios subsistemas Puede crear diversos lmites de subsistema para representar el modo en que casos de uso diferentes tienen relacin con distintos componentes del sistema. Por ejemplo, Agregar valoracin del restaurante se puede tener relacin con un sitio web de foros independiente. Recuerde que un diagrama de casos de uso debera tratar de aquello que es visible para el usuario. Si desea describir la divisin interna del trabajo del sistema, considere la posibilidad de utilizar un diagrama de componentes.

90

Versiones del sistema Puede utilizar diferentes lmites de subsistema para mostrar distintas versiones del sistema. Por ejemplo, el caso de uso Pagar podra estar incluido en la versin 2 del sitio web, pero no en la versin 1. Esto significa que el sistema ayuda a los clientes a realizar sus pedidos. Sin embargo, los clientes tienen que pagar al restaurante directamente. Utilice las relaciones de dependencia para vincular subsistemas que representan variantes o versiones diferentes.

91

También podría gustarte