Upload
luis-piedra
View
247
Download
0
Embed Size (px)
DESCRIPTION
IS-Sesion 7 - Diagrama de Clases
Citation preview
1
Sesión 7: Diagrama de Clases
Ing. Luis Piedra Rubio
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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