Beruflich Dokumente
Kultur Dokumente
1
1
Agradecimiento
El presente material ha sido elaborado utilizando lo publicado en la Web por:
Desarrollo de Software Orientado a Objeto usando UML Prof. Patricio Letelier Torres letelier@dsic.upv.es
Applying UML in The Unified Process Ivar Jacobson Rational Software ivar @rational.com
Casos de uso
Casos de uso son ideados por Jacobson a principios de los noventa, Inspirados en el concepto de escenario. Escenarios haban sido utilizados para describir procesos.
..Casos de Uso
Los Casos de Uso (Ivar Jacobson) describen bajo la forma de acciones y reacciones el comportamiento de un sistema desde el punto de vista del usuario Permiten definir los lmites 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 implementacin
Casos de Uso
Los Casos de Uso cubren la carencia existente en mtodos previos (OMT, Booch) en cuanto a la determinacin de requisitos
Los Casos de Uso dividen el conjunto de necesidades atendiendo a la categora de usuarios que participan en el mismo
Estn basado en el lenguaje natural, es decir, es accesible por los usuarios
Casos de Uso
Un caso de uso (cdu) especifica un comportamiento deseado del sistema (trabajo tangible). Representan requisitos funcionales del sistema. Un caso de uso especifica un conjunto de secuencias de acciones, incluyendo variantes, que el sistema puede ejecutar y que produce un resultado observable de valor para un particular actor (Definicin en UML)
Describen qu hace el sistema, no cmo lo hace.
Casos de Uso
actor
caso de uso
Cajero
Realizar Venta
asociacion
Describe un conjunto de interacciones entre actores externos y el sistema en consideracin orientadas a satisfacer un objetivo de un actor. [D. Bredemeyer]
Es una coleccin de posibles secuencias de interacciones entre el sistema en discusin y sus actores externos, relacionado con un objetivo particular. [A. Cockburn]
Es una coleccin de escenarios de xito y fracaso relacionados que describe a un actor que usa un sistema para conseguir un objetivo [C. Larman]
10
Actores
Un actor representa un rol que juegan los agentes que interactan con el sistema.
d Tr Tr ia ia ia ia ia ia ia lV lV lV lV lV lV lV er er er er er er er er si si si si si si si si on on on on on on on on Tr d re is eg te Tr Tr Tr d re d er eg nr -U is te gi nr e st ed re Tr
11
EA
-U -U nr -U nr
10
EA
EA
3.
10
3.
eg
EA
3.
10
3.
10
is
ed
te
El tiempo puede ser un actor (procesos iniciados automticamente por el sistema) Los actores no forman parte del sistema.
10 3.
-U
nr eg
is t
Agenda de Reuniones
er ed
nr eg i
st
er e
Actores
Un actor necesita el caso de uso y/o participa en l. Un mismo usuario puede jugar diferentes roles. Un actor puede intervenir en varios casos de uso. Se pueden identificar casos de uso a partir de actores y eventos externos. Un caso de uso puede requerir la participacin de varios actores para lograr su objetivo. Heurstica: todos los actores todos los casos de uso?
12
A 3. 10 3. 10 3. 10 3. 10 -U -U -U -U nr nr nr nr nr eg eg eg eg eg is is is is is te te te te te re re re re re re d d d d d d Tr Tr Tr Tr Tr Tr ia ia ia ia ia ia lV lV lV lV lV lV er er er er er er er si si si si si si si on on on on on on on
Estudiante Aprender UML
EA
EA
EA
Actores
A 3. 10 3. 10
EA
EA
3. 10
EA
3. 10
-U -U -U -U nr nr nr nr nr eg eg eg eg eg is is is is is te te te te te re re re re re re d d d d d d Tr Tr Tr Tr Tr Tr ia ia ia ia ia ia lV lV lV lV lV lV er er er er er er er si si si si si si si on on on on on on on
Instructor
13
3. 1
EA 0 3. 1 -U 0 3. 1 -U 0 3. 1 -U 0
EA
EA
EA -U
3. 1
EA 0 -U
3. 1
EA 0
3. 1
EA
3. 1
EA
3. 1
EA
3. 1
0 0 0 0 -U -U -U -U -U nr nr nr nr nr nr nr nr nr nr re eg eg eg eg eg eg eg eg eg eg gi is is is is is is is is is is st te te te te te te te te te te er re re re re re re re re re re ed d d d d d d d d d d d Tr Tr Tr Tr Tr Tr Tr Tr Tr Tr Tr Tr ia ia ia ia ia ia ia ia ia ia ia ia lV lV lV lV lV lV lV lV lV lV lV lV er er er er er er er er er er er er rs si si si si si si si si si si si si io on on on on on on on on on on on on n
LP Analista Equipo Programador
Arquitecto
3. 1
EA 0 -U
3. 1
EA 0 -U
3. 1
EA 0 -U
3. 1
EA 0 -U
3. 1
EA 0 -U
3. 1
EA 0
3. 1
EA
3. 1
EA
3. 1
EA
3. 1
14
0 0 0 0 -U -U -U -U -U nr nr nr nr nr nr nr nr nr nr re eg eg eg eg eg eg eg eg eg eg gi is is is is is is is is is is st te te te te te te te te te te er re re re re re re re re re re e
15
Identificacin de actores
Quin y qu utiliza el sistema? Qu roles desempean en la interaccin? Quin mantiene el sistema? Quin o que inicia y cierra el sistema? Qu otros sistemas interactan con el sistema? Quin o qu consigue o proporciona informacin al sistema? Sucede algo en un momento dado de forma automtica?
16
Alumno
Realizar preinscripcin
Gestin Expedientes
Actor Principal
Matriculacin Entidad Bancaria
Actores Secundarios
17
Registrar curso
Aprobar curso
Servicio CPE
Fin matriculacion
Realizar preinscripcin
Sistema
18
Reservar Libro
Prstamo revista
Profesor
Prstamo Libro
Devolver revista
Bibliotecario
Extender Prstamo
Consultar
Socio
19
El objetivo de la arquitectura del sistema es encontrar el conjunto mnimo de colaboraciones bien estructuradas, que satisfacen el comportamiento especificado en todos los casos de uso del sistema
20
Inclusin
- Un cdu base incorpora explcitamente el comportamiento de otro en algn lugar de su secuencia.
Extensin
- Un cdu base incorpora implcitamente el comportamiento de otro cdu en el lugar especificado indirectamente por este otro cdu
21
Generalizacin
Los casos de uso hijo son una especializacin del caso de uso padre.
Cliente
Buscar Producto
Buscar libro
Buscar CD
22
Inclusin : una instancia del Caso de Uso origen incluye tambin el comportamiento descripto por el Caso de Uso destino
<<include>>
23
Ejemplos
<<include>>
Cliente
24
Relacin de inclusin
Permite factorizar un comportamiento en un caso de uso aparte y evita repetir un mismo flujo en diferentes casos de uso. Ejemplo:
Hacer Pedido:
Obtener y verificar el nmero de pedido; Incluir (Validar usuario); para cada lnea en el pedido: Consultar el estado; Preparar un informe para el usuario
25
Relacin de extensin
El caso de uso base incluye una serie de puntos de extensin. El caso de uso base no conoce los casos de uso de extensin, est completo sin las extensiones. Los puntos de extensin no son parte del flujo principal. Sirve para modelar
la parte opcional del sistema un subflujo que slo se ejecuta bajo ciertas condiciones varios flujos que se pueden insertar en un punto
26
Relacin de extensin
Ejemplo: Hacer Pedido: Incluir Validar usuario; Recoger los tem del pedido del usuario; establecer prioridad: punto de extensin Enviar pedido para ser procesado.
27
Relacin de extensin
Devolver Libro
Puntos de extensin libro retrasado
extend
Poner multa
Bibliotecario
Nombre: Devolver libro Nombre: Poner multa Actor principal: Bibliotecario Precondicin: Libro devuelto fuera de plazo Precondicin: Bibliotecario est autenticado Flujo: Flujo: 1. El bibliotecario introduce detalles multa 1. El bibliotecario introduce id del prestatario 2. El sistema registra e imprime la multa 2. El sistema muestra datos del prestatario y los libros que tiene prestados 3. El bibliotecario selecciona libro a devolver punto de extensin: libro retrasado 4. El sistema registra devolucin 5. ...
28
29
Ejemplos
Cliente
Solicitar Prstamo
30
Cliente
Transferencia
Transferencia en Internet
31
Ejemplo
Extensin extend
Realizar Pedido Realizar Pedido Urgente
(establecer prioridad)
include
Inclusin
Validar Usuario
Comprobar clave
Generalizacin include
Consultar Pedido
Examinar retina
32
Casos de Uso
Casos de Uso es una tcnica para capturar informacin de cmo un sistema o negocio trabaja, o de cmo se desea que trabaje No pertenece estrictamente al enfoque orientado a objeto, es una tcnica para captura de requisitos
33
Casos de Uso
Los Casos de Uso se determinan observando y precisando, actor por actor, las secuencias de interaccin, 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
34
CASO 01: MAQUINARIAS ARGENTINAS S.A CASO 02 : BEGRABA S.A CASO 03: CLUB JUEGO LIMPIO
35
Son iniciados por un actor con un objetivo en mente y es completado con xito cuando el sistema lo satisface. Puede incluir secuencias alternativas que llevan al xito y fracaso en la consecucin del objetivo. El sistema es considerado como una caja negra y las interacciones se perciben desde fuera. El conjunto completo de casos de uso especifica todas las posibles formas de usar el sistema, esto es el comportamiento requerido.
36
Un caso de uso describe un conjunto de secuencias de interacciones entre actores y el sistema (escenarios): Principal y secundarios. Cada escenario acaba con xito o fracaso. Un escenario es una instancia de un caso de uso, una historia particular de uso del sistema. Un flujo principal y varios flujos secundarios. Flujo principal: Todo va bien Flujos secundarios: Alternativas y Excepciones
37
Ofrecen un medio sistemtico e intuitivo para capturar los requisitos funcionales, centrndose en el valor aadido para el usuario Dirigen todo el proceso de desarrollo puesto que la mayora de actividades (planificacin, anlisis, diseo, validacin, test,..) se realizan a partir de los casos de uso. Mecanismo importante para soportar trazabilidad entre modelos.
38
Hay consenso en considerar casos de uso como esenciales para capturar requisitos y guiar el modelado. Pero ha existido mucha confusin sobre cmo usarlos. Nmero de casos de uso apropiado en un proyecto? Qu casos de uso hay en el sistema?
39
Diferente granularidad Un caso de uso se puede asociar a un objetivo del usuario o a una interaccin bsica con el sistema. Un objetivo implica una o ms interacciones. Se debe definir un caso de uso por cada objetivo del usuario.
40
Granularidad Casos de uso del negocio Procesos de Negocio: Objetivo estratgico de la empresa Ej. Venta productos Casos de uso del sistema Objetivo de un usuario Ej. Realizar una compra Casos de uso de inclusin Forman parte de otro, son como subfunciones Ej. Buscar, Validar, Login
41
Granularidad
Qu granularidad es apropiada para un caso de uso del sistema? Sirven para planificar el proyecto Se les asocia un flujo de interacciones actor-sistema Deben ser objetivos del usuario En un sistema de venta por internet, son casos de uso Aadir producto al carro de la compra o Introducir datos facturacin ?
42
Segn la importancia
Primario, secundario u opcional
43
<<include>>
Aadir libro
<<include>> <<include>>
Aadir peticin
Bibliotecario
Gestionar biblioteca
Mantener peticiones
<<include>>
<<include>>
Eliminar peticin
Mantener prestamos
<<include>>
Prestar libro
44
Debe ser legible y comprensible para un usuario no experto. Debe indicar: actores, flujos principal y excepcionales.
45
Nombre del caso de uso Actor Principal Personas involucradas e Interesadas (Actores secundarios) Precondiciones (estado del sistema antes de empezar) Postcondiciones (estado del sistema al finalizar) Escenario Principal (Flujo Bsico) Extensiones (Flujos Alternativos) Requisitos especiales Tecnologa y Lista Variaciones de datos Frecuencia Cuestiones abiertas
46
Primero, estn las actividades comerciales importantes, generalmente llamadas procesos de negocio. Segundo, estn aquellas actividades que no son comercialmente importantes, pero que deben estar para que el negocio funcione. La administracin, depuracin y seguridad del sistema son ejemplo tpicos. Son de soporte. Tercero, est la administracin del trabajo. Estos casos de uso de negocio muestran el tipo de tareas que afectan como se manejan otros casos de uso de negocio y las relaciones entre sus dueos.
47
Extraer descripciones de funcionalidad generales y compartidas que pueden ser utilizadas por descripciones ms especficas
Extraer descripciones de funcionalidad adicionales u opcionales que pueden extender descripciones ms especficas
48
50
51
52
53
54
Precondicin
Flujo de sucesos
56
Especificacin estructurada
Identificacin
Identificador del CU El nombre debe expresar la accin que ocurre al ejecutar el CU. Es usual que este sea un verbo significativo en el contexto del negocio ms un objeto vinculado al dominio. Describe el objetivo que quiere alcanzar el actor que lo ejecuta. Debe ser una extensin del nombre. Lista de RF que se satisfacen.
Requerimientos No Funcionales
Las RN enuncian caractersticas propias del dominio de la aplicacin que deben ser consideradas a la hora de plantear usos del sistema. Las RN aparecen fuertemente vinculadas a los casos de uso y a los objetos del dominio de la aplicacin indicando restricciones a sus valores, relaciones significativas y de impacto entre las entidades.
57
Especificacin estructurada
Precondiciones
Condiciones que si se verifican habilitan la ejecucin del CU (contratos).
Postcondiciones
Resultados esperados de la ejecucin satisfactoria del CU. Impacto del CU en las entidades y condiciones del sistema.
Describe la interaccin esperada (ms simple o frecuente) entre el actor y el sistema. Es una secuencia de pasos numerados que conduce a lograr los resultados indicados en la/s postcondicin/es. Secuencias de pasos que se ejecutan bajo cierta condicin y que constituyen un camino alternativo para satisfacer el mismo objetivo que el escenario principal. Debe indicarse el paso en que se origina y el paso de retorno a la ejecucin del escenario bsico. Secuencias de pasos previstos cuando se produce una condicin que inhabilita la ejecucin satisfactoria del CU.
58
Escenario principal
Escenarios alternativos
Escenarios de Excepcin
59
60
Resumen: Un cliente llega al TPV (Terminal Punto de Venta) con un conjunto de artculos. El Cajero registra los artculos y se genera un ticket. El cliente paga en efectivo y recoge los artculos. Actor Principal: Cajero Personal Involucrado e Intereses: Cajero: quiere entradas precisas, rpida y sin errores de pago Compaa: quiere registrar transacciones y satisfacer clientes. ... Precondicin: El cajero est autenticado Postcondiciones: Se registra la venta. Se calcula el impuesto. Se actualiza contabilidad e inventario...
62
63
64
65
Requisitos especiales:
- Interfaz de usuario con pantalla tctil en un monitor de pantalla plana. El texto debe ser visible a un metro de distancia. - Tiempo de respuesta para autorizacin de crdito de 30 sg. El 90% de las veces ...
Cuestiones Pendientes:
- Explorar cuestiones de recuperacin de accesos a servicios remotos - Qu adaptaciones son necesarias para diferentes negocios?
66
Cada paso del escenario es un sub-objetivo, escondiendo el anidamiento del caso de uso (imagen del pantaln a rayas).
F
E
..?E
F
F
(Escenarios de Exito)
(Fallas)
67
RF- <id del requisito> Versin Autores Fuentes Objetivos asociados Descripcin
Postcondicin Excepciones
Rendimiento
<nombre del requisito funcional> <numero de versin y fecha> <autor> <fuente de la versin actual> <nombre del objetivo> El sistema deber comportarse tal como se describe en el siguiente caso de uso { concreto cuando <evento de activacin> , abstracto durante la realizacin de los casos de uso <lista de casos de uso>} <precondicin del caso de uso> Paso Accin 1 {El <actor> , El sistema} <accin realizada por el actor o sistema>, se realiza el caso de uso < caso de uso RF-x> 2 Si <condicin>, {el <actor> , el sistema} <accin realizada por el actor o sistema>>, se realiza el caso de uso < caso de uso RF-x> 3 4 5 6 n <postcondicin del caso de uso> Paso Accin 1 Si <condicin de excepcin>,{el <actor> , el sistema} }<accin realizada por el actor o sistema>>, se realiza el caso de uso < caso de uso RF-x>, a continuacin este caso de uso {continua, aborta} 2 3 Paso Cota de tiempo 1 n segundos 2 n segundos <n de veces> veces / <unidad de tiempo> {sin importancia, importante, vital} {puede esperar, hay presin, inmediatamente} USAL - Sistemas adicionales> 68 <comentarios Informacin I.b v
10
68
CASO 01: MAQUINARIAS ARGENTINAS S.A CASO 02 : BEGRABA S.A CASO 03: CLUB JUEGO LIMPIO
69
70
Reorganizar los casos de uso para que se ajusten mejor a las necesidades de los actores.
71
71
Recomendaciones
Especificar casos de uso no es una actividad de dibujar diagramas sino de escribir con el detalle necesario el flujo principal y los flujos alternativos: centrado en la escritura en vez del dibujo El objetivo inicial es identificar los actores y a partir de sus objetivos encontrar los casos de uso, el diagrama de casos de uso es una ayuda visual. El texto de los casos de uso debe ser claro.
Recomendaciones
Un caso de uso debe tener una granularidad apropiada que especifica una interaccin en la que se produce un resultado de valor para un actor. Un error comn es no identificar como casos de uso las tareas que inicia el propio sistema (Actor Tiempo)
Anular reservas pasados quince das
73
Recomendaciones
No incluir como caso de uso las operaciones CRUD (alta, consulta, borrado, actualizacin) sobre un objeto de negocio, excepto si se trata de operaciones relevantes para el sistema, como registrar cliente en un sistema de venta. Cuidado con el empleo de la relacin include al extremo puede llevar a una descomposicin funcional!
74
Recomendaciones
Hay que comprobar que los casos de uso incluyen toda la funcionalidad del sistema. Preocupacin por mantener la validez y consistencia del conjunto de casos de uso. Cada compaa debe tener un manual sobre uso de los casos de uso. Algunos requisitos funcionales no conviene expresarlos como casos de uso.
75
76