138
DIAGRAMA DE COLABORACIÓN ->Ángel Limón Cabrera<-

Un diagrama de colaboración es una forma de representar interacción entre objetos

Embed Size (px)

Citation preview

Page 1: Un diagrama de colaboración es una forma de representar interacción entre objetos

DIAGRAMA DE COLABORACIÓN

->Ángel Limón Cabrera<-

Page 2: Un diagrama de colaboración es una forma de representar interacción entre objetos

Qué es un diagrama de colaboración?

Un diagrama de colaboración es una forma de representar interacción entre objetos .

Page 3: Un diagrama de colaboración es una forma de representar interacción entre objetos

En que consiste un diagrama de colaboración ?

Muestra cómo las instancias específicas de las clases trabajan juntas para conseguir un objetivo común.

Consiste especificar un contrato entre objetos Implementa las asociaciones del diagrama de

clases mediante el paso de mensajes de un objeto a otro. Dicha implementación es llamada "enlace".

Page 4: Un diagrama de colaboración es una forma de representar interacción entre objetos

¿Que representa el algoritmo de colabora ración?

• Representa la parte esencial para la descripción de un patrón de diseño.

Page 5: Un diagrama de colaboración es una forma de representar interacción entre objetos

DIAGRAMA DE COLABORACION Un Diagrama de Colaboración muestra una interacción organizada basándose en los objetos que toman parte en la interacción y los enlaces entre los mismos (en cuanto a la interacción se refiere). UML –InteraccionesLos objetos interactúan entre sí pasándose mensajes.Los objetos se conectan a través de enlaces.Mensaje: especifica transmisión de información entre objetos.Enlace: especifica un camino a lo largo del cual un objeto puede enviar un mensaje a otro objeto.Es una conexión semántica entre objetos.Es una instancia de una relación.Puede contener los adornos de la relación.

Page 6: Un diagrama de colaboración es una forma de representar interacción entre objetos

Las Interacciones modelan aspectos dinámicos del sistema

Llamada.-Invoca una operación sobre un objeto. Puede ser a sí mismo.

Retorno.-El receptor de una llamada devuelve un valor al emisor, si es necesario.

Envío.- Envía una señal a un objeto.

Page 7: Un diagrama de colaboración es una forma de representar interacción entre objetos

Creación.- Para crear un objeto.

Destrucción.- Para destruir un objeto. Puede destruirse a sí mismo.

Secuenciación• El flujo de mensajes forma una secuencia.• La secuencia es indicada por un número antes del mensaje y

una flecha dirigida.• Para modelar caminos alternativos, se coloca el mismo

número de secuencia seguido de un número de subsecuencia.

Page 8: Un diagrama de colaboración es una forma de representar interacción entre objetos

Secuenciación

Parámetros . Reales Se pueden modelar los parámetros reales enviados y también los retornos. Ej: 1.2.1: x:=operación(‘m’)

Page 9: Un diagrama de colaboración es una forma de representar interacción entre objetos

Elementos de un Diagrama de Colaboración

• Objetos o Roles: nodos del grafo.• Enlaces o comunicaciones: arcos del grafo.• Mensajes: llevan número de secuencia y flecha dirigida.• Anidamiento: se utiliza la numeración decimal Ej: 1,

1.1, 1.1.1 ........• Iteración: colocar un * antes del número de secuencia y

una cláusula de condición, si es necesario. ej. *[x>0].• Bifurcación: los caminos alternativos tendrán el mismo

número de secuencia, seguido del número de subsecuencia, y se deben distinguir por una condición.

Page 10: Un diagrama de colaboración es una forma de representar interacción entre objetos

Ejemplo: Un lector solicita un libro al bibliotecario, y le brinda su título. El bibliotecario busca el libro en un índice y solicita al

asistente que le alcance el libro.Diagrama de secuencia

Solicita un libro brindándole el titulo busca el libro devuelve información solicita que le alcance el libro el libro es entregado entrega el libro

LECTOR BIBLIOTECARIO ASISTENTEINDICE

Page 11: Un diagrama de colaboración es una forma de representar interacción entre objetos

Diagrama de colaboración 5:El libro es entregado()

4:Solicita que le alcance el libro () 2:Busca el libro () 3:devuelve información () 6:Entrega libro ()

1:Solicita libro ()

dándole el titulo ()

LECTOR

BIBLIOTECARIO

ASISTENTE

INDICE

Page 12: Un diagrama de colaboración es una forma de representar interacción entre objetos

DEPENDENCIAS

¿De qué artefactos depende su construcción?R.- Su construcción depende de:

Los casos de uso (expandidos). Diagrama de secuencias. Diagrama de Clases.

Page 13: Un diagrama de colaboración es una forma de representar interacción entre objetos

¿Qué otros artefactos se generan a través de él?

R.- Los artefactos que se generan son: Diagramas de Estado. Diagrama de Componentes. Diagrama de Despliegue

Page 14: Un diagrama de colaboración es una forma de representar interacción entre objetos

¿En qué etapa se realiza su construcción?

Este tipo de diagramas se utilizan más frecuentemente en la fase de diseño, es decir, cuando estamos diseñando la implementación de las relaciones.

Page 15: Un diagrama de colaboración es una forma de representar interacción entre objetos

EJEMPLO DE APLICACIÓN

CONTROL DE SEGURIDAD DEL HOTEL PLAZA

Page 16: Un diagrama de colaboración es una forma de representar interacción entre objetos

En cuanto a la representación, un Diagrama de Colaboración muestra a una serie de objetos con los enlaces entre los mismos, y con los mensajes que se intercambian dichos objetos.

Los mensajes son flechas que van junto al enlace por el que “circulan”, y con el nombre del mensaje y los parámetros (si los tiene) entre paréntesis. Cada mensaje lleva un número de secuencia que denota cuál es el mensaje que le precede, excepto el mensaje que inicia el diagrama, que no lleva número de secuencia.

Page 17: Un diagrama de colaboración es una forma de representar interacción entre objetos

Se pueden indicar alternativas con condiciones entre corchetes (por ejemplo: [condición_de_test] : nombre_de_método() ), tal y como aparece en el ejemplo.También se puede mostrar el anidamiento de mensajes con números de secuencia como 2.1, que significa que el mensaje con número de secuencia 2 no acaba de ejecutarse hasta que no se han ejecutado todos los 2. x .

Page 18: Un diagrama de colaboración es una forma de representar interacción entre objetos

Elementos básicos para el diagrama de Colaboración

ObjetoUn objeto se representa con un rectángulo, que contiene el nombre y la clase del objeto en un formato nombreObjeto: nombreClase.

EnlacesUn enlace es una instancia de una asociación en un diagrama de clases. Se representa como una linea contínua que une a dos objetos. Esta acompañada por un número que indica el orden dentro de la interacción y por un estereotipo que indica que tipo de objeto recibe el mensaje.

Page 19: Un diagrama de colaboración es una forma de representar interacción entre objetos

Flujo de mensajesExpresa el envío de un mensaje. Se representa mediante una flecha dirigida cercana a un enlace.

Marcadores de creación y destrucción de objetosPuede mostrarse en la gráfica cuáles objetos son creados y destruidos, agregando una restricción con la palabra new o delete, respectivamente, cercana al rectángulo del objeto

Page 20: Un diagrama de colaboración es una forma de representar interacción entre objetos

Objeto compuestoEs una representación alternativa de un objeto y sus atributos. En esta representación se muestran los objetos contenidos dentro del rectángulo que representa al objeto que los contiene. Un ejemplo es el siguiente objeto vehículo.

Vehículo_hotel1:Vehículo

MT-1234 : Motor

FR-00145 : Frenos

TR-4583 : Transmisión

Page 21: Un diagrama de colaboración es una forma de representar interacción entre objetos

Ejemplo:Caso de Uso: Pago por servicios. Actores: Administrador, Agente, Huésped (inicia).Propósito: Controlar que el huésped cancele su estadía y los servicios solicitados.Tipo: Primario y esencial.Descripción: El agente designado en administración controla que el huésped cancele su estadía en el hotel y los servicios solicitados.

CURSO NORMAL DE LOS EVENTOS

ACCIÓN DEL ACTOR RESPUESTA DEL SISTEMA

1.- Se inicia cuando el huésped desea retirarse del hotel.2.- El agente revisa que no exista daños ni perdidas durante la estadía del huésped. 3.- El administrador calcula el saldo que debe cancelar, y pide la cancelación total al huésped 4.- El huésped cancela al administrador y este le proporciona una factura. 6.- El administrador recibe las llaves de la habitación.7.- El huésped se retira.

      5.- El sistema actualiza el pago del huésped.   

Page 22: Un diagrama de colaboración es una forma de representar interacción entre objetos

EJEMPLO: HOTEL PLAZA

Page 23: Un diagrama de colaboración es una forma de representar interacción entre objetos

CONCLUSIÓN

Page 24: Un diagrama de colaboración es una forma de representar interacción entre objetos

Un diagrama de colaboración es un tipo de diagrama que muestra las interacciones entre objetos organizadas y enlazados entre ellos.

Page 25: Un diagrama de colaboración es una forma de representar interacción entre objetos

A continuación tenemos los titulos fundamentales de un diagrama de colaboración:

1.- Objeto2.- Enlaces

3.- Objeto compuesto

4.- Patrón de diseño5.- Contexto6.- Objeto activo:

Page 26: Un diagrama de colaboración es una forma de representar interacción entre objetos

Un uso de un diagrama de colaboración es mostrar la implementación de una operación. La colaboración muestra los parámetros y las variables locales de la operación, así como asociaciones más permanentes. Cuando se implementa el comportamiento, la secuencia de los mensajes corresponde a la estructura de llamadas anidadas y el paso de señales del programa.

 

Page 27: Un diagrama de colaboración es una forma de representar interacción entre objetos

Un diagrama de colaboración muestra relaciones entre roles geométricamente y relaciona los mensajes con las relaciones, pero las secuencias temporales están menos claras

Prefieren el diagrama de colaboración, porque pueden usar la distribución para indicar cómo se conectan estáticamente los objetos

Page 28: Un diagrama de colaboración es una forma de representar interacción entre objetos

DIAGRAMA DE CLASE

Page 29: Un diagrama de colaboración es una forma de representar interacción entre objetos

Diagrama de clase

Es el más utilizado y más conocido de los diagramas orientados a objetos. Es la fuente de generación de código.

El diagrama de clase representa clases, sus partes y la forma en la que las clases de los objetos están relacionados con otro.

Una clase es una definición de un tipo de objeto.

Page 30: Un diagrama de colaboración es una forma de representar interacción entre objetos

Partes del diagrama de clases Atributos: describe las características de una

clase de objetos. Operaciones: define el comportamiento de una

clase de objetos Estereotipos: ayuda a entender este tipo de

objeto en el contexto de otras clases de objetos con roles similares dentro del diseño del sistema.

Asociación: es un término formal para un tipo de relación.

Herencia: permite organizar las definiciones de la clase para simplificar y facilitar su implementación.

Page 31: Un diagrama de colaboración es una forma de representar interacción entre objetos

Clases Las clases son descripciones de un juego de

objetos con características, comportamiento, relaciones y semánticas

comunes. Se usan para modelar un juego de conceptos o entidades.

› Se denotan con un rectángulo con compartimentos.› En ellos se ponen el nombre, los atributos, las

operaciones y además se pueden usar para anotar otras propiedades del modelo como son (reglas del negocio, responsabilidades, excepciones, etc.)

› Pueden tener interfaces para especificar conjuntos de operaciones proporcionadas a su ambiente. Todas las operaciones deben estar asociadas a métodos.

› Pueden tener relaciones de generalización con otras clases.

Page 32: Un diagrama de colaboración es una forma de representar interacción entre objetos

Atributos

• Son descripciones de características, se usan para modelar información asociada con una entidad, sintaxis:Nombre_atributo[multiplicidad]:Tipo =

Valor_inicial

• La multiplicidad es opcional e indica el número de atributos por instancia de la clase.

Page 33: Un diagrama de colaboración es una forma de representar interacción entre objetos

Operaciones

• Son descripciones del comportamiento, se usan para modelar los servicios u operaciones asociados con una entidad, esto es, lo que una entidad puede hacer, sintaxis:Nombre_operación[parámetros:tipo]:Valor_retorno:tipo

Page 34: Un diagrama de colaboración es una forma de representar interacción entre objetos

Interfaces

Son clases que definen un juego de operaciones externas accesibles pero sin métodos. Se usan para modelar una serie de operaciones que definen un servicio que puede ser ofrecido por diferentes clases.

Se representan como clases pero con el estereotipo <<interface>>.

Solo contienen operaciones públicas

Page 35: Un diagrama de colaboración es una forma de representar interacción entre objetos

Todos los diagramas soportan el Diagrama de Clase

Diagrama de Clase

Diagrama de Estados

Diagrama de Colaboración

Diagrama de Secuencia

Diagrama de Objetos

Diagrama de Actividades

Casos deUso

Page 36: Un diagrama de colaboración es una forma de representar interacción entre objetos

Modelando Clases

• La representación de una clase es un rectángulo con 3 divisiones:– El del nombre define la clase, (un tipo de objeto).– El de los atributos contiene la definición de los

datos.– El de las operaciones contiene la definición de

cada comportamiento soportado por este tipo de objeto.

Page 37: Un diagrama de colaboración es una forma de representar interacción entre objetos

EjemploLa siguiente figura muestra un vuelo de una aerolínea

modelado como una clase UML.

Nombre

Atributos

Operaciones

Atributo: tipo de dato

Operación(parámetros:Tipo de dato):valor deretorno

Page 38: Un diagrama de colaboración es una forma de representar interacción entre objetos

Modelando un atributo

• Un atributo describe una pieza de información que un objeto tiene o conoce de sí mismo. Para poder usar esta información se debe asignar un nombre y especificar el tipo de dato.

• El tipo de dato puede ser primitivo o tipo de dato abstracto (definido)

• Cada atributo puede tener reglas que limiten los valores asignados a éste. Se puede usar un valor de default para protegerlo.

Page 39: Un diagrama de colaboración es una forma de representar interacción entre objetos

Visibilidad de un atributo La definición de un atributo debe especificar

que otros objetos los pueden ver. La visibilidad puede ser:› Public (+) permite el acceso a objetos de las otras

clases.› Private (-) limita el acceso a la clase, solo

operaciones de la clase tienen acceso.› Protected (#) permite el acceso a subclases. En el

caso de generalización (herencia), las subclases deben tener acceso a los atributos y operaciones de la superclase, sino no pueden heredar.

› Package (~) permite el acceso a los otros objetos en el mismo paquete.

Page 40: Un diagrama de colaboración es una forma de representar interacción entre objetos

Ejemplo Especificación de un atributoElemento Ejemplo

Nombre del atributo compañía

Tipo de dato compañía:character

Valor de default (si hay) compañía:character = espacios

Restricciones compañía:character = espacios {1 a 30}

Caracteres compañía:character = espacios{1 a 30 alfabéticos, espacios, puntuación, no especiales}

Visibilidad - compañía:character = espacios {1 a 30 alfabéticos, …….

Page 41: Un diagrama de colaboración es una forma de representar interacción entre objetos

Modelando una Operación

• Los objetos tienen comportamientos, cosas que puedan hacer y que se les puedan dar a éstos.

• Las operaciones requieren un nombre, argumentos y a veces un valor de retorno.

• Las reglas de privacidad se aplican en la misma forma que para los atributos: Private, Public, Protected y Package.

Page 42: Un diagrama de colaboración es una forma de representar interacción entre objetos

Ejemplo Especificación de una operaciónElemento EjemploNombre totalOrderAmount

Definir argumentos/Parámetros, corresponden a una instancia de Order

totalOrderAmount (order: integer)

Definir el tipo de dato de retorno

totalOrderAmount (order: integer) : Dollar

Identificar y describir restricciones

totalOrderAmount (order: integer) : {El total es la suma de cada item (p.u. x cantidad)

Visibilidad + totalOrderAmount (order: integer) : {El total es la suma ….

Page 43: Un diagrama de colaboración es una forma de representar interacción entre objetos

Diagrama de Clases: Asociaciones

• El propósito de la asociación puede expresarse en un nombre, verbo o frase que describa como los objetos de un tipo (clase) se relacionan con objetos de otro tipo (clase). Por ejemplo:

Una persona tiene un cocheUna persona maneja un coche• Multiplicidad: cuantos objetos van a participar en la relación

Page 44: Un diagrama de colaboración es una forma de representar interacción entre objetos

Asociaciones

Se indica el rol y la multiplicidad. Un vuelo está asociado con un avión y un avión puede tener asociados ninguno ó varios números de vuelo.

Page 45: Un diagrama de colaboración es una forma de representar interacción entre objetos

Pasos para el diagrama de clases

• Identificar las clases.• Mostrar los atributos y operaciones

(posteriormente)• Dibujar asociaciones• Etiquetar asociaciones y en caso necesario los

roles• Indicar multiplicidad• Dibujar fechas de dirección

Page 46: Un diagrama de colaboración es una forma de representar interacción entre objetos

Asociación Reflexiva

• Una clase puede asociarse con sí misma. Una clase Empleado puede relacionarse con sí misma a través del rol gerente/dirige.

• No significa que una instancia está relacionada consigo misma, sino que una instancia de la clase está relacionada con otra instancia de la misma clase.

Page 47: Un diagrama de colaboración es una forma de representar interacción entre objetos

Una instancia de Employee puede ser el gerente de otras instancias de Employee. Como el rol manages tiene una multiplicidad de 0…*, significa que puede no tener otros

empleados a quien dirigir. Una instancia de Employee tiene 1 sólo gerente ó un solo director.

Page 48: Un diagrama de colaboración es una forma de representar interacción entre objetos

Asociación Cualificada

• Un cualificador es un atributo de la clase en el lado opuesto de la asociación, que permite hacer una búsqueda en función a su valor. Por ejemplo “El cliente usa el numOrden para buscar una orden”.

• Un tipo de objeto usa el cualificador para accesar el otro tipo de objeto.

cliente ordennumOrden:int

Page 49: Un diagrama de colaboración es una forma de representar interacción entre objetos

Diagrama de Clase: Agregación y Composición

• Cada agregación es un tipo de asociación. • Cada composición es una forma de agregación.

Asociación

Agregación

Composción

Page 50: Un diagrama de colaboración es una forma de representar interacción entre objetos

AGREGACIÓN BASICA

• Es un tipo especial de asociación utilizado para modelar una relación “whole to its parts”.

• Por ejemplo, Coche es una entidad “whole” y Llanta es una parte del Coche.

• Una asociación con una agregación indica que una clase es parte de otra clase.

• En este tipo de asociación, la clase hijo puede sobrevivir sin su clase padre.

Page 51: Un diagrama de colaboración es una forma de representar interacción entre objetos

Para representar una relación de agregación, se dibuja una línea sólida de la clase padre (total) a la clase hijo (parte), y con un diamante en el lado de la clase padre.Una llanta puede existir sin automóvil

Page 52: Un diagrama de colaboración es una forma de representar interacción entre objetos

AGREGACIÓN/COMPOSICIÓN

• En este caso el ciclo de vida de una instancia de la clase hijo depende del ciclo de vida de una instancia de la clase padre.

• A diferencia de la agregación básica, para representarla el diamante no es hueco.

• Una instancia de la clase Company debe tener al menos una en la clase Departamento.

• En este tipo de relaciones, si una la instancia Company se elimina, automáticamente la instancia Departamento también se elimina.

• Otra característica importante es que la clase hijo solo puede relacionarse con una instancia de la clase padre.

Page 53: Un diagrama de colaboración es una forma de representar interacción entre objetos
Page 54: Un diagrama de colaboración es una forma de representar interacción entre objetos

Generalización• Son asociaciones entre elementos más generales y

elementos más específicos, en los cuales éstos últimos son consistentes totalmente con los primeros, por lo que heredan las características proporcionadas por lo elementos generales y además pueden aumentar información.

• Este tipo de relación también se conoce como herencia.• En una generalización no hay multiplicidad ni roles. Una

(Asociación define las reglas de cómo los objetos se pueden relacionar entre ellos.)

• La visibilidad “protected” permite que solo objetos de la misma clase ó subclase vean el elemento.

Page 55: Un diagrama de colaboración es una forma de representar interacción entre objetos

Elementos de la generalización

• Para dibujarla, hay que definir: – Superclase: es una clase que contiene alguna

combinación de atributos, operaciones y asociaciones que son comunes a dos o más tipos de objetos que comparten el mismo propósito.

– Subclase: es una clase que contiene una combinación de atributos, operaciones y asociaciones que son únicas a un tipo de objeto definido por una superclase.

– La superclase es reutilizada por la subclase.

Page 56: Un diagrama de colaboración es una forma de representar interacción entre objetos

Herencia

Perro

Collie Boxer Dalmata

Page 57: Un diagrama de colaboración es una forma de representar interacción entre objetos

Paquetes• Es un elemento organizador que proporciona

UML al dividir el sistema en paquetes lo hace más fácil de entender.

Page 58: Un diagrama de colaboración es una forma de representar interacción entre objetos

Interfaces

• Una clase tiene una instancia de su tipo, mientras que una interface debe tener al menos una clase para implantarla. En UML, una interface es considerada como una especialización de una clase.

• Una interface se dibuja como una clase, pero en el compartimento superior del rectángulo aparece un texto ó una inicial que indica que se trata de una interface y no de una clase.

• Una interface no es una clase.

Page 59: Un diagrama de colaboración es una forma de representar interacción entre objetos
Page 60: Un diagrama de colaboración es una forma de representar interacción entre objetos

Ejemplo interface

En el diagrama anterior las clases Professor y Student implementan a la interface Person y no heredan de ésta, podemos deducirlo a partir de:

1) El objeto Person de acuerdo a la simbología del diagrama está como una interface y Professor y Student están como clases.

2) No se trata de herencia ya que la línea con la flecha está punteada y no sólida.

Page 61: Un diagrama de colaboración es una forma de representar interacción entre objetos

Instancias

• Cuando se modela la estructura de un sistema, a veces es útil mostrar ejemplos de las instancias de las clases.

• UML proporciona el elemento instance especification, que muestra información importante utilizando un ejemplo.

• La notación es la misma que la de una clase, solo que en el espacio superior el nombre se forma con:

nombre de la instancia : nombre de la clase

Page 62: Un diagrama de colaboración es una forma de representar interacción entre objetos

• Además de mostrar las instancias es muy útil mostrar sus relaciones, el ejemplo muestra dos instancias de la clase Flight, ya que el diagrama de clase indica que la relación entre la clase Plane y la clase Fight es 0 a muchos:

Page 63: Un diagrama de colaboración es una forma de representar interacción entre objetos

Roles• Se puede incluir el rol de las clases, el siguiente

ejemplo de los roles jugados por la clase Employee (de la asociación reflexiva), mostramos que la relación es entre un Employee jugando el papel de gerente y un Employee jugando el rol de miembro del equipo.

Page 64: Un diagrama de colaboración es una forma de representar interacción entre objetos

Construyendo el diagrama de clase

1. Identificar las clases, nombrarlas y definirlas con lo que sabes que son parte del modelo.

2. Identificar, nombrar y definir las asociaciones entre pares de clases. Tener cuidado con clases reflexivas, asignar multiplicidad.

3. Evaluar cada asociación para determinar si debe ser una agregación y cada agregación para ver si debe ser una composición

4. Evaluar las clases para posible generalización (herencia).

Page 65: Un diagrama de colaboración es una forma de representar interacción entre objetos

DIAGRAMA DE CLASES

Page 66: Un diagrama de colaboración es una forma de representar interacción entre objetos

DEFINICIÓN

• Un diagrama de clases es un tipo de diagrama estático que describe la estructura de un sistema mostrando sus clases, atributos y las relaciones entre ellos.

Page 67: Un diagrama de colaboración es una forma de representar interacción entre objetos

ELEMENTOS

Un diagrama de clases esta compuesto por los siguientes elementos:

• Clase: atributos, métodos y visibilidad. • Relaciones: Herencia, Composición,

Agregación, Asociación y Uso.

Page 68: Un diagrama de colaboración es una forma de representar interacción entre objetos

CLASE

• Es la unidad básica que encapsula toda la información de un Objeto (un objeto es una instancia de una clase). A través de ella podemos Modelar el entorno en estudio. Una clase es representada por un rectángulo que posee tres divisiones:

Page 69: Un diagrama de colaboración es una forma de representar interacción entre objetos

ATRIBUTO

• Los atributos o características de una Clase pueden ser de tres tipos, los que definen el grado de comunicación y visibilidad de ellos con el entorno, estos son:

– public (+,): Indica que el atributo será visible tanto dentro como fuera de la clase, es decir, es accesesible desde todos lados.

– private (-,): Indica que el atributo sólo será accesible desde dentro de la clase (sólo sus métodos lo pueden accesar).

– protected (#,): Indica que el atributo no será accesible desde fuera de la clase, pero si podrá ser accesado por métodos de la clase además de las subclases que se deriven (ver herencia).

Page 70: Un diagrama de colaboración es una forma de representar interacción entre objetos

METODOS

• Los métodos u operaciones de una clase son la forma en como ésta interactúa con su entorno, éstos pueden tener las características:

– public (+,): Indica que el método será visible tanto dentro como fuera de la clase, es decir, es accsesible desde todos lados.

– private (-,): Indica que el método sólo será accesible desde dentro de la clase (sólo otros métodos de la clase lo pueden accesar).

– protected (#,): Indica que el método no será accesible desde fuera de la clase, pero si podrá ser accesado por métodos de la clase además de métodos de las subclases que se deriven (ver herencia).

Page 71: Un diagrama de colaboración es una forma de representar interacción entre objetos

RELACIÓN ENTRE CLASES

• HERENCIA: Indica que una subclase hereda los métodos y atributos especificados por una Súper Clase, por ende la Subclase además de poseer sus propios métodos y atributos, poseerá las características y atributos visibles de la Súper Clase (public y protected).

• ASOCIACIÓN: La relación entre clases conocida como Asociación, permite asociar objetos que colaboran entre si.

Page 72: Un diagrama de colaboración es una forma de representar interacción entre objetos

Cabe destacar que no es una relación fuerte, es decir, el tiempo de vida de un objeto no depende del otro.

• DEPENCDENCIA O INSTANCIA: Representa un tipo de relación muy particular, en la que una clase es instanciada (su instanciación es dependiente de otro objeto/clase).

Page 73: Un diagrama de colaboración es una forma de representar interacción entre objetos

EJEMPLO

Page 74: Un diagrama de colaboración es una forma de representar interacción entre objetos

DIAGRAMA DE COMPONENTES

Un diagrama de componentes es un diagrama tipo del Lenguaje Unificado de Modelado.

Un diagrama de componentes representa cómo un sistema de software es dividido en componentes y muestra las dependencias entre estos componentes.

Page 75: Un diagrama de colaboración es una forma de representar interacción entre objetos

• Los diagramas de Componentes prevalecen en el campo de la arquitectura de software pero pueden ser usados para modelar y documentar cualquier arquitectura de sistema.

• Los componentes físicos incluyen archivos, cabeceras, bibliotecas compartidas, módulos, ejecutables, o paquetes.

Page 76: Un diagrama de colaboración es una forma de representar interacción entre objetos

Los diagramas de componentes se pueden clasificar en:

• Componentes de despliegue: necesarios y suficientes para formar un sistema ejecuta. Por ejemplo: bibliotecas dinámicas (dll), ejecutables (exe).

• Componentes productos de trabajo: surgen durante el proceso de desarrollo y queda al final del mismo.Por ejemplo: buscarCliente.jar, cliente.db.

• Componentes de ejecución: se crean como consecuencia de un sistema de ejecución Por ejemplo: objetos que se instancian a partir de una dll.

Page 77: Un diagrama de colaboración es una forma de representar interacción entre objetos

• Ventajas:• · Representan aspectos físicos del sistema.• · Se pueden construir a partir del modelo de

clases y escribir desde cero para el nuevo sistema.

• · Se puede importar de otros proyectos o de productos terceros.

• Desventajas: • · No representan aspectos irremplazables del

sistema

Page 78: Un diagrama de colaboración es una forma de representar interacción entre objetos

Conclusión

• Podemos concluir que los diagramas de componentes son una herramienta muy útil para conocer la manera que se desarrolla el sistema pero incluyendo sus componentes físicos y estos a la vez relacionados con las clases que nos muestran proporcionan una perspectiva estática del sistema.

Page 79: Un diagrama de colaboración es una forma de representar interacción entre objetos

DIAGRAMA DE SECUENCIA

Page 80: Un diagrama de colaboración es una forma de representar interacción entre objetos

CONCEPTO

• Es un tipo de diagrama usado para modelar la interacción entre objetos en un sistema según UML. En inglés se pueden encontrar como "sequence diagram", "event-trace diagrams", "event scenarios" o "timing diagrams” .

Page 82: Un diagrama de colaboración es una forma de representar interacción entre objetos

UTILIDAD

• Muestra la interacción de un conjunto de objetos en una aplicación a través del tiempo y se modela para cada caso de uso.

• Contiene detalles de implementación del escenario, incluyendo los objetos y clases que se usan para implementar el escenario, y mensajes intercambiados entre los objetos.

Page 83: Un diagrama de colaboración es una forma de representar interacción entre objetos

• Muestra los objetos que intervienen en el escenario con líneas discontinuas verticales, y los mensajes pasados entre los objetos como flechas horizontales.

Page 84: Un diagrama de colaboración es una forma de representar interacción entre objetos

TIPOS DE MENSAJES

• Existen dos tipos de mensajes:

• Sincrónicos: corresponden con llamadas a métodos del objeto que recibe el mensaje. El objeto que envía el mensaje queda bloqueado hasta que termina la llamada. Este tipo de mensajes se representan con flechas con la cabeza llena.

Page 85: Un diagrama de colaboración es una forma de representar interacción entre objetos

• Asincrónicos: terminan inmediatamente, y crean un nuevo hilo de ejecución dentro de la secuencia. Se representan con flechas con la cabeza abierta.

• También se representa la respuesta a un mensaje con una flecha discontinua.

Page 86: Un diagrama de colaboración es una forma de representar interacción entre objetos

• Pueden ser usados en dos formas:

• De instancia: describe un escenario especifico (un escenario es una instancia de la ejecución de un caso de uso).

• Genérico: describe la interacción para un caso de uso; Utiliza ramificaciones ("Branches"), condiciones y bucles.

Page 87: Un diagrama de colaboración es una forma de representar interacción entre objetos

ESTRUCTURA

• Los mensajes se dibujan cronológicamente desde la parte superior del diagrama a la parte inferior; la distribución horizontal de los objetos es arbitraria. Durante el análisis inicial, el modelador típicamente coloca el nombre “business” de un mensaje en la línea del mensaje.

Page 88: Un diagrama de colaboración es una forma de representar interacción entre objetos

• Más tarde, durante el diseño, el nombre “business” es reemplazado con el nombre del método que está siendo llamado por un objeto en el otro. El método llamado, o invocado, pertenece a la definición de la clase instanciada por el objeto en la recepción final del mensaje.

Page 89: Un diagrama de colaboración es una forma de representar interacción entre objetos

DIAGRAMA DE OBJETOS

Los diagramas de objetos son utilizados durante el proceso de Análisis y Diseño de los sistemas

informáticos en la metodología UML.

Page 90: Un diagrama de colaboración es una forma de representar interacción entre objetos

• Se puede considerar un caso especial de un diagrama de clases en el que se muestran instancias específicas de clases (objetos) en un momento particular del sistema. Los diagramas de objetos utilizan un subconjunto de los elementos de un diagrama de clase. Los diagramas de objetos no muestran la multiplicidad ni los roles, aunque su notación es similar a los diagramas de clase. Estos no muestran nada diferente en suarquitectura a los diagramas de secuencia, pero reflejan multiplicidad y roles.

Page 91: Un diagrama de colaboración es una forma de representar interacción entre objetos

• Los diagramas de objetos modelan las instancias de elementos contenidos en los diagramas de clases. Un diagrama de objetos muestra un conjunto de objetos y sus relaciones en un momento concreto.

Page 92: Un diagrama de colaboración es una forma de representar interacción entre objetos

• Ejemplo

• En el caso del ejemplo se tienen como casos de uso de la cafetera RecibirDinero, PedirAzucar, PedirProducto, DarVueltas y Cancelar.

Page 93: Un diagrama de colaboración es una forma de representar interacción entre objetos
Page 94: Un diagrama de colaboración es una forma de representar interacción entre objetos

Diagramas de Actividades

Page 95: Un diagrama de colaboración es una forma de representar interacción entre objetos

Definición

• Demuestra la serie de actividades que deben ser realizadas en un uso-caso, así como las distintas rutas que pueden irse desencadenando en el uso-caso.

Page 96: Un diagrama de colaboración es una forma de representar interacción entre objetos

Utilidad

• Es utilizado en conjunción de un diagrama uso-caso para auxiliar a los miembros del equipo de desarrollo a entender como es utilizado el sistema y como reacciona en determinados eventos.

• Se pudiera considerar que un diagrama de actividad describe el problema, mientras un diagrama de flujo describe la solución.

Page 97: Un diagrama de colaboración es una forma de representar interacción entre objetos

Composición• Inicio: El inicio de un diagrama de actividad es

representado por un círculo de color negro sólido.

• Actividad : Una actividad representa la acción que será realizada por el sistema la cual es representada dentro de un ovalo.

• Transición: Una transición ocurre cuando se lleva acabo el cambio de una actividad a otra, la transición es representada simplemente por una línea con una flecha en su terminación para indicar dirección.

Page 98: Un diagrama de colaboración es una forma de representar interacción entre objetos

Elementos

Page 99: Un diagrama de colaboración es una forma de representar interacción entre objetos

Elementos

Page 100: Un diagrama de colaboración es una forma de representar interacción entre objetos

Ejemplo de diagrama de

Actividad (para representar el funcionamiento del

alquiler de una película del videoclub)

Page 101: Un diagrama de colaboración es una forma de representar interacción entre objetos

DIAGRAMAS DE CASOS DE USO

Page 102: Un diagrama de colaboración es una forma de representar interacción entre objetos

CONCEPTO:

• Un diagrama de casos de uso es una especie de diagrama de comportamiento.

Page 103: Un diagrama de colaboración es una forma de representar interacción entre objetos

COMPONENTES DE UN DIAGRAMA DE CASOS DE USO

Page 104: Un diagrama de colaboración es una forma de representar interacción entre objetos

RELACIONES DE CASOS DE USO

• INCLUSION (INCLUDE O USE)

• EXTENSION (EXTEND)

• GENERALIZACION

Page 105: Un diagrama de colaboración es una forma de representar interacción entre objetos

INCLUSION (INCLUDE O USE)

• Es una forma de interacción o creación, un caso de uso dado puede "incluir" otro. El primer caso de uso a menudo depende del resultado del caso de uso incluido. Esto es útil para extraer comportamientos verdaderamente comunes desde múltiples casos de uso a una descripción individual, desde el caso El estándar de Lenguaje de Modelado Unificado de OMG define una notación gráfica para realizar diagramas de casos de uso, pero no el formato para describir casos de uso.

Page 106: Un diagrama de colaboración es una forma de representar interacción entre objetos

EXTENSION (EXTEND)

Es otra forma de interacción, un caso de uso dado, (la extensión) puede extender a otro. Esta relación indica que el comportamiento del caso de la extensión se utiliza en casos de uso, un caso de uso a otro caso siempre debe tener extensión o inclusión.

"La extensión, es el conjunto de objetos a los que se aplica un concepto. Los objetos de la extensión son los ejemplos o instancias de los conceptos."

Page 107: Un diagrama de colaboración es una forma de representar interacción entre objetos

GENERALIZACION

• "Entonces la Generalización es la actividad de identificar elementos en común entre conceptos y definir las relaciones de una superclase (concepto general) y subclase (concepto especializado). Es una manera de construir clasificaciones taxonómicas entre conceptos que entonces se representan en jerarquías de clases. Las subclases conceptuales son conformes con las superclases conceptuales en cuanto a la intención y extensión."

Page 108: Un diagrama de colaboración es una forma de representar interacción entre objetos

EJEMPLO DE DIAGRAMA DE CASOS DE USO:

El diagrama de la derecha describe la funcionalidad de un Sistema Restaurante muy simple. Los casos de uso están representados por elipses y los actores están, por ejemplo, los casos de uso se muestran como parte del sistema que está siendo modelado, los actores no.

Page 109: Un diagrama de colaboración es una forma de representar interacción entre objetos

DIAGRAMAS DE CLASES

Page 110: Un diagrama de colaboración es una forma de representar interacción entre objetos

¿Qué es una Clase?

Artefacto de modelado que Describe unconjunto de objetos que comparten losmismos:• Atributos (conocimiento)• Operaciones (responsabilidad)• Relaciones (entrelazamiento)• Semántica (relevancia)

Page 111: Un diagrama de colaboración es una forma de representar interacción entre objetos

Un diagrama de clases es un tipo de diagrama estático que describe la estructura de un sistema mostrando sus clases, atributos y las relaciones entre ellos.

Page 112: Un diagrama de colaboración es una forma de representar interacción entre objetos

Los diagramas de clases son utilizados durante el proceso de análisis y diseño de los sistemas, donde se crea el diseño conceptual de la información que se manejará en el sistema, y los componentes que se encargaran del funcionamiento y la relación entre uno y otro.

Page 113: Un diagrama de colaboración es una forma de representar interacción entre objetos

Para qué usamos un diagrama de Clases

Modelar los aspectosestáticos deun sistema

• Realizar la abstracción de un dominio• Formalizar el análisis de conceptos• Definir una solución de diseño• Construir componentes de software

Page 115: Un diagrama de colaboración es una forma de representar interacción entre objetos

•Muestra un conjunto de elementos que son estáticos, como las clases y tipos, junto con sus contenidos y relaciones

•Es un grafo de elementos clasificadores conectados por varias relaciones estáticas

Page 116: Un diagrama de colaboración es una forma de representar interacción entre objetos

Relaciones en un diagrama de clases

Los diagramas de clases están compuestos por clases y por relaciones entre ellas. Las relaciones que se pueden usar son:

• Relación de asociación

Una asociación es una conexión entre clases, una conexión semántica (enlace) entre los objetos de dichas clases. Un tipo especial de asociación es la relación de agregación.

Page 117: Un diagrama de colaboración es una forma de representar interacción entre objetos

• Relación de dependencia

Una dependencia es una relación entre elementos, uno independiente y otro dependiente. Un cambio en el elemento independiente afectará al elemento dependiente.

• Relación de generalización

Una generalización es una relación entre un elemento más general y otro más específico. El elemento más específico puede contener sólo información adicional. Una instancia (un objeto es una instancia de una clase) del elemento más específico se puede usar si el elemento más general lo permite.

Page 118: Un diagrama de colaboración es una forma de representar interacción entre objetos

Diagramas DE emplazamiento

Page 119: Un diagrama de colaboración es una forma de representar interacción entre objetos

Es aquel que muestra las relaciones físicas entre los

componentes de software y de hardware en el sistema entregado.

Así, el diagrama de emplazamiento es un buen sitio para mostrar

cómo se enrutan (se refiere a la selección del camino en una red

de computadoras por donde se envían datos) y se mueven los

componentes y los objetos, dentro de un sistema distribuido.

Page 120: Un diagrama de colaboración es una forma de representar interacción entre objetos

• Cada nodo de un diagrama de emplazamiento representa alguna clase

de unidad de cómputo; en la mayoría de los casos se trata de una

pieza de hardware. El hardware puede ser un dispositivo o un sensor

simple, o puede tratarse de un mainframe (Computadora grande,

poderosa y costosa utilizada principalmente en empresas que

necesitan procesar gran cantidad de datos o soportar gran cantidad de

usuarios.).

Los componentes en un diagrama de emplazamiento representan

módulos físicos de código y corresponden exactamente a los paquetes

de un diagrama de paquetes de tal modo que el diagrama de

emplazamiento muestra dónde se ejecuta cada paquete en el sistema.

Page 121: Un diagrama de colaboración es una forma de representar interacción entre objetos

Las dependencias entre los componentes deben

ser las mismas que las dependencias de paquetes.

Estas dependencias muestran cómo se comunican

los componentes con otros componentes. La

dirección de una dependencia dada indica el

conocimiento en la comunicación.

Page 122: Un diagrama de colaboración es una forma de representar interacción entre objetos
Page 123: Un diagrama de colaboración es una forma de representar interacción entre objetos

• Así, en el diagrama, la IU de la unidad de hígado depende de la Fachada de cliente de unidad de hígado, ya que llama a métodos específicos en la fachada. A pesar de que la comunicación es en ambas direcciones, en el sentido de que la Fachada devuelve datos, la Fachada no sabe quién la llama y, por tanto, no depende de la IU . En la comunicación entre ambos componentes del Dominio de atención a la salud, ambos saben que están hablando con otro componente de Dominio de atención a la salud, así que la dependencia de la comunicación es en dos sentidos.

Page 124: Un diagrama de colaboración es una forma de representar interacción entre objetos

• Un componente puede tener más de una interfaz, en cuyo caso usted podrá ver cuáles componentes se comunican con cada interfaz. En la Figura 10-01, la PC contiene dos componentes: la IU y la fachada de la aplicación. La fachada de aplicación habla con la interfaz de la aplicación en el servidor. Un componente de configuración separado se ejecuta sólo en el servidor. La aplicación se comunica con su componente local del Dominio de atención a la salud, el cual, a su vez, puede comunicarse con otros componentes de Dominios de atención a la salud de la red.

• La utilización de los componentes de diversos Dominios de atención a la salud está oculta para la aplicación. Cada componente del Dominio de atención a la salud tiene una base de datos local.

Page 125: Un diagrama de colaboración es una forma de representar interacción entre objetos

• En la práctica, no he visto que se use mucho este tipo de diagramas. La mayoría de la gente dibuja diagramas para mostrar este tipo de información, pero se trata de bocetos informales. En general, no tengo problemas con este tipo de diagramas, ya que cada sistema tiene sus propias características físicas que se querrán subrayar. A medida que se tiene que lidiar cada vez más con los sistemas distribuidos, estoy seguro de que se requerirá mayor formalidad, según se vaya entendiendo mejor cuáles son los asuntos que se deben resaltar en los diagramas de emplazamiento.

Page 126: Un diagrama de colaboración es una forma de representar interacción entre objetos

¿QUE ES EL DIAGRAMA DE ESTADO ?

Page 127: Un diagrama de colaboración es una forma de representar interacción entre objetos

• MAQUINA DE ESTADOUna MÁQUINA DE ESTADO es un comportamiento que especifica las secuencias de estados por las que pasa un objeto a lo largo de su vida en respuesta a eventos, junto con sus respuestas a estos eventos.

REPRESENTACION GRAFICA DE UNA MAQUINA DE ESTADOSLas maquinas de estados se visualizan por medio de diagramas deestado.Representación grafica deEstados: condición o situaciónNombreEfectos de entrada/salidaTransiciones InternasSubestadosEventos diferidos

Page 128: Un diagrama de colaboración es una forma de representar interacción entre objetos

Permite identificar bajo qué argumentos se ejecuta cada uno de los procesos y en qué momento podrían tener una variación.

Page 129: Un diagrama de colaboración es una forma de representar interacción entre objetos

El diagrama de estados permite visualizar de una forma secuencial la ejecución de cada uno de los procesos.Un Diagrama de Estados muestra la secuencia de estados por los que pasa bien un caso de uso, bien un objeto a lo largo de su vida, o bien todo el sistema. En él se indican qué eventos hacen que se pase de un estado a otro y cuáles son las respuestas y acciones que genera.

Page 130: Un diagrama de colaboración es una forma de representar interacción entre objetos

En cuanto a la representación, un diagrama de estados es un grafo cuyos nodos son estados y cuyos arcos dirigidos son transiciones etiquetadas con los nombres de los eventos. Un estado se representa como una caja redondeada con el nombre del estado en su interior. Una transición se representa como una flecha desde el estado origen al estado destino.

Page 131: Un diagrama de colaboración es una forma de representar interacción entre objetos
Page 132: Un diagrama de colaboración es una forma de representar interacción entre objetos

Un diagrama de estados puede representar ciclos continuos o bien una vida finita, en la que hay un estado inicial de creación y un estado final de destrucción (finalización del caso de uso o destrucción del objeto). El estado inicial se muestra como un círculo sólido y el estado final como un círculo sólido rodeado de otro círculo. En realidad, los estados inicial y final son pseudoestados, pues un objeto no puede “estar” en esos estados, pero nos sirven para saber cuáles son las transiciones inicial y final(es).

Page 133: Un diagrama de colaboración es una forma de representar interacción entre objetos

ELEMENTOS DE LOS DIAGRAMAS DE ESTADO

EstadoIdentifica un periodo de tiempo del objeto (no instantáneo) en el cual el

objeto está esperando alguna operación, tiene cierto estado característico o puede recibir cierto tipo de estímulos. Se representa mediante un rectángulo

con los bordes redondeados, que puede tener tres compartimientos: uno para el nombre, otro para el valor característico de los atributos del objeto en ese estado y otro para las acciones que se realizan al entrar, salir o estar en un

estado (entry, exit o do, respectivamente).Eventos

Es una ocurrencia que puede causar la transición de un estado a otro de un objeto. Esta ocurrencia puede ser una de varias cosas:

· Condición que toma el valor de verdadero o falso· Recepción de una señal de otro objeto en el modelo

· Recepción de un mensaje· Paso de cierto período de tiempo, después de entrar al estado o de cierta

hora y fecha particularEl nombre de un evento tiene alcance dentro del paquete en el cual está

definido, no es local a la clase que lo nombre.

Page 134: Un diagrama de colaboración es una forma de representar interacción entre objetos

Envío de mensajesAdemás de mostrar y transición de estados por medio de eventos, puede representarse el momento en el cual se

envían mensajes a otros objetos. Esto se realiza mediante una línea punteada dirigida al diagrama de estados del

objeto receptor del mensaje.Transición simple

Una transición simple es una relación entre dos estados que indica que un objeto en el primer estado puede entrar al segundo estado y ejecutar ciertas operaciones, cuando un evento ocurre y si ciertas condiciones son satisfechas. Se representa como una línea sólida entre dos estados,

que puede venir acompañada de un texto con el siguiente formato:

Page 135: Un diagrama de colaboración es una forma de representar interacción entre objetos

event-signature es la descripción del evento que da lugar la transición, guard-condition son las condiciones adicionales al evento necesarias para que la transición ocurra, action-expression es un mensaje al objeto o a otro objeto que se

ejecuta como resultado de la transición y el cambio de estado y send-clause son acciones adicionales que se

ejecutan con el cambio de estado, por ejemplo, el envío de eventos a otros paquetes o clases.

Transición internaEs una transición que permanece en el mismo estado, en

vez de involucrar dos estados distintos. Representa un evento que no causa cambio de estado. Se denota como

una cadena adicional en el compartimiento de acciones del estado.

Page 136: Un diagrama de colaboración es una forma de representar interacción entre objetos

Acciones:Podemos especificar la solicitud de un servicio a otro objeto como consecuencia de la transición. Se puede especificar el ejecutar una acción como consecuencia de entrar, salir, estar en un estado, o por la ocurrencia de un evento.Generalización de Estados:· Podemos reducir la complejidad de estos diagramas usando la generalización de estados.· Distinguimos así entre superestado y subestados.· Un estado puede contener varios subestados disjuntos.· Los subestados heredan las variables de estado y las transiciones externas.· La agregación de estados es la composición de un estado a partir de varios estados independientes.La composición es concurrente por lo que el objeto estará en alguno de los estados de cada uno de los subestados concurrentes. La destrucción de un objeto es efectiva cuando el flujo de control del autómata alcanza un estado final no anidado. La llegada a un estado final anidado implica la subida al superestado asociado, no el fin del objeto.

Page 137: Un diagrama de colaboración es una forma de representar interacción entre objetos

SubestadosUn estado puede descomponerse en subestados, con

transiciones entre ellos y conexiones al nivel superior. Las conexiones se ven al nivel inferior como estados de inicio o

fin, los cuales se suponen conectados a las entradas y salidas del nivel inmediatamente superior.

Transacción ComplejaUna transición compleja relaciona tres o más estados en una

transición de múltiples fuentes y/o múltiples destinos. Representa la subdivisión en threads del control del objeto o una sincronización. Se representa como una línea vertical de la cual salen o entran varias líneas de transición de estado.

Page 138: Un diagrama de colaboración es una forma de representar interacción entre objetos

Transición a estados anidadosUna transición de hacia un estado complejo (descrito mediante estados anidados) significa la entrada al estado inicial del subdiagrama. Las transiciones que salen del estado complejo se entienden como transiciones desde cada uno de los subestados hacia afuera (a cualquier nivel de profundidad).Transiciones temporizadas· Las esperas son actividades que tienen asociada cierta duración.· La actividad de espera se interrumpe cuando el evento esperado tiene lugar.· Este evento desencadena una transición que permite salir del estado que alberga la actividad de espera. El flujo de control se transmite entonces a otro estado.