Documentos de Académico
Documentos de Profesional
Documentos de Cultura
UML Clase 02 UML Casos de Uso
UML Clase 02 UML Casos de Uso
Casos de Uso
Diagramas de Casos de Uso
Universidad de los Andes
Demin Gutierrez
Abril 2011
2
Casos de Uso
(Qu es un caso de uso?)
Caso de Uso?
3
Casos de Uso
(Qu es un caso de uso?)
Caso de Uso: Es una descripcin de un proceso fin-
a-fin, relativamente largo, ue inclu!e varias etapas
o transacciones
Un caso de uso es un conjunto de escenarios ue
tienen una meta de usuario en com"n
Martin Fowler
Es una manera especfica de utilizar el sistema, es
una #istoria ue describe un uso particular del
sistema
Es la imagen de una $uncionalidad del sistema,
desencadenada en respuesta al est%mulo de un
actor o rol e&terno
4
Casos de Uso
(Qu es un caso de uso?)
Escenario?
5
Casos de Uso
(Qu es un escenari o?)
Escenario: Es una secuencia de acciones e
interacciones 'pasos( entre los usuarios 'actores( !
el sistema
)))por e*emplo+
,Escenario-
El usuario introduce su nombre de usuario y su contrasea.
El sistema verifica la validez del nombre de usuario y de la
contrasea y permite al usuario el acceso al sistema. El
sistema muestra la pantalla principal del sistema. El usuario
selecciona la opcin de aadir nuevo empleado. El sistema
muestra...
6
Casos de Uso
(Qu es un actor?)
Un actor representa el rol *ugado por una persona o
cosa ue act"a con el sistema)
,Actor, .ol-
Cliente, Administrador, Usuario no Reistrado !Autenticado",
Usuario Reistrado !Autenticado", #efe de Compras, #efe de
$ersonal, %oderador, #efe de &epartamento, 'brero de
$lanta, (upervisor...
Actor o Rol?: /er%a me*or usar la palabra rol, pero
algunos piensan ue 0Actor1 $ue usado debido a una
mala traduccin del /ueco
7
Casos de Uso
(Qu es un caso de uso?)
NOTA: NO TODOS los
interesados en el
sistema (stakeholders)
son actores s!lo son
actores a"#ellos "#e
utilizarn el sistema
8
Casos de Uso
(Al gunas Caracter sti cas)
Actualmente, muc#a gente considera ue los casos
de uso son de vital importancia en los pro!ectos de
so$t2are 'rocesos !uiados por Casos de Uso(
Describen ba*o la $orma de acciones " reacciones
el comportamiento de un sistema desde el punto de
#ista de un usuario
3ermiten de$inir los l%mites del sistema ! las
relaciones entre el sistema ! su entorno
($U% &$'O(TANTE)
/e puede considerar ue #asta cierto punto, cada
caso de uso es independiente de los dems
9
Casos de Uso
(Al gunas Caracter sti cas)
Un caso de uso $% es un diagrama, $% es un
s%mbolo dentro de un diagrama)))
&&&es una forma de descri'ir un escenario de
interacci(n usuario sistema&&&
)))los diagramas vienen despu4s 'o antes( ! son una
$orma de tener una visin general de los casos de
uso, sus relaciones con los actores ! con otros casos
de uso
10
Descri pci n Textual de l os Actores del Si stema
(e!ueri mi entos" Qui nes i nteract#an con el si stema?)
Nom)re: )nom're del actor*
Descri*ci!n:
)descripci(n del actor*
Nom)re: Usuario no Autenticado
Descri*ci!n:
.epresenta a un usuario ue no se a identi$icado $rente
al sistema) Generalmente estos usuarios deber%an
poder registrarse 'crear un nuevo usuario( o ingresar al
sistema para trans$ormarse en usuarios autenticados,
en moderadores o en administradores del sistema
+++
11
Descri pci n Textual de un Caso de Uso
(e!ueri mi entos" Qu de$e %acer el si stema?)
Nom)re: )nom're del caso de uso*
A#tor: )nom're del autor +o autores, del caso de uso*
,echa: )fec-a de creaci(n del caso de uso*
Descri*ci!n:
Actores:
)actores participantes en el caso de uso*
)condiciones .ue de'en cumplirse para poder ejecutar el caso de uso*
,l#-o Normal:
)flujo normal +feliz, de ejecuci(n del caso de uso*
,l#-o Alternati.o:
)flujos alternati#os de ejecuci(n del caso de uso*
)condiciones .ue de'en cumplirse al finalizar la ejecuci(n del caso de uso*
)'re#e descripci(n del caso de uso*
'recondiciones:
'oscondiciones:
'lanillas de Casos de Uso (/enerales)
12
Descri pci n Textual de un Caso de Uso
(e!ueri mi entos" Qu de$e %acer el si stema?)
Nom)re: Crear mensa*e $oro
A#tor:
,echa: 21506507
Descri*ci!n:
3ermite crear un nuevo mensa*e '#ilo( en el $oro de discusin)
Actores:
Usuario 5 8oderador
El usuario debe de estar autenticado en el sistema)
3edro 34rez
'recondiciones:
contin0a+++
13
Descri pci n Textual de un Caso de Uso
(e!ueri mi entos" Qu de$e %acer el si stema?)
,l#-o Normal:
,l#-o Alternati.o:
El mensa*e #a sido almacenado en el sistema ! $ue publicado)
1)9 El actor pulsa sobre el botn para crear un nuevo mensa*e)
2)9 El sistema muestra una ca*a de te&to para introducir el t%tulo del
mensa*e ! una zona de ma!or tama:o para introducir el cuerpo del
mensa*e)
;)9 El actor introduce el t%tulo del mensa*e ! el cuerpo del mismo)
6)9 El sistema comprueba la validez de los datos ! los almacena)
<)9 El moderador recibe una noti$icacin de ue #a! un nuevo mensa*e)
=)9 El moderador acepta ! el sistema publica el mensa*e si 4ste $ue
aceptado por el moderador)
6)A)9 El sistema comprueba la validez de los datos, si los datos no son
correctos, se avisa al actor de ello permiti4ndole ue los corri*a)
>)?)9 El moderador rec#aza el mensa*e, de modo ue no es publicado sino
devuelto al usuario)
'oscondiciones:
+++contin#aci!n
14
Descri pci n Textual de un Caso de Uso
(e!ueri mi entos" Qu de$e %acer el si stema?)
En general, #a! muc#as variaciones sobre como se
puede describir un caso de uso
U8@ no de$ine ning"n estndar al respecto
/eleccione o dise:e una o ms plantillas ue
considere adecuadas para sus necesidades
Conozca bien la plantilla ue va a utilizar, sepa para
ue sirve cada campo 'argumente sobre su utilidad !
sea co#erente a lo largo de todas las plantillas(
15
Descri pci n Textual de un Caso de Uso
(e!ueri mi entos" Qu de$e %acer el si stema?)
3or e*emplo, en la plantilla anterior ser%a bueno
a:adir un campo prioridad)))
Nom)re: Crear mensa*e $oro
A#tor:
,echa: 21506507
'rioridad: <
Descri*ci!n:
3ermite crear un nuevo mensa*e '#ilo( en el $oro de discusin)
Actores:
Usuario 5 8oderador
El usuario debe de estar autenticado en el sistema)
3edro 34rez
'recondiciones:
16
&odel o de Casos de Uso
C!mo se
desarrolla #n
modelo de
Casos de Uso?
17
Di agrama de Casos de Usos
(e!ueri mi entos" Qu de$e %acer el si stema?)
Antes de #acer un caso de uso es necesario tratar de
entender los reuerimientos del sistema) Arate de e&presar lo
ue el sistema debe #acer+
,Cuales son las tareas
del5los actores involucrados-
En base a esto, trate de responder las preguntas+
)))el sistema debe permitir a los usuarios registrarse) El
administrador debe poder validar las peticiones de registro antes de
ue los usuarios puedan publicar nuevos mensa*es)))
,Bue datos debe el actor
crear, guardar, modi$icar,
destruir, leer-
,Debe el actor in$ormar al
sistema de cambios e&ternos
ocurridos-
,Debe el el sistema in$ormar
al actor de cambios internos-
18
Di agrama de Casos de Usos
Caso de Uso
Actor
Generalizacin 5
Especializacin
de Actores
@%mites del
/istema
Colaboracin
entre casos
de uso
Asociacin
Caso de
Uso 5 Actor
19
Di agrama de Casos de Usos
Usado para
compartir
comportamiento
com"n entre varios
casos de uso
Usado para
modelar por
separado el
comportamiento
e&cepcional 'o
adicional( del
caso de uso base
Usado para
modelar
relaciones de
Generalizacin 5
Especializacin
entre casos de
uso
20
Di agrama de Casos de Usos
(Di 'erenci a entre general i (aci n u extensi n)
Esto e.identemente est1 relacionado con la l1mina
anterior+++
Tomado de la doc#mentaci!n de la UOC (Uni.ersitat
O)erta de Catal#n2a) doc#mento 345+*df
21
)aci endo un parntesi s* * *
(+stereoti pos)
CRU/ es un acrnimo
ue viene de 0Create,
.ead, Update, Delete1
O-o: Esto es s!lo
#n e-em*lo de #n
*osi)le estereoti*o
no se lo tomen
literal+++
*lanillas de
casos de #so
(C6EDA)
22
)aci endo un parntesi s* * *
(+stereoti pos)
En este caso los estereotipos se utilizan para di$erenciar los distintos tipos
de actores '))client**, ))internal**, ))s"stem**() Algunas personas
reemplazan el 0monigote1 por iconos personalizados 'E*) Una
computadora, monigotes de distintos colores, etc4tera(
@os estereotipos se pueden utilizar
en casi todos los elementos
disponibles de U8@, de manera
ue se puede e0tender !
enri.uecer el lengua*e con su uso
23
)aci endo un parntesi s* * *
(+stereoti pos)
/e pueden utilizar imgenes para
representar cierto tipo especial de
actores
24
Di agrama de Casos de Usos
(+, empl o - . ncl ude - +xtends - +speci al i (aci n)
8"ltiples casos de uso 0reutilizan1 otros casos
de uso) De esta $orma no es necesario describir
varias veces el mismo caso de uso incluido
Algunas personas utilizan la
inclusin para e&presar ue
el caso de uso asociado debe
de invocarse de manera
0obligatoria1
25
Di agrama de Casos de Usos
(+, empl o - . ncl ude - +xtends - +speci al i (aci n)
3untos de e&tensin
e&pl%citos
3untos de e&tensin
e&pl%citos
26
Di agrama de Casos de Usos
(+, empl o - . ncl ude - +xtends - +speci al i (aci n)
Una e&tensin puede estar asociada
a varios puntos de e&tensin
@as notas son un
elemento com"n de
U8@, se pueden
asociar a casi todos
elementos
disponibles de U8@
27
Documento de U&/
(+st0ndares 1 )errami entas)
U$6 S#*erstr#ct#re
Ca*+ 47 *18 794
(Todo el Ca*:t#lo de CU)
$ostrar el ;is#al 'aradi8m
28
Al gunas egl as de +sti l o
(2ara l os Di agramas de Casos de Uso)
Cada actor ! caso de uso debe tener un
nombre "nico
@os actores deben tener nombres !5o iconos
representativos) @os nombres de los actores
deben representar roles
El nombre de un caso de uso debe indicar
acci(n ! debe ser claro " conciso
Forma !eneral:
Cerbo 'Dn$initivo( E
3redicado
1mprimir
.eporte de
Centas
29
Al gunas egl as de +sti l o
(2ara l os Di agramas de Casos de Uso)
Evitar el cruce de l%neas 'En general, mantenga el
diagrama ordenado(
Evite tener demasiados casos de uso en el mismo
diagrama '.egla < F 2( 'GEsto es relativoH(
8antener todos los casos de uso de un diagrama al
mismo nivel de abstraccin
Evite el uso comple*o de relaciones de e&tensin,
especializacin e inclusin 'Io ms de tres niveles(
GEn general, use el sentido com2n ! recuerde
utilizar la regla JD//H
30
Al gunas egl as de +sti l o
(2ara l a Descri pci n Textual de Casos de Uso)
Iarrar el $lu*o de eventos usando #oz acti#a3
en tiempo presente ! desde la perspecti#a
del actor+
Evitar el uso de la
#oz pasi#a+
3re$erir la #oz
acti#a+
0@a clave es introducida
por el usuario1
0El usuario introduce la clave1
0El sistema #alida la clave1
31
Al gunas egl as de +sti l o
(2ara l a Descri pci n Textual de Casos de Uso)
El caso de uso ue se describe debe e&presar un
solo re.uisito funcional 'Io trate de e&presar ms
de un reuisito $uncional en el mismo caso de uso(
/in embargo, un caso de uso puede e&presar ms
de un reuisito IK $uncional 'Esto est bien(
E&prese cada paso del $lu*o usando la $orma llamada
" respuesta 're$le*ar el #ec#o de ue el actor e*ecuta
algo ! el sistema responde a la solicitud del actor(+
0El actor introd#ce su nombre de usuario ! su contrase:a, !
el sistema .erifica si los datos concuerdan con lo ue est
almacenado en la base de datos1
32
+, empl o" Qu esta terri $l emente mal
en este di agrama?
<#= errores
*#ede
encontrar en
el dia8rama?
33
+, empl o" +l Si stema Anteri or
&uc%o &e, or epresentado
34
Detal l e del 3l u, o de +4entos
(Li star Sol i ci tudes Pendi entes)
,l#-o Normal:
1)9 El actor selecciona la opcin para listar las 4olicitudes endientes)
2)9 El sistema presenta una lista de todas las 4olicitudes endientes
'tanto de Re5istro de Usuario como de u'licaci(n de Mensaje( *unto
con una opcin para ver ms detalles sobre una solicitud en particular)
,l#-o Alternati.o:
En caso de un Reistro de Usuario)
;A)9 El usuario selecciona una solicitud)
6A)9 /i se trata de una solicitud de Re5istro de Usuario el sistema le
env%a al caso de uso rocesar 4olicitud de Re5istro +CU678,
En caso de una $ublicacin de %ensa*e)
;?)9 El usuario selecciona una solicitud)
6?)9 /i se trata de una solicitud de u'licaci(n de Mensaje el sistema le
env%a al caso de uso rocesar u'licaci(n de Mensaje +CU679,
35
+, empl o" 5tra epresentaci n
36
Detal l e del 3l u, o de +4entos
(Procesar Sol i ci tud de Regi stro)
,l#-o Normal:
1)9 El actor selecciona la opcin para procesar las solicitudes de Re5istro
de Usuario)
2)9 El sistema invoca al caso de uso :istar 4olicitudes endientes
+CU67;,, lo ue permite al usuario seleccionar una solicitud para procesar)
;)9 El sistema presenta la in$ormacin de la solicitud de Re5istro de
Usuario)
6)9 El usuario decide si aprueba o rec#aza la solicitud)
<)9 Una vez aceptada la solicitud el sistema registra al nuevo usuario !
4ste ueda !a listo para acceder al $oro)
,l#-o Alternati.o:
En caso de +ue la solicitud de Reistro de Usuario sea Rec,azada)
<A)9 El sistema noti$ica al correo correspondiente a la solicitud ue 4sta #a
sido rec#azada)
37
+, empl o"
Una m0!ui na expendedora de ca' (6)
38
+, empl o"
Una m0!ui na expendedora de ca' (7)
39
+, empl o"
Una m0!ui na expendedora de ca' (8)
El cliente enfrenta distintos
escenarios de*endiendo de
lo "#e *retende com*rar
*ero en 8eneral com*rar #n
*rod#cto es al8o m#2
8eneral con m#chas
acciones com#nes
40
+, empl o"
Una m0!ui na expendedora de ca' (9)
Cada des*acho tiene
*artic#laridades
acordes con el
*rod#cto solicitado
*or el cliente
41
&odel o de Casos de Uso
En (es#men
42
+n esumen Qu &odel an l os
Di agramas de Casos de Usos?
@os Casos de Uso 'Escenarios 5 Dnteraccin Usuario
9 /istema(
Actores del /istema
.elaciones entre+ Actores con Actores, Actores con
Casos de Uso, Casos de Uso con Casos de Uso
El refinamiento o descomposici(n de los casos de
uso
@os l%mites del sistema, el alcance del sistema
43
esumen de l a Cl ase
Casos de Uso 'Descripcin Ae&tual(
Casos de Uso 'Diagramas(
Elementos Comunes de U8@+ Estereotipos, Iotas,
Generalizacin 'Especializacin(
44
+3++:C. AS
8artin Lo2ler, U8@
Distilled, 3earson Addison9
Mesle! 2da) Edicin
?ooc#, .umbaug#,
Nacobson, El @engua*e
Uni$icado de 8odelado,
3earson Addison9Mesle!
1ra) Edicin
45
;raci as
<!racias=