Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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.
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
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.
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.
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.
Recursos externos
Categora
Videos
Vnculos
Foros
Blogs
Blog de Visual Studio Architecture, Visualization, and Modeling Tools Layer Validation Dependency Graphs and DGML
Otros sitios
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
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.
Descripcin
Tipo de artefacto, como clase, espacio de nombres, archivo de origen, etc.
Capa
Admite validacin
Identificador
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.
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.
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
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.
Forma
1
Elemento
Action
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.
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.
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
Merge Node
Tiene dos o varias entradas y una nica salida. Un token de alguna de la emerge en la salida.
Comment
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)
Actividad
Is Single Execution: si es true, se produce como mximo una ej de este diagrama a la vez.
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
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
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
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
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
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.
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.
16
Nota
La actividad solo aparecer en el Explorador de modelos UML cuando agregue el primer elemento al diagrama.
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.
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.
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
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.
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.
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
22
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.
24
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.
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
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.
30
Forma
1
Elemento
Componente
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.
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.
31
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
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
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.
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
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
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
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.
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.
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
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.
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.
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.
Disear el componente
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.
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.
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.
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.
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.
situado en la parte superior izquierda del clasificador. Es posible que ta hacer clic en el icono [+] de cada segmento.
Attribute
presioneENTRAR. Escriba la forma del atributo. Para obtener ms info Propiedades de los atributos de diagramas de clases de UML.
Operacin
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 rol
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
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
44
Forma
10
Elemento
Interface
Descripcin
Definicin de parte del comportamiento de un objeto que puede observarse desde el ext
11
Enumeracin
12
Paquete
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
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
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
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.
Si dibuj:
Diagrama de actividades
Diagrama de secuencia
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.
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.
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.
4.
5.
6.
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.
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
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.
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
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]
[0..1]
[*]
[1..*]
[n..m]
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
Private
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.
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
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.
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.
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:
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:
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.
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.
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
58
Puede hacer que aparezca un smbolo de actor en la parte superior de una lnea de estableciendo su propiedad Actor.
Mensaje sincrnico
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
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
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
10
Mensaje perdido
11
Comentarios
12
Uso de interaccin
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
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.
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
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.
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.
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
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.
63
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.
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.
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.
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
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.
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.
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.
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.
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.
70
Nota El nombre del grupo se perder, as como cualquier vnculo entre el grupo y los comentarios o elementos de trabajo.
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.
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.
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.
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.
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.
Forma
1
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
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
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.
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.
76
Forma
1
Elemento
Actor
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
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.
77
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
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.
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.
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 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.
86
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.
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.
Nota
La propiedad Subjects de un caso de uso indica qu subsistema es el que est incluido.
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