Title: Curso de UML
1Curso de UML
- Actividad 4 Diagramas de Clases, de objetos y de
Estructura compuesta - Dra. Anaisa Hernández González
2Diagrama de clases
3Qué es un Diagrama de clases?
Modela los conceptos del dominio de la
aplicación, así como los conceptos internos
generados como parte de la implementación de la
aplicación. Es un paso esencial en el análisis
OO. Es una colección de elementos declarativos
del modelo (clases y sus relaciones), conectados
como un grafo.
4Diagrama de clases
- Un diagrama de clases es una colección estática
de los elementos declaratorios del modelo, como
clases, tipos y sus relaciones, conectados unos a
otros y a sus contenidos.
5Clases
- Definición Descriptor para un juego de datos con
estructura, conducta, y relaciones similares.
UML
Ícono estereotipo
Nombre
Definición de abstracta
Estereotipo
Atributos
Visibilidad
Operaciones
6Atributos de las Clases
- Definición Identifican las características
propias de cada clase. Son de tipos simples.
- Sintaxis
- visibilidad nombre tipo valor_inicial cadena
de propiedades
- Visibilidad
- pública
- protegida
- - privada
7Operaciones de las Clases
- Definición El conjunto de operaciones describen
el comportamiento de los objetos de una clase.
- Sintaxis
- visibilidad nombre(lista_parametros)
expresion_tipo_retorno cadena de propiedades
- lista_parametros una lista separada por comas de
parámetros formales
8Restricciones de las clases
- Invariantes Siempre es cierta
- Se definen sobre los atributos
DNI ? Not Empty()
Estudiante Nombre string DNI string Sexo
char Total de asignaturas matrículadas
integer Actualizar asignaturas matrículadas
(Cantidad string)
9Restricciones de las clases
- Pre/Postcondiciones Se definen sobre los
métodos. Se chequean antes/después de que se
ejecute. Se usan para validar entradas/Muestra
cómo deben quedar los atributos después de
ejecutarse el método.
Estudiante Nombre string DNI string Sexo
char Total de asignaturas matriculadas
integer Actualizar asignaturas matriculadas
(Cantidad integer)
Actualizar asignaturas matriculadas
(cantidadinteger) Pre Total de asignaturas
matriculadas gt 0 Post Total de asignaturas
matriculadas lt0
10Modelo de objetos del negocio
11Modelo de objetos del negocio
- El modelo de objetos del negocio identifica todos
los ROLES y COSAS en el negocio, los cuales
son representados como clases en la Vista Lógica.
- Existen dos tipos diferentes de clases en el
modelo de negocio
Trabajador del negocio
Entidad del negocio
12de dónde salen las clases?
13Modelo de objetos del negocio
Económico
Jefe de obra
Evalúa técnicamente, aprueba/rechaza
Evalúa económicamente
Proyecto
14Diagrama de clases del análisis
15Diagrama de clases del análisis
1. Clases 2. Atributos 3. Relaciones entre
las clases
- Asociaciones
- Agregación/Composición
- Generalización/Especialización
- Tipos asociativos
16Clases del análisis
- Se centran en los requisitos funcionales.
- Es más evidente en el contexto del dominio del
problema porque representa conceptos y relaciones
del dominio. - Tiene atributos reconocibles en el dominio.
- Estereotipos en clases
Esta clasificación da robustez al modelo porque
los cambios al modelo tienden a afectar a un área
en específico
17Clases de Interfaz
CI_Aprobar/Rechazar proyecto
Modelan la interacción entre el sistema y sus
actores
18Clases de interfaz
Ejemplo
19Clases de interfaz
Ejemplo
20Clases de Entidad
Proyecto
- Modelan información que posee una vida larga y
que es a menudo persistente. - Modelan la información y el comportamiento
asociado de algún fenómeno o concepto, como una
persona, un objeto del mundo real o un suceso del
mundo real.
21Clases de control
CC-Aceptar/Rechazar proyecto
Coordinan la realización de uno o unos pocos CU,
coordinando las actividades de los objetos que
implementan la funcionalidad del CU
- Definen el flujo de control y transacciones
dentro de un CU. - Delegan trabajo a otros objetos.
EN PRINCIPIO, SE DEFINE UNA CLASE DE CONTROL POR
CU
22Clases de control
Ejemplo
23Niveles de abstracción
Patrón Controlador
24Resumiendo...Identificar clases del análisis
1. Identificar clases de entidad a partir del
estudio de los CU del sistema y del modelo de
objetos, extrayendo la información que debe
utilizarse y manipularse en la realización del
CU. 2. Identificar una clase de interfaz por
cada actor que sea un sistema externo (SW y HW) y
dejar que esta clase represente la interfaz de
comunicación.
25Resumiendo...Identificar clases del análisis
3. Identificar una clase de interfaz por cada
actor humano y dejar que esta clase represente la
ventana principal del interfaz de usuario con el
cual interactúa el sistema. 4. Identificar una
clase de control responsable del tratamiento de
control y de coordinación de la realización del
CU.
26Atributos
Atributo Características o propiedades de todas
las instancias de la clase.
- Reglas para definirlos
- Incluir aquellos atributos que se requieren según
los requerimientos de información de los casos de
uso en los que está involucrada la clase. - Conservar atributos simples, los complejos
sugieren relaciones entre clases. - Ningún atributo como llave foránea.
27Asociaciones
Relaciones estructurales entre instancias que
especifican que los objetos de un elemento están
conectados con los objetos de otros.
28Multiplicidad de las relaciones
Multiplicidad Describe la cardinalidad de la
relación, es el indicador de cuántos objetos
pueden participar en una relación. Rango de las
cardinalidades permisibles que un conjunto puede
asumir.
1.. 0..constante
0.. 1..1 0..1
1..constante constante..constante
Ejemplo
29Rol en las relaciones
Rol Un extremo puede ser explícitamente nombrado
con una etiqueta, ésta describe la semántica de
la relación en el sentido indicado (opcionalmente
se documenta con un nombre).
Ejemplo
30Navegabilidad de las relaciones
Navegabilidad Indica el grado de visibilidad que
tienen las instancias de una clase respecto a
otra. Indica la posibilidad de navegar
unidireccionalmente en una asociación.
Las asociaciones por defecto son bidireccionales
si usted quiere especificar unidirección debe
especificarlo con una flecha.
31Asociación cualificada
Reduce la multiplicidad del rol opuesto al
considerar el valor del cualificador
32Tipo asociativo
CENTRO DE TRABAJO
0..
PERSONA
PUESTO
Clase que modela una abstracción que se genera
por la relación entre dos o más clases.
33Agregación Compositiva o Composición
Es una forma fuerte de agregación donde el tiempo
de vida de la parte coincide con el todo. Las
partes no deben sobrevivir fuera del todo.
Operaciones de copia o eliminación al todo deben
propagarse a las partes. La multiplicidad en el
extremo del compuesto puede ser a lo sumo 1.
Indica que únicamente el compuesto posee la parte
y que se encuentra en una jerarquía de partes con
estructura de árbol.
34Agregación compartida
Se identifican con relaciones entre tipos que
impliquen que uno tiene a otro. Es aquella, en
que la parte puede estar en muchas instancias
compuestas porque la relación entre el todo y sus
partes no liga las vidas del todo y las partes.
Cuando deja de existir la agregada no
necesariamente dejan de existir las partes.
35Generalización/Especialización
Actividad que consiste en identificar aspectos
comunes entre conceptos y definir las relaciones
entre el supertipo (concepto general) y el
subtipo (concepto específico).
Concepto
36Generalización/Especialización
- Restricciones predefinidas en UML
- disjunta - no disjunta
- total (completa) - parcial (incompleta)
- Estática/dinámica
disjunta/incompleta/estática
37Relaciones entre las clases
1. Entre clases de un mismo tipo
- Asociaciones
- Agregación/Composición
- Generalización/Especialización
2. Entre clases de diferentes tipos
38Restricciones XOR
- Una de las varias asociaciones potenciales que
pueden ser instanciadas en cada momento para
cualquier objeto.
Reservación
Suscripción
Reservación individual
0..1
(XOR)
0..1
Ticket
3..6
1
39Resumiendo
Asociación
Generalización
Realización
lt lt tipo gt gt
Dependencia
40Diagrama de clases del diseño
41Clases del diseño
- Tienen operaciones, parámetros, atributos, tipos,
etc. necesarios para su implementación en el
lenguaje de programación elegido.
ltltentitygtgt
Persona
Nombre
e-mail
GetNombre()
GetCorreo()
42(No Transcript)
43(No Transcript)
44Diagrama de objetos
45Muestra la abstracción de una parte del dominio
Diagrama de clases
Representa una situación concreta del dominio
Diagrama de objetos
46Diagrama de objetos
Se usa para representar cómo los objetos en un
determinado escenario trabajan juntos, por lo que
no están todas las clases ni todas sus
características
47Diagrama de estructura compuesta
48Diagrama de estructura compuesta
- Diagrama que muestra la estructura interna de las
clases y las relaciones que se establecen entre
ellas en un contexto dado. - Es una forma alternativa de mostrar las
relaciones de asociación y agregación/composición.
Concepto
49Estructura interna de una clase
- Estructura interna de las clases y las
relaciones. - Contiene un conjunto de partes unidas por
conectores - Una parte tiene un tipo y una multiplicidad
dentro de un contenedor.
Partes
multplicidad
Contenedor
50Estructura interna de una clase
- Un conector es una relación contextual entre las
partes. - Es un mecanismo fuerte que encapsula las
relaciones entre el medio externo y las partes
internas al establecer que la relación es por un
puerto.
Partes
Contenedor
51Estructura interna de una clase
- Un puerto es un tipo de interacción con el medio.
- Los mensajes que recibe un puerto, los pasa a las
partes. - Un puerto tiene un conjunto de interfaces que
definen las operaciones que son permitidas con el
medio externo.
52Estructura interna de una clase
- Las interfaces pueden ser
- Interfaz proporcionada Conjunto de servicios
-
disponibles de esa clase - Interfaz requerida Conjunto de servicios que
esa - clase
necesita que le proporcione - otro
elemento
?
Nombre tipo
conector
?
Nombre1 tipo1
53Diagrama de estructura compuesta
Artículo
empieza 1 1 desarrolla
Introducción
Cuerpo
Artículo
1 Empieza Introducción
1 Desarrolla Cuerpo
54Diagrama de estructura compuesta
Artículo
escrito 0..3 1 desarrolla
Autor
Cuerpo
Artículo
0..3 Escrito Autor
1 Desarrolla Cuerpo
55Diagrama de estructura compuesta
CAJERO AUTOMÁTICO
CC Controlador del cajero
1
IC Interfaz cajero
ISC Servicio de tarjeta de crédito
56Resumiendo
- Los diagramas de clases resultan esenciales en la
modelación OO pues son su columna vertebral. - Representan clases y asociaciones.
- Muestran atributos y operaciones.
- Tipos de asociaciones Asociaciones, Agregación y
Generalización-especialización. - Los diagramas de objetos muestran algunas de las
clases y algunas de sus características. - Los diagramas de estructura compuesta muestran
las partes que contienen las clases y las
relaciones entre ellas.