Upload
juan-raul-vergara
View
37.689
Download
0
Embed Size (px)
Citation preview
Diagrama de Clases
Asignatura: Ingeniería de Software II.
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
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.
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..
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.
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.
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.
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
2. Clases de asociación
Las clases de asociación permiten añadir atributos y operaciones a las relaciones estructurales.
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.
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..*
Ejemplo 2: Tienda, Producto y proceso de pago
Ejemplo 3:Diagrama de clases Biblioteca.