Professional Documents
Culture Documents
+presentar()
Visibilidad
+ocultar()
-conectar() Operacione
s
Atributos 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} Ventana
<<estereotipo>>
{abstracta}
• Visibilidad:
+tamaño: TTamaño
– + pública #visibilidad: boleano = v
– # protegida +presentar()
+ocultar()
– - privada -conectar()
Operaciones 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}
Ventana
<<estereotipo>>
{abstracta}
• lista_parametros: una lista
separada por comas de +tamaño: TTamaño
parámetros formales #visibilidad: boleano = v
+presentar()
+ocultar()
-conectar()
Restricciones de las clases
• Invariantes: Siempre es cierta
Se definen sobre los atributos
DNI
Estudiante
Nombre: string
DNI: string
Sexo: char
Total de asignaturas matrículadas: integer
Estudiante
Nombre: string
DNI: string
Sexo: char
Total de asignaturas matriculadas: integer
Actualizar asignaturas matriculadas
(Cantidad: integer)
Trabajador Entidad
del negocio del negocio
¿de dónde salen las clases?
Modelo de objetos del negocio
Proyecto
Diagrama de clases del análisis
Diagrama 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
Clases 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.
• Interfaz
• Estereotipos en clases:
• Control
• Entidad
Esta clasificación da robustez al modelo porque
los cambios al modelo tienden a afectar a un área
en específico
Clases de Interfaz
CI_Aprobar/Rechazar proyecto
Modelan la interacción entre el sistema
y sus actores
Clases de interfaz
Ejemplo
Aprobar/rechazar proyecto
Evaluar un proyecto
económicamente
Evaluar un proyecto
técnicamente
Clases de interfaz
Ejemplo
Económico
Jefe de obra
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.
Clases de control
CC-Aceptar/Rechazar
Coordinan la realización de uno o unos pocos CU,
proyecto
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
Clases de control
Ejemplo
Patrón Controlador
Resumiendo...Identificar clases del análisis
Ejemplo:
TProfes or imparte TAsignatura
1..* 0.. *
1 1
dirige
Rol en las relaciones
Ejemplo:
TProfesor imparte TAsignat ura
1..* 0..*
+Jefe de Colectivo 1 1
dirige
Navegabilidad 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.
TProfes or imparte TAsignatura
1..* 0.. *
1 1
dirige
Tablero Cuadro
fila 1 1
Ajedrez
columna
..*
PUESTO
0
Mano Dedo
..7
Agregación compositiva o
simplemente composición
Agregació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.
tien
e
GRUPO 1..*
ESTUDIANTE
0..1
Agregación compartida o
simplemente agregación
subtipo
sGeneralización/Especialización
{disjunta/incompleta/estática
}
Veihículo Terrestre Vehículo Aéreo
3..6 Ticket 1
Resumiendo …
Asociaci
Generaliza
Realizac
< < tipo > >
Dependen
Diagrama de clases del diseño
Clases del diseño
• Tienen operaciones, parámetros, atributos,
tipos, etc. ; necesarios para su implementación
en el lenguaje de programación elegido.
<<entity>>
Person
a
Nombre
e-mail
GetNombre()
GetCorreo()
Diagrama de objetos
Muestra la
abstracción de una
Diagrama de parte del dominio
TProfes or imparte TAsignatura
1..* 0.. *
1 1
dirige
Representa una
Diagrama de situación concreta
del dominio
P:TProfesor impart A:TAsignatura
1 e 0
1 ..* ..* 1
dirig
e
Diagrama 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
Nombre1: tipo1
Estructura 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.
Parte
Nombre: tipo puerto
multplicida conector
d
Nombre1: tipo1
Contene
Estructura 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.
Parte
Nombre: tipo puerto
conector
Nombre1: tipo1
Contene
Estructura 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.
Nombre1: tipo1
Estructura interna de una clase
• Las interfaces pueden ser:
Interfaz proporcionada: Conjunto de servicios
disponibles de esa clase
Interfaz requerida:clase
Conjunto de servicios que esa
necesita que le proporcione
Artículo
1 1
Empieza :Introducción Desarrolla: Cuerpo
Diagrama de estructura compuesta
Artículo
escrito 0..3 1
desarrolla
Autor Cuerpo
Artículo
0..3 1
Escrito: Autor Desarrolla: Cuerpo
Diagrama de estructura compuesta
CAJERO AUTOMÁTICO
CC: Controlador
del cajero
1
IC: Interfaz cajero
*
ISC: Servicio de
tarjeta de crédito
Resumiendo …
1. Los diagramas de clases resultan esenciales en
la modelación OO pues son su columna
vertebral.
2. Representan clases y asociaciones.
3. Muestran atributos y operaciones.
4. Tipos de asociaciones: Asociaciones,
Agregación y Generalización-especialización.
5. Los diagramas de objetos muestran algunas de
las clases y algunas de sus características.
6. Los diagramas de estructura compuesta
muestran las partes que contienen las clases y
las relaciones entre ellas.