Sunteți pe pagina 1din 29

C@rlos Alfredo Rodríguez Rojas

Profesor Universidad Distrital – F.M.R.N.


crodriguez@udistrital.edu.co

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

class Class Model

Estudiante Univ ersidad


estudia-en
Grado de asociación
• Binarias class Class Model

Estudiante estudia-en Univ ersidad

• Ternarias
class Class Model

Estudiante Univ ersidad

Pofesor

• Grado mayor
Asociaciones Reflexivas

class Class Model

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

• Uno a Muchos class Class Model

Estudiante Univ ersidad


*

• Muchos a Muchos
class Class Model

Estudiante Curso
* *
Multiplicidad - otros
class Class Model

Estudiante Univ ersidad


* 0..1

class Class Model

Persona Compañia
0..1 1

class Class Model

Persona Compañia
10..* 1
Rol en relaciones

class Class Model

Persona Compañia
+Empleado trabaja-para +Empleador

* *
Relaciones entre Clases:
Generalización

Trabajador

{ disjunta, completa }

Directivo Administrativo Obrero


Ejemplo asociación

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

Reduce la multiplicidad del rol opuesto al considerar el valor


del cualificador
Relaciones entre Clases
Agregación y Composición
Composición Agregación
• Relación estática, en donde • Relación dinámica, en
el tiempo de vida del objeto donde el tiempo de vida
incluido esta condicionado del objeto incluido es
por el tiempo de vida del que independiente del que lo
lo incluye. incluye.
• El Objeto base se construye • El objeto base utiliza al
a partir del objeto incluido, es
incluido para su
decir, es "parte/todo“, como
un parámetro pasado “por funcionamiento, como un
valor”. parámetro pasado “por
referencia”.
Relaciones entre Clases:
Agregación y Composición

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.

worker Person employee employer Company


0..1
* *
0..1

boss

{Person.employer =
Person.boss.employer}
… Ejemplos
Agregación
Polígono 1 contiene Punto
3..*
{ordenado}

Persona
*
*
Cuenta
or Asociación excluyente
* Empresa
1

Usuario está-autorizado-en Estación


* *

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 }

Avión militar Avión comercial Línea aérea

{ disjunta, completa }

Avión de carga Avión de pasajeros


Ejemplo Diagrama de Clases
Ejemplo
Bibliografía 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
Bibliografía 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

S-ar putea să vă placă și