Está en la página 1de 12

TECNICATURA UNIVERSITARIA EN INFORMATICA SISTEMAS II

UNIDAD N 7 Diagrama de Comunicacin UML 2.0 (ex de colaboracin)


Un diagrama de comunicacin es una forma de representar interaccin entre objetos, alterna al diagrama de secuencia. Es un diagrama de clases que contiene roles de clasificador y los roles de asociacin en lugar de solo clasificadores y asociaciones. Cuando se instancia la colaboracin, los objetos estn ligados a los roles de clasificador y los enlaces estn ligados a los roles de asociacin. El rol de asociacin tambin puede ser desempeado por varios tipos de enlaces temporales, tales como argumentos de procedimientos o variables locales del procedimiento. Los smbolos del enlace pueden llevar estereotipos para indicar enlaces temporales (<<parameter>> o <<local>>) o llamadas al mismo objeto (<<self>>). Pretende representar desde un punto de vista esttico y dinmico los objetos implicados en la implementacin de una funcin de aplicacin A diferencia de los diagramas de secuencia, pueden mostrar el contexto de la operacin (cules objetos son atributos, cules temporales, etc.) y ciclos en la ejecucin. Se toma como ejemplo el caso de uso PedirProducto ya descrito como diagrama de secuencia.

Solamente se representan los objetos que estn implicados en la colaboracin, aunque puede haber otros en el sistema completo. Los diagramas de comunicacin muestran interacciones entre objetos, insistiendo ms particularmente en la estructura espacial esttica que permite la colaboracin de un grupo de objetos. Los diagramas de comunicacin expresan a la vez el contexto de un grupo de objetos (a travs de objetos y enlaces) y la interaccin entre esos objetos (por la representacin de envos de mensajes). Los diagramas de comunicacin son una extensin de los diagramas de objetos.

LIC. CONTRERAS PAMELA

TECNICATURA UNIVERSITARIA EN INFORMATICA SISTEMAS II

Es til marcar los objetos en cuatro grupos: Los que existen con la interaccin entera. Los creados durante la interaccin (restriccin {new}) Los destruidos durante la interaccin (restriccin {destroyed} o {delete}) Y los que se crean y destruyen durante la interaccin (restriccin {trasient}) Durante el diseo, se puede empezar mostrando los objetos y los enlaces disponibles al comienzo de una operacin y despus decidir cmo el control puede fluir a los objetos correctos dentro del grfico para implementar la operacin.

1.1 Contexto
El contexto es una vista parcial esttica de los objetos que se comunican para realizar una funcin. Corresponde pues, normalmente, a una parte, una vista local de un modelo de objetos que restringe o proporciona el ambiente para sus elementos. Los elementos estticos representados (clases, instancias, atributos, enlaces, asociaciones, etc.), deben utilizarse obligatoriamente en la funcin descripta, lo cual permite mejorar notablemente la legibilidad del diagrama. El contexto de una interaccin comprende los argumentos, las variables locales creadas durante la ejecucin, as como los enlaces entre objetos que participan en la interaccin. Aunque las comunicaciones muestran directamente la implementacin de una operacin, pueden tambin mostrar la realizacin de una clase entera. En este uso, muestran el contexto necesario para implementar todas las operaciones de una clase. Esto permite que el modelador vea los roles mltiples que los objetos pueden desempear en varias operaciones. Esta vista puede ser construida tomando la unin de todas las comunicaciones necesarias para describir todas las operaciones del objeto.

1.2 Objeto
Un objeto se representa con un rectngulo, que contiene el nombre y la clase del objeto en un formato nombreObjeto: nombreClase. 1.2.1 Objeto compuesto En esta representacin se muestran los objetos contenidos dentro del rectngulo que representa al objeto que los contiene. Representa un objeto de alto nivel construido con piezas unidas firmemente. Es una instancia de una clase compuesta, lo que implica la relacin de agregacin entre la clase y sus partes. Un ejemplo es el siguiente objeto ventana:

LIC. CONTRERAS PAMELA

TECNICATURA UNIVERSITARIA EN INFORMATICA SISTEMAS II

1.2.2 Objetos activos Los objetos que poseen el flujo de control se llaman activos. Un objeto activo puede activar un objeto pasivo por el tiempo de una operacin envindole un mensaje. Una vez tratado el mensaje el flujo de control se restituye al objeto activo. En un entorno multitarea varios objetos pueden estar activos simultneamente. Un objeto activo se representa por un rectngulo cuyo borde es ms grueso que el de los objetos pasivos.

1.2.3. Objetos mltiples (Multiobjetos) Alude a un rol de clasificador que denota un conjunto de objetos y no un objeto nico. Generalmente es el conjunto de objetos del extremo muchos de una asociacin.

LIC. CONTRERAS PAMELA

TECNICATURA UNIVERSITARIA EN INFORMATICA SISTEMAS II

1.3 Enlaces
Un enlace es una instancia de una asociacin en un diagrama de clases. Se representa como una lnea continua que une a dos objetos. Esta acompaada por un nmero que indica el orden dentro de la interaccin y por un estereotipo que indica que tipo de objeto recibe el mensaje. Pueden darse varios niveles de subndices para indicar anidamiento de operaciones. Los estereotipos indican si el objeto que recibe el mensaje es un atributo (association y se asume por defecto), un parmetro de un mensaje anterior, si es un objeto local o global. La notacin permite representar de manera condensada una familia de enlaces, instancias de una misma asociacin. Esta aproximacin es particularmente interesante cuando el grupo de objetos considerado se trata de manera uniforme siendo, por ejemplo, destino de un mismo mensaje.

1.4

Marcadores de creacin y destruccin de objetos

Los diagramas de comunicacin muestran simultneamente las interacciones entre objetos y las relaciones estructurales que permiten estas interacciones. Los objetos y los enlaces creados o destruidos en el transcurso de una interaccin pueden, respectivamente, contener las restricciones {nuevo} en ingls {new} o {destruido}en ingls {destroyed} o {delete}. Los objetos creados y luego destruidos dentro de la misma interaccin, se identifican por la restriccin {transitorio} en ingls {trasient}.

1.5

Interacciones

Las interacciones ente objetos descriptas en un diagrama de comunicacin son secuencias de mensajes intercambiados por los objetos en el marco de la realizacin de una operacin. Primero es necesario implementar el contexto, antes de definir las interacciones. 1.5.1 Mensajes Los mensajes se muestran como flechas etiquetadas unidas a los enlaces. Cada mensaje tiene un nmero de secuencia, una lista opcional de mensajes precedentes, una condicin opcional de guarda, nombre y lista de argumentos, y un nombre de valor de retorno opcional. El nmero de serie incluye el nombre (opcional) de un hilo. Todos los mensajes del mismo hilo se ordenan secuencialmente. Los mensajes de diversos hilos son concurrentes a menos que haya una dependencia secuencial explcita. Pueden aadirse varios detalles de implementacin, como por ejemplo una distincin entre mensajes sncronos y asncronos. 1.5.1.1 Etiqueta del mensaje. Las etiquetas tienen la siguiente sintaxis:

LIC. CONTRERAS PAMELA

TECNICATURA UNIVERSITARIA EN INFORMATICA SISTEMAS II

Predecesor (tambin llamada sincronizacin): en una colaboracin, el predecesor es una lista de nmeros de secuencia separadas pos comas y seguidos por una barra (/) Nmero de secuencia lista /

La clusula se omite si la lista est vaca. Todo nmero de secuencia es una expresin de secuencia sin trminos de recurrencia. Tiene que coincidir con el nmero de secuencia de algn otro mensaje. El significado es que el flujo de mensajes no queda habilitado mientras no se hayan producido todos los flujos de mensajes cuyos nmeros de secuencia estn enumerados (un hilo puede ir ms all del flujo de mensajes y la condicin de guarda seguir cumplindose). Por lo tanto, condicin de guarda representa una sincronizacin de hilos. En el ejemplo siguiente, el mensaje se enva cuando los envos 1.1 y 1.3 han sido satisfechos.

Expresin de secuencia: la expresin de secuencia es una lista de trminos de secuencia separados por puntos y seguida por dos puntos ( ' : '). Cada trmino representa un nivel de anidamiento procedural dentro de la interaccin global. Si es concurrente todo el control, entonces no se produce el anidamiento. Todos los trminos de la secuencia poseen la siguiente sintaxis: Etiqueta recurrencia opt En donde etiqueta es entero o bien nombre. El entero representa el orden secuencial del nivel inmediatamente superior de llamadas a procedimientos mensaje dentro del

Por ejemplo: el mensaje 3.1.4 sigue al 3.1.3 dentro de la activacin 3.1. El nombre representa un hilo de control concurrente. Los mensajes que difieren en el nombre final son concurrentes en ese nivel de anidamiento. Por ejemplo: el mensaje 3.1a y el mensaje 3.1b son concurrentes dentro de la activacin 3.1. todos los hilos de control son iguales dentro de cada profundidad de anidamiento. La recurrencia representa la ejecucin condicional o iterativa. Esto indica cero o ms mensajes que se ejecutan, dependiendo de las condiciones. Las opciones son:

LIC. CONTRERAS PAMELA

TECNICATURA UNIVERSITARIA EN INFORMATICA SISTEMAS II

Una iteracin representa una secuencia de mensajes en la profundidad de anidamiento dada. La clusula de iteracin se puede omitir (en cuyo caso las condiciones de iteracin no estarn especificadas). La clusula de iteracin debera expresarse en pseudocdigo o en algn lenguaje de programacin real; UML no prescribe su formato. Un ejemplo podra ser : *[i:=l...n] La notacin de iteracin supone que los mensajes de la iteracin se ejecutan secuencialmente. Tambin existe la posibilidad de ejecutarlos concurrentemente. La notacin empleada consiste poner una doble lnea vertical, indicadora de paralelismo, despus del asterisco: ( * ||). Una condicin representa un mensaje cuya ejecucin es contingente respecto a la veracidad de la clusula de condicin. La clusula de condicin debera expresarse en pseudocdigo o en un lenguaje de programacin real; UML no prescribe su formato. Un ejemplo podra ser: [x>y] Obsrvese que las bifurcaciones se anotan igual que una interaccin sin asterisco. Puede pensarse que se trata de una iteracin limitada a un solo caso. La clusula de condicin valida o no el envo de mensajes contenidos por el bloque. La clusula de condicin se expresa en un formato libre:

LIC. CONTRERAS PAMELA

TECNICATURA UNIVERSITARIA EN INFORMATICA SISTEMAS II

Signatura: una signatura es una cadena que indica el nombre, argumentos y valor proporcionado por una operacin, mensaje o seal. Posee las siguientes propiedades:

Lista-de-valores-proporcionados: lista de nombres, separados por comas que denota los valores proporcionados por el mensaje en la ejecucin subsiguiente de la interaccin global. Si el mensaje no proporciona ningn valor se omite. Lista-valores-retorno (resultado): El resultado est constituido por la lista de valores devueltos por el mensaje. Estos valores pueden utilizarse como parmetros de los otros mensajes comprendidos en la interaccin. Este campo no existe en ausencia de valores devueltos. El formato de este campo es libre:

Nombre-mensaje: es el nombre del evento surgido en el objeto destino (suele ser el evento que solicita la realizacin de una operacin) . Puede implementarse de varias maneras: una de las cuales es una llamada a una operacin. Si se implementa mediante una llamada a procedimiento, entonces se trata del nombre de la operacin y esa operacin tiene que estar definida en la clase receptor, o debe ser heredada por l. En otros casos puede ser el nombre de un evento que surge en el objeto receptor. En la prctica habitual, con sobrecarga de procedimientos, para identificar a una operacin se necesita tanto el nombre del mensaje como la lista de tipos de los argumentos. Lista-argumentos: Se trata de una lista de parmetros del mensaje; es una lista de argumentos, separados por comas, encerrados entre parntesis. Se pueden utilizar los parmetros an cuando la lista est vaca. Los argumentos y el nombre del mensaje identifican de manera nica la accin que debe emprenderse en el objeto destinatario. Los argumentos pueden contener valores devueltos por mensajes enviados anteriormente, as como expresiones de navegacin construidas a partir del objeto fuente. Notacin: Sincronizacin: / Secuencia: . Iteracin: *[ ] Iteracin en paralelo: * Resultados: := Argumentos: ( ) Ejemplos de mensajes Las expresiones siguientes dan algunos ejemplos de la sintaxis de envo de mensajes:

LIC. CONTRERAS PAMELA

TECNICATURA UNIVERSITARIA EN INFORMATICA SISTEMAS II

1.5 Actor La notacin permite incluir a un actor en un diagrama de comunicacin para representar el desencadenamiento de las interacciones por un elemento externo al sistema. Gracias a este artificio la interaccin puede describirse de manera ms abstracta, sin entrar en detalles de los objetos de la interfaz del usuario. El primer mensaje de la interaccin es enviado por el actor, representado bien por el smbolo grfico de los actores del modelo de los casos de uso, o bien por un objeto con un estereotipo que precisa su calidad de actor. El siguiente diagrama muestra un fragmento de interaccin, que corresponde a una llamada de cabina de ascensor por parte de una persona.

LIC. CONTRERAS PAMELA

TECNICATURA UNIVERSITARIA EN INFORMATICA SISTEMAS II

1.6 Opciones de representacin. Los argumentos de los mensajes se representan en los diagramas, ya sea utilizando pseudocdigo, o bien directamente en la sintaxis del lenguaje de programacin. En lugar de emplear esas expresiones textuales para los argumentos y valores proporcionados, la notacin propone tambin una representacin grfica de los argumentos en forma de flechas terminadas por pequeos crculos. El siguiente diagrama da un ejemplo de representacin grfica de argumentos de un mensaje.

Un smbolo es un circulito etiquetado con la expresin de argumento o con el nombre de valor proporcionado. Posee una flecha pequea apuntando en el sentido del mensaje (cuando es un argumento) o en direccin contraria al mensaje (para un valor proporcionado) .

1.7

Expresiones en metamodelo

1.7.1 Las colaboraciones Una colaboracin es un mecanismo compuesto de elementos estructurales y de comportamiento. Las colaboraciones proporcionan un mecanismo de organizacin pero poseen, contrariamente a los paquetes, una identidad y un mbito semntico. Un mismo elemento puede intervenir en varias colaboraciones. Una colaboracin engloba dos gneros de construccin: un contexto compuesto de una descripcin de la estructura esttica de los objetos afectados y una interaccin representada por una secuencia de mensajes intercambiados por dichos objetos. Se requieren los dos aspectos para documentar plenamente el comportamiento, pero cada aspecto puede visualizarse independientemente. Las colaboraciones emplean segn el nivel de detalle, para describir especificaciones y para expresar realizaciones. La siguiente tabla resume los elementos de modelado que pueden ser descriptos por una colaboracin.

Especificacin Realizacin Clase

Tipo

Operacin Mtodo

Caso de uso Realizacin caso de uso

LIC. CONTRERAS PAMELA

TECNICATURA UNIVERSITARIA EN INFORMATICA SISTEMAS II

Las colaboraciones existen tambin bajo la forma genrica (modelo), parametrizada por clases, relaciones, atributos y operaciones. Una colaboracin genrica se llama pattern, o esquema y microarquitectura. Los patterns poseen siempre un nombre, contrariamente a las colaboraciones que pueden ser annimas.

1.7.2

Las interacciones

Una interaccin expresa el comportamiento que resulta de la colaboracin de un grupo de instancias. Una interaccin puede visualizarse segn el punto de vista del tiempo (por los diagramas de secuencia) o segn el punto de vista del espacio (por los diagramas de comunicacin). Las interacciones comprenden principalmente los siguientes elementos: las instancias que son la manifestacin concreta de un tipo; los enlaces que enlazan las instancias y sirven de soporte para los envos de mensaje; los mensajes que desencadenan las operaciones; las funciones implementadas por los extremos de los mensajes. 1.7.3 Rol de asociacin: Es una conexin de dos roles de clasificador dentro de una colaboracin. Asociacin entre dos clasificadores que se aplica slo a un cierto contexto especificado por una condicin. Es una asociacin que est definida y tiene significado slo en el contexto descrito por una colaboracin. Los roles de asociacin son parte estructural clave de las colaboraciones, pues permiten describir relaciones contextuales. Dentro de una colaboracin, un rol de clasificador denota una aparicin individual de un clasificador, distinta de otras apariciones del clasificador y distinta tambin de la propia declaracin del clasificador. Se representa mediante una ruta entre dos smbolos de rol de clasificador. Notacin: Nombre-Rol-Asociacin Nombre-asociacin-base 1.7.4 Rol de clasificador: Es ranura de una colaboracin que describe el rol desempeado por un participante en una colaboracin. Una colaboracin describe un patrn de interaccin entre un conjunto de participantes, que son instancias de clases o de tipos de datos. Un rol de clasificador es la descripcin de un participante. Cada rol es un uso diferente del clasificador en un contexto propio y nico. Puede haber ms de un rol para el mismo clasificador, cada uno de los cuales tendr un conjunto diferente de relaciones con otros roles dentro de una colaboracin. Sin embargo, un rol no es un objeto individual, sino una descripcin de todos los objetos que pueden tomar parte en una instancia de una colaboracin. En cada instancia de la colaboracin, los roles sern desempeados por distintos objetos y enlaces. Un rol de clasificador tiene una referencia a un clasificador (clasificador base) y una multiplicidad. El clasificador base restringe el tipo de objeto que puede desempear el rol de clasificador. La clase del objeto puede ser la misma o un descendiente del clasificador base. La multiplicidad indica cuntos objetos pueden desempear el rol a la vez en una instancia de la

LIC. CONTRERAS PAMELA

10

TECNICATURA UNIVERSITARIA EN INFORMATICA SISTEMAS II

colaboracin. El mismo objeto puede desempear diferentes roles en distintas colaboraciones. Una colaboracin representa una faceta del objeto. Por ejemplo:

Notacin: nombre-rol: clase-base

Cuadro ejemplo resumen:

LIC. CONTRERAS PAMELA

11

TECNICATURA UNIVERSITARIA EN INFORMATICA SISTEMAS II

Versin de UML 2.0

Diagramas De Comunicacin. Un diagrama de la comunicacin, antes llamado diagrama de colaboracin, es un diagrama de la interaccin que muestra informacin similar a la de los diagramas de secuencia pero su foco primario se fija en las relaciones del objeto.

En los diagramas de comunicacin, los objetos se muestran con los conectores de la asociacin entre ellos. Los mensajes se agregan a las asociaciones como flechas que sealan en la direccin del flujo del mensaje. La secuencia de mensajes se muestra con un esquema de enumeracin.

Los dos diagramas siguientes demuestran un diagrama de comunicacin y el diagrama de secuencia que muestra la misma informacin. Aunque es posible derivar el orden de los mensajes en el diagrama de la comunicacin mediante la enumeracin, l no se visualiza inmediatamente.

LIC. CONTRERAS PAMELA

12

También podría gustarte