Documente Academic
Documente Profesional
Documente Cultură
Presentación Adptada
Diagrama de Clases
• Modela los conceptos del dominio de la
aplicación.
• 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, Composición,
Agregación, Asociación y Uso.
– Responsabilidades
Diagrama de Clases: Elementos
Clase
• Es la unidad básica que encapsula toda la
información de un Tipo de Objeto (un objeto es una
instancia de una clase).
Diagrama de Clases: Elementos
Atributo
• Los atributos describen a • private (-, ): Indica que
una clase. Pueden ser el atributo sólo será
Públicos, Privados o accesible desde dentro de
la clase (sólo sus métodos
Protegidos.
lo pueden acceder).
• public (+, ): Indica que • protected (#, ): Indica
el atributo será visible que el atributo no será
tanto dentro como fuera accesible desde fuera de la
de la clase, es decir, es clase, pero si podrá ser
accesado por métodos de
accesible desde todos
la clase además de las
lados. subclases que se deriven
(herencia)
Diagrama de Clases: Elementos
Operaciones (métodos)
• Las operaciones o métodos de • private (-, ): Indica que el
una clase describen la forma método sólo será accesible
en la cual ésta interactúa con desde dentro de la clase
su entorno. Pueden ser (sólo otros métodos de la
Públicas, Privadas o misma clase lo pueden
Protegidas. acceder).
• public (+, ): Indica que el • protected (#, ): Indica
método será visible tanto que el atributo no será
dentro como fuera de la clase, accesible desde fuera de la
es decir, es accesible desde clase, pero si podrá ser
todos lados. utilizado por métodos de la
clase además de las
subclases que se deriven
(herencia)
Clase y Visibilidad
Relaciones entre clases:
Asociación
• Relación estructural • Tiene multiplicidad, que
entre las clases. especifica por cada clase el
número de objetos de la clase
• En general es simétrica opuesta que se relacionan con
• Tiene un nombre, que la un solo objeto de dicha clase a
describe (verbo, con través de la asociación:
dirección de lectura) 1 : uno
0..1 : cero o uno
• Puede tener un rol que
3 : tres
describe el papel *: muchos
específico que una clase 1..*: al menos uno
juega en una asociación. 2,6,7: dos, seis o siete
2-4, 10-12 : de dos a cuatro y de
diez a doce
Asociación
class Class Model
Nombre_Clase_1 Nombre_Clase_2
Nombre dela asociacion
• Ternarias
class Class Model
Pofesor
• Grado mayor
Asociaciones Reflexivas
Pariente de
Persona
Multiplicidad - Cardinalidad
• Restringe una asociación al número de objetos que puede
relacionarse
class Class Model
• Uno a Uno
Rector Univ ersidad
• Muchos a Muchos
class Class Model
Estudiante Curso
* *
Multiplicidad - otros
class Class Model
Persona Compañia
0..1 1
Persona Compañia
10..* 1
Rol en relaciones
Persona Compañia
+Empleado trabaja-para +Empleador
* *
Relaciones entre Clases:
Generalización
Trabajador
{ disjunta, completa }
marido
casado-con
0..1
mujer
0..1 Persona Compañía
nombre * trabaja-para nombre
s.s. dirección
emplea-a *
jefe 0..1
*
Administra
empleado
Asociación Cualificada
Aerolínea Viajero
* 0..1
nro_billete
Tablero Cuadro
fila 1 1
Ajedrez
columna
Agregación Composición
(Por referencia) (Por valor)
Diagrama de Clases: Elementos
Responsabilidades
La distribución de responsabilidades en un sistema, se realiza
identificando un conjunto de clases que colaboran entre sí para
llevar a cabo algún comportamiento. Luego hay que identificar el
conjunto de responsabilidades para cada clase
Ejemplos
Window
scrollbar[2] : Slider
title : Header
body : Panel
Window
1 1
1
scrollbar
2 title 1 body 1
Slider Header Panel
... Ejemplos
Member-of * Committee
Person *
{ subset }
1 Chair-of *
Represents an
incorporated entity.
boss
{Person.employer =
Person.boss.employer}
… Ejemplos
Agregación
Polígono 1 contiene Punto
3..*
{ordenado}
Persona
*
*
Cuenta
or Asociación excluyente
* Empresa
1
Autorización
prioridad
Clase de asociación privilegios
camb_privil()
Ejemplo Diagrama de Clases
Motor Piloto Vendedor de billetes
1..4 1..2 1
1 n
n
1 n 1 n
Avión Vuelo Reserva
n
{ disjunta, completa }
{ disjunta, completa }