1. Introducci´n
o
Actores
Especificaci´n de Casos de uso
o
Diagramas de casos de uso
Elaboraci´n del modelo de casos de uso
o
Casos de uso
UML
Miguel Vega
mvega@ugr.es
LSI - UGR
Granada, octubre de 2010
M Vega Casos de uso
2. Introducci´n
o
Actores
Especificaci´n de Casos de uso
o
Diagramas de casos de uso
Elaboraci´n del modelo de casos de uso
o
Contenido
1 Introducci´n
o
2 Actores
3 Especificaci´n de Casos de uso
o
Contenido
Plantilla de especificaci´n
o
Un ejemplo
4 Diagramas de casos de uso
5 Elaboraci´n del modelo de casos de uso
o
M Vega Casos de uso
3. Introducci´n
o
Actores
Especificaci´n de Casos de uso
o
Diagramas de casos de uso
Elaboraci´n del modelo de casos de uso
o
Origen
Jacobson (ObjectOry) → UML
Rational
Object Management Group (OMG)
M Vega Casos de uso
4. Introducci´n
o
Actores
Especificaci´n de Casos de uso
o
Diagramas de casos de uso
Elaboraci´n del modelo de casos de uso
o
Concepto
Un caso de uso representa una unidad funcional coherente
de un sistema, subsistema o clase.
En un caso de uso uno o m´s actores interaccionan con el
a
sistema que realiza algunas acciones.
Elementos de un modelo de casos de uso:
Actores
Casos de uso
Relaciones
M Vega Casos de uso
5. Introducci´n
o
Actores
Especificaci´n de Casos de uso
o
Diagramas de casos de uso
Elaboraci´n del modelo de casos de uso
o
Ejemplo resumido de caso de uso
M Vega Casos de uso
6. Introducci´n
o
Actores
Especificaci´n de Casos de uso
o
Diagramas de casos de uso
Elaboraci´n del modelo de casos de uso
o
Ejemplo resumido de caso de uso
M Vega Casos de uso
7. Introducci´n
o
Actores
Especificaci´n de Casos de uso
o
Diagramas de casos de uso
Elaboraci´n del modelo de casos de uso
o
Tipos de casos de uso
Seg´n cu´l sea el nivel de detalle
u a
resumidos o de ’alto nivel’: Durante la fase de inicio la
mayor parte de los casos de uso deben tener esta forma.
extensos: Durante la fase de elaboraci´n los casos de uso
o
deben escribirse de esta forma.
Tambi´n se distingue entre:
e
esenciales
de implementaci´n, reales o concretos: hacen
o
referencia a detalles de la interface
M Vega Casos de uso
8. Introducci´n
o
Actores
Especificaci´n de Casos de uso
o
Diagramas de casos de uso
Elaboraci´n del modelo de casos de uso
o
Actores
Un actor podr´ ser cualquier cosa que se comunica
ıa
(interacciona) con el sistema y que es externo a ´l.
e
Los actores no necesariamente coinciden con los
USUARIOS. Un usuario puede interpretar distintos roles,
correspondientes a distintos actores.
Los actores representan papeles (ROLES) que interpretan
personas, perif´ricos u otros sistemas cuando el sistema
e
est´ en uso.
a
Un actor podr´ desempe˜ar distintos papeles dependiendo
ıa n
del caso de uso en que participe.
Un actor representan un conjunto coherente de papeles que
los usuarios de una entidad (sistema, subsistema, clase)
pueden desempe˜ar al interaccionar con la misma.
n
M Vega Casos de uso
9. Introducci´n
o
Actores
Especificaci´n de Casos de uso
o
Diagramas de casos de uso
Elaboraci´n del modelo de casos de uso
o
Tipos de actores
Primarios: interaccionan con el sistema para explotar su
funcionalidad; trabajan directa y frecuentemente con el
software.
Secundarios: soporte del sistema para que los primarios
puedan trabajar.
Iniciadores: no utilizan directamente el sistema pero
desencadenan el trabajo de otro actor. (No aparecen en
UML pero s´ los consideran otros autores)
ı
M Vega Casos de uso
10. Introducci´n
o
Actores
Especificaci´n de Casos de uso
o
Diagramas de casos de uso
Elaboraci´n del modelo de casos de uso
o
Comunicaci´n actor → sistema
o
Para iniciar el caso de uso (siempre los inicia un actor)
Para solicitar informaci´n del sistema
o
Para modificar la informaci´n del sistema
o
Para informar al sistema de que ha ocurrido algo en su
entorno que le incumbe
M Vega Casos de uso
11. Introducci´n
o
Actores
Especificaci´n de Casos de uso
o
Diagramas de casos de uso
Elaboraci´n del modelo de casos de uso
o
Comunicaci´n sistema → actor
o
Para comunicarle que ha sucedido algo, en el sistema, que
le concierne
Para que le ayude a tomar una decisi´n necesaria para
o
complir los objetivos del sistema
Para delegar alguna responsabilidad en el actor
M Vega Casos de uso
12. Introducci´n
o
Actores
Especificaci´n de Casos de uso
o
Diagramas de casos de uso
Elaboraci´n del modelo de casos de uso
o
Descripci´n de actores
o
M Vega Casos de uso
13. Introducci´n
o
Actores
Especificaci´n de Casos de uso
o
Diagramas de casos de uso
Elaboraci´n del modelo de casos de uso
o
Descripci´n de actores
o
M Vega Casos de uso
14. Introducci´n
o
Actores Contenido
Especificaci´n de Casos de uso
o Plantilla de especificaci´n
o
Diagramas de casos de uso Un ejemplo
Elaboraci´n del modelo de casos de uso
o
Especificaci´n o descripci´n
o ´ o
La especificaci´n de una caso de uso debe describir el modo
o
en que un actor interact´a con el sistema.
u
Es una narraci´n que describe el rol desempe˜ado por los
o n
actor en su interacci´n con el sistema.
o
Lo m´s importante de los casos de uso es su descripci´n,
a o
mucho m´s que los diagramas de casos de uso.
a
Aunque hay descripciones de media p´gina, y algunas de
a
30, es m´s habitual que ocupen entre 5 y 15 p´ginas.
a a
M Vega Casos de uso
15. Introducci´n
o
Actores Contenido
Especificaci´n de Casos de uso
o Plantilla de especificaci´n
o
Diagramas de casos de uso Un ejemplo
Elaboraci´n del modelo de casos de uso
o
Contenido de la especificaci´n
o
La especificaci´n de un caso de uso debe dar respuesta a las
o
preguntas siguientes:
¿Cu´les son las principales funciones o tareas realizadas
a
por el actor?
¿Qu´ informaci´n del sistema adquiere, produce o
e o
transforma el actor?
¿Deber´ el actor informar al sistema de los cambios
a
producidos en el entorno?
¿Qu´ informaci´n del sistema desea el actor?
e o
¿Debe informarse al actor de alg´n cambio inesperado?
u
M Vega Casos de uso
16. Introducci´n
o
Actores Contenido
Especificaci´n de Casos de uso
o Plantilla de especificaci´n
o
Diagramas de casos de uso Un ejemplo
Elaboraci´n del modelo de casos de uso
o
Plantillas
M Vega Casos de uso
17. Introducci´n
o
Actores Contenido
Especificaci´n de Casos de uso
o Plantilla de especificaci´n
o
Diagramas de casos de uso Un ejemplo
Elaboraci´n del modelo de casos de uso
o
M Vega Casos de uso
18. Introducci´n
o
Actores Contenido
Especificaci´n de Casos de uso
o Plantilla de especificaci´n
o
Diagramas de casos de uso Un ejemplo
Elaboraci´n del modelo de casos de uso
o
M Vega Casos de uso
19. Introducci´n
o
Actores Contenido
Especificaci´n de Casos de uso
o Plantilla de especificaci´n
o
Diagramas de casos de uso Un ejemplo
Elaboraci´n del modelo de casos de uso
o
M Vega Casos de uso
20. Introducci´n
o
Actores Contenido
Especificaci´n de Casos de uso
o Plantilla de especificaci´n
o
Diagramas de casos de uso Un ejemplo
Elaboraci´n del modelo de casos de uso
o
Ejemplo de descripci´n detallada
o
M Vega Casos de uso
21. Introducci´n
o
Actores Contenido
Especificaci´n de Casos de uso
o Plantilla de especificaci´n
o
Diagramas de casos de uso Un ejemplo
Elaboraci´n del modelo de casos de uso
o
Descripci´n detallada cont.
o
M Vega Casos de uso
22. Introducci´n
o
Actores Contenido
Especificaci´n de Casos de uso
o Plantilla de especificaci´n
o
Diagramas de casos de uso Un ejemplo
Elaboraci´n del modelo de casos de uso
o
Descripci´n detallada cont.
o
M Vega Casos de uso
23. Introducci´n
o
Actores Contenido
Especificaci´n de Casos de uso
o Plantilla de especificaci´n
o
Diagramas de casos de uso Un ejemplo
Elaboraci´n del modelo de casos de uso
o
Descripci´n detallada cont.
o
M Vega Casos de uso
24. Introducci´n
o
Actores
Especificaci´n de Casos de uso
o
Diagramas de casos de uso
Elaboraci´n del modelo de casos de uso
o
Los diagramas de casos de uso muestran las relaciones
entre los casos de uso de un sistema y sus actores
Los diagramas de casos de uso dan son s´lo una visi´n
o o
general del modelo de casos de uso
El 90 % del contenido del modelo de casos de uso est´ en
a
las descripciones de los casos
Ayudan interpretar y esclarecer los casos de uso
Se suelen elaborar durante el an´lisis inicial del caso de uso.
a
M Vega Casos de uso
25. Introducci´n
o
Actores
Especificaci´n de Casos de uso
o
Diagramas de casos de uso
Elaboraci´n del modelo de casos de uso
o
Elementos de los diagramas
Actores
Casos de uso
Relaciones
Puede aparecer un rect´ngulo que muestre los l´
a ımites del
sistema
M Vega Casos de uso
26. Introducci´n
o
Actores
Especificaci´n de Casos de uso
o
Diagramas de casos de uso
Elaboraci´n del modelo de casos de uso
o
Los casos de uso se representa mediante elipses con el
nombre del caso
Los actores pueden representarse mediante un monigotes o
mediante rect´ngulos en que se indique
a actor
En los diagramas, tanto los actores como los casos de uso
representan no las instancias particulares, sino los
conjuntos de todos los actores de un tipo y de todos los
escenarios.
M Vega Casos de uso
27. Introducci´n
o
Actores
Especificaci´n de Casos de uso
o
Diagramas de casos de uso
Elaboraci´n del modelo de casos de uso
o
Un ejemplo
M Vega Casos de uso
28. Introducci´n
o
Actores
Especificaci´n de Casos de uso
o
Diagramas de casos de uso
Elaboraci´n del modelo de casos de uso
o
Un ejemplo
M Vega Casos de uso
29. Introducci´n
o
Actores
Especificaci´n de Casos de uso
o
Diagramas de casos de uso
Elaboraci´n del modelo de casos de uso
o
Asociaciones entre actores y casos de uso
Las asociaciones entre actores y casos de uso:
se representan mediante una l´
ınea continua
significan la participaci´n del actor en el caso de uso
o
pueden indicarse restricciones de cardinalidad
M Vega Casos de uso
30. Introducci´n
o
Actores
Especificaci´n de Casos de uso
o
Diagramas de casos de uso
Elaboraci´n del modelo de casos de uso
o
Generalizaci´n-especializaci´n entre actores
o o
Indicar´ que un actor es m´s general que otro
ıan a
si A es una especializaci´n de B, una instancia de A
o
podr´ comunicarse con los mismos casos de uso que B
a
M Vega Casos de uso
31. Introducci´n
o
Actores
Especificaci´n de Casos de uso
o
Diagramas de casos de uso
Elaboraci´n del modelo de casos de uso
o
Generalizaci´n-especializaci´n entre actores
o o
M Vega Casos de uso
32. Introducci´n
o
Actores
Especificaci´n de Casos de uso
o
Diagramas de casos de uso
Elaboraci´n del modelo de casos de uso
o
Relaciones entre casos de uso
Entre casos de uso pueden darse relaciones:
extensi´n (extend)
o
inclusi´n (include)
o
generalizaci´n-especializaci´n
o o
M Vega Casos de uso
33. Introducci´n
o
Actores
Especificaci´n de Casos de uso
o
Diagramas de casos de uso
Elaboraci´n del modelo de casos de uso
o
inclusi´n
o
El caso de uso inicial incluye el comportamiento del caso de
uso final (subcasos).
una relaci´n A
o include a B significa que una instancia
de A tambi´n incorporar´ el comportamiento especificado
e ıa
en B.
Se incorporar´ en el lugar indicado en A.
ıa
M Vega Casos de uso
34. Introducci´n
o
Actores
Especificaci´n de Casos de uso
o
Diagramas de casos de uso
Elaboraci´n del modelo de casos de uso
o
inclusi´n
o
M Vega Casos de uso
35. Introducci´n
o
Actores
Especificaci´n de Casos de uso
o
Diagramas de casos de uso
Elaboraci´n del modelo de casos de uso
o
extensi´n
o
El caso de uso final se puede extender con el
comportamiento del caso de uso inicial en un punto
concreto del primero.
si A extend B, significa que una instancia del caso de
uso B podr´ incorporar el comportamiento especificado en
ıa
A (si se cumplen las condiciones especificadas en el punto
de extensi´n).
o
El comportamiento se a˜adir´ en el punto de extensi´n de
n ıa o
B, referenciado por la relaci´n extend.
o
Un punto de extendi´n es una referencia al interior del caso
o
(B), hacia el punto donde se podr´n insertar secuencias de
a
acciones de otros casos (A).
M Vega Casos de uso
36. Introducci´n
o
Actores
Especificaci´n de Casos de uso
o
Diagramas de casos de uso
Elaboraci´n del modelo de casos de uso
o
inclusi´n
o
M Vega Casos de uso
37. Introducci´n
o
Actores
Especificaci´n de Casos de uso
o
Diagramas de casos de uso
Elaboraci´n del modelo de casos de uso
o
Identificaci´n de casos de uso
o
Los casos de uso son los principales procesos de extremo a
extremo, distintos y completos de utilizaci´n de un sistema.
o
No suelen estar formados por un unico paso (error
´
frecuente), sino que describen una historia completa de uso
del sistema.
Por ejemplo:
Alquiler de pel´
ıculas
Devoluci´n de pel´
o ıculas
Pago de recargos
M Vega Casos de uso
38. Introducci´n
o
Actores
Especificaci´n de Casos de uso
o
Diagramas de casos de uso
Elaboraci´n del modelo de casos de uso
o
Casos de uso esenciales y reales
M Vega Casos de uso
39. Introducci´n
o
Actores
Especificaci´n de Casos de uso
o
Diagramas de casos de uso
Elaboraci´n del modelo de casos de uso
o
Algunos principios
Los casos de uso no son algo aislado, deben considerarse en
su contexto.
La elaboraci´n de casos de uso no es una actividad
o
anal´
ıtica, sino sint´tica.
e
No se trata de analizar y desmenuzar algo que ya existe,
sino de crear (junto con los clientes) una concepci´n com´n
o u
del sistema software a desarrollar.
M Vega Casos de uso
40. Introducci´n
o
Actores
Especificaci´n de Casos de uso
o
Diagramas de casos de uso
Elaboraci´n del modelo de casos de uso
o
Algunos consejos
Buscar una comunicaci´n real entre actores y sistema
o
No complicar las cosas
Tener en cuenta a los interesados (stakeholders)
Lo mejor es enemigo de lo bueno (El caso de uso hay que
terminar por escribirlo en alg´n momento)
u
M Vega Casos de uso
41. Introducci´n
o
Actores
Especificaci´n de Casos de uso
o
Diagramas de casos de uso
Elaboraci´n del modelo de casos de uso
o
:
Hay que revisar los casos de uso cuidadosamente, junto con
el usuario.
Los casos de uso deben describir la interacci´n entre el
o
actor y el software sin ambig¨edad.
u
Permiten expresar tanto requisitos funcionales como no
funcionales.
Expresan el funcionamiento del sistema como un TODO
(no de sus partes).
M Vega Casos de uso
42. Introducci´n
o
Actores
Especificaci´n de Casos de uso
o
Diagramas de casos de uso
Elaboraci´n del modelo de casos de uso
o
Se pueden priorizar los casos de uso, con una escala de 1 a
10 p.e., para desarrollar el sistema incrementalmente.
Los casos de uso aumentan la trazabilidad del sistema.
Los casos de uso permiten desarrollar casos de prueba.
M Vega Casos de uso
43. Introducci´n
o
Actores
Especificaci´n de Casos de uso
o
Diagramas de casos de uso
Elaboraci´n del modelo de casos de uso
o
M Vega Casos de uso
44. Introducci´n
o
Actores
Especificaci´n de Casos de uso
o
Diagramas de casos de uso
Elaboraci´n del modelo de casos de uso
o
Sacar partido a las relaciones
Al elaborar el modelo de casos de uso puede resultar util (en
´
cuanto a comprensi´n y simplificaci´n):
o o
separar los subcasos comunes, referenci´ndolos mediante
a
relaciones include ;
resaltar la excepcionalidad de algunos escenarios,
separ´ndolos y referenci´ndolos mediante relaciones
a a
extend .
M Vega Casos de uso
45. Introducci´n
o
Actores
Especificaci´n de Casos de uso
o
Diagramas de casos de uso
Elaboraci´n del modelo de casos de uso
o
M Vega Casos de uso