Documente Academic
Documente Profesional
Documente Cultură
Modelado OO en UML
Adaptado de Curso de UML,
Patricio Letelier T.,
Universitat Politècnica de València, España
1
Objetos
Objeto = unidad atómica que encapsula estado
y comportamiento
2
… Objetos
En UML, un objeto se representa por un
rectángulo con un nombre subrayado
Otro ob jeto
Un objeto
3
… Objetos
Ejemplo de varios objetos relacionados:
Banco de Valencia
Felipe
Cuenta Corriente 114
4
… Objetos
Objeto = Identidad + Estado + Comportamiento
El estado está representado por los valores de los
atributos
Un atributo toma un valor en un dominio concreto
Un coche
Azul
979 Kg
70 CV
...
5
Clases y Objetos
6
Comportamiento
Ejemplo de interacción:
Un Objeto Operación 1
1: Un mensaje Operación 2
Otro Objeto
7
… Comportamiento
Los mensajes navegan por los enlaces, a
priori en ambas direcciones
8
Persistencia
La persistencia de los objetos designa la
capacidad de un objeto de trascender en el
espacio/tiempo
Podremos después reconstruirlo, es decir,
cogerlo de memoria secundaria para utilizarlo
en la ejecución (materialización del objeto)
10
… Comunicación
Categorías de objetos:
• Activos - Pasivos
• Cliente – Servidores, Agentes
Objeto Activo: posee un hilo de ejecución (thread)
propio y puede iniciar una actividad
Objeto Pasivo: no puede iniciar una actividad pero
puede enviar estímulos una vez que se le solicita un
servicio
Cliente es el objeto que solicita un servicio. Servidor
es el objeto que provee el servicio solicitado
11
… Comunicación
Los agentes reúnen las características de
clientes y servidores
12
… Comunicación
Ejemplo con objeto agente:
Servidor 1
2:
Un agente
1: 3:
Un cliente Servidor 2
13
El Concepto de Mensaje
La unidad de comunicación entre objetos se
llama mensaje
2: Mensaje C
4: Mensaje E
Objeto 3 Objeto 4
3: Mensaje D
14
Mensaje y Estímulo
Un estímulo causará la invocación de una operación, la
creación o destrucción de un objeto o la aparición de
una señal
Un mensaje es la especificación de un estímulo
15
UML
Diagrama de Casos de Uso
16
Casos de Uso
Los Casos de Uso (Ivar Jacobson) describen
bajo la forma de acciones y reacciones el
comportamiento de un sistema desde el p.d.v.
del usuario
Permiten definir los límites del sistema y las
relaciones entre el sistema y el entorno
Los Casos de Uso son descripciones de la
funcionalidad del sistema independientes de la
implementación
Diferente al Diagrama de Flujo de Datos del
Enfoque Estructurado
17
… Casos de Uso
Actores:
• Principales: personas que usan el sistema
• Secundarios: personas que mantienen o administran el
sistema
• Material externo: dispositivos materiales imprescindibles
que forman parte del ámbito de la aplicación y deben ser
utilizados
• Otros sistemas: sistemas con los que el sistema interactúa
18
… Casos de Uso
Los Casos de Uso se determinan observando y
precisando, actor por actor, las secuencias de
interacción, los escenarios, desde el punto de vista del
usuario
19
Casos de Uso: Relaciones
UML define cuatro tipos de relación en los
Diagramas de Casos de Uso:
• Comunicación
C aso de U so
Actor
20
… Casos de Uso: Relaciones
• Inclusión : una instancia del Caso de Uso origen
incluye también el comportamiento descrito por el
Caso de Uso destino
<<include>>
21
… Casos de Uso: Relaciones
Ejemplo <<include>>:
<<include>>
Reintegro Cuenta Corriente
<<include>>
<<extend>>
23
… Casos de Uso: Relaciones
Ejemplo <<extend>>:
Solicitar Préstamo
Cliente
[Tarjeta Caducada]
<<extend> >
24
… Casos de Uso: Relaciones
Ejemplo <<include>> y <<extend>>:
Ide nt fi i caci ón
<<include>>
Transferencia
Cliente
Transferencia en Internet
25
… Casos de Uso: Relaciones
Otro ejemplo <<include>> y <<extend>>:
<<include>> <<include>>
<<include>>
26
… Casos de Uso: Relaciones
• Herencia : el Caso de Uso origen hereda la
especificación del Caso de Uso destino y
posiblemente la modifica y/o amplía
27
… Casos de Uso: Relaciones
• Ejemplo de herencia
Reserva por
Agencia
* *
Reserva de
Cliente Billete Aéreo
Reserva en
Aerolínea
28
Casos de Uso: Construcción
Un caso de uso debe ser simple, inteligible, claro y
conciso
Generalmente hay pocos actores asociados a cada
Caso de Uso
Preguntas clave:
• ¿cuáles son las tareas del actor?
• ¿qué información crea, guarda, modifica,
destruye o lee el actor?
• ¿debe el actor notificar al sistema los cambios
externos?
• ¿debe el sistema informar al actor de los
cambios internos?
29
… Casos de Uso: Construcción
La descripción del Caso de Uso comprende:
• el inicio: cuándo y qué actor lo produce?
• el fin: cuándo se produce y qué valor devuelve?
• la interacción actor-caso de uso: qué mensajes
intercambian ambos?
• objetivo del caso de uso: ¿qué lleva a cabo o
intenta?
• cronología y origen de las interacciones
• repeticiones de comportamiento: ¿qué
operaciones son iteradas?
• situaciones opcionales: ¿qué escenarios
alternativos se presentan en el caso de uso?
30
Ejemplo
Cajero Automático
Sacar Dinero
Realizar
Cliente Transferencias Sistema Bancario
Depositar Dinero
Administrar Cajero
Operador
31
Caso de Uso UC1: Sacar Dinero
Actor Principal: Cliente
Personal involucrado e intereses:
- Cliente: quiere retirar dinero en efectivo desde su cuenta de
forma rápida y sencilla
- Sistema Bancario: quiere recibir peticiones de transacción en
formato correcto; quiere mantener actualizada la información de
las cuentas de sus clientes a partir de la información de los giros
en el Cajero.
Precondiciones: El Cliente suministra tarjeta bancaria
Garantías de éxito (Postcondiciones): El Cliente obtiene el monto
requerido en dinero en efectivo.
Escenario Principal de Éxito (o Flujo Básico):
1. El Cliente inserta la tarjeta en el Cajero
2. El Cajero lee el código de la banda magnética de la tarjeta,
verifica si es aceptable y pide el código del Cliente
3. El Cliente introduce el código
4. Si el código es correcto, el Cajero pide al Cliente que seleccione
el tipo de transacción deseada
5. El Cliente selecciona la función Sacar Dinero
6. El Cajero le pide al cliente que teclee la cantidad deseada
7. El Cliente teclea la cantidad que quiere sacar
8. El Cajero envía la petición al sistema bancario
9. Si la conexión al Sistema Bancario es exitosa, el Sistema
Bancario deberá comprobar si el monto es permitido.
10. El Cajero expulsa la tarjeta, imprime el recibo y entrega el dinero
32
Extensiones (o Flujos Alternativos):
2’ La tarjeta no es aceptada
- El Cajero expulsa la tarjeta, emitiendo un sonido
4’ Código incorrecto (1,2)
- Se emite un mensaje, dando al Cliente la oportunidad de
volver a introducir el código
4’’ Código incorrecto (3)
- Se emite un mensaje y se retiene la tarjeta
9’a Fallo en la conexión con Sistema Bancario
- Se emite un mensaje y se expulsa la tarjeta
9’b El Sistema Bancario no permite girar ese monto
- Se emite un mensaje y se expulsa la tarjeta
10’ El Cajero no dispone de la cantidad pedida
- Se emite un mensaje y se vuelve al paso 7
1-9’ Cancelar
- En cualquier momento, el usuario puede cancelar la
transacción, con lo que se expulsa la tarjeta
33
Ejemplo 2…
Venta por Catálogo
Comprobar Estado
del Pedido
Completar Pedido
Cliente Empleado
Establecer Crédito
Supervisor
34
…Ejemplo 2
<<extend>>
Solicitar Catálogo Realizar Pedido
<<i
nclu
>> de>
l ude >
nc
<<i
<<in
cl
ude>
Suministrar Datos Realizar Pedido de
Cliente Productos
>
Realizar Pago
Cliente
Vendedor
35
Plantilla de documentación
propuesta…
RF- <id del requisito> <nombre del requisito funcional>
Autores <autor>
36
Plantilla de documentación
propuesta…
Precondición <precondición del caso de uso>
Postcondición <postcondición del caso de uso>
Secuencia Paso Acción
Normal 1 {El <actor> , El sistema} <acción realizada por el
actor o sistema>, se realiza el caso de uso
< caso de uso RF-x>
2 Si <condición>, {el <actor> , el sistema} <acción
realizada por el actor o sistema>>, se realiza el
caso de uso < caso de uso RF-x>
3
4
5
6
n
37
Plantilla de documentación
propuesta…
Excepciones Paso Acción
1 Si <condición de excepción>,{el <actor> , el
sistema} }<acción realizada por el actor o
sistema>>, se realiza el caso de uso
< caso de uso RF-x>, a continuación este caso
de uso {continua, aborta}
2
3
Rendimiento Paso Cota de tiempo
1 n segundos
2 n segundos
38
…Plantilla de documentación
propuesta
39
Comentarios
En métodos OO que carecen de una técnica de captura de
requisitos se comienza inmediatamente con la
construcción del modelo de análisis/diseño
41