Академический Документы
Профессиональный Документы
Культура Документы
Diagrama de Clases
I. Introduccin: UML
Diagrama de Clases
Perspectivas de UML
- Los diagramas de clases son diagramas de estructura esttica que muestran las clases del sistema y sus interrelaciones (incluyendo herencia, agregacin, asociacin, etc.). Los diagramas de clase son el pilar bsico del modelado con UML, siendo utilizados tanto para mostrar lo que el sistema puede hacer, como para mostrar cmo puede ser construido. - Las clases se documentan con una descripcin de lo que hacen, sus mtodos y sus atributos. Las relaciones entre clases se documentan con una descripcin de su propsito y su cardinalidad (cuantos objetos intervienen en la relacin).
- El modelo de casos de uso debera aportar informacin para establecer las clases, atributos y operaciones
I. Introduccin: UML
Clases
Perspectivas de UML
- Una clase se representa mediante una caja subdividida en tres partes: En la superior se muestra el nombre de la clase, en la media los atributos y en la inferior las operaciones. Una clase puede representarse de forma esquemtica, con los atributos y operaciones suprimidos, siendo entonces tan solo un rectngulo con el nombre de la clase.
Alumno
Alumno
I. Introduccin: UML
Atributos y Operaciones
Perspectivas de UML
Los atributos, identifican las caractersticas propias de cada clase. Generalmente son de tipos simples, ya que los atributos de tipos compuestos se representan mediante relaciones con otras clases. La sintaxis textual UML para un atributo es:
I. Introduccin: UML
Atributos y Operaciones
Perspectivas de UML
La visibilidad de un atributo (o operacin puede ser): public ( + ) : Cualquier clase externa con visibilidad hacia la clase dada puede utilizar la caracterstica (ya se atributo u operacin). protected ( # ) : Cualquier descendiente o clase externa puede utilizar la caracterstica dentro del contexto de un paquete. private ( - ) : Slo la propio clase puede utilizar la caracterstica.
Alumno - numero : int - dni : long - nombre : String
I. Introduccin: UML
Asociaciones
Perspectivas de UML
Las asociaciones entre dos clases se representan mediante una lnea que las une. La lnea puede tener una serie de elementos grficos que expresan caractersticas particulares de la asociacin. La asociacin, permite asociar objetos que colaboran entre si. Cabe destacar que no es una relacin fuerte, es decir, el tiempo de vida de un objeto no depende del otro.
Auto
Motor
I. Introduccin: UML
Cardinalidad
Perspectivas de UML
En UML, la cardinalidad de las relaciones indica el grado y nivel de dependencia, se anotan en cada extremo de la relacin y stas pueden ser: - uno a uno - uno o muchos: 1..* (1..n) - 0 o muchos: 0..* (0..n) - nmero fijo: m (m denota el nmero).
I. Introduccin: UML
Cardinalidad
Cliente 1
Perspectivas de UML
OrderDeCompra 1..*
Un cliente puede tener asociadas muchas Ordenes de Compra, en cambio una orden de compra solo puede tener asociado un cliente.
Paciente 0..*
Doctor
1..*
Una orden de compra tiene varios artculos pero los artculos no conocen a que orden de compra estn asignados.
I. Introduccin: UML
Agregacin y Composicin
Perspectivas de UML
La agregacin es una forma especial de asociacin que especifica una relacin todo-parte entre el agregado (todo) y una parte que lo compone. Una agregacin se representa mediante un rombo en el extremo ``todo'' de la relacin. La composicin o simplemente composicin es una agregacin ms fuerte que implica:
- Dependencia existencial: El elemento dependiente desaparece al destruirse el que lo contiene. - Pertenencia fuerte: Se puede decir que el objeto contenido es parte constitutiva y vital del que lo contiene. -No comparticin: Los objetos contenidos no son compartidos, esto es, no forman parte del estado de otro objeto.
La composicin se representa mediante un rombo relleno del lado de la clase que contiene a la otra en la agregacin.
I. Introduccin: UML
Perspectivas de UML
Un Almacen posee Clientes y Cuentas (los rombos van en el objeto que posee las referencias). Cuando se destruye el Objeto Almacen tambin son destruidos los objetos Cuenta asociados, en cambio no son afectados los objetos Cliente asociados. La composicin se destaca por un rombo relleno. La agregacin se destaca por un rombo transparente.
La flecha en este tipo de relacin indica la navegabilidad del objeto refereniado. Cuando no existe este tipo de particularidad la flecha se elimina.
Herencia
Herencia
La relacin de herencia se representa mediante un tringulo en el extremo de la relacin que corresponde a la clase ms general o clase padre. En el caso de clases abstractas el nombre de la clase padre se representa en tipografa itlica.
Televisor -numCanales
Plancha -vapor
Ejemplo DC
concepto u objeto del dominio
asociacin
1..n Contenida-en
1..* Registro
1 - Identificar y listar las clases conceptuales candidatas 2 - Representarlas en el contexto del modelo de dominio 3 - Aadir las asociaciones necesarias para registrar las relaciones. 4 - Aadir los atributos necesarios para satisfacer los requisitos de informacin Importante: - Utilizar el vocabulario del dominio al nombrar las clases y atributos - Excluir las caractersticas irrelevantes - No aadir cosas que no se encuentran en el dominio del problema que se est estudiando
Construccin de un DC partiendo de un CU
Pasos CU Venta de productos. 1. 2. 3. 4. El Cliente llega al terminal PDV con mercancas y/o servicios que comprar El Cajero inicia una nueva venta El Cajero introduce el identificador del artculo El Sistema registra la lnea de venta y presenta la descripcin del artculo, precio y suma parcial. El precio se calcula a partir de un conjunto de reglas de precios. El Cajero repite los pasos 3-4 hasta que se indique El Sistema muestra el total con los impuestos calculados El Cajero le dice al Cliente el total, y solicita el pago El Cliente paga y el Sistema gestiona el pago El Sistema registra la venta completa y enva la informacin de la venta y el pago al sistema de Contabilidad externo (para la contabilidad y las comisiones) y al sistema de Inventario (para actualizar el inventario). El sistema presenta el recibo El Cliente se va con el recibo y las mercancas
5. 6. 7. 8. 9. 10.
Excepciones ... 7a. Pago en efectivo: 1. El Cajero introduce la cantidad de dinero entregada en efectivo. 2. El sistema muestra la cantidad de dinero a devolver y abre el cajn de caja. 3. El Cajero deposita el dinero entregado y devuelve el cambio al Cliente 4. El Sistema registra el pago en efectivo
Construccin de un DC partiendo de un CU
Error habitual al identificar clases candidatas: -considerar como un atributo algo que debera ser una clase
NO
Venta negocio
SI
negocio
Venta
direccin telfono
En el mundo real, un negocio o un aeropuerto no se consideran un nmero o un texto. Estos trminos sugieren una entidad legal, una organizacin, y algo que ocupa espacio. Por tanto, deben ser una clase mas.
Vuelo destino
Aeropuerto
Vuelo
nombre
I. Introduccin: UML
Actividad
Se desea modelar un sistema para la gestin integral de un aeropuerto Civil/Militar. Dicho sistema debe poder: - Administrar vuelos de las diferentes lneas areas con sus respectivas reservas. - Poder consultar caractersticas de los diferentes aviones en pista tanto militares como civiles de carga y pasajeros. Ej: Pilotos asignados a cada aeronave, Motores de las aeronaves para control tcnico. Realizar el DC correspondiente del sistema. Para la prxima investigar realizacin, dependencia y recursividad (reflexivas)
I. Introduccin: UML
Actividad
Motor 1..4 Piloto 1..2 Agencia de Turismo 1
1 Avin 1 n
n Vuelo n 1 n
n Reserva
1
Avin militar Avin comercial Lnea area
Avin de carga
Avin de pasajeros