Sie sind auf Seite 1von 22

1

Casos de Uso

Tcnica para entender y describir requisitos

Los casos de uso describen requisitos


funcionales

Describen como el sistema debe comportarse


desde el punto de vista del usuario

Pone el acento en el uso del producto

Casos de Uso como caja negra: specifican qu


es lo que el sistema debe !acer" sin especificar
c#mo debe !acerlo

$e describen mediante documentos de te%to

&ntroducido por &var 'acobson ()**+,


2
Actor

ntidad e%terna que interact-a con el sistema


(persona identificada por un rol o sistema e%terno,

.ctor principal: $us objetivos son cumplidos al reali/ar


el caso de uso

Los actores son e%ternos al sistema que vamos a


desarrollar0

.l identificar actores estamos delimitando el sistema

Usuario: persona que cuando usa el sistema" asume


un rol0
Actor
11actor22
$istema
3
Cajero Automtico - Ejemplo

Actor principal: Cliente

Actores: $ervicio de Cajeros

Caso de Uso: 3etirar

Descripcin: Un cliente de un banco retira dinero de


una cuenta a travs del cajero autom4tico utili/ando una
tarjeta bancaria" el $ervicio de Cajeros verifica que el
P&5 sea v4lido y que el monto de la cuenta sea
suficiente para reali/ar el retiro
Cliente
3etirar
$ervicio de
Cajeros
4
Caso de Uso

Escenario:

$ecuencia de acciones e interacciones entre los


actores y el sistema" dando un resultado de valor
observable para un actor particular

s una instancia de un caso de uso

s una forma particular de usar el sistema" un camino


a travs de un caso de uso0

Caso de uso: conjunto de escenarios posibles


que puede encarar un actor (o varios, con el
sistema para el logro de cierto objetivo0

6Un resultado observable de valor7 se basa en


entregar sistemas que !agan lo que las personas
realmente necesitan0
Caso de Uso
5
Caso de Uso: Retirar
Flujo principal:
)0 Cliente inserta una tarjeta bancaria en el lector del C.0
+0 l C. lee el c#digo de la tarjeta y verifica que es correcto
80 l C. pide el c#digo de P&5 de 9 d:gitos
90 L Cliente ingresa el P&5
;0 l C. env:a c#digo de Tarjeta y P&5 al $C
<0 l $C verifica que el P&5 sea correcto y contesta: =>
?0 l C. despliega las distintas alternativas disponibles: retiro" dep#sito"
consulta
@0 l Cliente elige 3etiro
*0 l C. pide cuenta y monto
)A0 l Cliente los ingresa
))0 C. env:a c#digo de Tarjeta" P&5" cuenta y monto al $C
)+0 l $C contesta: =>
)80 l C. dispensa el dinero
)90 l C. devuelve la tarjeta
);0 l C. imprime el recibo
6
Caso de Uso : Retirar
Cliente Sistema Servicio de Cajeros
)0 &nserta una tarjeta bancaria en el
lector del C.0
+0 Lee el c#digo de la tarjeta y verifica
que es correcto
8 Pide el c#digo de P&5 de 9 d:gitos
9 &ngresa el P&5
; B nv:a &d0 De tarjeta y P&5
< B Cerifica que el P&5 sea correcto
?D Despliega las distintas alternativas
disponibles
@D lige la opci#n: 3etiro
*0 Pide cuenta y monto
)AD &ngresa cuenta y monto
))0 nv:a al $C el &d0 Tarjeta" P&5"
cuenta y monto
)+ Contesta: Continuar (=>,
)8 Dispensa el dinero
)9 Devuelve la tarjeta
); &mprime recibo
Flujo principal: (otra forma,
7
Casos de Uso

Eorma de encontrarlos: Firar cada uno de los actores


del sistema y preguntarse que es lo que buscan
cuando usan el sistema0

5ombre del CU: Cerbo activo0

Cada caso de uso modela partes de la din4mica0

Los casos de uso son independientes del mtodo de


diseGo que se utilice" y por lo tanto del mtodo de
programaci#n" no son parte del an4lisis ==" pero son
una e%celente entrada para ello0

Los casos de uso pueden dirigir el proceso de


desarrollo0 Hu:an el diseGo" la implementaci#n y la
prueba del sistema0
8
Casos de Uso - Conceptos

Precondiciones: stablece que cosas deben ser


siempre verdaderas antes de comen/ar un caso de uso0
5o se verifican dentro del caso de uso ya que se asume
que son verdaderas dentro de l0

Poscondiciones: stablece que cosas ocurren al


completar el caso de uso0

Flujo principal: Describe el escenario del caso de uso


de mayor inters para el actor0 T:picamente no incluye
condiciones ni bifurcaciones0

Flujos alternativos: $on todos los otros escenariosI son


bifurcaciones en el flujo principal0

Requisitos Especiales: $on los requisitos no


funcionales" atributos de calidad o restricciones
espec:ficas relacionadas con el caso de uso0
9
Caso de Uso : Retirar
Flujos Alternativos :
A! "a tarjeta no es vlida
)0 l C. devuelve la tarjeta con el mensaje 6tarjeta no v4lida7
+0 Ein CU
#A! P$% invlido & menos de ' intentos
l Cliente puede reali/ar tres intentos para ingresar el P&5 v4lido0 $ino" el
C. retiene la tarjeta0
)0 l $C contesta indicando P&5 inv4lido
+0 l C. muestra el mensaje 6P&5 incorrecto7 y sigue en punto 8
#(! P$% invlido & ' intentos
l C. debe retener la tarjeta
)0 l $C contesta indicando P&5 inv4lido
+0 l C. muestra el mensaje 6$e le retiene la tarjeta7
80 Ein CU
)A! El CA no tiene dinero
)0La opci#n 63etiro7 en esta situaci#n no es una alternativa posible" y
el C. despliega la advertencia: 6$in dinero70
+0 Ein CU
10
Caso de Uso : Retirar
**A! +onto insu,iciente para el cajero
l monto indicado por el cliente no puede obtenerse a partir de los billetes de que dispone
el C.
) l C. despliega el mensaje 65o se cuenta con ese monto en este cajero7
+ Cuelve a *0
*A! %o -a& su,iciente saldo en la cuenta!
)0 C. despliega mensaje 6$u saldo no permite e%traer ese monto7
+0 l C. devuelve la tarjeta
80 Ein CU
*(! %o -a& contacto con el Servicio de Cajeros .SC/
)0 C. despliega el mensaje 6sin cone%i#n a la red de cajeros7
+ 0 l C. devuelve la tarjeta
80 Ein CU
*C! Enlace con el computador central se cae durante la transaccin
Jay que asegurar que el $C considera s#lo los retiros efectivamente reali/ados
*0A! El dinero no es retirado de la 1andeja!
)0 $i despus de KK segundos el dinero est4 todav:a en la bandeja" el C. lo recupera
y lo deja en el dep#sito de dinero usado
)0 $igue en )9
*0(! "a tarjeta se tranca al intentar devolverla0
)0 C. trata de devolverla durante %% segundos0
+0 $i en ese tiempo no puede devolverla" C. avisa a mantenimiento
80 Ein CU
Flujos Alternativos (cont.):
11
Dia2rama de Casos de Uso

UFL provee notaci#n para los casos de uso para ilustrar los
actores" los casos de uso y las relaciones entre ellos
Fuestra los bordes del sistema0 Permite reali/ar un Diagrama del
Conte%to del $istema
Descripci#n est4tica
Cliente
Transferir
Depositar
$ervicio de Cajeros
3etirar
12
Construccin del +odelo - Pasos

Definir frontera

&dentificar .ctores

Para cada .ctor" identificar qu cosas quiere !acer

cada uno va a determinar un caso de uso

darle un nombre

Dado un caso de uso

&dentificar si participan otros actores

Describirlo brevemente de forma narrativa" centr4ndose en el


flujo principal (distintas variantes de presentaci#n y contenido,

Una ve/ definido el conjunto de casos de uso relevante:

3efinarlos incluyendo condiciones especiales

&dentificar casos de uso comunes y particulares (6incluye7 y


6e%tiende7," generali/aci#n
13
Relaciones entre CU 3 $nclude
scenarios comunes a m4s de un caso de uso
l caso de uso inclu:do no depende del caso de uso base
Cuando una instancia del caso de uso Lllega al lugarM donde el
comportamiento de otro caso de uso debe ser incluido" ejecuta todo
el comportamiento descrito por el caso de uso inclu:do y luego
contin-a de acuerdo a su caso de uso original0
l caso de uso incluido representa comportamiento encapsulado
que puede ser reusado en varios casos de uso
n el caso del cajero:
&dentificar Cliente
3etirar
Depositar
Transferir
11include22
11include22
11include22
Desconoce la
existencia de los
que lo usan
14
Caso de Uso: Retirar
Flujo principal:
*! $nclu&e el caso de uso: &dentificar Cliente
+0 l C. despliega las distintas alternativas disponibles:
retiro" dep#sito" consulta
80 l Cliente elige 3etiro
90 l C. pide cuenta y monto
;0 l Cliente los ingresa
<0 C. env:a c#digo de Tarjeta" P&5" cuenta y monto al
$C
?0 l $C contesta: =>
@0 l C. dispensa el dinero
*0 l C. devuelve la tarjeta
)A0 l C. imprime el recibo
15
Caso de Uso: $denti,icar Cliente
Descripcin (reve:
Cerifica que la tarjeta y el P&5 sean v4lidos
Flujo Principal:
)0 Cliente inserta una tarjeta bancaria en el lector del C.0
+0 l C. lee el c#digo de la tarjeta y verifica que es correcto
80 l C. pide el c#digo de P&5 de 9 d:gitos
90 L Cliente ingresa el P&5
;0 l C. env:a c#digo de Tarjeta y P&5 al $C
<0 l $C verifica que el P&5 sea correcto y contesta: =>
Flujos Alternativos:
A! "a tarjeta no es vlida
)0 l C. devuelve la tarjeta con el mensaje 6tarjeta no v4lida7
+0 Ein CU
#A! P$% invlido & menos de ' intentos
l Cliente puede reali/ar tres intentos para ingresar el P&5 v4lido0 $ino" el C. retiene la tarjeta0
)0 l $C contesta indicando P&5 inv4lido
+0 l C. muestra el mensaje 6P&5 incorrecto7
80 $igue en punto 8
#(! P$% invlido & ' intentos
l C. debe retener la tarjeta
)0 l $C contesta indicando P&5 inv4lido
+0 l C. muestra el mensaje 6$e le retiene la tarjeta7
80 Ein CU
16
Relaciones entre CU B E4tend

s un fragmento de un caso de uso" que agrega


comportamiento a otro caso de uso0

$e usan para e%plicar escenarios que ser:a complejo


presentar como flujo alternativo" o que se desea destacar0

3epresentan una parte de la funcionalidad del caso que no


siempre ocurre (condicional,0

$e ejecuta solo si la condici#n se cumple0

l caso de uso e%tendido referencia a su caso de uso base0

Punto de e%tensi#n: Punto dentro del caso de uso" donde se


puede insertar comportamiento adicional0

.l terminar el caso de uso e%tendido" se vuelve al caso de


uso base" en la sentencia siguiente al punto de e%tensi#n0
17
E4tend - Ejemplo

l cliente puede querer retirar monedas adem4s


de billetes
3etirar
&dentificar Cliente
11include22
3etirar Fonedas
11e%tend22
18
Caso de Uso : Retirar
Flujo principal:
*! $nclu&e el caso de uso: &dentificar Cliente
+0 l C. despliega las distintas alternativas disponibles: retiro" dep#sito"
consulta
80 l Cliente elige 3etiro
90 l C. pide cuenta y monto
;0 l Cliente los ingresa
<0 C. env:a c#digo de Tarjeta" P&5" cuenta y monto al $C
?0 l $C contesta: =>
@0 l Cliente pide dispensar el dinero
*0 l C. dispensa el dinero
)A0 l C. devuelve la tarjeta
))0 l C. imprime el recibo
Puntos de E4tensin:
3etiro de Fonedas: n el punto @ del flujo principal
19
Caso de Uso: Retirar +onedas
Descripcin (reve: l cliente opcionalmente
puede querer retirar monedas
Flujo Principal:
%tensi#n de Retirar en el punto Retirar +onedas" el
cliente tambin puede elegir 6monedas7" en ese caso:
)0 l Cliente elige retirar monedas" especificando tipos de monedas y
la cantidad de rollos para cada uno0
+0 l C. calcula el importe a retirar para cada moneda y el total y lo
muestra
80 l Cliente confirma
Flujos Alternativos:
8. l cliente puede querer cambiar la selecci#n" se vuelve a )
H) l cliente cancela el retiro de monedas0 Ein CU 3etirar Fonedas
Punto de extensin
indicado por un nombre
20
Relaciones entre CU 3 5enerali6acin
.lgunas veces e%iste m4s de un escenario principal para un
caso de uso
$e puede crear un caso de uso abstracto" crear un caso de
uso para cada escenario principal y que estos !ereden del
caso abstracto
l caso de uso !ijo !ereda los escenarios" puntos de
e%tensi#n y relaciones definidos en el caso de uso padre
l caso de uso !ijo puede definir nuevas operaciones" como
tambin redefinir o enriquecer con nuevas secuencias de
acciones operaciones ya e%istentes en el caso de uso padre
Calidar Cliente
Calidar con P&5
Calidar con $caner de 3etina
21
Actividades

ncontrar actores y casos de uso

Priori/ar los casos de uso

Detallar un caso de uso

structurar el modelo de casos de uso


22
Casos de Uso - %ivel de detalle
A qu nivel se deben expresar los CU en el anlisis de
requerimientos?
Enfocarse en CU al nivel de Proceso de Neocio
Elemental !elementary business process !E"P##$
Una tarea e%ecutada por una persona en un luar en un
determinado momento& en respuesta a un evento del
neocio& que area valor de neocio mesurable ' de%a los
datos en estado consistente(
)ue cumpla un ob%etivo del usuario(
Error com*n$ definir muc+os CU a nivel demasiado
ba%o$ por cada paso o subtarea dentro de un E"P(
Excepciones$ Pe( casos de uso incluidos

Das könnte Ihnen auch gefallen