Page 1

Sesi贸n 7: Diagrama de Clases

Ing. Luis Piedra Rubio

lpiedra@mail.urp.edu.pe luispiedra@terra.com.pe

1


Sesión 7

En esta Sesión : • • •

Diagrama de Clases Elementos Clases • •

Atributos, Métodos Objetos

Relaciones • • • •

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

Ingeniería de Software  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

2


Sesión 7

UML

Ingeniería de Software  Contenido de la Sesión

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

 Diagrama de Clases  Elementos  Clases  Atributos, Métodos  Objetos  Relaciones  Herencia  Composición,  Agregación  Asociación y Uso  Actividades

3


Sesión 7

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

Ingeniería de Software  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

4


Sesión 7

Diagrama de Clases

Ingeniería de Software  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

5


Sesión 7

Elementos de un Diagrama de Clases

Ingeniería de Software  Contenido de la Sesión

 Clases  Atributos, Métodos  Objetos

 Relaciones    

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

 Diagrama de Clases  Elementos  Clases  Atributos, Métodos  Objetos  Relaciones  Herencia  Composición,  Agregación  Asociación y Uso  Actividades

6


Sesión 7

Clases

Ingeniería de Software  Contenido de la Sesión

 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

 Diagrama de Clases  Elementos  Clases  Atributos, Métodos  Objetos  Relaciones  Herencia  Composición,  Agregación  Asociación y Uso  Actividades

7


Sesión 7

Notación

Ingeniería de Software  Contenido de la Sesión  Diagrama de Clases  Elementos

Nombre Clase

 Clases  Atributos, Métodos  Objetos  Relaciones

Atributos

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

Métodos

 Actividades

8


Sesión 7

Objetos

Ingeniería de Software  Contenido de la Sesión

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

 Diagrama de Clases  Elementos  Clases  Atributos, Métodos  Objetos  Relaciones  Herencia  Composición,  Agregación  Asociación y Uso  Actividades

9


Sesión 7

Objetos

Ingeniería de Software  Contenido de la Sesión

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

 Diagrama de Clases  Elementos  Clases  Atributos, Métodos  Objetos  Relaciones  Herencia  Composición,  Agregación  Asociación y Uso  Actividades

10


Sesión 7

Relaciones entre Clases

Ingeniería de Software  Contenido de la Sesión

 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

 Diagrama de Clases  Elementos  Clases  Atributos, Métodos  Objetos  Relaciones  Herencia  Composición,  Agregación  Asociación y Uso  Actividades

11


Sesión 7

Herencia

Ingeniería de Software  Contenido de la Sesión

 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:

 Diagrama de Clases  Elementos  Clases  Atributos, Métodos  Objetos  Relaciones  Herencia  Composición,  Agregación  Asociación y Uso  Actividades

 Simple, Múltiple

12


Sesión 7

Herencia Simple

Ingeniería de Software

 Cuando heredan de una sola clase. Ej. Tiempo Hora Minuto segundo 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

TiempoC

centesima ToStr 13


Sesión 7

Herencia Múltiple

Ingeniería de Software

 Cuando heredan de dos o mas clases. Ej.

 Contenido de la Sesión  Diagrama de Clases

Tiempo

Fecha

Hora Minuto segundo

Dia Mes año

ToStr

ToStr

 Elementos  Clases  Atributos, Métodos  Objetos  Relaciones  Herencia  Asociación y Uso  Composición,  Agregación  Actividades

TiempoHora

ToStr 14


Sesión 7

Asociación

Ingeniería de Software  Contenido de la Sesió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

 Diagrama de Clases  Elementos  Clases  Atributos, Métodos  Objetos  Relaciones  Herencia  Asociación y Uso  Composición,  Agregación  Actividades

15


Sesión 7

Asociación

Ingeniería de Software  Contenido de la Sesió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..* 1..n 0..* 0..n m

Uno a muchos // Cero a muchos // Cantidad fija

 Diagrama de Clases  Elementos  Clases  Atributos, Métodos  Objetos  Relaciones  Herencia  Asociación y Uso  Composición,  Agregación  Actividades

16


Sesión 7

Asociación

Ingeniería de Software  Contenido de la Sesión

Profesor Nombre 1 especialidad

Dirige

0..1

Carrera Código nombre

Toda carrera tiene un director Un profesor puede dirigir una carrera

 Diagrama de Clases  Elementos  Clases  Atributos, Métodos  Objetos  Relaciones  Herencia  Asociación y Uso

Empleado Código Nombre

Departamento 1..*

Pertenece 1

Nombre

 Composición,  Agregación  Actividades

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

17


Sesión 7

Asociación

Ingeniería de Software  Contenido de la Sesión  Diagrama de Clases

Profesor

Carrera

1..n Nombre especialidad

Trabaja

1..n

Código nombre

 Elementos  Clases  Atributos, Métodos  Objetos  Relaciones  Herencia  Asociación y Uso

ProfeCarrera

 Composición,  Agregación  Actividades

18


Sesión 7

Composición

Ingeniería de Software  Contenido de la Sesió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

 Diagrama de Clases  Elementos  Clases  Atributos, Métodos  Objetos  Relaciones  Herencia  Asociación y Uso  Composición,  Agregación  Actividades

19


Sesión 7

Composición

Ingeniería de Software

Todo

 Contenido de la Sesión  Diagrama de Clases

Ventana

Modulo

 Elementos  Clases  Atributos, Métodos  Objetos

1

1

 Relaciones  Herencia

0..2

Parte de

1..n

 Asociación y Uso  Composición,

ScrollBar

Aula

 Agregación  Actividades

Una ventana está compuesta por cero o hasta 2 ScrollBars

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

20


Sesión 7

Agregación

Ingeniería de Software  Contenido de la Sesió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

 Diagrama de Clases  Elementos  Clases  Atributos, Métodos  Objetos  Relaciones  Herencia  Asociación y Uso  Composición,  Agregación  Actividades

21


Sesión 7

Agregación

Ingeniería de Software

Todo Producto

 Contenido de la Sesión

Polígono

 Diagrama de Clases  Elementos  Clases  Atributos, Métodos  Objetos

0..n

0..n

 Relaciones  Herencia

1..n

Parte de

Ingrediente

3..n Punto

 Asociación y Uso  Composición,  Agregación  Actividades

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

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

22


Sesión 7

Dependencia

Ingeniería de Software  Contenido de la Sesión

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

 Diagrama de Clases  Elementos  Clases  Atributos, Métodos  Objetos  Relaciones  Herencia

Ecuacion

Math

 Composición,

coeficientes Resolver

 Asociación y Uso

Potencia Raiz

 Dependencia  Actividades

23


Sesión 7

Actividad en Clase No. 5

Ingeniería de Software  Contenido de la Sesión

Caso Práctico : Diseñar las clases de un Sistema de Información de una Universidad

 Diagrama de Clases  Elementos  Clases  Atributos, Métodos  Objetos  Relaciones  Herencia  Asociación y Uso  Composición,  Dependencia  Actividades

24

IS-Sesion 7 - Diagrama de Clases  

IS-Sesion 7 - Diagrama de Clases

Read more
Read more
Similar to
Popular now
Just for you