24
1 Sesión 7: Diagrama de Clases Ing. Luis Piedra Rubio [email protected]. pe [email protected]. pe

IS-Sesion 7 - Diagrama de Clases

Embed Size (px)

DESCRIPTION

IS-Sesion 7 - Diagrama de Clases

Citation preview

Page 1: IS-Sesion 7 - Diagrama de Clases

1

Sesión 7: Diagrama de Clases

Ing. Luis Piedra Rubio

[email protected]

[email protected]

Page 2: IS-Sesion 7 - Diagrama de Clases

2

Sesión 7Ingeniería de SoftwareEn esta Sesión :

Contenido de la Sesión

Diagrama de Clases

Elementos

Clases

Atributos, Métodos

Objetos

Relaciones

Herencia

Composición,

Agregación

Asociación y Uso

Actividades

• Diagrama de Clases• Elementos• Clases

• Atributos, Métodos • Objetos

• Relaciones• Herencia • Composición, • Agregación• Asociación y Uso

Page 3: IS-Sesion 7 - Diagrama de Clases

3

Sesión 7Ingeniería de SoftwareUML

UML es un lenguaje de modelado UML NO es una metodología UML es un conjunto de diagramas

para representar diferentes aspectos de una aplicación

Finalmente UML es un estandar respaldado por la OMG (Object Managment Group)

Contenido de la Sesión

Diagrama de Clases

Elementos

Clases

Atributos, Métodos

Objetos

Relaciones

Herencia

Composición,

Agregación

Asociación y Uso

Actividades

Page 4: IS-Sesion 7 - Diagrama de Clases

4

Sesión 7Ingeniería de SoftwareDiagrama de Clases

Un diagrama de Clases representa las clases que serán utilizadas dentro del sistema y las relaciones que existen entre ellas.

Los diagramas de Clases por definición son estáticos, esto es, representan que partes interactúan entre sí, no lo que ocurre cuando.

Contenido de la Sesión

Diagrama de Clases

Elementos

Clases

Atributos, Métodos

Objetos

Relaciones

Herencia

Composición,

Agregación

Asociación y Uso

Actividades

Page 5: IS-Sesion 7 - Diagrama de Clases

5

Sesión 7Ingeniería de SoftwareDiagrama de Clases

Contenido de la Sesión

Diagrama de Clases

Elementos

Clases

Atributos, Métodos

Objetos

Relaciones

Herencia

Composición,

Agregación

Asociación y Uso

Actividades

Page 6: IS-Sesion 7 - Diagrama de Clases

6

Sesión 7Ingeniería de SoftwareElementos de un Diagrama de Clases

Clases Atributos, Métodos Objetos

Relaciones Herencia Composición, Agregación Asociación y Uso

Contenido de la Sesión

Diagrama de Clases

Elementos

Clases

Atributos, Métodos

Objetos

Relaciones

Herencia

Composición,

Agregación

Asociación y Uso

Actividades

Page 7: IS-Sesion 7 - Diagrama de Clases

7

Sesión 7Ingeniería de SoftwareClases

Las clases describen un conjunto de objetos con propiedades y comportamientos comunes.

Dentro de la estructura de una clase se definen: Atributos. Datos asociados a los

elementos y que toman valor al instanciar objetos de una clase.

Métodos. Funciones o procesos propios de los objetos de una clase

Contenido de la Sesión

Diagrama de Clases

Elementos

Clases

Atributos, Métodos

Objetos

Relaciones

Herencia

Composición,

Agregación

Asociación y Uso

Actividades

Page 8: IS-Sesion 7 - Diagrama de Clases

8

Sesión 7Ingeniería de SoftwareNotación

Nombre Clase

Atributos

Métodos

Contenido de la Sesión

Diagrama de Clases

Elementos

Clases

Atributos, Métodos

Objetos

Relaciones

Herencia

Composición,

Agregación

Asociación y Uso

Actividades

Page 9: IS-Sesion 7 - Diagrama de Clases

9

Sesión 7Ingeniería de SoftwareObjetos

Un objeto es una representación de un entidad, ya sea real o conceptual, con límites bien definidos y con significado dentro de un modelo. Cada objeto en un modelo se caracteriza por su estado, su comportamiento y su identidad.

Contenido de la Sesión

Diagrama de Clases

Elementos

Clases

Atributos, Métodos

Objetos

Relaciones

Herencia

Composición,

Agregación

Asociación y Uso

Actividades

Page 10: IS-Sesion 7 - Diagrama de Clases

10

Sesión 7Ingeniería de SoftwareObjetos

El estado de un objeto es una de las posibles condiciones bajo las que el objeto puede existir. El estado de un objeto cambia con el tiempo y está definido por un conjunto de propiedades (atributos), por los valores de esas propiedades y por las relaciones que dicho objeto puede tener con otros objetos.

Contenido de la Sesión

Diagrama de Clases

Elementos

Clases

Atributos, Métodos

Objetos

Relaciones

Herencia

Composición,

Agregación

Asociación y Uso

Actividades

Page 11: IS-Sesion 7 - Diagrama de Clases

11

Sesión 7Ingeniería de SoftwareRelaciones entre Clases

Las relaciones existentes entre las distintas clases nos indican como se comunican entre sí los objetos de esas clases.

Los mensajes “navegan” por las relaciones existentes entre las distintas clases.

Las relaciones pueden ser: Herencia, Asociación, Agregación,

Composición y Dependencia

Contenido de la Sesión

Diagrama de Clases

Elementos

Clases

Atributos, Métodos

Objetos

Relaciones

Herencia

Composición,

Agregación

Asociación y Uso

Actividades

Page 12: IS-Sesion 7 - Diagrama de Clases

12

Sesión 7Ingeniería de SoftwareHerencia

Indica que una subclase hereda los métodos y atributos especificados por una Super Clase, por ende la Subclase además de poseer sus propios métodos y atributos, poseerá las características y atributos visibles de la Super Clase

La herencia puede ser: Simple, Múltiple

Contenido de la Sesión

Diagrama de Clases

Elementos

Clases

Atributos, Métodos

Objetos

Relaciones

Herencia

Composición,

Agregación

Asociación y Uso

Actividades

Page 13: IS-Sesion 7 - Diagrama de Clases

13

Sesión 7Ingeniería de SoftwareHerencia Simple

Cuando heredan de una sola clase. Ej.

Tiempo

HoraMinuto

segundo

ToStr

TiempoC

centesima

ToStr

Contenido de la Sesión

Diagrama de Clases

Elementos

Clases

Atributos, Métodos

Objetos

Relaciones

Herencia

Composición,

Agregación

Asociación y Uso

Actividades

Page 14: IS-Sesion 7 - Diagrama de Clases

14

Sesión 7Ingeniería de SoftwareHerencia Múltiple

Cuando heredan de dos o mas clases. Ej.

Tiempo

HoraMinuto

segundo

ToStr

TiempoHora

ToStr

Fecha

DiaMesaño

ToStr

Contenido de la Sesión

Diagrama de Clases

Elementos

Clases

Atributos, Métodos

Objetos

Relaciones

Herencia

Asociación y Uso

Composición,

Agregación

Actividades

Page 15: IS-Sesion 7 - Diagrama de Clases

15

Sesión 7Ingeniería de SoftwareAsociación

Una asociación es una relación entre instancias de clases, especificando que los objetos de una clase deben ``conocer'' de alguna manera los objetos de la otra. Por ejemplo:

Un objeto de la clase A envía un mensaje a un objeto de la clase B.

Un objeto de la clase A crea un objeto de la clase B.

Un objeto de la clase A recibe un mensaje con un objeto de la clase B como argumento

Contenido de la Sesión

Diagrama de Clases

Elementos

Clases

Atributos, Métodos

Objetos

Relaciones

Herencia

Asociación y Uso

Composición,

Agregación

Actividades

Page 16: IS-Sesion 7 - Diagrama de Clases

16

Sesión 7Ingeniería de SoftwareAsociación

Las asociaciones se caracterizan por: Rol. Papel desempeñado por el objeto Multiplicidad. (Cardinalidad), la cantidad de

objetos de una clase que se relacionan con un objeto de la otra clase:1..* Uno a muchos1..n //0..* Cero a muchos0..n //m Cantidad fija

Contenido de la Sesión

Diagrama de Clases

Elementos

Clases

Atributos, Métodos

Objetos

Relaciones

Herencia

Asociación y Uso

Composición,

Agregación

Actividades

Page 17: IS-Sesion 7 - Diagrama de Clases

17

Sesión 7Ingeniería de SoftwareAsociación

ProfesorNombre

especialidad

CarreraCódigonombre

Dirige 0..11

Toda carrera tiene un directorUn profesor puede dirigir una carrera

EmpleadoCódigoNombre

Departamento

NombrePertenece 11..*

Un empleado pertenece a un departamentoA un departamento le pertenecen 1 o mas empleados

Contenido de la Sesión

Diagrama de Clases

Elementos

Clases

Atributos, Métodos

Objetos

Relaciones

Herencia

Asociación y Uso

Composición,

Agregación

Actividades

Page 18: IS-Sesion 7 - Diagrama de Clases

18

Sesión 7Ingeniería de SoftwareAsociación

ProfesorNombre

especialidad

CarreraCódigonombre

Trabaja 1..n1..n

ProfeCarrera

Contenido de la Sesión

Diagrama de Clases

Elementos

Clases

Atributos, Métodos

Objetos

Relaciones

Herencia

Asociación y Uso

Composición,

Agregación

Actividades

Page 19: IS-Sesion 7 - Diagrama de Clases

19

Sesión 7Ingeniería de SoftwareComposición

Es una relación de todo y parte de, donde el todo esta formado por objetos parte de que lo componen. Se pueden observar las siguientes características:• Dependencia existencial: El elemento dependiente desaparece al destruirse el que lo contiene y, si es de cardinalidad 1, es creado al mismo tiempo. • Pertenencia fuerte: Se puede decir que el objeto contenido es parte constitutiva y vital del que lo contiene. • No compartición: Los objetos contenidos no son compartidos, esto es, no forman parte del estado de otro objeto

Contenido de la Sesión

Diagrama de Clases

Elementos

Clases

Atributos, Métodos

Objetos

Relaciones

Herencia

Asociación y Uso

Composición,

Agregación

Actividades

Page 20: IS-Sesion 7 - Diagrama de Clases

20

Sesión 7Ingeniería de SoftwareComposición

Ventana Modulo

0..2

ScrollBar Aula

Una ventana está compuesta por cero o hasta 2 ScrollBars

1..n

Un módulo está compuesto por una o mas aulas

Todo

Parte de

1 1

Contenido de la Sesión

Diagrama de Clases

Elementos

Clases

Atributos, Métodos

Objetos

Relaciones

Herencia

Asociación y Uso

Composición,

Agregación

Actividades

Page 21: IS-Sesion 7 - Diagrama de Clases

21

Sesión 7Ingeniería de SoftwareAgregación

Es una relación de contenedor y contenido, donde el contenedor contiene objetos contenido. Se pueden observar las siguientes características:

Independencia existencial: El elemento contenido no desaparece al destruirse el que lo contiene.

Pertenencia débil: Se puede decir que el objeto contenedor no contiene realmente al objeto contenido, sino que tiene una referencia a él.

Compartición: Los objetos contenidos también pueden formar parte del estado de otro objeto

Contenido de la Sesión

Diagrama de Clases

Elementos

Clases

Atributos, Métodos

Objetos

Relaciones

Herencia

Asociación y Uso

Composición,

Agregación

Actividades

Page 22: IS-Sesion 7 - Diagrama de Clases

22

Sesión 7Ingeniería de SoftwareAgregación

Producto Polígono

1..n

Ingrediente Punto

Un producto está compuesto por uno o mas ingredientesUn ingrediente puede estar en 0 o mas productos.

3..n

A un polígono se le puede agregar puntosUn punto puede formar parte de 0 o mas polígonos

Todo

Parte de

0..n0..n

Contenido de la Sesión

Diagrama de Clases

Elementos

Clases

Atributos, Métodos

Objetos

Relaciones

Herencia

Asociación y Uso

Composición,

Agregación

Actividades

Page 23: IS-Sesion 7 - Diagrama de Clases

23

Sesión 7Ingeniería de SoftwareDependencia

Significa que una clase necesita de otra para poder prestar sus servicios

Ecuacion

coeficientes

Resolver

Math

PotenciaRaiz

Contenido de la Sesión

Diagrama de Clases

Elementos

Clases

Atributos, Métodos

Objetos

Relaciones

Herencia

Asociación y Uso

Composición,

Dependencia

Actividades

Page 24: IS-Sesion 7 - Diagrama de Clases

24

Sesión 7Ingeniería de Software

Caso Práctico : Diseñar las clases de un Sistema de

Información de una Universidad

Actividad en Clase No. 5 Contenido de la Sesión

Diagrama de Clases

Elementos

Clases

Atributos, Métodos

Objetos

Relaciones

Herencia

Asociación y Uso

Composición,

Dependencia

Actividades