Transcript
Page 1: Programación II Diagrama de Clases Por: Ing. Juan Carlos Contreras Villegas

Programación II

Diagrama de Clases

Por: Ing. Juan Carlos Contreras Villegas

Page 2: Programación II Diagrama de Clases Por: Ing. Juan Carlos Contreras Villegas

UML (Que es UML)

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)

Page 3: Programación II Diagrama de Clases Por: Ing. Juan Carlos Contreras Villegas

UML Diagrama de Clases Diagrama de Objetos Diagrama de casos de uso Diagrama de secuencia Diagrama de colaboración Diagrama de estados Diagrama de actividades Diagrama de componentes Diagrama de despliegue

Page 4: Programación II Diagrama de Clases Por: Ing. Juan Carlos Contreras Villegas

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.

Page 5: Programación II Diagrama de Clases Por: Ing. Juan Carlos Contreras Villegas

Diagrama de Clases

Page 6: Programación II Diagrama de Clases Por: Ing. Juan Carlos Contreras Villegas

Elementos de un Diagrama de Clases

Clases Atributos, Métodos Objetos

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

Page 7: Programación II Diagrama de Clases Por: Ing. Juan Carlos Contreras Villegas

Clases 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

Page 8: Programación II Diagrama de Clases Por: Ing. Juan Carlos Contreras Villegas

Notación

Nombre Clase

Atributos

Métodos

Page 9: Programación II Diagrama de Clases Por: Ing. Juan Carlos Contreras Villegas

Objetos

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.

Page 10: Programación II Diagrama de Clases Por: Ing. Juan Carlos Contreras Villegas

Objetos

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.

Page 11: Programación II Diagrama de Clases Por: Ing. Juan Carlos Contreras Villegas

Relaciones 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

Page 12: Programación II Diagrama de Clases Por: Ing. Juan Carlos Contreras Villegas

Herencia 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

Page 13: Programación II Diagrama de Clases Por: Ing. Juan Carlos Contreras Villegas

Herencia Simple Cuando heredan de una sola clase. Ej.

Tiempo

HoraMinuto

segundo

ToStr

TiempoC

centesima

ToStr

Page 14: Programación II Diagrama de Clases Por: Ing. Juan Carlos Contreras Villegas

Herencia Múltiple Cuando heredan de dos o mas clases. Ej.

Tiempo

HoraMinuto

segundo

ToStr

TiempoHora

ToStr

Fecha

DiaMesaño

ToStr

Page 15: Programación II Diagrama de Clases Por: Ing. Juan Carlos Contreras Villegas

Asociació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

Page 16: Programación II Diagrama de Clases Por: Ing. Juan Carlos Contreras Villegas

Asociació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

Page 17: Programación II Diagrama de Clases Por: Ing. Juan Carlos Contreras Villegas

AsociaciónProfesor

Nombreespecialidad

Carrera

Códigonombre

Dirige 0..11

Toda carrera tiene un directorUn profesor puede dirigir una carrera

Empleado

CódigoNombre

Departamento

NombrePertenece 11..*

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

Page 18: Programación II Diagrama de Clases Por: Ing. Juan Carlos Contreras Villegas

Asociación

Profesor

Nombreespecialidad

Carrera

Códigonombre

Trabaja 1..n1..n

ProfeCarrera

Page 19: Programación II Diagrama de Clases Por: Ing. Juan Carlos Contreras Villegas

ComposiciónEs 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

Page 20: Programación II Diagrama de Clases Por: Ing. Juan Carlos Contreras Villegas

ComposiciónVentana 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

Page 21: Programación II Diagrama de Clases Por: Ing. Juan Carlos Contreras Villegas

Agregació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

Page 22: Programación II Diagrama de Clases Por: Ing. Juan Carlos Contreras Villegas

Agregació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

Page 23: Programación II Diagrama de Clases Por: Ing. Juan Carlos Contreras Villegas

Dependencia

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

Ecuacion

coeficientes

Resolver

Math

PotenciaRaiz


Recommended