06 diagrama de clases1

Post on 20-Feb-2017

370 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

CLASE = Plantilla

OBJETO = Instancia u ocurrencia de una clase

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.

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.

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

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”.

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 #

› 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)

nombreOperación(listaParámetros) : tipoValorRetorno [ = valorPredeterminado]

Ejemplo:

+ operación1 (in para1: string, out para2: Date, un para3: Integer = 1) : Integer = 0

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

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.

Relación de generalizaciónRelación en la que hay una vinculación de Clase Padre a Clase Hija.

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.

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

Agregación.- Representan relaciones del tipo Todo/Parte

top related