Está en la página 1de 22

Contenidos

Introducción
Clases
Atributos
Operaciones
Asociaciones y enlaces
Multiplicidad
Roles
Asociaciones como clases
Asociaciones cualificadas
Agregación
Generalización / Especialización
Clases abstractas

Diagramas de Clases 1
Introducción

Mundo Real

Casa Persona Coche

Gap Semántico

(Arbol
(Casa) (Coche) (Ecuación) Modelo
Binario)
vive en conduce

(Persona)

Diagramas de Clases 2
Introducción

• El modelo de objetos o los diagramas de clases reflejan la


estructura estática del sistema.

• Es la herramienta principal de la mayor parte de los métodos OO.

• Un modelo de objetos contiene clases relacionadas con otras clases,


mediante asociaciones, ordenadas en jerarquías de agregación y de
generalización / especialización.

Diagramas de Clases 3
Introducción

• Un objeto es un concepto, abstracción, o cosa que tiene sentido


dentro del contexto de una aplicación. En definitiva, una
encapsulación de datos.

• Los objetos aparecen como nombres propios o como referencias


específicas dentro de la descripción del problema o en las
discusiones con el usuario.

Diagramas de Clases 4
Diagrama de Clases
Clases
• Una clase es la descripción de un grupo de objetos con estructura, comportamiento y
relaciones similares.
• Se representa mediante un rectángulo con hasta tres compartimentos:

Ventana Compartimento del nombre


Ventana

Compartimento de los Tamaño: Área


atributos visible:Boolean

Dibujar()
Compartimento de las
altura()
operaciones
Maximizar()

Diagramas de Clases 5
Lenguaje de Programación
Persona
persona1
Nombre: String;
Edad: Integer; Pepe

30

persona2

Pepe

30
Base de datos relacional

Tabla Persona

ID Persona Nombre Edad

1 Pepe 30

2 Pepe 30

Nombre Clase

Surrogates: Persona01, Persona02

Número de instancia

Diagramas de Clases 6
Clases

• Una clase es una abstracción; un objeto es una manifestación concreta de


esa abstracción.
Un Arbol Binario: Houston: Ciudad
Arbol Binario
(Persona)
Objetos
Nom bre Ciudad: Houston TX
Pepe
poblacion: 3.000.000

Ciudad
Persona
Clases
- Nom bre Ciudad: String Nom bre:String
Arbol Binario - poblacion:Real

Diagramas de Clases 7
Atributos

• Un atributo es una propiedad de una clase identificada con un nombre,


que describe un rango de valores que pueden tomar las instancias de la
propiedad.

• Los atributos se pueden representar mostrando sólo los nombres.

Persona
-numeroDocumento: String
-nombre: String
-apellido: String
-edad: int

Diagramas de Clases 8
Atributos
• La forma de definición general es la siguiente:

[visibilidad] Nombre [: Tipo] [= valor_inicial]

donde visibilidad puede ser:


+ = Pública Persona
# = Protegida -numeroDocumento: String
-nombre: String
- = Privada (por defecto) -apellido: String
-edad: int
= implementación o paquete

• Los tipos permitidos para los atributos son tipos básicos (integer, real, char,
string, etc.), no objetos.

Diagramas de Clases 9
Operaciones
• Una operación se corresponde con un servicio que puede ser
requerido a cualquier objeto de la clase.

• Una operación es una función o transformación que puede ser


aplicada a los objetos.

• Un método es la implementación de una operación.

Diagramas de Clases 10
Operaciones
• Las operaciones se definen de la siguiente forma:

[visibilidad] Nombre( [comalista_parámetros] ) [: Tipo_Resultado]

donde visibilidad puede ser:


+ = Pública (opción por defecto)
Sensor Temper atura
#= Protegida
- = Privada
reinici ar();
= Paquete
PonerAlarma(t:Temperatura);
valor():Temperatura

Diagramas de Clases 11
Operaciones
• Las operaciones que cambian el estado de un objeto se dice que
tienen efectos laterales.

• Las operaciones que no tienen efectos laterales y que únicamente


calculan un valor funcional se llaman consultas.

• Las consultas devuelven el valor de los atributos de los objetos.

Diagramas de Clases 12
Asociaciones y enlaces

• Un enlace es una conexión física o conceptual entre objetos.

• Una asociación es una relación estructural que especifica que


los objetos de un elemento están conectados con los objetos de otro.

• Las asociaciones aparecen en el diagrama de clases, mientras que los


enlaces aparecen en el diagrama de instancias.

Diagramas de Clases 13
Asociaciones y enlaces

• Cada asociación en el diagrama de clases se corresponde con un


conjunto de enlaces en el diagrama de instancias.

• Dada una asociación entre dos clases, se puede navegar en los dos
sentidos, desde objetos de una clase a objetos de la otra.

• Asociaciones binarias son aquellas que conectan dos clases.

Diagramas de Clases 14

También podría gustarte