You are on page 1of 35

Lenguaje de Modelacin Unificado

Diagramas de Clase
Unified Modeling Language

La notacin UML

Diagrama de clases

Describe la estructura esttica del modelo del sistema, en particular, las clases, tipos, y objetos, su estructura interna y las relaciones entre ellos.

La notacin UML

Construcciones generales

Iconos
Formas 2D strings Caminos (path)
es parte de

La notacin UML

Construcciones generales

Notas
Paquete Dependencia Estereotipo

Esto es ...

<<interfaz>>

La notacin UML

Clase

Descriptor de un conjunto de objetos con estructura similar, mismo comportamiento y relaciones Representa un concepto en el sistema que se modela

nombre atributos

Rectngulo
p1: Punto p2: Punto <<constructor>> rectngulo(p1, p2: Punto) <<query>> rea( ): Real aspecto( ): Real (...) <<update>> mover (delta:Punto) escala (radio: Real)

mtodos

Rectngulo

La notacin UML

Objeto

Entidad con identidad nica que encapsula estado y comportamiento

tringulo

tringulo: Polgono centro = (0,0) vrtices = ((0,0),(4,0),(4,3)) color-borde = negro color-relleno = blanco

:Polgono

tringulo: Polgono

La notacin UML

Clase: Estereotipos
Un smbolo de clase puede contener o no un estereotipo.
<<type>> Tipo de dato <<implementationClass>> Imp. tipo de dato <<interface>> Int. tipo de dato Clase <<utility>> Funciones

Estereotipos:
<<type>> <<implementationClass>> <<interface>> <<utility>>

Caso de Estudio:PV

Modelo del dominio: sumando los atributos

Qu es un atributo?? Una informacin significativa de una clase -o de su instancia- que es necesaria para la comprensin del modelo y para satisfacer un requerimiento.
Se indica el nombre y el tipo del atributo

Tienda
1 *

Venta fecha: Fecha hora: Tiempo .........

direccin: Text nombre: Text

realiza

Guas para modelar el dominio: Clase o atributo?


Clase o atributo?

Vuelo ___________ aeropuerto

O?

Vuelo

Aeropuerto ___________ nombre

10

La notacin UML

Identifique todos los elementos


(tarea en clase)
Polgono
tringulo: Polgono centro: Punto vrtices: Conj-Punto color-borde = Color color-relleno = Color ........ <<constructor>> Polgono(p1,p2,p3:Punto) <<query>> rea( ): Real aspecto( ): Real (...) <<update>> mover (delta:Punto) escala (radio: Real)

centro = (0,0) vrtices = ((0,0),(4,0),(4,3)) color-borde = negro color-relleno = blanco

11

La notacin UML

Relaciones

Conexin semntica entre elementos del modelo asociacin binaria agregacin composicin generalizacin dependencia

12

Asociacin Binaria
Qu es una asociacin??

Una relacin significativa entre dos clases -o entre sus instanciasConexin semntica entre elementos del La flecha -opcionalmodelo. indica la direccin
de lectura del nombre de la asociacin

Compaa
1

emplea

1..*

Persona Multiplicidad de la asociacin

13

La notacin UML

Asociacin binaria
incluye:

un nombre (nombre de la asociacin, vinculada a un comportamiento especfico)

un rol (nombre, direccin y multiplicidad del extremo de una asociacin).

Compaa
1 emplea

1..*

Persona
empleado *

jefe 0..1 dirige

14

Multiplicidad

Indica cuntos objetos pueden participar en la relacin


Pedido fecha es prepagado? nmero precio despacho( )

Cliente nombre 1 direccin


credito( )

Adaptado de Univ. Calgary

15

Multiplicidad

Indica cuntos instancias pueden participar en la relacin en un momento dado


*

Cliente Nombre ..
Cliente Nombre ..

0 ms (muchos) 1 ms

1..*

1..10 Cliente Nombre ..


5

1 a 10

Cliente Nombre ..

Exactamente 5

16

Roles
Pedido

Una asociacin tiene roles


El Rol tiene direccin en la asociacin El Rol es explicitamente etiquetado

fecha es prepagado? nmero costo despacho( )


1

Lnea de producto

Pedido de producto cantidad precio satisfecho?

Adapado de Univ. Calgary

17

Nombre del rol

Rol = identifica el extremo de la asociacin


Compaa trabaja para empresa empleado Persona nombre cdula de Identidad direccin

nombre direccin

El nombre del rol es obligatorio para asociaciones entre objetos de la misma clase
gerente
Persona nombre cdula de Identidad direccin

supervisa

vendedor

Adapado de Univ. Calgary

18

Convenciones para asociaciones


Convencin de lectura de los nombres de las asociaciones
LneaArea
1

Emplea
1..* Asignado-a Asignado-a *

Piloto
1

Vuelo

Ruta

Supervisa

19

Guas para identificar asociaciones


Centrarse en las relaciones que deben ser preservadas sin depender de la existencia de instancias
Evitar asociaciones redundantes o derivables Chequear lista de asociaciones tpicas.
DescripcinItem _______________ descripcin precio identificador
1 *

Item _____________ nmeroSerial

20

Sumario: notacin bsica para asociaciones binarias


Nombre de la Asociacin

Clase B
rol_B rol_A

Clase B

Ejemplo:
Contiene Pedido Constitudo de Includo en

Item

Adaptado de Univ. Calgary

21

La notacin UML

Composicin / agregacin (todo/partes)


1

Polgono
1

3..*

Punto

Agregacin

Grfico color textura

Composicin
22

La notacin UML

Asociacin n-aria

Vuelo

vuelo

reservacin asiento

Asiento
pasajero

Persona

24

La notacin UML

Especializacin
Dada una clase, se crea otra clase (subclase) que especializa la clase dada, agregando las diferencias (adicin, supresin o redefinicin de propiedades)
Vehculo

Gra

Carro

Moto
25

La notacin UML

Generalizacin

Se crea una clase (superclase), que generaliza las propiedades comunes de varias clases

Vehculo

Gra

Carro

Moto
26

Herencia

Mecanismo mediante el cual elementos ms especficos incorporan la estructura y el comportamiento de elementos ms generales

vehiculo
<<hereda>>

carro

27

Herencia

Una clase B hereda de una clase A si adquiere las propiedades (estructura y comportamiento) definidas en la clase A
A es una superclase de la clase B B es una subclase de la clase A.

A
<<hereda>>

28

Herencia Simple

Una clase B hereda de una y solo una clase A

Peces

<<hereda>>

Peces de colores

29

Herencia Mltiple

Una clase Z hereda de dos o ms clases X, Y


Aves Mascotas
<<hereda>>

Loros

30

La notacin UML

Herencia mltiple
Vehculo

Vehculo aero

Vehculo terrestre

Vehculo Acutico

Aviones acuaticos

31

asociaciones resumen: notacin bsica


asociaciones
Clase B
1

Multiplicidad
Nombre-de-la-asociacin
1..*

Clase A

rol_B

rol_A

Generalizacin
Superclase

Agregacin
Todo
1

Subclase1

Subclase2

Subclase 3

* Parte Parte

32

Guas para identificar asociaciones: lista de categoras de asociaciones


Categora A es parte fsica de B Sistema Cabeza - Cuerpo

A est contenida en B
A es una descripcin de B

Producto - Tienda
Caractersticas del Producto - producto Cajero - Tienda Cliente - Cajero
33

A es miembro de B
A se comunica con B

Asociaciones complejas: Qu hacer ante estas situaciones?


Un atributo est relacionado a una asociacin Hay dos clases asociadas y no se tiene claro en cual clase colocar un atributo Crear una clase y anexarla a la asociacin

Solucin:

34

Asociaciones complejas: Clase Asociacin

Se utiliza cuando los atributos no pertenecen a las clases sino a la asociacin

Usuario
Autorizado en

EstacinTrabajo

Autorizacin prioridad derechoAcceso inicioSesin

Directorio 35

La notacin UML

Diagrama de Clases
proyeccin Elementos del modelo 1..* Proyeccin +placement:ListOfPoint + style: Uninterpreted 0..* Vistas del modelo

Diagrama

Diagrama de Casos de Uso

Diagrama de Clases

Diagrama de Estado

Diagrama de Actividad

Diagrama de Objetos

()

36

Bibliografa recomendada: - Martin Fowler. UML Distilled. 3a Ed. Addison-Wesley 2004 - www. omg.org

38

You might also like