Вы находитесь на странице: 1из 18

Analisis de Sistemas II

Lic. Claudio Zamoszczyk

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

- numero : int - dni : long - nombre : String


+ alta() + ponerNota(asignatura : Asignatura, nota : float) + matricular(asignatura : Asignatura)

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:

visibilidad nombre : tipo = valor inicial


Donde visibilidad puede ser public, protected y private; y tipo puede ser int, string, long, etc. con un nombre determinado.

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

+ alta() + ponerNota(asignatura : Asignatura, nota : float) + matricular(asignatura : Asignatura)

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

Un paciente es atendido por muchos doctores y un doctor atiende a muchos pacientes.


OrdenDeCompra 1..* Articulo

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

Agregacin y Composicin: Ejemplo

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.

2. Conceptos I. Introduccin: bsicos de O.O. UML

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.

Electrodomstico -tensin: int -consumo: int +Conectar() +Desconectar()

Lavadora Hormiga -capacidad

Televisor -numCanales

Plancha -vapor

2. Conceptos I. Introduccin: bsicos de O.O. UML

Ejemplo DC
concepto u objeto del dominio

modelo del dominio


LineaDeVenta cantidad Registra-venta-de 0..1 1 * Almacenado-en 1 Tienda direccin tienda 1 Capturada-en 1 Alberga 1 Artculo

asociacin

1..n Contenida-en

1 atributos Venta fecha hora 1

Pagada-mediante 1 Pago cantidad

1..* Registro

2. Conceptos I. Introduccin: bsicos de O.O. UML

Pasos para construir un DC

modelo del dominio

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

2. Conceptos I. Introduccin: bsicos de O.O. UML

Construccin de un DC partiendo de un CU

modelo del dominio

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

2. Conceptos I. Introduccin: bsicos de O.O. UML

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

Вам также может понравиться