programación ii diagrama de clases por: ing. juan carlos contreras villegas
TRANSCRIPT
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)
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
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.
Diagrama de Clases
Elementos de un Diagrama de Clases
Clases Atributos, Métodos Objetos
Relaciones Herencia Composición, Agregación Asociación y Uso
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
Notación
Nombre Clase
Atributos
Métodos
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.
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.
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
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
Herencia Simple Cuando heredan de una sola clase. Ej.
Tiempo
HoraMinuto
segundo
ToStr
TiempoC
centesima
ToStr
Herencia Múltiple Cuando heredan de dos o mas clases. Ej.
Tiempo
HoraMinuto
segundo
ToStr
TiempoHora
ToStr
Fecha
DiaMesaño
ToStr
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
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
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
Asociación
Profesor
Nombreespecialidad
Carrera
Códigonombre
Trabaja 1..n1..n
ProfeCarrera
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
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
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
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
Dependencia
Significa que una clase necesita de otra para poder prestar sus servicios
Ecuacion
coeficientes
Resolver
Math
PotenciaRaiz