1 / 138

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

DIAGRAMA DE COLABORACIÓN -> Ángel Limón Cabrera <-. Qué es un diagrama de colaboración?. Un diagrama de colaboración es una forma de representar interacción entre objetos. En que consiste un diagrama de colaboración ?.

Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Qué es un diagrama de colaboración? Un diagrama de colaboración es una forma de representar interacción entre objetos .

  3. 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".

  4. ¿Que representa el algoritmo de colabora ración? • Representa la parte esencial para la descripción de un patrón de diseño.

  5. 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 –Interacciones Los 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.

  6. 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 devuelveun valor al emisor, si es necesario. Envío.-Envía una señal a un objeto.

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

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

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

  10. 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 INDICE ASISTENTE

  11. 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 () ASISTENTE BIBLIOTECARIO INDICE LECTOR

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

  13. ¿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

  14. ¿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.

  15. EJEMPLO DE APLICACIÓN CONTROL DE SEGURIDAD DEL HOTEL PLAZA

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

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

  18. Elementos básicos para el diagrama de Colaboración Objeto Un objeto se representa con un rectángulo, que contiene el nombre y la clase del objeto en un formato nombreObjeto: nombreClase. Enlaces Un 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.  

  19. Flujo de mensajes Expresa el envío de un mensaje. Se representa mediante una flecha dirigida cercana a un enlace. Marcadores de creación y destrucción de objetos Puede 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

  20. Vehículo_hotel1:Vehículo MT-1234 : Motor FR-00145 : Frenos TR-4583 : Transmisión Objeto compuesto Es 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.

  21. 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. Ejemplo:

  22. EJEMPLO: HOTEL PLAZA

  23. CONCLUSIÓN

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

  25. A continuación tenemos los titulos fundamentales de un diagrama de colaboración: • 1.- Objeto • 2.- Enlaces • 3.- Objeto compuesto • 4.- Patrón de diseño 5.- Contexto 6.- Objeto activo:

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

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

  28. DIAGRAMA DE CLASE

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

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

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

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

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

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

  35. Todos los diagramas soportan el Diagrama de Clase Casos de Uso Diagrama de Objetos Diagrama de Clase Diagrama de Secuencia Diagrama de Actividades Diagrama de Estados Diagrama de Colaboración

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

  37. Ejemplo La 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 de retorno

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

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

  40. Ejemplo Especificación de un atributo

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

  42. Ejemplo Especificación de una operación

  43. 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 coche Una persona maneja un coche • Multiplicidad: cuantos objetos van a participar en la relación

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

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

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

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

  48. 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 orden numOrden:int

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

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

More Related