diagrama de clases
de
Clases
1
Diagrama de Clases
• El propósito de este diagrama es el de representar los
objetos fundamentales del sistema, es decir los que
percibe el usuario y con los que espera tratar para
completar su tarea en vez de objetos del sistema o de un
modelo de programación.
• La clase define el ámbito de definición de un conjunto de
objetos.
• Cada objeto pertenece a unaclase.
• Los objetos se crean por instanciación de las clases.
2
Diagrama de Clases
• Cada clase se representa en un rectángulo con tres
compartimientos:
• Nombre de la clase
• Atributos de la clase
• Operaciones de la clase
3
Diagrama de Clases: Atributos
•
•
•
•
•
•
•
Tipo: puede llegar a depender del lenguaje de programación a utilizar.
Tipo:
utilizar.
Valorinicial: valor que poseerá el atributo al crear un objeto.
inicial:
Visibilidad: está relacionado con el encapsulamiento.
Visibilidad:
Multiplicidad: determinar si un atributo debe estar o no, y si posee un único valor o
Multiplicidad:
una lista de valores.
Ordenamiento: especifica si el atributo determina alguna relación de orden dentro de la
Ordenamiento:
dentro
clase.
Capacidad de cambio:permite definir atributos con valores constantes.
cambio:
Modificadores: un atributo puede ser de clase, derivado, volátil, transitorio.
Modificadores:
transitorio.
El atributo fecha de nacimiento es público.
El atributo edad es derivado (puede calcularse a partir
de la fecha de nacimiento), y determina una relación de
orden entre las instancias de las personas.
El atributo DNI es unatributo protegido.
El atributo coloresPreferidos representa una colección
o conjunto de valores del tipo Color
4
Diagrama de Clases: Atributos
Visibilidad
La encapsulamiento presenta tres ventajas básicas:
•
•
•
Se protegen los datos de accesos indebidos
El acoplamiento entre las clases se disminuye
Favorece la modularidad y el mantenimiento
Los atributos de una clase nodeberían ser manipulables directamente por el resto de
directamente
objetos.
Niveles de encapsulamiento:
(-) Privado : es el más fuerte. Esta parte es totalmente invisible desde
fuera de la clase (excepto para clases friends en terminología C++).
terminología
(~) Package : Sólo es visible dentro del mismo package.
(#) Los atributos/operaciones protegidos están visibles para las clases
friendsy para las clases derivadas de la original.
(+) Los atributos/operaciones públicos son visibles a otras clases (cuando
se trata de atributos se está transgrediendo el principio de
principio
encapsulamiento).
5
Diagrama de Clases: Atributos
Multiplicidad
1
El atributo debe tener un único valor.
0..1
El atributo puede o no tener un valor.
0..*
El atributo puede tener variosvalores 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: el atributo se aparece subrayado. No es necesario contar
estático:
con un objeto para ejecutarlo.
• Derivado: es calculable a partir de otros atributos.Derivado:
• Transitorio: tendrá valor sólo durante una porción de la ejecución.
Transitorio:
• Volátil: no se persiste.
Volátil:
6
Diagrama de Clases: Operaciones
Una operación es un servicio que una instancia de la clase puede realizar.
•
•
•
•
Tipo devuelto: puede llegar a depender del lenguaje de programación a utilizar.
devuelto:
utilizar.
Parámetros: además del tipo,puede especificarse si son In, Out o InOut.
Parámetros:
Visibilidad: está relacionado con el encapsulamiento.
Visibilidad:
Modificadores: una operación puede ser de clase, abstracta, query o constructor.
Modificadores:
constructor.
La operación calcularEdad es privado y no
devuelve nada.
El método público calcularHorasTrabajadas es
abstracto, las subclases de la clase Persona...
Regístrate para leer el documento completo.