gonzalorojas 09 u m l, diagrama de clases

22
1 UML Diagramas de Clases Gonzalo Rojas D.

Upload: spimy

Post on 04-Jul-2015

38.524 views

Category:

Technology


4 download

DESCRIPTION

Realizadas por Gonzalo Rojas

TRANSCRIPT

1

UML Diagramas de Clases

Gonzalo Rojas D.

2

ClasificaciónEl 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

3

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

4

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

Motocicletacolorcilindradavelocidad máxima

arrancar()acelerar()frenar()

5

Clases: Notación Gráfica

Otros ejemplos:

lista

primero()ultimo()añadir()quitar()cardinalidad()

pila

apilar()desapilar()cardinalidad()

6

Relaciones entre ClasesLos enlaces entre objetos pueden representarse entresus respectivas clases

Formas de relación entre clases:

• Asociación• Agregación (caso particular de asociación)• Generalización/Especialización

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

7

Asociación

La asociación expresa una conexión bidireccionalentre objetosUna asociación es una abstracción de la relación existente en los enlaces entre los objetos

UNIVERSIDAD ESTUDIANTEuna asociación

Universidad de Concepción : Universidad Juan Pérez : Estudianteun enlace

8

Ejemplo:

… Asociación

-nombre-dirección

Empresa

0..*

0..*emplea a

trabaja para

-RUT-nombre

Persona

1..1

0..1 0..1

1..*

casado con

administra

jefe

empleado

marido

mujer

9

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

1 Uno y sólo uno1..1 Uno y sólo uno0..1 Cero o unoM..N Desde M hasta N (enteros naturales)* Cero o muchos0..* Cero o muchos1..* Uno o muchos (al menos uno)

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

… Asociación

10

La agregación representa una relación parte_deentre 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

11

… Agregación

Por Valor o Composición: Relación estática. El tiempo de vida del objeto incluido está condicionado por el tiempo de vida del que lo incluye.

Por Referencia o Agregación: Relación Dinámica. El tiempo de vida del objeto incluido es independiente del que lo incluye.

12

… Agregación

Supermercado

ClienteSección

11..* 0..*

1..*

13

Generalización

Permite gestionar la complejidad mediante un ordenamiento taxonómico de clases

Se obtiene usando los mecanismos de abstracción de Generalización y/o Especialización

La Generalización consiste en factorizar laspropiedades comunes de un conjunto de clases en una clase más general

14

Nombres usados: clase padre - clase hija. Otros nombres: superclase - subclase, clase base - clase derivada

Las subclases heredan propiedades de sus clases padre, es decir, atributos y operaciones (y asociaciones) de la clase padre están disponibles en sus clases hijas

... Generalización

15

... Generalización

Vehículo

Veihículo Terrestre Vehículo Aéreo

Coche Camión Avión Helicóptero

16

La especialización es una técnica muy eficaz para la extensión y reutilización

Restricciones predefinidas en UML: • disjunta - no disjunta• total (completa) - parcial (incompleta)

... Generalización

Funcionando Estropeado

Coche

17

La noción de clase está próxima a la de conjunto

Dada una clase, podemos ver el conjunto relativo a las instancias que posee o bien relativo a las propiedades de la clase

Generalización y especialización expresan relaciones de inclusión entre conjuntos

... Generalización

18

Particionamiento del espacio de objetos =>Clasificación Estática

Particionamiento del espacio de estados de los objetos => Clasificación Dinámica

En ambos casos se recomienda considerar generalizaciones/especializaciones disjuntas

... Generalización

19

Un ejemplo de Clasificación Estática:

... Generalización

Vehícu lo Aéreo

Avión Helicóptero

{ estática }

20

Un ejemplo de Clasificación Dinámica:

... Generalización

Funcionando Estropeado

Coche

{ dinámica }

21

Clasificación Múltiple (herencia múltiple)

Se presenta cuando una subclase tiene más de una superclase

La herencia múltiple debe manejarse con precaución. Algunos problemas son el conflicto de nombre y el conflicto de precedencia

Se recomienda un uso restringido y disciplinado de la herencia.

22

… Herencia MúltipleUso disciplinado de la herencia múltiple: clasificaciones disjuntas con clases padre en hojas de jerarquías alternativas

Animal

Bípedo Cuadrúpedo

Con Pelos

Con Plumas

Con Escamas

Herbívoro

Carnívoro

cubertura

cobertura

cobertura

comida

nro patas nro patas

comida

Conejo