Está en la página 1de 15

*

Contenido

Qu es un diagrama de clase?

Elementos de un diagrama de clase

Clase, atributo, mtodo y visibilidad

Agregacin y composicin

Generalizacin e interface

Organizacin de clases usando paquetes


2

Qu es un diagrama de
clase?

Es un tipo de diagrama UML que permite


visualizar y documentar el modelo de
clases de una aplicacin.
Puede construirse por ingeniera reversa
desde algn lenguaje de programacin
soportado por Visual Paradigm (Java, PHP,
C, etc.) o generar cdigo en base al modelo
de clases.
3

Elementos de un diagrama de clases

Interface
Clase

Clase
Atributo
Mtodos
Interface
Asociacin
Clase asociativa
Generalizacin
Paquete

Operaciones/mtodos

Atributos

Asociacin

Elementos de un diagrama de clases


Clase: define un tipo de objeto y sus caractersticas incluyendo su estructura y
comportamiento. Se nombran iniciando con una letra mayscula. Por ejemplo:
Cliente, Llanta, Edificio.
Atributos: definen los datos de un clase. Tienen visibilidad, nombre y tipo de dato.

Mtodos: son los servicios que ofrece una clase. Tienen visibilidad, nombre, lista de
parmetros y el tipo de dato que devuelven. Por ejemplo: lista, procesar.
Visibilidad: es de 4 tipos:
a) Privada: solo las clases en el mismo contenedor pueden usarla y verla.
b) Protegida: solo las clases en el mismo contenedor o los descendientes del
contenedor pueden usarla y verla.
c) Pblica: cualquier clase puede usar y ver la clase.
d) Paquete: solo las clases dentro del mismo paquete pueden usarla y verla.
Por default, los atributos son privados y los mtodos son pblicos.
5

Creando un diagrama de clases

Asociaciones
Representan relaciones entre clases.
Pueden relacionar diferentes clases a relacionar una clase a s misma.
Pueden contener lo siguiente:
a)
b)
c)
d)

Nombre de la asociacin.
Nombre de los roles.
Multiplicidad.
Navegabilidad.

Opcionalmente puede usarse una flecha


de direccin.
Debe nombrarse usando verbos.

Roles

Cada asociacin tiene 2 roles.


El nombre del rol identifica el rol que objeto juega en la asociacin.
Es opcional.
Debe usarse solo si se necesita para explicar mejor el diagrama.
En el ejemplo, Empleado y Empleador son los roles de persona y empresa
respectivamente.

Multiplicidad
Define cuantos objetos participan en la relacin (cardinalidad).
Depende del sistema que se est modelando.
Cardinalidad

Semntica

0..1

Cero a uno

0..*

Cero a muchos

Exactamente 1

1..*

Uno a muchos

2..8

NaN

Clases de asociacin
Sirven para resolver una relacin muchos a muchos en un modelo de datos
relacional.
Cuando una relacin tiene atributos que no pertenecen a ninguno de los objetos
de la asociacin se usa una clase de asociacin.
Puede tener sus propios mtodos u operaciones.

10

Agregacin
Es un tipo especial de asociacin que indica jerarqua llamada tambin relacin
todo-parte.
Un diamante hueco al final de la asociacin indica el todo.
Asigna multiplicidad a cada clase en la relacin.
La parte puede existir independientemente del todo.

Una persona puede tener ninguno, uno o varios telfonos


y el telfono puede existir sin que exista una persona
propietaria del telfono.

11

Composicin
Es un tipo especial de asociacin que indica jerarqua llamada tambin relacin
todo-parte pero donde la parte depende del todo. Es decir, la parte no
puede existir sin el todo.
Un diamante lleno al final de la asociacin indica el todo.

Un aula escolar no puede existir si no existe primero el


Colegio donde se ubica, al que pertenece y del que
forma parte.

12

Generalizacin
Es una forma de relacionar clases basndose en sus similitudes y diferencias.
Las subclases heredan los mtodos y atributos de su superclase.
La relacin entre una subclase con su superclase se llama es un tipo de o es
una.
Una generalizacin no es una asociacin. Es una relacin donde las subclases
contienen los elementos de su superclase.

Un edificio y una casa es un tipo de construccin.


13

Interface
Es un conjunto de operaciones que una clase puede realizar.
La interface solo define lo que la clase podra hacer pero no dice cmo lo debe
hacer.
Est basada en la presencia de mtodos abstractos.
No puede ser instanciada.
Una clase se relaciona a su interface mediante realizacin.
Se representa por un tringulo lleno que apunta a la interface.
Las interfaces luego deben ser implementadas por clases que hereden de la
clase abstracta.
La clase String de
Java implementa la
interface
Comparable que slo
tiene un mtodo que
debe ser definido o
realizado en la clase
String

14

Paquetes

Es un contenedor general.
Una clase solo puede estar dentro de un paquete.
Un paquete puede estar dentro de otro paquete.
Puede existir dependencia entre paquetes.

15