06 diagrama de clases1
TRANSCRIPT
![Page 1: 06 diagrama de clases1](https://reader034.vdocuments.net/reader034/viewer/2022042511/58aa98b31a28ab85678b5bc5/html5/thumbnails/1.jpg)
![Page 2: 06 diagrama de clases1](https://reader034.vdocuments.net/reader034/viewer/2022042511/58aa98b31a28ab85678b5bc5/html5/thumbnails/2.jpg)
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
![Page 3: 06 diagrama de clases1](https://reader034.vdocuments.net/reader034/viewer/2022042511/58aa98b31a28ab85678b5bc5/html5/thumbnails/3.jpg)
CLASE = Plantilla
OBJETO = Instancia u ocurrencia de una clase
![Page 4: 06 diagrama de clases1](https://reader034.vdocuments.net/reader034/viewer/2022042511/58aa98b31a28ab85678b5bc5/html5/thumbnails/4.jpg)
![Page 5: 06 diagrama de clases1](https://reader034.vdocuments.net/reader034/viewer/2022042511/58aa98b31a28ab85678b5bc5/html5/thumbnails/5.jpg)
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.
![Page 6: 06 diagrama de clases1](https://reader034.vdocuments.net/reader034/viewer/2022042511/58aa98b31a28ab85678b5bc5/html5/thumbnails/6.jpg)
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.
![Page 7: 06 diagrama de clases1](https://reader034.vdocuments.net/reader034/viewer/2022042511/58aa98b31a28ab85678b5bc5/html5/thumbnails/7.jpg)
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
![Page 8: 06 diagrama de clases1](https://reader034.vdocuments.net/reader034/viewer/2022042511/58aa98b31a28ab85678b5bc5/html5/thumbnails/8.jpg)
![Page 9: 06 diagrama de clases1](https://reader034.vdocuments.net/reader034/viewer/2022042511/58aa98b31a28ab85678b5bc5/html5/thumbnails/9.jpg)
![Page 10: 06 diagrama de clases1](https://reader034.vdocuments.net/reader034/viewer/2022042511/58aa98b31a28ab85678b5bc5/html5/thumbnails/10.jpg)
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”.
![Page 11: 06 diagrama de clases1](https://reader034.vdocuments.net/reader034/viewer/2022042511/58aa98b31a28ab85678b5bc5/html5/thumbnails/11.jpg)
![Page 12: 06 diagrama de clases1](https://reader034.vdocuments.net/reader034/viewer/2022042511/58aa98b31a28ab85678b5bc5/html5/thumbnails/12.jpg)
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 #
![Page 13: 06 diagrama de clases1](https://reader034.vdocuments.net/reader034/viewer/2022042511/58aa98b31a28ab85678b5bc5/html5/thumbnails/13.jpg)
![Page 14: 06 diagrama de clases1](https://reader034.vdocuments.net/reader034/viewer/2022042511/58aa98b31a28ab85678b5bc5/html5/thumbnails/14.jpg)
![Page 15: 06 diagrama de clases1](https://reader034.vdocuments.net/reader034/viewer/2022042511/58aa98b31a28ab85678b5bc5/html5/thumbnails/15.jpg)
![Page 16: 06 diagrama de clases1](https://reader034.vdocuments.net/reader034/viewer/2022042511/58aa98b31a28ab85678b5bc5/html5/thumbnails/16.jpg)
› 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)
![Page 17: 06 diagrama de clases1](https://reader034.vdocuments.net/reader034/viewer/2022042511/58aa98b31a28ab85678b5bc5/html5/thumbnails/17.jpg)
nombreOperación(listaParámetros) : tipoValorRetorno [ = valorPredeterminado]
Ejemplo:
+ operación1 (in para1: string, out para2: Date, un para3: Integer = 1) : Integer = 0
![Page 18: 06 diagrama de clases1](https://reader034.vdocuments.net/reader034/viewer/2022042511/58aa98b31a28ab85678b5bc5/html5/thumbnails/18.jpg)
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
![Page 19: 06 diagrama de clases1](https://reader034.vdocuments.net/reader034/viewer/2022042511/58aa98b31a28ab85678b5bc5/html5/thumbnails/19.jpg)
![Page 20: 06 diagrama de clases1](https://reader034.vdocuments.net/reader034/viewer/2022042511/58aa98b31a28ab85678b5bc5/html5/thumbnails/20.jpg)
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.
![Page 21: 06 diagrama de clases1](https://reader034.vdocuments.net/reader034/viewer/2022042511/58aa98b31a28ab85678b5bc5/html5/thumbnails/21.jpg)
Relación de generalizaciónRelación en la que hay una vinculación de Clase Padre a Clase Hija.
![Page 22: 06 diagrama de clases1](https://reader034.vdocuments.net/reader034/viewer/2022042511/58aa98b31a28ab85678b5bc5/html5/thumbnails/22.jpg)
Relación de asociaciónDescribe 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.
![Page 23: 06 diagrama de clases1](https://reader034.vdocuments.net/reader034/viewer/2022042511/58aa98b31a28ab85678b5bc5/html5/thumbnails/23.jpg)
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
![Page 24: 06 diagrama de clases1](https://reader034.vdocuments.net/reader034/viewer/2022042511/58aa98b31a28ab85678b5bc5/html5/thumbnails/24.jpg)
Agregación.- Representan relaciones del tipo Todo/Parte