13
Diagrama de Clases Asignatura: Ingeniería de Software II.

DIAGRAMAS DE CLASE

Embed Size (px)

Citation preview

Page 1: DIAGRAMAS DE CLASE

Diagrama de Clases

Asignatura: Ingeniería de Software II.

Page 2: DIAGRAMAS DE CLASE

1.Diagrama de ClasesLos diagrama de clases especifican que clases intervienen en el desarrollo del sistema y como se relacionan, a diferencia de los diagramas de interacción que modelan los aspectos dinámicos, los diagramas de clases modelan la parte estática.

Los diagramas de clases también lo podemos definir, como una técnica grafica que se utiliza para modelar la parte estática del sistema

Sin entrar en rodeos los elementos básicos de un diagrama de clase son:

1.1Clases. Como lo habíamos hablado escriben un conjunto de objetos con propiedades y comportamientos comunes.1.2Relaciones. Enlaces entre los distintos elementos de los diagramas. 1.3Interfaces. Conjunto de operaciones de una clase o paquete visibles desde otras clases o paquetes

Page 3: DIAGRAMAS DE CLASE

1.1Clases.Las clases tienen una representación para identificarlas dentro del enfoque O.O, y las debemos crear teniendo en cuenta los siguientes aspectos:

Nombre con que se identifica la clase dentro del sistema

NOMBRE

ORIGEN

Son el conjunto de atributos que describen la clase, estos dependen del nivel de visibilidad establecido

OPERACIONES

Representan las operaciones que mas tarde se convierten en métodos y se representan una a la vez, una por línea

Operaciones: Visibilidad+nombre+parametros:tipo devuelto.

Page 4: DIAGRAMAS DE CLASE

1.2Relaciones.

Hay tres tipos:– Asociaciones: relaciones estructurales.– Generalizaciones: herencias.– Dependencias: relaciones de uso, especifican que un cambio en la especificación de un elemento puede afectar a otro que lo utiliza.

1.2.1 Asociaciones.

1.2.1.1 Nombre: Las asociaciones pueden tener un nombre que las identifiquen

Profesor Universidad

Trabaja para..

Page 5: DIAGRAMAS DE CLASE

1.2.1.2 Rol: Especifica el papel que juega cada clase dentro de la relación.

Profesor Universidad

El papel del profesor juega el papel de empleado y la universidad de empleador,

1.2.1.3 La multiplicidad: Indica el número de objetos involucrados en una asociación.

Page 6: DIAGRAMAS DE CLASE

1.2.1.2 Rol: Especifica el papel que juega cada clase dentro de la relación.

Profesor Universidad

El papel del profesor juega el papel de empleado y la universidad de empleador,

1.2.1.3 La multiplicidad: Indica el número de objetos involucrados en una asociación.

Page 7: DIAGRAMAS DE CLASE

Profesor

1.2.1.3 La multiplicidad: Indica el número de objetos involucrados en una asociación.

Universidad

1. 1..*

Esta misma relación se puede mirar como una relación n….n.

• Tipos de multiplicidad habituales:– * = Cero, uno ó n.– 0,1 = Cero o uno.– 1..* = Uno o más.– 1 = Exactamente uno (también podría ser otro número).– 1..5 = Entre uno y cinco.

Page 8: DIAGRAMAS DE CLASE

1.2 Relaciones de generalización

Indica una relación de “tipo/subtipo”.

Permite a una clase (hijo o subclase) heredar los atributos de otra (padre o superclase), siendo posible añadir atributos y operaciones especificas.

Profesor

Universidad

Estudiante

Page 9: DIAGRAMAS DE CLASE

2. Clases de asociación

Las clases de asociación permiten añadir atributos y operaciones a las relaciones estructurales.

Page 10: DIAGRAMAS DE CLASE

3. Visibilidad

Índica el nivel de ‘acceso’ que tienen el resto de clases a los datos y operaciones definidos• Podráser:– Pública : (+) Visible para todos los clientes de la clase– Privada : (-) Visible solo para la propia clase– Protegida: (#) Visible solo para las subclases

4. Responsabilidades

Las responsabilidades son contratos u obligaciones de una clase. Los atributos y características son, entonces, los medios a través de los cuales las clases llevan a cabo sus responsabilidades.

Page 11: DIAGRAMAS DE CLASE

Ejemplo 1: Relación estudiante-Universidad

Universidad

-NIT

+Crearuniversidad()+Modificar()+Buscar()

Profesor

-Id profesor

+Crear()+Modificar()+Eliminar()

Tiene 1..*

Estudiante

-Id estudiante

+Crear()+Modificar()+Eliminar()

Tiene 1..*

Asignatura

-Id asignatura

+Crear()+Modificar()+Eliminar()

Tiene 1..*

Tiene 1..*

Page 12: DIAGRAMAS DE CLASE

Ejemplo 2: Tienda, Producto y proceso de pago

Page 13: DIAGRAMAS DE CLASE

Ejemplo 3:Diagrama de clases Biblioteca.