gonzalorojas 07 u m l, casos de uso ( final)
DESCRIPTION
Realizadas por Gonzalo RojasTRANSCRIPT
![Page 1: Gonzalorojas 07 U M L, Casos De Uso ( Final)](https://reader033.vdocuments.pub/reader033/viewer/2022052411/5567b657d8b42a944b8b49b1/html5/thumbnails/1.jpg)
1
Fundamentos deModelado OO en UML
Adaptado de Curso de UML, Patricio Letelier T.,
Universitat Politècnica de València, España
![Page 2: Gonzalorojas 07 U M L, Casos De Uso ( Final)](https://reader033.vdocuments.pub/reader033/viewer/2022052411/5567b657d8b42a944b8b49b1/html5/thumbnails/2.jpg)
2
Objetos
Objeto = unidad atómica que encapsula estado y comportamiento
La encapsulación en un objeto permite una alta cohesión y un bajo acoplamiento
Un objeto puede caracterizar una entidad física (coche) o abstracta (ecuación matemática)
![Page 3: Gonzalorojas 07 U M L, Casos De Uso ( Final)](https://reader033.vdocuments.pub/reader033/viewer/2022052411/5567b657d8b42a944b8b49b1/html5/thumbnails/3.jpg)
3
… Objetos
En UML, un objeto se representa por un rectángulo con un nombre subrayado
Un objeto
Otro objeto más
Otro objeto
![Page 4: Gonzalorojas 07 U M L, Casos De Uso ( Final)](https://reader033.vdocuments.pub/reader033/viewer/2022052411/5567b657d8b42a944b8b49b1/html5/thumbnails/4.jpg)
4
… Objetos
Ejemplo de varios objetos relacionados:
Felipe
Juan
Cuenta Corriente 101
Cuenta Corriente 114
Banco de Valencia
![Page 5: Gonzalorojas 07 U M L, Casos De Uso ( Final)](https://reader033.vdocuments.pub/reader033/viewer/2022052411/5567b657d8b42a944b8b49b1/html5/thumbnails/5.jpg)
5
… Objetos
Objeto = Identidad + Estado + ComportamientoEl estado está representado por los valores de los atributosUn atributo toma un valor en un dominio concreto
Un coche
Azul 979 Kg 70 CV
...
![Page 6: Gonzalorojas 07 U M L, Casos De Uso ( Final)](https://reader033.vdocuments.pub/reader033/viewer/2022052411/5567b657d8b42a944b8b49b1/html5/thumbnails/6.jpg)
6
Clases y Objetos
![Page 7: Gonzalorojas 07 U M L, Casos De Uso ( Final)](https://reader033.vdocuments.pub/reader033/viewer/2022052411/5567b657d8b42a944b8b49b1/html5/thumbnails/7.jpg)
7
Comportamiento
Ejemplo de interacción:
Un Objeto
Otro Objeto
Operación 1
Operación 21: Un mensaje
![Page 8: Gonzalorojas 07 U M L, Casos De Uso ( Final)](https://reader033.vdocuments.pub/reader033/viewer/2022052411/5567b657d8b42a944b8b49b1/html5/thumbnails/8.jpg)
8
… Comportamiento
Los mensajes navegan por los enlaces, a priori en ambas direcciones
Estado y comportamiento están relacionados
Ejemplo: no es posible aterrizar un avión si no está volando. Está volando como consecuencia de haber despegado del suelo
![Page 9: Gonzalorojas 07 U M L, Casos De Uso ( Final)](https://reader033.vdocuments.pub/reader033/viewer/2022052411/5567b657d8b42a944b8b49b1/html5/thumbnails/9.jpg)
9
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)
Los lenguajes OO no proponen soporte adecuado para la persistencia, la cual debería ser transparente, un objeto existe desde su creación hasta que se destruya
![Page 10: Gonzalorojas 07 U M L, Casos De Uso ( Final)](https://reader033.vdocuments.pub/reader033/viewer/2022052411/5567b657d8b42a944b8b49b1/html5/thumbnails/10.jpg)
10
Comunicación
Un sistema informático puede verse como un conjunto de objetos autónomos y concurrentes que trabajan de manera coordinada en la consecución de un fin específico
El comportamiento global se basa pues en la comunicación entre los objetos que la componen
![Page 11: Gonzalorojas 07 U M L, Casos De Uso ( Final)](https://reader033.vdocuments.pub/reader033/viewer/2022052411/5567b657d8b42a944b8b49b1/html5/thumbnails/11.jpg)
11
… ComunicaciónCategorí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. Servidores el objeto que provee el servicio solicitado
![Page 12: Gonzalorojas 07 U M L, Casos De Uso ( Final)](https://reader033.vdocuments.pub/reader033/viewer/2022052411/5567b657d8b42a944b8b49b1/html5/thumbnails/12.jpg)
12
… Comunicación
Los agentes reúnen las características de clientes y servidores
Son la base del mecanismo de delegación
Introducen indirección: un cliente puede comunicarse con un servidor que no conoce directamente
![Page 13: Gonzalorojas 07 U M L, Casos De Uso ( Final)](https://reader033.vdocuments.pub/reader033/viewer/2022052411/5567b657d8b42a944b8b49b1/html5/thumbnails/13.jpg)
13
… Comunicación
Ejemplo con objeto agente:
Un cliente
Un agente
Servidor 1
Servidor 2
1:
2:
3:
![Page 14: Gonzalorojas 07 U M L, Casos De Uso ( Final)](https://reader033.vdocuments.pub/reader033/viewer/2022052411/5567b657d8b42a944b8b49b1/html5/thumbnails/14.jpg)
14
El Concepto de Mensaje
La unidad de comunicación entre objetos se llama mensaje
Objeto 1 Objeto 2
Objeto 3 Objeto 4
1: Mensaje A
2: Mensaje C
3: Mensaje D
4: Mensaje E
![Page 15: Gonzalorojas 07 U M L, Casos De Uso ( Final)](https://reader033.vdocuments.pub/reader033/viewer/2022052411/5567b657d8b42a944b8b49b1/html5/thumbnails/15.jpg)
15
Mensaje y EstímuloUn 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
![Page 16: Gonzalorojas 07 U M L, Casos De Uso ( Final)](https://reader033.vdocuments.pub/reader033/viewer/2022052411/5567b657d8b42a944b8b49b1/html5/thumbnails/16.jpg)
16
UMLDiagrama de Casos de Uso
![Page 17: Gonzalorojas 07 U M L, Casos De Uso ( Final)](https://reader033.vdocuments.pub/reader033/viewer/2022052411/5567b657d8b42a944b8b49b1/html5/thumbnails/17.jpg)
17
Casos de UsoLos 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
![Page 18: Gonzalorojas 07 U M L, Casos De Uso ( Final)](https://reader033.vdocuments.pub/reader033/viewer/2022052411/5567b657d8b42a944b8b49b1/html5/thumbnails/18.jpg)
18
… Casos de UsoActores:
• 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
La misma persona física puede interpretar varios papeles como actores distintos
El nombre del actor describe el papel desempeñado
![Page 19: Gonzalorojas 07 U M L, Casos De Uso ( Final)](https://reader033.vdocuments.pub/reader033/viewer/2022052411/5567b657d8b42a944b8b49b1/html5/thumbnails/19.jpg)
19
… Casos de UsoLos 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
Un escenario es una instancia de un caso de uso
Los casos de uso intervienen durante todo el ciclo de vida. El proceso de desarrollo estará dirigido por los casos de uso
![Page 20: Gonzalorojas 07 U M L, Casos De Uso ( Final)](https://reader033.vdocuments.pub/reader033/viewer/2022052411/5567b657d8b42a944b8b49b1/html5/thumbnails/20.jpg)
20
Casos de Uso: Relaciones
UML define cuatro tipos de relación en los Diagramas de Casos de Uso:
• Comunicación
Actor C aso de U so
![Page 21: Gonzalorojas 07 U M L, Casos De Uso ( Final)](https://reader033.vdocuments.pub/reader033/viewer/2022052411/5567b657d8b42a944b8b49b1/html5/thumbnails/21.jpg)
21
… 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>> reemplazó al denominado <<uses>>
Caso de Uso Origen C aso de U so Desti no
<<include>>
![Page 22: Gonzalorojas 07 U M L, Casos De Uso ( Final)](https://reader033.vdocuments.pub/reader033/viewer/2022052411/5567b657d8b42a944b8b49b1/html5/thumbnails/22.jpg)
22
Verificar Operación
Reintegro Cuenta Corriente
Cliente
Reintegro Cuenta de Crédito
<<include>>
<<include>>
… Casos de Uso: Relaciones
Ejemplo <<include>>:
![Page 23: Gonzalorojas 07 U M L, Casos De Uso ( Final)](https://reader033.vdocuments.pub/reader033/viewer/2022052411/5567b657d8b42a944b8b49b1/html5/thumbnails/23.jpg)
23
… Casos de Uso: Relaciones
• Extensión : el Caso de Uso origen extiende el comportamiento del Caso de Uso destino
Caso de Uso Origen C aso de U so Desti no
<<extend>>
![Page 24: Gonzalorojas 07 U M L, Casos De Uso ( Final)](https://reader033.vdocuments.pub/reader033/viewer/2022052411/5567b657d8b42a944b8b49b1/html5/thumbnails/24.jpg)
24
Solic itar N ueva Tarjeta
Cliente Solicitar Préstamo
<<extend> >
[Tarjeta Caducada]
… Casos de Uso: Relaciones
Ejemplo <<extend>>:
![Page 25: Gonzalorojas 07 U M L, Casos De Uso ( Final)](https://reader033.vdocuments.pub/reader033/viewer/2022052411/5567b657d8b42a944b8b49b1/html5/thumbnails/25.jpg)
25
… Casos de Uso: RelacionesEjemplo <<include>> y <<extend>>:
Ident ificación
Transferencia en Internet
ClienteTransferencia
<<include>>
<< extend>>
![Page 26: Gonzalorojas 07 U M L, Casos De Uso ( Final)](https://reader033.vdocuments.pub/reader033/viewer/2022052411/5567b657d8b42a944b8b49b1/html5/thumbnails/26.jpg)
26
… Casos de Uso: Relaciones
Otro ejemplo <<include>> y <<extend>>:
Place OrderSalesperson
*1 *1
Supply Customer Data
<<include>>
Order Product
<<include>>
Arrange Payment
<<include>>
Request Catalog
<<extend>>
the salesperson asks for the catalog
![Page 27: Gonzalorojas 07 U M L, Casos De Uso ( Final)](https://reader033.vdocuments.pub/reader033/viewer/2022052411/5567b657d8b42a944b8b49b1/html5/thumbnails/27.jpg)
27
… 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
Caso de Uso Hij o Caso de Uso Padre
![Page 28: Gonzalorojas 07 U M L, Casos De Uso ( Final)](https://reader033.vdocuments.pub/reader033/viewer/2022052411/5567b657d8b42a944b8b49b1/html5/thumbnails/28.jpg)
28
… Casos de Uso: Relaciones
• Ejemplo de herencia
Cliente
* *Reserva de
Billete Aéreo
Reserva por Agencia
Reserva en Aerolínea
![Page 29: Gonzalorojas 07 U M L, Casos De Uso ( Final)](https://reader033.vdocuments.pub/reader033/viewer/2022052411/5567b657d8b42a944b8b49b1/html5/thumbnails/29.jpg)
29
Casos de Uso: ConstrucciónUn caso de uso debe ser simple, inteligible, claro y concisoGeneralmente hay pocos actores asociados a cada Caso de UsoPreguntas 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?
![Page 30: Gonzalorojas 07 U M L, Casos De Uso ( Final)](https://reader033.vdocuments.pub/reader033/viewer/2022052411/5567b657d8b42a944b8b49b1/html5/thumbnails/30.jpg)
30
… Casos de Uso: ConstrucciónLa 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?
![Page 31: Gonzalorojas 07 U M L, Casos De Uso ( Final)](https://reader033.vdocuments.pub/reader033/viewer/2022052411/5567b657d8b42a944b8b49b1/html5/thumbnails/31.jpg)
31
Ejemplo
Cliente Sistema Bancario
Cajero Automático
Sacar Dinero
RealizarTransferencias
Depositar Dinero
Administrar Cajero
Operador
![Page 32: Gonzalorojas 07 U M L, Casos De Uso ( Final)](https://reader033.vdocuments.pub/reader033/viewer/2022052411/5567b657d8b42a944b8b49b1/html5/thumbnails/32.jpg)
32
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
![Page 33: Gonzalorojas 07 U M L, Casos De Uso ( Final)](https://reader033.vdocuments.pub/reader033/viewer/2022052411/5567b657d8b42a944b8b49b1/html5/thumbnails/33.jpg)
33
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
![Page 34: Gonzalorojas 07 U M L, Casos De Uso ( Final)](https://reader033.vdocuments.pub/reader033/viewer/2022052411/5567b657d8b42a944b8b49b1/html5/thumbnails/34.jpg)
34
Ejemplo 2…
Cliente
Venta por Catálogo
Vendedor
Empleado
Supervisor
Comprobar Estadodel Pedido
Realizar Pedido
Completar Pedido
Establecer Crédito
![Page 35: Gonzalorojas 07 U M L, Casos De Uso ( Final)](https://reader033.vdocuments.pub/reader033/viewer/2022052411/5567b657d8b42a944b8b49b1/html5/thumbnails/35.jpg)
35
…Ejemplo 2
Realizar Pedido
Suministrar DatosCliente
Realizar Pedido deProductos
Realizar Pago
Solicitar Catálogo
<<include>><<include>>
<<extend>>
Cliente
Vendedor
<<include>>
![Page 36: Gonzalorojas 07 U M L, Casos De Uso ( Final)](https://reader033.vdocuments.pub/reader033/viewer/2022052411/5567b657d8b42a944b8b49b1/html5/thumbnails/36.jpg)
36
Plantilla de documentación propuesta…RF- <id del requisito> <nombre del requisito funcional>
Versión <numero de versión y fecha>
Autores <autor>
Fuentes <fuente de la versión actual>
Objetivos asociados <nombre del objetivo>
Descripción El sistema deberá comportarse tal como se describe en el siguiente caso de uso { concreto cuando <evento de activación> , abstracto durante la realización de los casos de uso <lista de casos de uso>}
![Page 37: Gonzalorojas 07 U M L, Casos De Uso ( Final)](https://reader033.vdocuments.pub/reader033/viewer/2022052411/5567b657d8b42a944b8b49b1/html5/thumbnails/37.jpg)
37
Precondición <precondición del caso de uso> Postcondición <postcondición del caso de uso>
Paso Acción 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
Secuencia Normal
n
Plantilla de documentación propuesta…
![Page 38: Gonzalorojas 07 U M L, Casos De Uso ( Final)](https://reader033.vdocuments.pub/reader033/viewer/2022052411/5567b657d8b42a944b8b49b1/html5/thumbnails/38.jpg)
38
Plantilla de documentación propuesta…
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
Excepciones
3 Rendimiento Paso Cota de tiempo 1 n segundos 2 n segundos
![Page 39: Gonzalorojas 07 U M L, Casos De Uso ( Final)](https://reader033.vdocuments.pub/reader033/viewer/2022052411/5567b657d8b42a944b8b49b1/html5/thumbnails/39.jpg)
39
Frecuencia esperada <nº de veces> veces / <unidad de tiempo> Importancia {sin importancia, importante, vital} Urgencia {puede esperar, hay presión, inmediatamente} Comentarios <comentarios adicionales>
…Plantilla de documentación propuesta
![Page 40: Gonzalorojas 07 U M L, Casos De Uso ( Final)](https://reader033.vdocuments.pub/reader033/viewer/2022052411/5567b657d8b42a944b8b49b1/html5/thumbnails/40.jpg)
40
ComentariosEn 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
Los Casos de Uso son una idea maravillosa que ha sido generalmente complicada. El verdadero truco para los Casos de Uso es mantenerlos simples. Recordad, mañana van a cambiar. Rober C. Martin
Los requisitos NO funcionales también son importantes. Desempeño, cumplimiento de estándares o leyes, atributos de calidad (confiabilidad, disponibilidad, seguridad, mantenibilidad, portabilidad), etc.
![Page 41: Gonzalorojas 07 U M L, Casos De Uso ( Final)](https://reader033.vdocuments.pub/reader033/viewer/2022052411/5567b657d8b42a944b8b49b1/html5/thumbnails/41.jpg)
41
Recomendación Bibliográfica
UML y Patrones, Craig Larman, Sección 6.6