Documentos de Académico
Documentos de Profesional
Documentos de Cultura
de
Clases
Diagrama de Clases
2
Diagrama de Clases
• Nombre de la clase
• Atributos de la clase
• Operaciones de la clase
• Tipo:
Tipo: puede llegar a depender del lenguaje de programación a utilizar.
utilizar.
• Valor inicial:
inicial: valor que poseerá el atributo al crear un objeto.
• Visibilidad:
Visibilidad: está relacionado con el encapsulamiento.
• Multiplicidad:
Multiplicidad: determinar si un atributo debe estar o no, y si posee un único valor o
una lista de valores.
• Ordenamiento:
Ordenamiento: especifica si el atributo determina alguna relación de orden dentro dentro de la
clase.
• Capacidad de cambio:
cambio: permite definir atributos con valores constantes.
• Modificadores:
Modificadores: un atributo puede ser de clase, derivado, volátil, transitorio.
transitorio.
4
Diagrama de Clases: Atributos
Visibilidad
Niveles de encapsulamiento:
Multiplicidad
1 El atributo debe tener un único valor.
0..1 El atributo puede o no tener un valor.
0..* El atributo puede tener varios valores o ninguno.
1..* El atributo puede tener varios valores, pero debe tener al menos uno
* El atributo puede tener varios valores.
M..N El atributo puede tener entre M y N valores.
Modificadores
• De clase o estático:
estático: el atributo se aparece subrayado. No es necesario contar
con un objeto para ejecutarlo.
• Derivado:
Derivado: es calculable a partir de otros atributos.
• Transitorio:
Transitorio: tendrá valor sólo durante una porción de la ejecución.
• Volátil:
Volátil: no se persiste.
6
Diagrama de Clases: Operaciones
• Tipo devuelto:
devuelto: puede llegar a depender del lenguaje de programación a utilizar.
utilizar.
• Parámetros:
Parámetros: además del tipo, puede especificarse si son In, Out o InOut.
• Visibilidad:
Visibilidad: está relacionado con el encapsulamiento.
• Modificadores:
Modificadores: una operación puede ser de clase, abstracta, query o constructor.
constructor.
Diagrama de Clases
Relaciones entre Clases
8
Diagrama de Clases: Asociación
Enlace
Diagrama de Clases
Relaciones entre Clases
Multiplicidad
1 Un elemento relacionado.
0..1 Uno o ningún elemento relacionado.
0..* Varios elementos relacionados o ninguno.
1..* Varios elementos relacionados pero al menos uno.
* Varios elementos relacionados.
M..N Entre M y N elementos relacionados.
10
Diagrama de Clases: Asociación
Rol
• Identificado como un nombre a los finales de la asociació
asociación,
describe la semá
semántica de la relació
relación en el sentido indicado.
• Cada asociació
asociación tiene dos roles; cada rol es una direcció
dirección en
la asociació
asociación.
11
12
Diagrama de Clases: Agregación
13
14
Diagrama de Clases: Asociación Calificada
fila:
fila: int
columna:
columna: int
15
La relaciones n-
n-arias
pueden ser usadas
para impedir
inconsistencias en el
modelo.
16
Diagrama de Clases: Generalización
17
Restricciones predefinidas
en UML:
• Overlapping
• Disjoint
• Complete
• Incomplete
18
Diagrama de Clases: Generalización
Discriminador
19
20
Diagrama de Clases: Clase de asociación
21
22
Diagrama de Clases: Dependencia
• use:
use: el funcionamiento del origen depende de la
presencia del destino
• instantiate:
instantiate: el origen crea instancias del destino
• derive:
derive: el origen puede calcularse a partir del destino
• refine:
refine: el origen está
está un grado de abstracció
abstracción má
más
detallado.
• bind():
bind(): derivació
derivación gené
genérica de una plantilla
• friend:
friend: visibilidad caracterí
característica de C++
23
24
Diagrama de Clases: Interfaces
25
26
Diagrama de Clases: Interfaces
27
Ejemplo
28
Modelo de Dominio vs. Modelo de Diseño
29
Modelo de Dominio
30
Modelo de Dominio
31
Modelo de Dominio
32
Modelo de Dominio: Clases Conceptuales
Es vá
válido…
lido…
• Tener clases conceptuales sin atributos.
• Tener clases conceptuales para las cuales no haya
requerimientos de informació
información a registrar.
• Tener clases conceptuales con rol de
comportamiento,
comportamiento, en lugar de informació
información.
33
34
Modelo de Dominio: Clases Conceptuales
35
Ejemplo
36
Diagrama Entidad Relación
• No pertenece a UML
• Nacido para describir bases de datos relacionales
(Chen).
• 2 conceptos: entidades y relaciones.
• Entidades: conjuntos de individuos que poseen
atributos.
• Relaciones entre individuos especificando
cardinalidad y opcionalidad.
37
Modelo de Diseño
39
Objetos
40
¿Preguntas?
41