UML Diagramas de Clase
-
Upload
andrea-vilches-nunez -
Category
Documents
-
view
201 -
download
5
Transcript of UML Diagramas de Clase
Análisis de Sistemas
1.- Resumen del Proceso Unificado
3.- Levantamiento de Requisitos – UML : Casos de Uso
2.- Lenguaje Unificado de Modelado (UML)
4.- Análisis del Sistema – UML
4.2.- Diagrama de Clases (modelo conceptual)
4.1.- Diagrama de Actividades
-Piense en las cosas que nos rodean, es posible
que muchas de esas cosas tengan atributos
(propiedades) y que realicen determinadas
acciones.
-Podríamos imaginar cada una de esas acciones
como un conjunto de tareas.
-Nos daremos cuenta también que las cosas
naturalmente se albergan en categorías
(automóviles, mobiliario, lavadoras…), tales
categorías las llamaremos CLASES.
Diagrama de Clases
Se podría decir que una clase es una categoría
o grupo de cosas que tienen atributos y
acciones similares.
-EJEMPLO:
La fig. muestra la clase Lavadora: El rectángulo
superior representa a la clase. Se divide en tres
áreas. El superior contiene el nombre, el área
central contiene los atributos y el inferior las
acciones.
Diagrama de Clases
-EJEMPLO:
Diagrama de Clases
Lavadora
MarcaModelosNumeroSeriecapacidad
Agregar ropaAgregar detergenteSecar ropa
-Un Objeto es una instancia de clase (Una
entidad que tiene valores específicos de los
atributos y acciones). Su lavadora, por ejemplo,
podría ser tener la marca LG, el modelo sx-
3220, el número de serie GL567774 y una
capacidad de 7kg.
Diagrama de Clases
- Como Objeto de la clase persona contamos
con los siguientes atributos: Peso, altura, edad
(puede imaginar muchos más). También
realizamos las siguientes tareas, comer, dormir,
leer, escribir, hablar, trabajar, etc.
Diagrama de Clases
Si tuviéramos que crear un sistema que
manejara información acerca de las
personas (como nómina o un sistema
para departamento de RRHH), sería
probable que incorporáramos algunos de
sus atributos y acciones en nuestro
software.
Diagrama de Clases
Conceptos:
La Orientación a Objetos considera no
sólo los atributos y acciones; también
considera aspectos como abstracción,
herencia, polimorfismo y encapsulación.
Otros aspectos importante a ver son las
asociaciones y agregaciones.
Diagrama de Clases
Conceptos:
Abstracción: Se refiere a quitar
propiedades y acciones de un objeto para
dejar sólo aquellas que sean necesarias.
Herencia: Un objeto es una instancia de
una clase; Un objeto tiene todas las
características de la clase de la que
proviene. Cada objeto de la clase hereda
los atributos y operaciones.
Diagrama de Clases
Conceptos:
Una Clase también puede heredar de
otra. La lavadoras, refrigerador, hornos
de microondas, tostadores, planchas, son
clases que forman parte de una clase
genérica llamada Electrodomésticos. Un
electrodoméstico cuenta con atributos de
interruptor, cable y operaciones de
encendido y apagado.
Diagrama de Clases
Conceptos:
Cada una de las clases electrodomésticos
hereda los mismos atributos; por ello, si
sabe que algo es electrodoméstico,
entonces sabrá que cuenta con atributos
y acciones que definen esa clase
Diagrama de Clases
Diagrama de Clases
Polimorfismo: Una operación tiene el
mismo nombre en diferentes clases. Por
ejemplo podrá abrir una puerta, una
ventana , un periódico, un regalo, etc. Y
funcionar distinto en cada una.
Diagrama de Clases
Encapsulamiento: Los objetos encapsulan
lo que hacen, es decir, ocultan la
funcionalidad interna de sus operaciones,
de otro objetos y del mundo exterior.
Diagrama de Clases
Diagrama de Clases.
� Muestra entidades del mundo
real, elementos de análisis y
diseño o clases de
implementación y sus
relaciones.
� Representan la base para
otros diagramas de UML.
� Soportan los requisitos
funcionales y servicios que el
sistema debe proporcionar a
los usuarios finales (clientes).
Diagrama de Clases
Se utilizan para:
�Modelar vocabulario de un sistema
(abstracciones del sistema).
�Modelar un esquema conceptual (describir el
sistema en términos de los conceptos que lo
definen y sus relaciones, independiente del
SW) y lógico (descripción dependiente del SW
que se desprende el esquema anterior) de
Bases de Datos.
Diagrama de Clases
Los diagramas de clases están
formados por Clases
�Atributos (Propiedades)
�Métodos (Operaciones)
Relaciones
�Asociación
�Herencia
�Composición
Diagrama de Clases
Formato gráfico de una clase
Nombre de la Clase
Zona de Atributos
(puede omitirse)
Zona de Métodos
(puede omitirse)
Diagrama de Clases
Un diagrama de clases está formado por varios
rectángulos de este tipo conectados por líneas
que muestran la manera en que las clases se
RELACIONAN entre si.
Diagrama de Clases
Asociaciones Binaria:
Cuando una clase se conecta entre sí de
forma conceptual, esta conexión se
denomina asociación.
Diagrama de Clases
Asociación Binaria
Relaciones: “Conexiones entre elementos”.
Asociación.
� Una asociación se forma al unir dos clases con una línea
� Puede tener nombre y se coloca sobre la línea (se lee de izq. a derecha y suele ser un verbo)
� Puede tener los roles que juega cada clase en la asociación
Diagrama de Clases
Relaciones: “Conexiones entre elementos”.
Diagrama de Clases
Semánticas de los Datos
Semántica de los Datos: se refiere al significadode las relaciones que tienen los datos entre sí.
Cada modelo de datos tiene sus restricciones encuanto a su capacidad de representar unarealidad, dependiendo de los tipos desemánticas que puede abarcar.
Características de los Datos y sus Relaciones
Tipos de Semánticas:
• Cardinalidad.
• Grado.
• Dependencia Existencial
• Tiempo.
• Unicidad.
• Herencia.
• Agregación.
• Categorización.
Características de los Datos y sus Relaciones
a) Cardinalidad (multiplicidad): se refiere alnúmero de entidades con que otra entidad serelaciona.
Tipos de Asociaciones:
• 1 : 1 (uno a uno)
• 1 : N (uno a muchos)
• M : N (muchos a muchos)
Características de los Datos y sus Relaciones
• Asociación 1:1: sucede cuando una entidad Xse relaciona sólo con otra entidad, bajodeterminada asociación, y esta última sólo lohace con X.
Empleado Cónyuge
Características de los Datos y sus Relaciones
• Asociación 1:N: se presenta cuando unaentidad X se relaciona con varias entidades,bajo determinada asociación, pero cada una deéstas sólo lo hace con X.
Persona Automóvil
Características de los Datos y sus Relaciones
1 *
• Asociación M:N: ocurre cuando una entidad Xse relaciona con varias entidades, bajodeterminada asociación, y cada una de éstas, asu vez, se relaciona con X y, probablemente,otras entidades más del mismo tipo de X.
Curso Alumno
Características de los Datos y sus Relaciones
* *
b) Grado: se define como el número de tipos oclases de entidades que participan en unaasociación.
Tipos de Asociaciones:
• Unaria.
• Binaria.
• Ternaria.
• n-aria.
Características de los Datos y sus Relaciones
• Asociación Unaria: es una asociación que sóloconsidera un tipo de entidades que se relacionaconsigo mismo.
Empleado
Características de los Datos y sus Relaciones
1
1..*
• Asociación Binaria: relación conformada pordos tipos de entidades entre sí.
Persona Automóvil
Características de los Datos y sus Relaciones
1 *
Ejemplos:
Diagrama de Clases
Esposo Esposa1 1Esta Casado con
Maestro Estudiante1 *Enseña
Cajero Cliente1 1..*Atiende
Casa Chimenea1 0,1Tiene
Asociación.
Puede tener Multiplicidad (*, 0..1, 1..*)
Puede tener restricciones entre { }
Se puede indicar el sentido de la lectura
• Indica que los objetos de una clase están conectados con
los de otra.
� Multiplicidad (Cardinalidad).
� Roles de las clases en la asociación.Símbolo Significado
0..1 Cero o Uno
1..1 Sólo 1
0..* Muchos
1..* Uno o Varios
M..N Mínimo M hasta N (M <
N)1..1
1..*
Vendedor
codigo
nombre
apellido
fono
direccion
Cliente
RUT
nombreCliente
apellidoCliente
direccionCliente
emailCliente
Diagrama de Clases
Notaciones para Modelos de Datos
Asociación Unaria
Asociación Binaria
Asociación Ternaria
Diagrama de Clases UMLNotaciones para Modelos de Datos
Asociaciones: multiplicidad
Asociación Unaria Asociación Ternaria
Pedido
Producto
Orden de despacho
Bodega1.*
1.*
1.*
Asignatura
*
*
Conductor
o...4
1
Conduce
Diagrama de Clases UMLNotaciones para Modelos de Datos
Prerequesito
Clase Asociación
Pueden asociarse diversas clases con una
en particular.
Una clase asociación modela los atributos
y operaciones de una asociación. Se
conecta a una asociación mediante una
línea discontinua, y puede asociarse a
otra clase.
Diagrama de Clases
trabaja_paraEmpresa Persona
Diagrama de Clases UMLNotaciones para Modelos de Datos
Asociaciones: clases de asociación
Contrato
� Clase de Asociación.
La clase de asociación no puede estar conectada a más
de una asociación.
0..1patron
1..*empleado
Compañía Persona
Contrato
descirpcionfechaContratosalario
Diagrama de Clases
� Relaciones.
La clase de asociación debe llamarse como la
asociación
Diagrama de Clases
más sobre asociaciones...
1..* 1..*Alumno Curso
Características de los Datos y sus Relaciones
Inscripción
Semestre/AñoVTR
Clase de Asociación
trabaja_para
Diagrama de Clases UMLNotaciones para Modelos de Datos
Asociaciones: clases de asociación
Clase Asociación
Pueden asociarse diversas clases con una
en particular.
Diagrama de Clases
Defensa Participa en
ContratoNegociado por
Equipo
DirectorGeneral
Clase Asociación
Diagrama de Clases
Posible problema: Mucha parte del negocio depende de la clase asociación
Diagrama de ClasesDependiendo del escenario de negocio, una buena práctica podría ser
Herencia
Jerarquías de Herencia Si Ud. Conoce algo de
una categoría de cosas, automáticamente sabrá
algunas cosas que podrá transferir a otras
categorías. Si usted sabe que algo es un animal
dará por hecho que come, duerme, tiene forma
de nacer, de trasladarse de un lugar a otro y
algunos atributos (y operaciones) que podrá
listar si pensara en ello por algunos instantes.
Diagrama de Clases
Jerarquías
Herencia o generalización. UML a la herencia
también la denomina generalización. Una clase
(La clase secundaría o subclase) puede heredar
atributos y operaciones de otra (La clase
principal o superclase). La clase principal
(Padre) es más genérica que la secundaria
(hijo).
Diagrama de Clases
Jerarquías Herencia o generalización.
Generalización/Especialización. (“es un”)
Diagrama de Clases
Animal
Anfibio Mamífero Reptil
Caballo
Herencia o generalización Abstracta.
Suponga
Diagrama de Clases
Jugador
Defensa Delantero Centro
- Relaciones.
�Herencia: Generalización/Especialización. (“es un”)
Academico
RutNombreApellidos
JornadaCompleta
Oficinaanexo
JornadaParcial
Horasemail
Diagrama de Clases
Herencia:
Diagrama de Clases UMLNotaciones para Modelos de Datos
Usuario
login : String
password : String
Nombre : String
claveDB
getNombre()
login()
load()
Profesor
horas_de_trabajo : Integer
jefeCurso : String
fijarPrueba()
Administrativo
cargo : String
marcarTarjeta()
Empleado
sueldo : Integer
titulo : String
pagarSueldo()
Secretaria
matricularAlumno()
Director
contratarProfesor()
Portero
limpiarPasillo()
Alumno
curso : Integer
promedio : Single
nuevaAnotacion()
nuevaNota()
registrarAsistencia()
rendirPrueba()
P e rs o n a
A lu m n o P ro fe s o r A d m is t ra t ivo
H o m b re M u j erC h ile n o
E x t ra n je ro
Diagrama de Clases UMLNotaciones para Modelos de Datos
• Cobertura: si todas las entidades del supertipo puedenser clasificados por, al menos, uno de los subtipos, lajerarquía de herencia tiene cobertura completa (total,exhaustiva).
Enfoque de Orientación a Objetos
Herencia: propiedades.
Persona
Alumno Profesor Admistrativo
Coberturacompleta, elnombre de laclase va conletra cursiva
• Exclusividad: si una entidad sólo puede pertenecer auno de los subtipos a la vez, la jerarquía de herencia esexclusiva.
• Dinamicidad: aunqueuna entidad pertenezca auno de los subtipos, esposible que también seade otro.
Enfoque de Orientación a Objetos
Herencia: propiedades.
- Relaciones.
�Herencia: Generalización/Especialización. (“es un”)
Diagrama de Clases
Persona
Alumno Profesor Admistrativo
Clase Abstracta
Características de los Datos y sus Relaciones
Asociación por Agregación
Existen dos tipos de agregación:
• Simple: sólo es una relación conceptual, notiene implicaciones en el comportamiento de lasclases. No considera una dependenciaexistencial entre las partes y el todo.
• Compuesta (composición): presenta fuertesimplicaciones de comportamiento. La composi-ción une la existencia de las partes al todo: si eltodo desaparece también desaparecen suspartes.
Características de los Datos y sus Relaciones
Asociación por agregación Simple:
Una asociación por agregación simple se
representa por una línea entre el
componente y el todo, con un rombo sin
relleno que conforma al todo.
Diagrama de Clases
Relaciones.
� Agregación (simple). Sólo distingue el todo de las
partes, y no une la existencia de las partes a la del todo.
(“tiene” o “contiene”)
0..*
1..*
Empleado
RUTnombreapellidofonodireccion
EquipoDeTrabajo
numeroDeIntegrantesfechaDeFormacion
Diagrama de Clases
-Relaciones. Agregación (simple).
� Una relación de agregación es la que forma un todo con
sus partes.
� Son un tipo especial de relación de asociación.
� Pueden tener nombre, roles, multiplicidad, …
� En las relaciones de agregación, un objeto que
representa una parte puede estar compartido por varios
objetos que representan el todo (un alumno está en un
curso y también puede estar en un grupo de amigos)
Diagrama de Clases
Asociación por agregación:
Diagrama de Clases
Computador
parlante Gabinete Teclado Monitor Ratón
Botón Bola
USB CD RAM Video
Asociación Agregación Compuesta
� Relación Agregación Compuesta (Composición).
Las relaciones de composición son un tipo especial
de relación de agregación.
�Los objetos “parte” siempre están asociados a
un objeto todo y sólo a uno, se crean y se
destruyen con él (Empleado y Empresa).
�Los objetos parte no pueden compartirse
entre varios objetos todo.
Diagrama de Clases
Composición: (agregación compuesta)
Factura ItemFactura
Características de los Datos y sus Relaciones
� Relaciones. Agregación Compuesta (Composición).
� Establece un fuerte vínculo entre el todo y las partes.
� Liga la existencia de las partes a la existencia del todo.
1..*
1
Departamento
nombre
piso
numeroDeEmpleados
gerente
Empresa
RUT
nombre
direccion
fono
Diagrama de Clases
Diagrama de Clases
Agregación:• Simple: rombo en blanco en el lado del todo.• Compuesta: rombo “ennegrecido” en el ladodel todo.
Enfoque de Orientación a Objetos
Análisis de Sistemas
1.- Resumen del Proceso Unificado
3.- Levantamiento de Requisitos – UML : Casos de Uso
2.- Lenguaje Unificado de Modelado (UML)
4.- Análisis del Sistema – UML
4.2.- Diagrama de Clases (modelo conceptual)
4.3.- Diagrama de Estados
4.1.- Diagrama de Actividades