Está en la página 1de 32

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
 Dependencia o 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
Hora
Minuto
segundo

ToStr

TiempoC
centésima

ToStr
Herencia Múltiple
 Cuando heredan de dos o mas clases. Ej.
Tiempo Fecha
Hora Dia
Minuto Mes
segundo año
ToStr ToStr

FechaTiempo

ToStr
Generalización/Especialización
 Uno de los motivos por los cuales las clases
se relacionan entre ellas es el hecho de
tener atributos comunes.
 Las clases con atributos comunes se
organizan en superclases. Una superclase
representa una generalización de las
subclases.
 De igual modo, una subclase de una clase
dada representa una especialización de la
clase superior. La clase derivada es−un tipo
de clase de la clase base o superclase.
Especialización Tiempo

Generalización
Hora
Minuto
segundo

ToStr

TiempoC
centésima

ToStr
Proceso de Generalización
Se identifican las Siguientes Clases: Línea, Rectángulo, Triangulo,
Circulo
Luego Identificamos los atributos
Luego los métodos

Línea Rectángulo Triángulo Círculo


Punto1 Punto Punto Punto
Punto2 Base Base Radio
color Altura Altura color
color color
Mostrar Mostrar Mostrar Mostrar
Área Área
Identificando relaciones
(Herencia)
Figura
Punto
color
Mostrar

Línea Rectángulo Triángulo Círculo

Base Base
Punto2 Radio
Altura Altura

Área Área
Otro nivel de generalización
Figura
Punto
color
Mostrar

TriaRec
Base
Altura
Área
Línea Círculo

Punto2 Radio
Rectángulo Triángulo

Mostrar Mostrar
Mostrar Mostrar
Area Area
Figura
Punto
Mostrar

TriaRec
Base
Altura
Tipo
Línea Círculo
Área
Mostrar
Punto2 Radio

Mostrar Mostrar
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 los objetos
relacionados
 Multiplicidad. (Cardinalidad), la cantidad de
objetos de una clase que se relacionan con un
objeto de la otra clase:
1..* Uno a muchos
1..n //
0..* Cero a muchos
0..n //
m Cantidad fija
Asociación
Empleado Departamento
Nombre 1 Dirige 0..1 Código
especialidad nombre

Todo departamento es dirigido por un empleado


Un empleado puede dirigir un departamento

Empleado Departamento
Código 1..* Pertenece 1
Nombre
Nombre

Un empleado pertenece a un departamento


A un departamento le pertenecen 1 o mas empleados
Asociación

Profesor Carrera
Nombre 1..n Trabaja 1..n Código
especialidad nombre
Asociación

Profesor Trabaja Carrera


Nombre 1 1..n Prof 1..n 1 Código
especialidad carr nombre
Composició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
Composición Todo

Ventana Modulo

1 1

0..2 Parte de 1..n


ScrollBar Aula

Una ventana está Un módulo está


compuesta por cero compuesto por una o
o hasta 2 ScrollBars mas aulas
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 Todo Mochila

0..n 0..1

1..n Parte de 0..n


Ingrediente Libro

Un producto está compuesto A un polígono se le puede


por uno o mas ingredientes agregar puntos
Un ingrediente puede estar en Un punto puede formar
0 o mas productos. parte de 0 o mas polígonos
Dependencia
 Significa que una clase necesita de
otra para poder prestar sus servicios
Ecuacion Math
coeficientes
Resolver Potencia
Raiz
Asistencia

Proyecto
 Requisitos
 Folder amarillo tamaño carta
 2 Carátulas conteniendo:
Facultad de Ingeniería en ciencias de la Computación y
Telecomunicaciones

PROYECTO

 Nombre de cada integrante


Nombre del proyecto

Gestión: 1-2016

(ordenado por apellido), registro


Materia: Programación 2 (INF210)

Integrantes: Asistencia

 Unas 10 hojas de papel bond


- Estudiante1 Registro1
- Estudiante2 Registro2
- Estudiante3 Registro3
- Estudiante4 Registro4

 Cada día de trabajo deberán


- Estudiante5 Registro5

entregar el folder al profesor


CALIFICACIONES
H1 H2 H3 H4 H5 H6 H7

 Al iniciar un nuevo día,


recibirán el folder del profesor
 Planteamiento del problema
 Lista de requerimientos
 Análisis
 Identificacion de objetos
 Identificacion de clases
 Atributos, métodos
 Diseño
 Identificacion de relaciones
 Implementación
 Clases
 Relaciones
 persistencia

También podría gustarte