Está en la página 1de 20

Diagramas de Clases

Definicin Un Diagrama de Clases muestra Clases (grupos de objetos que tienen las mismas caractersticas y comportamiento) y sus relaciones. Un diagrama de Clases representa las clases que sern utilizadas dentro del sistema y las relaciones que existen entre ellas. Los diagramas de Clases por definicin son estticos, esto es, representan que partes interactan entre s.

Estos diagramas son los ms comunes en el modelado de sistemas orientados a objetos. -Un diagrama de clases esta compuesto por los siguientes elementos: Clase: atributos, mtodos y visibilidad. Relaciones: Herencia, Composicin, Agregacin, Asociacin y Uso.

Clases
Definicin: Es un conjunto de objetos que tienen los mismos atributos y comportamiento. Representacin: Se representa mediante un rectngulo con tres partes:
NombreClase Atributo1 Atributo2 ... Operacion1 operacion2

Ejemplo: La Clase Automvil Matricula

Automovil

Color Velocidad Arrancar( ) Acelerar( ) Frenar( )


3

...

ELEMENTOS: CLASE
Es la unidad bsica que encapsula toda la informacin de un Objeto (un objeto es una instancia de una clase). A travs de ella podemos modelar el entorno en estudio (una Casa, un Auto, una Cuenta Corriente, etc.). En UML, una clase es representada por un rectngulo que posee tres divisiones: Superior: Contiene el nombre de la Clase Intermedio: Contiene los atributos (o variables de instancia) que caracterizan a la Clase (pueden ser private, protected o public). Inferior: Contiene los mtodos u operaciones, los cuales son la forma como interacta el objeto con su entorno (dependiendo de la visibilidad: private, protected o public). Ejemplo: Una Cuenta Corriente que posee como caracterstica: Balance Puede realizar las operaciones de: Depositar Girar y Balance
4

ELEMENTOS: ATRIBUTOS
Los atributos o caractersticas de una Clase pueden ser de tres tipos, los que definen el grado de comunicacin y visibilidad de ellos con el entorno, estos son: public (+): Indica que el atributo ser visible tanto dentro como fuera de la clase, es decir, es accesible desde todos lados. private (-): Indica que el atributo slo ser accesible desde dentro de la clase (slo sus mtodos lo pueden acceder). protected (#): Indica que el atributo no ser accesible desde fuera de la clase, pero si podr ser accedido por mtodos de la clase adems de las subclases que se deriven (ver herencia).
5

ELEMENTOS: MTODOS
Los mtodos u operaciones de una clase son la forma en como sta interacta con su entorno, stos pueden tener las caractersticas: public (+, ): Indica que el mtodo ser visible tanto dentro como fuera de la clase, es decir, es accesible desde todos lados. private (-, ): Indica que el mtodo slo ser accesible desde dentro de la clase (slo otros mtodos de la clase lo pueden acceder). protected (#, ): Indica que el mtodo no ser accesible desde fuera de la clase, pero si podr ser accedido por mtodos de la clase adems de mtodos de las subclases que se deriven (ver herencia).
6

RELACIONES ENTRE CLASES


Cardinalidad de las relaciones indica el grado y nivel de dependencia, se anotan en cada extremo de la relacin y stas pueden ser: uno o muchos: 1..* (1..n) 0 o muchos: 0..* (0..n) nmero fijo: m (m denota el nmero).

Relaciones entre Clases


1.- Relacin de Dependencia 2.- Relacin de Generalizacin 3.- Relacin de Asociacin 3.1.- Asociacin de Agregacin 3.2.- Asociacin de Composicin

RELACIONES ENTRE CLASES: ASOCIACIN


La relacin entre clases conocida como 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. Ejemplo:

. . . Relaciones entre Clases


Relacin de asociacin Es una relacin estructural que describe un conjunto de enlaces o conexiones entre dos o ms objetos. Esta relacin entre clases permite asociar objetos que colaboran entre si.

Acta

Alumno

0..*

1..*

10

RELACIONES ENTRE CLASES: AGREGACIN


Cuando se requiere componer objetos que son instancias de clases definidas por el desarrollador de la aplicacin, tenemos dos posibilidades: a. Por Valor: Es un tipo de relacin esttica, en donde el tiempo de vida del objeto incluido esta condicionado por el tiempo de vida del que lo incluye. Este tipo de relacin es comnmente llamada Composicin . b. Por Referencia: Es un tipo de relacin dinmica, en donde el tiempo de vida del objeto incluido es independiente del que lo incluye. Este tipo de relacin es comnmente llamada Agregacin.

composicin agregacin

11

. . . Relaciones entre Clases


Asociacin de Agregacin Es un tipo especial de asociacin e indica que el objeto base utiliza al objeto incluido para poder funcionar. Si el objeto base desaparece no desaparecen los objetos incluidos. Muestra una relacin todo - parte. Teclado
Red Computadora WAN LAN HUB CPU Monitor Mouse Hard Disk
12

. . . Relaciones entre Clases


Asociacin de Composicin Es un tipo de asociacin, en donde el tiempo de vida del objeto incluido est condicionado por el tiempo de vida del que lo incluye. El objeto incluido slo existe mientras exista el objeto base. El objeto se construye a partir de los objetos incluidos pero no podra existir si ellos. Ejemplo: El Hombre esta formado por cabeza, tronco y extremidades
Hombre

Cabeza

Tronco

Extremidades
13

RELACIONES ENTRE CLASES: DEPENDENCIA O INSTANCIACIN (USO)


Representa un tipo de relacin muy particular, en la que una clase es instanciada (su instanciacin es dependiente de otro objeto/clase). Se denota por una flecha punteada. El uso ms particular de este tipo de relacin es para denotar la dependencia que tiene una clase de otra, como por ejemplo una aplicacin grafica que instancia una ventana (la creacin del Objeto Ventana esta condicionado a la instanciacin proveniente desde el objeto Aplicacin):

14

. . . Relaciones entre Clases


Relacin de dependencia Es una relacin semntica entre dos elementos en la cual un cambio en un elemento (el elemento independiente) puede afectar a la semntica del otro elemento (elemento dependiente).
Video ... ... Grabar(c : canal) Canal Clase independiente

Clase dependiente

Televisin ... ... cambiar(c : canal)

15

. . . Relaciones entre Clases


Relacin de generalizacin Es una relacin entre dos clases en donde una de ellas, llamada subclase o clase hija (subclass o child), hereda los atributos y el comportamiento de otra, llamada superclase o clase padre (superclass o parent).
Vehculo Red Clase Padre

Clase hija

Terrestre

Areo

camin

auto

avin

helicptero

WAN

LAN

16

RESMEN DE ELEMENTOS

17

Ejemplo de diagrama de clases:


Vuelo de un avin comercial
Cliente Nombre Nacionalidad 1 Avin NroPlaca Modelo Motor Marca Ao 1..4 1

1 Boleto Nro * 1

* Vuelo IdVuelo FechaSal Destino

AvionCarga CapCarga

AvinPasajeros NroAsientos
18

Diagramas de Objetos
Definicin Un Diagrama de Objetos muestra una instancia prototpica de un Diagrama de Clases con el fin de ilustrar los objetos reales participantes en un determinado momento.

Un Diagrama de Objetos tiene los mismos elementos que un Diagrama de Clase pero los objetos y sus atributos tienen valores conocidos.

19

Ejemplo de diagrama de objetos:


Vuelo de un avin comercial
:Cliente Nombre: Juan Prez Nacionalidad: peruana 1 :AvinPasajeros 1 :Boleto Nro: 102030 * 1 * :Vuelo IdVuelo: 666 FechaSal: 01/01/2001 Destino: Lima 1 NroPlaca: XXX123 Modelo: Boeing 777 Nro: 555 Capacidad: 100 :Motor Marca: General Motors Ao: 1996 1..4

20

También podría gustarte