Descargar

Diagrama de Casos de Uso, de Interacción y de Clases (página 2)

Enviado por Pablo Turmero


Partes: 1, 2, 3, 4
edu.red

Mensajes Sintaxis para mensajes:

predecesor / guarda secuencia: retorno := msg(args)

edu.red

Diagramas de interacción El Diagrama de Secuencia es más adecuados para observar la perspectiva cronológica de las interacciones

El Diagrama de Colaboración ofrece una mejor visión espacial mostrando los enlaces de comunicación entre objetos

El D. de Colaboración puede obtenerse automáticamente a partir del correspondiente D. de Secuencia (o viceversa)

edu.red

Diagrama de Secuencia Muestra la secuencia de mensajes entre objetos durante un escenario concreto

Cada objeto viene dado por una barra vertical

El tiempo transcurre de arriba abajo

Cuando existe demora entre el envío y la atención se puede indicar usando una línea oblicua

edu.red

… Diagrama de Secuencia

edu.red

Diagrama de Secuencia mostrando foco de control, condiciones, recursión creación y destrucción de objetos

edu.red

… Diagrama de Secuencia

edu.red

Diagrama de Colaboración Son útiles en la fase exploratoria para identificar objetos

La distribución de los objetos en el diagrama permite observar adecuadamente la interacción de un objeto con respecto de los demás

La estructura estática viene dada por los enlaces; la dinámica por el envío de mensajes por los enlaces

edu.red

Mensajes Un mensaje desencadena una acción en el objeto destinatario

Un mensaje se envía si han sido enviados los mensajes de una lista (sincronización):

A B A.1, B.3 / 1:Mensaje

edu.red

… Mensajes Un mensaje se envía de manera condicionada:

A B [x>y] 1: Mensaje

edu.red

… Mensajes Un mensaje que devuelve un resultado:

A B 1: distancia:= mover(x,y)

edu.red

Clasificación El mundo real puede ser visto desde abstracciones diferentes (subjetividad)

Mecanismos de abstracción:

Clasificación / Instanciación Composición / Descomposición Agrupación / Individualización Especialización / Generalización

La clasificación es uno de los mecanismos de abstracción más utilizados

edu.red

Clases

La clase define el ámbito de definición de un conjunto de objetos

Cada objeto pertenece a una clase

Los objetos se crean por instanciación de las clases

edu.red

Clases: Notación Gráfica Cada clase se representa en un rectángulo con tres compartimientos:

nombre de la clase atributos de la clase operaciones de la clase motocicleta color cilindrada velocidad maxima arrancar acelerar frenar

edu.red

Clases: Notación Gráfica Otros ejemplos:

lista primero ultimo añadir quitar cardinalidad pila apilar desapilar cardinalidad

edu.red

Clases: Encapsulación La encapsulación presenta dos ventajas básicas: Se protegen los datos de accesos indebidos El acoplamiento entre las clases se disminuye Favorece la modularidad y el mantenimiento

Los atributos de una clase no deberían ser manipulables directamente por el resto de objetos

edu.red

… Clases: Encapsulación Los niveles de encapsulación están heredados de los niveles de C++:

(-) Privado : es el más fuerte. Esta parte es totalmente invisible (excepto para clases friends en terminología C++)

(#) Los atributos/operaciones protegidos están visibles para las clases friends y para las clases derivadas de la original

(+) Los atributos/operaciones públicos son visibles a otras clases (cuando se trata de atributos se está transgrediendo el principio de encapsulación)

edu.red

… Clases: Encapsulación Ejemplo:

edu.red

Relaciones entre Clases Los enlaces entre de objetos pueden representarse entre las respectivas clases

Formas de relación entre clases:

Asociación y Agregación (vista como un caso particular de asociación) Generalización/Especialización

Las relaciones de Agregación y Generalización forman jerarquías de clases

edu.red

Asociación La asociación expresa una conexión bidireccional entre objetos Una asociación es una abstracción de la relación existente en los enlaces entre los objetos

edu.red

Ejemplo:

… Asociación (Gp:) Persona (Gp:) Compañía (Gp:) trabaja-para (Gp:) nombre s. s. (Gp:) nombre dirección (Gp:) jefe (Gp:) Administra (Gp:) empleado (Gp:) * (Gp:) * (Gp:) emplea-a (Gp:) 0.. 1 (Gp:) 0.. 1 (Gp:) 0.. 1 (Gp:) * (Gp:) marido (Gp:) casado-con (Gp:) mujer

edu.red

Especificación de multiplicidad (mínima…máxima)

1 Uno y sólo uno 0..1 Cero o uno M..N Desde M hasta N (enteros naturales) * Cero o muchos 0..* Cero o muchos 1..* Uno o muchos (al menos uno)

La multiplicidad mínima >= 1 establece una restricción de existencia

… Asociación

edu.red

Asociación Cualificada Aerolínea Viajero nro_billete * 0..1 Tablero Ajedrez fila columna 1 1 Cuadro Reduce la multiplicidad del rol opuesto al considerar el valor del cualificador

edu.red

La agregación representa una relación parte_de entre objetos

En UML se proporciona una escasa caracterización de la agregación

Puede ser caracterizada con precisión determinando las relaciones de comportamiento y estructura que existen entre el objeto agregado y cada uno de sus objetos componentes

Agregación

Partes: 1, 2, 3, 4
 Página anterior Volver al principio del trabajoPágina siguiente