Está en la página 1de 30

Omar I.

Cabrera Quiroga
Profesor Universidad Tecnologica de Chile.
Ingeniero Civil Industrial Licenciado en Ciencias de la Ingenieria
Ingeniero en Informatica

Aprendizaje esperados

Conocer el concepto de Clase


Conocer Estructura de las Clases
Relaciones
Multiplicidad
Roles
Ejemplos

Diagrama de Clases
Modela los conceptos del dominio de la
aplicacin.
Permite visualizar las relaciones entre las
clases que involucran el sistema
Un diagrama de clases est compuesto por los
siguientes elementos:
Clases: atributos, operaciones y visibilidad.
Relaciones: Herencia, Composicin, Agregacin,
Asociacin y Uso.
Responsabilidades

Diagrama de Clases: Elementos


Clase
Es la unidad bsica que encapsula toda la informacin de
un Tipo de Objeto (un objeto es una instancia de una
clase).

Diagrama de Clases: Elementos


Atributo
Los atributos describen a
una clase. Pueden ser
Pblicos, Privados o
Protegidos.
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 accesado por
mtodos de la clase adems
de las subclases que se
deriven (herencia)

Diagrama de Clases: Elementos


Operaciones (mtodos)
Las operaciones o mtodos de
una clase describen la forma en
la cual sta interacta con su
entorno. Pueden ser Pblicas,
Privadas o Protegidas.
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 misma
clase lo pueden acceder).
protected (#, ): Indica que el
atributo no ser accesible
desde fuera de la clase, pero si
podr ser utilizado por
mtodos de la clase adems de
las subclases que se deriven
(herencia)

Clase y Visibilidad

Relaciones entre clases:


Asociacin
Relacin estructural entre
Tiene multiplicidad, que
especifica por cada clase el
las clases.
nmero de objetos de la clase
En general es simtrica
opuesta que se relacionan con un
solo objeto de dicha clase a
Tiene un nombre, que la
travs de la asociacin:
describe (verbo, con
1 : uno
direccin de lectura)
0..1 : cero o uno
3 : tres
Puede tener un rol que
*: muchos
describe el papel especfico
1..*: al menos uno
que una clase juega en una
2,6,7: dos, seis o siete
asociacin.
2-4, 10-12 : de dos a cuatro y de
diez a doce

Asociacin
class Class Model

Nombre_Clase_2

Nombre_Clase_1
Nombre dela asociacion

class Class Model

Univ ersidad

Estudiante
estudia-en

Grado de asociacin
Binarias

class Class Model

Estudiante

Ternarias

estudia-en

class Class Model

Univ ersidad

Estudiante

Pofesor

Grado mayor

Univ ersidad

Asociaciones Reflexivas
class Class Model
Pariente de

Persona

Multiplicidad - Cardinalidad

Restringe una asociacin al nmero de objetos que puede relacionarse

Uno a Uno

Uno a Muchos

Muchos a Muchos

class Class Model

Univ ersidad

Rector

class Class Model

Univ ersidad

Estudiante
*

class Class Model

Curso

Estudiante
*

Multiplicidad - otros
class Class Model

Univ ersidad

Estudiante
0..1

class Class Model

Compaia

Persona
0..1

class Class Model

Compaia

Persona
10..*

Rol en relaciones

class Class Model

Persona

+Empleado
*

trabaja-para

Compaia

+Empleador
*

Relaciones entre Clases:


Generalizacin
Trabajador

{ disjunta, completa }

Directivo

Administrativo

Obrero

Ejemplo asociacin
marido
casado-con
mujer

jefe

0..1
0..1

Persona
nombre
s.s.

0..1

*
Administra
empleado

emplea-a

Compaa
trabaja-para nombre
direccin
*

Asociacin Cualificada
Aerolnea

0..1

Viajero

nro_billete

Tablero
Ajedrez

fila
columna

Cuadro

Reduce la multiplicidad del rol opuesto al considerar el valor


del cualificador

Relaciones entre Clases


Agregacin y Composicin

Composicin
Relacin esttica, en donde el
tiempo de vida del objeto
incluido esta condicionado por
el tiempo de vida del que lo
incluye.
El Objeto base se construye a
partir del objeto incluido, es
decir, es "parte/todo, como un
parmetro pasado por valor.

Agregacin
Relacin dinmica, en donde
el tiempo de vida del objeto
incluido es independiente del
que lo incluye.
El objeto base utiliza al
incluido para su
funcionamiento, como un
parmetro pasado por
referencia.

Relaciones entre Clases:


Agregacin y Composicin

Agregacin
(Por referencia)

Composicin
(Por valor)

Diagrama de Clases: Elementos


Responsabilidades
La distribucin de responsabilidades en un sistema, se realiza
identificando un conjunto de clases que colaboran entre s para llevar a
cabo algn comportamiento. Luego hay que identificar el conjunto de
responsabilidades para cada clase

Ejemplos
Window
scrollbar[2] : Slider
title : Header
body : Panel

Window
1

scrollbar
Slider

1
1

title 1
Header

body

Panel

... Ejemplos
Person

Member-of

* Committee

{ subset }
Chair-of

*
Represents an
incorporated entity.

worker

Person

employee

employer
0..1

*
0..1

boss
{Person.employer =
Person.boss.employer}

Company

Ejemplos
Agregacin

Polgono

{ordenado}

*
Cuenta

Punto

contiene

3..*

Persona

Asociacin excluyente

or
Empresa

*
1

est-autorizado-en

Usuario
*

Clase de asociacin

*
Autorizacin
prioridad
privilegios
camb_privil()

Estacin

Ejemplo Diagrama de Clases


Motor
1..4

n
1

Vuelo
n

{ disjunta, completa }

1
Avin militar

1..2

1
Avin

Vendedor de billetes

Piloto

Avin comercial

Lnea area

{ disjunta, completa }

Avin de carga

Avin de pasajeros

Reserva

Ejemplo Diagrama de Clases

Ejemplo

Bibliografa y Referencias:
Fundamental
James Rumbaugh, Ivar Jacobson, Grady
Booch, The Unified Modeling Language
Reference Manual, Addison Wesley, 1999
Craig Larman, UML y Patrones, Prentice Hall,
1999
OMG www.omg.org

Objetivos Aprendidos

Concepto de Clase
Estructura de las Clases
Relaciones
Multiplicidad
Roles
Ejemplos

Bibliografa y Referencias
Complementaria
Rational www.rational.com
Robert Muller, Database Design For Smarties: Using
UML for Data Modeling, Morgan Kaufmann, 1999
Luis Guerrero, Taller de UML, DCC, Universidad de
Chile, 2002, www.dcc.uchile.cl/~luguerre/cc61j
Patricio Salinas, Tutorial de UML, DCC, Universidad de
Chile, 2000, www.dcc.uchile.cl/~psalinas/uml

También podría gustarte