Professional Documents
Culture Documents
Terminologa Bsica
Agregacin Composicin
Asociaciones reflexivas: A veces, una clase tiene una asociacin consigo misma. En este caso la asociacin se denomina asociacin reflexiva. Esta situacin se puede presentar cuando una clase tiene objetos de la misma clase pero que juegan diferentes roles. Por ejemplo, un ocupante de un avin de pasajeros puede ser: un pasajero, un miembro de la tripulacin o un piloto.
Este tipo de asociacin se representa grficamente dibujando la lnea de asociacin con origen y final en la propia clase y con la indicacin de los roles y multiplicidades correspondientes.
3
1. Los doctores que laboran en un hospital, pueden dar consulta a pacientes y/o a otros doctores del mismo hospital.
2. Un pas est formado por al menos dos ciudades y; adems, los pases estn limitados en su frontera por varios pases o ninguno. 3. Un libro tiene un nombre, un nmero identificador (ISBN) y uno o varios autores. Un autor tiene nombre, nmero de pasaporte, y correo electrnico. Adems, un libro puede tener como fuente bibliogrfica otros libros o ninguno.
Por defecto leer (sin usar flecha de direccin): De izquierda a derecha, y De arriba hacia abajo
De lo contrario colocar flecha de direccin Ejercicio: Leer los siguientes diagramas de clases
Clases de asociacin: Una clase conectada a una asociacin se denomina clase asociacin. Una asociacin puede tener atributos y operaciones tal como una clase, ste es el caso de la clase asociacin. Ejemplo:
10
Criterios de Diseo: Cuando se traducen a cdigo las relaciones con clases asociacin se obtienen, normalmente, tres clases: una por cada extremo de la asociacin y una por la propia clase asociacin. Ejercicios: Disear el diagrama de clases de los siguientes enunciados. 1. Los pacientes de una clnica hacen citas para consultar a los mdicos. De la cita se registra la fecha, la hora y el nmero de clnica en que se realizara. 2. Los vendedores de un negocio venden uno o ms productos en cada venta que realizan. De la venta se registra el nombre del cliente, su telfono y su direccin; adems, la fecha de la venta, el total y el nmero de factura.
11
Ejercicio 3: Disear el control de 5 ascensores (elevadores) de un edificio comercial que tenga presente las peticiones de viaje de los diferentes clientes, en funcin del orden y momento de llamada. Anlisis: El control de ascensores tiene un enlace con cada uno de los 5 ascensores y otro enlace con el botn (pulsador) de llamada de subir/bajar. Para administrar el control de llamadas de modo que responda el ascensor, que cumpla con los requisitos estipulados (situado en el piso ms cercano, parado, en movimiento, etc.), se requiere una clase Cola que almacene las peticiones tanto del ControlAscensor como del propio ascensor (los motores interiores del ascensor).
12
Cuando el control del ascensor elige un ascensor para realizar la peticin de un pasajero externo al ascensor, un pasajero situado en un determinado piso o nivel, el control del ascensor lee la cola y elige el ascensor que est situado, disponible y ms prximo en la Cola. Esta eleccin normalmente se realizar por algn algoritmo inteligente. Por lo tanto, se requieren cuatro clases: ControlAscensor, Ascensor (elevador), Botn (pulsador) y Cola. La clase Cola ser una clase asociacin ya que puede ser requerida tanto por el control de ascensores como por cualquier ascensor.
13
En una estructura de datos cola, cada elemento que se introduce en la cola es el primer elemento que sale de la cola (al igual que sucede con la cola para sacar una entrada de cine, comprar el pan o una cola de impresoras conectadas a una computadora central). En cada enlace entre los ascensores y el control de ascensores hay una cola (5 colas). Cada cola almacena las peticiones del control del ascensor y el propio ascensor (los botones internos del ascensor).
14
Existen 5 objetos de la clase Cola, uno por cada objeto Ascensor (5) asociado al objeto de ControladorAscensores.
15
Agregacin: Una agregacin es un tipo especial de asociacin que expresa un acoplamiento ms fuerte entre clases. La agregacin permite la representacin de relaciones tales como maestro y esclavo, todo y parte de o compuesto y componentes.
La agregacin se lee normalmente como relacin posee un o relacin todo-parte, en la cual una clase (El todo) representa un gran elemento que consta de elementos ms pequeos (las partes).
17
En la agregacin, una clase realmente posee, pero puede compartir objetos de otra clase. Ejemplo 3: Agregacin de un automvil que consta de cuatro ruedas, un motor y una caja de cambios.
18
Ejemplo 4: Un rbol binario que consta de cero, uno o dos nuevos rboles.
Una agregacin se representa como una jerarqua con la clase todo (por ejemplo, un sistema de computadora) en la parte superior y sus componentes en las partes inferiores (por ejemplo CPU, discos, webcam, ).
19
Ejemplo 5: Una computadora es un conjunto de elementos que consta de una unidad central, monitor, unidad de CD-ROM, altavoces, escner, etc.
20
Composicin: Una composicin es un tipo especial de agregacin que impone algunas restricciones: si el objeto completo se copia o se borra (elimina), sus partes tambin se copia o se suprimen con l. La composicin es una relacin fuerte entre clases y se utiliza para representar una relacin todo-parte. Cada componente dentro de una composicin puede pertenecer tan slo a un todo. Ejemplo 1: Un tablero de ajedrez se compone de 64 casillas.
21
Una relacin de composicin se lee normalmente como es parte de , que significa que se necesita leer la composicin de la parte al todo. Ejemplo 2: si una ventana de una pgina web tiene una barra de ttulos, se puede representar que la clase BarraTitulo es parte de una clase denominada Ventana. Pero, las barras horizontal y vertical podran o no ser parte de la ventana.
22
Ejemplo 3: Una mesa para jugar al pker es una composicin que consta de una superficie de la mesa y cuatro o ms patas.
23
Ejemplo 4: Un auto tienen un chasis que no puede ser parte de otro auto. La eliminacin completa del auto supone la eliminacin de su chasis, no as de las partes que estn asociadas por medio de la agregacin.
24
Ejercicios: Elabore los diagramas de clase de los siguientes enunciados. Identifique asociaciones, agregaciones y composiciones 1. El catlogo de productos est formado por las descripciones de los productos, la descripcin de un producto puede aparecer en el catlogo o no. Cada producto es descrito por una descripcin del producto. 2. Cada compra es surtida por un proveedor. El proveedor se elige del catlogo de proveedores. La compra se compone de al menos una lnea de compra. En cada lnea de compra se incluye la cantidad, la descripcin del producto, el precio unitario y el subtotal de un mismo producto.
25
3. Una empresa con varios empleados, se dedica a realizar proyectos, estos proyectos estn formados por una o ms actividades y a su vez cada actividad tiene 1 ms tareas especficas. Cada tarea es asignada a uno o dos empleados y los empleados pueden o no tener asignadas tareas.
26