2. Muestra las clases que intervienen en un
sistema o parte de él
Muestra como se relacionan entre sí
para cumplir los objetivos del sistema.
Los diagramas de Clases representan la
vista de diseño estática de un sistema
3. CLASE = Plantilla
OBJETO = Instancia u ocurrencia de una
clase
4.
5. Compartimento superior: Contiene el
nombre de la Clase.
Compartimento intermedio: Contiene los
atributos que determinan las
características de la Clase.
Compartimento inferior: Contiene las
Operaciones que definen como una
instancia de la clase (objeto) interactúa
con su entorno.
6. NOMBRE DE LA CLASE
Nombre de la clase: Debe darnos una idea de lo que
representa. Primer carácter del nombre en mayúscula.
Nombre simple (simple name): Indica solo el nombre de
la clase, Ej.: Cliente, SensorTemperatura.
Nombre de ruta (Class path name): Indica además del
nombre el paquete al que pertenece. Un paquete
permite agrupar las clases según diferentes criterios
establecidos por el grupo del proyecto, Ej.:
Asociados::Cliente, donde Asociados es el nombre del
paquete.
Multiplicidad de la clase: Indica la cantidad de
instancias (objetos) que una clase puede tener, se
especifica mediante un número en la esquina superior
derecha del compartimiento que representa a la clase.
7. El campo atributos contiene los atributos de la clase mostrando para cada
atributo: Su nombre, visibilidad, tipo de dato, valor inicial entre otras
propiedades.
Nombre del atributo: Por Ej. apellidoPaterno
Visibilidad del Atributo: Determina si el atributo de una clase es accesible
para otras clases.
› Público: Indica que el atributo es visible desde todas las clases del
sistema. Se denota con el símbolo + delante del nombre del atributo.
› Privado: Atributo accesible solo dentro de la clase. Denotado con el
símbolo –
› Protegido: Atributo accesible solo desde la clase misma y clases
derivadas. Se indica con el símbolo #
Tipo de dato del atributo: Puede tomar (Integer, String. Boolean, etc).
Multiplicidad del atributo: Define el posible número de valores que el
atributo puede tener. Representado mediante una cadena de multiplicidad
entre corchetes. Si no hay corchetes entonces la multiplicidad es
exactamente 1
8.
9.
10. Alcance del Atributo: Determina si el valor del
atributo es distinto para cada instancia de
la clase o todas las instancias de la clase
comparten el mismo valor del atributo por
lo que el atributo puede tener:
› Alcance de Instancia: Cada instancia puede
tener su propio valor para el atributo. (Es por
defecto).
› Alcance de Clase: para todas las instancias el
valor del atributo es el mismo:
“Si el atributo tiene alcance de clase debe
subrayarse”.
11.
12. OPERACIONES DE UNA CLASE: Estas se especifican en el tercer
compartimiento del diagrama de una clase y especifican las
operaciones que un objeto de la clase puede ejecutar
mostrando su nombre, visibilidad parámetros, tipo de dato del
valor retornado, valores predeterminados y alcance.
Nombre de la operación:
Ej. ImprimirInformeDiario
Visibilidad: (Indicado como en los atributos)
Público: Visible desde todas las clases del sistema. Se denota
con el símbolo + delante del nombre de la operación.
Privado: Operación accesible solo dentro de la clase. Denotado
con el símbolo –
Protegido: Operación accesible solo desde la clase misma y
clases derivadas. Se indica con el símbolo #
13.
14.
15.
16. › in: el parámetro es un valor de entrada.
› Out: El parámetro es un valor de salida.
› Inout: similar a in, solo que el valor del parámetro
puede ser modificado por la operación
+ operación1 (in para1: string = “abc”, out para2: Date, inout para3:
Integer = 1)
18. Determina si la operación se aplica a solo una
instancia de la clase o se aplica a toda la clase.
Por lo tanto, el alcance de la operación puede
ser:
› Alcance de Instancia: Cuando la operación se aplica
a un objeto individual.
› Alcance de clase: Cuando la operación se aplica a
toda la clase, tal como un operación de creación
(constructor),
Las operaciones con alcance de clase deben
subrayarse
19.
20. Relación de dependencia
Es una relación de uso que
declara que un cambio en
la especificación de una
clase puede afectar a otra
clase que la utiliza. La
afección puede ser
semántica en la clase
dependiente, esta
necesita de la otro (Clase
independiente) para
cumplir su responsabilidad.
22. Relación de asociación
Describe la conexión
semántica entre las instancias
individuales de las clases.
Proporciona la conexión con
la que los Objetos de las clases
relacionadas pueden
interactuar, a diferencia de las
relaciones restantes que
relacionan las descripciones
de las clases con ellos mismos,
la relación de Asociación
describe la conexión entre los
Objetos.
23. A una relación de Asociación se le puede aplicar algunos
elementos adicionales con la finalidad de establecer bien su
definición, estos son
NOMBRE
ROL
MULTIPLICIDAD
›Exactamente 1 : 1
›Cero o uno : 0..1
›Cero o muchos : 0..*
›Uno o muchos : 1..*
›Un valor exacto:
por ejemplo, 5