Вы находитесь на странице: 1из 56

Caso de Uso.

(CU)
Prof. Guillermo E. Badillo
Universidad Andrs Bello

Diagrama de Casos de Uso (DCU)


`
`
`
`
`
`

Caractersticas del DCU


Componentes de un DCU
Relaciones entre Casos de Uso
Ejemplos de DCU
Gua para la construccin de DCU
Consideraciones finales

Caractersticas de un DCU
`

`
`

Modelo desarrollado por I. Jacobson a partir de los


aos 60, finalmente divulgado en 1992 e incluido en la
primera versin de UML en 1997.
Asume una descomposicin del sistema centrada en
actores externos.
Responde a preguntas tales como:
`
`
`

cules son los requerimientos funcionales del sistema?


qu funciones debe proveer al entorno?
qu debe hacer el sistema para sus usuarios?

...Caractersticas
Caractersticas del DCU
`
`
`

Indica qu hace el sistema sin indicar cmo lo hace.


Puede entenderse como el establecimiento de un
contrato entre el sistema y los actores.
Describe las posibles modalidades de utilizacin" o
casos de uso (CU) del sistema por parte de actores
externos.
Cada CU del DCU entrega un valor especfico para
un actor individual del sistema.

Componentes de un DCU
`

El DCU presenta los siguientes componentes:


`
`
`

sistema
actor
caso de uso

Ejemplo:

Sistema Banco
Girar dinero

Depositar dinero

Cliente Banco

Transferir entre
cuentas

Sistema
`
`
`
`

Conjunto explcitamente delimitado de CU internos provedos


a los actores externos.
Representa el lmite entre lo que forma parte del sistema (los
CU) y lo
l que es externo
t
all mismo
i
(los
(l actores).
t
)
Frecuentemente se omite por su obviedad.
R
Representacin:
i

Sistema Banco

Actor
`
`

Representa un papel o rol que algo o alguien del


entorno desempea con relacin al sistema.
Corresponde
p
a una clase o conjunto
j
de actores
reales (instancias) que viven fuera del sistema e
interactan con l.
Representaciones:

actor
ClienteBanco

Cli
Cliente
B
Banco

...Actor
Actor
`
`

Interacta de alguna forma con el sistema, pudiendo


originar o no la interaccin.
Puede ser desempeado
p
por:
p
`
`
`
`

una persona o cargo (ej. operador, supervisor)


un sistema informtico ((ej.j sistema de monitoreo,, sistema
transaccional)
una seccin o departamento (ej. contabilidad, produccin)
un dispositivo externo de hardware (ej. impresora, sensor)

Clasificacin de Actores
`

Segn la iniciacin de la interaccin de un CU:


`
`

Segn el objetivo de la interaccin en un CU:


`
`

activo actor que inicia la interaccin


activo:
pasivo: cualquier otro actor que interacte
pasivo
primario o p
p
principal:
principal
p actor beneficiario del valor del CU
secundario: cualquier otro actor que interacte
secundario

Clasificaciones son por CU: un actor puede ser


principal o activo con respecto a un CU y ser
secundario o pasivo con respecto a otro.
otro

...Clasificacin
Clasificacin de Actores
`

Otras personalidades de los actores:


`
`
`
`

iniciador inicia el CU
iniciador:
servidor: provee un servicio al sistema en el CU
servidor
receptor: recibe informacin del CU
receptor
facilitador: apoya la interaccin de otro actor con el
facilitador
sistema

Personalidades tambin son por CU: un actor puede


comportarse como servidor/facilitador en un CU, y
comportarse como iniciador/facilitador en otro.

...Clasificacin
Clasificacin de Actores
`

Un actor pasivo principal (o receptor) ocurre cuando el actor


activo ((iniciador/facilitador)
/f
) relacionado es:
`
`
`

un representante del actor principal (ej. vendedor en representacin del


cliente) o
cliente),
un instante del tiempo (ej. ltimo da hbil del mes), o
un evento cualquiera (ej. alarma de estado crtico).

Ubicacin recomendada de los actores principal y secundario:

Sistema

Actor Principal

Actor Secundario

...Clasificacin
Clasificacin de Actores
`

Segn la categora de la
interaccin:
`

Representacin:

generall abstraccin
general:
b
de
d actores
especializados en un rol general
comn
especializado: rol particular de un
especializado
actor general

Actor especializado hereda los


CU del actor general, pudiendo
agregar otros CU.
C
Conjunto
de actores general y
especializado(s) configuran una
jerarqua de actores.

Empleado

Vendedor
seguros casa

Vendedor
seguros auto

Inspector de
terreno

Caso de Uso (CU)


`

Conjunto de actividades de un sistema que


proporciona un valor identificable a un actor
principal.
El valor que se ofrece motiva al actor principal a usar
el sistema p
por medio del CU: explica
p
ppor qqu el actor
principal deseara usar el CU.
Existe una dependencia mutua entre el CU y actor
principal (por qu?).

...CU
CU
`

Representacin con nombre significativo en la forma


verbo + objeto:

Monitorear alarma

`
`

Representa una porcin de la funcionalidad que el


sistema
it
entrega
t
all entorno.
t
Corresponde a una visin externa del sistema en la
forma de una caja negra.

...CU
CU
`

Un escenario es una realizacin de un CU, donde


instancias de actores intercambian datos y eventos
especficos con el sistema.
Un escenario es entonces una instancia de un
CU: un CU se dice qque es instanciado cada vez qque un
actor activo inicia la interaccin, crendose as un
escenario.
Con respecto a los escenarios, un CU es un conjunto
de escenarios posibles que tienen un objetivo comn
para un actor principal.

Ejemplo de CU Procesar venta (formato


breve)
`

Un cliente llega a la caja con los artculos que quiere comprar;


el cajero usa el sistema de PdV para registrar cada artculo
comprado; el sistema muestra un total y detalles por artculo;
ell cliente
li
ingresa
i
informacin
i f
i para pagar, que ell sistema
i
valida
lid
y registra; el sistema actualiza el inventario; el cliente recibe
una boleta del sistema y se lleva los artculos que compr.
compr

Quin es ell Actor


Q
A
Principal?
P
l?
Quin es el Actor Secundario?

16

Actores, objetivos, sistemas, fronteras


Obj.:: recaudar impuestos
Obj
sobre las ventas

Supermercado
Caja
Servicio de
Impuestos
internos

Cliente
Obj.: comprar artculos

Sistema PdV

Sistema de
anlisis de
ventas

Cajero

Obj.: analizar ventas


y desempeo

Obj.: procesar
17
ventas

El diagrama de casos de uso


`
`

Ilustra los nombres de los casos de uso y actores, y las


relaciones
l i
entre ellos
ll
Proporciona un diagrama de contexto visual sucinto para el
sistema:
`

Muestra la frontera del sistema, lo que est dentro y lo que


est fuera

Sugerencias:
`
`

Mostrar los actores que son sistemas con una notacin


diferente a la de los actores humanos
Mostrar los actores primarios a la izquierda y los otros a la
derecha

Diagrama de
casos de uso

Procesar
Venta
Cliente

actor

Manejar
Devoluciones
Cajero
ffrontera
t
d
dell
sistema
actor

Autorizacin
de Pagos

Ingresar
Efectivo

actor

Clculo
Cl
l d
de
Impuestos

Analizar
Actividad

actor

Manejar
Seguridad

Contabilidad
actor

Administrador
del Sistema

Manejar
Usuarios

19

Supervisin
de Actividad

Ejemplo: Caso de uso Consultar


Vuelo (formato breve)
`

El usuario indica que quiere hacer consultas acerca de vuelos.


El sistema
i
ofrece
f
opciones
pi
p
para
especificar
p ifi las
l ciudades
i d d de
d
origen y destino y las fechas de ida y regreso. El usuario
especifica las ciudades de origen y destino y las fechas de ida
y regreso. El sistema muestra una lista de vuelos de ida y una
lista de vuelos de regreso, con sus horas de salida y llegada y
sus tarifas en cabina econmica. El usuario selecciona los
vuelos que desea. El sistema muestra el itinerario, las
restricciones de equipaje y la tarifa total,
total incluyendo impuestos.
impuestos

Quin es el Actor Principal?


Quin es el Actor Secundario?

Relaciones entre los componentes del DCU


`

Existen relaciones entre:


`
`
`

actores: jerarqua de actores (ya vista)


actores y CU: asociacin de comunicacin
CU: dependencias de inclusin y extensin y jerarquas de CU
(generalizacin)

Relaciones entre actores y CU


`

Asociacin de comunicacin entre actor y CU:


`
`

muestra una va de comunicacin entre el CU y el(los)


actor(es)
permite el intercambio de datos y eventos

Ejemplos:
Configurar
equipo

Girar dinero

Operador

Monitorear
alarmas

Depositar dinero

Cliente Banco

Consultar
informe

Transferir entre
cuentas

Supervisor

Relaciones entre CU
`

Con relacin a un CU tomado como base:


`
`

inclusin CU incluido muestra parte de la funcionalidad de


inclusin:
uno o ms CU base
extensin: CU extensor agrega funcionalidad condicionada
extensin
a un CU base

Generalizacin CU especializado se considera


Generalizacin:
como un caso particular de la funcionalidad de un CU
general.
Estas relaciones son ms evidentes analizando el
DCU conjuntamente con su documentacin.

Inclusin de CU
`
`
`
`
`

Idea: evitar la representacin redundante de funcionalidad.


Existe cuando se extrae una porcin de funcionalidad de un
CU base y se representa aparte en un CU incluido.
Se entiende que el CU incluido forma parte u ocurre dentro
del CU base.
A
Antes
ll
llamada
d relacin
l i usa (uses
(
en ingls).
i l )
Representacin (include en ingls):

incluye
CU base 1

incluye
CU incluido

CU base 2

...Inclusin
Inclusin de CU
`

Ejemplo:
incluye

Notificar
asegurado

incluye
y
Renovar
pliza de
seguros

Vender pliza
de seguros
incluye

Calcular
prima

incluye

CU incluido puede tambin existir para un nico CU


base cuando:
`
`

se desea representar
p
explcitamente
p
una pporcin relevante
de funcionalidad fuera del CU base
se estima que el CU incluido es potencialmente compartible

...Inclusin de CU
`

Ejemplo:
CU incluido:
`
`
`

Mostrar
estado
encomienda

incluye

Buscar
encomienda

siempre es realizado como parte de la realizacin del CU base


no puede ser iniciado directamente
puede
d tener asociado
d actores pasivos secundarios
d
(por
(
qu?)
?)

En sntesis: CU base incorpora (incluye


(incluye)) al CU incluido

Extensin de CU
`
`

Idea: agregar funcionalidad extra sin alterar el CU


base.
Existe cuando se agrega
g g una porcin
p
condicionada de
funcionalidad, como un CU extensor, a la
funcionalidad de un CU base.
Se entiende que el CU extensor se agrega como un
extra a la funcionalidad normal del CU base.

...Extensin de CU
`

Indica que el CU extensor interrumpe al CU base, cuando


la condicin es verdadera, para realizarse fuera de ste,
retornando pposteriormente al CU base.
La extensin separa explcitamente las funcionalidades:
`
`

normal no condicionada en el CU base


extra condicionada en el CU extensor

Representacin (extend en ingls):

extiende
CU base

CU extensor

...Extensin
Extensin de CU
`

Ejemplo: si la funcionalidad normal implica pagar al


contado y sin descuentos
extiende

Pagar con
tarjeta de
crdito

Recibir p
pago
g

Cajero

`
`

extiende

Recibir cupn
de descuento

En un escenario del CU base pueden realizarse todos,


algunos o ninguno de los CU extensores.
Opcionalidad de la extensin es individual por CU
extensor y siempre con respecto al CU base.

...Extensin
Extensin de CU
`

Realizacin de un CU extensor es independiente de


quien la origina:
`
`

un CU base o
un actor activo.

Ejemplo:

Crear nuevo
cliente

extiende
Identificar
cliente

Cliente

Consultar
informe
burstil

incluye

...Extensin
Extensin de CU
`
`

CU extensor ocurre siempre en los puntos de


extensin del CU base.
Un ppunto de extensin es el ppaso dentro de la
funcionalidad del CU base:
`
`

donde es evaluada la condicin qque ppuede implicar


p
la
realizacin del CU extensor, y
al que se retorna despus de haber sido realizado.

Los puntos de extensin pueden indicarse


explcitamente
p
en la documentacin de un CU base.

...Extensin
Extensin de CU
`

CU extensor:
se realiza opcional y separadamente, cuando el CU base se
realiza
` puede ser iniciado directamente, independiente del CU base
` puede tener asociado actores de todo tipo, incluso
principales (por
(
qu?)
?)
En sntesis: CU extensor se agrega ((extiende
extiende)) al CU
base
base
`

Generalizacin de CU
`
`

Idea: separar funcionalidad general de casos


particulares.
l
Existe cuando es posible distinguir funcionalidad
general,l en un CU general,l de
d un caso particular
i l de
d
esta funcionalidad, en un CU especializado.
El CU especializado
i li d hereda
h
d lla funcionalidad
f
i
lid d y
relaciones (con actores y otros CU) del CU general
pudiendo extenderlas o modificarlas.
modificarlas
Extensin y modificacin de funcionalidad es visible
en la documentacin asociada.
asociada

...Generalizacin
Generalizacin de CU
`
`
`

Conjunto de CU general y especializado(s) configuran


una jerarqua de CU.
CU
Cada CU especializado
p
es entonces un caso
particular del CU general.
Representacin:
CU generall

CU
especializado

...Generalizacin
Generalizacin de CU
`

Ejemplos:
Validar
usuario

Negociar
precio

Negociar
precio bajo el
mnimo

Verificar
contrasea

Reconocer
retina

La funcionalidad total de una jerarqua de CU puede


distribuirse de diferentes formas entre el CU general
y el(los) CU especializado(s) distintos grados de
abstraccin del CU general
g

...Generalizacin
Generalizacin de CU
`

Caso especial:
`
`

CU general no posee funcionalidad, en cuyo caso se dice abstracto


(puede indicarse con el nombre en cursiva)
CU especializados tienen toda la funcionalidad y se dicen concretos
concretos.

Ejemplo:
j p
Realizar
transaccin

Girar dinero

Depositar
dinero

Transferir
entre cuentas

...Generalizacin
Generalizacin de CU
`

Posibilidades al iniciar un CU general:


`

CU general puede realizarse independiente del CU


especializado: escenario es propio del CU general, ya que
especializado
su ffuncionalidad es suficientemente
f
concreta

Negociar
g
precio

Negociar
precio bajo el
mnimo

...Generalizacin
Generalizacin de CU
`

...Posibilidades al iniciar un CU general:


`

uno de los CU especializados debe realizarse en


lugar del CU general:
general: escenario del CU especializado
elegido reemplaza al escenario del CU
C general, ya que ste

es abstracto o su funcionalidad es insuficientemente


concreta

Realizar
transaccin

Girar dinero

Depositar
dinero

Validar
usuario

Transferir
entre cuentas

Verificar
contrasea

Reconocer
retina

...Generalizacin
Generalizacin de CU
`
`

Cuidar situaciones que combinen jerarquas de


actores y de CU: problemas
p
con las herencias
Ejemplos incorrectos
incorrectos:

Autorizar
compra
menor

Autorizar
compra
menor

Autorizar
A
t i
compra
mayor

Jefe
abastecimiento

Empleado
abastecimiento

Jefe
abastecimiento
b t i i t

Empleado
p
abastecimiento

Autorizar
compra

Autorizar
compra

Autorizar
compra

Empleado
abastecimiento

J f
Jefe
abastecimiento

[2]

...Generalizacin
Generalizacin de CU
`

Ejemplos correctos
correctos:
Autorizar
compra
Autorizar
compra
Jefe
abastecimiento

Empleado
abastecimiento

Autorizar
p
compra
menor
Autorizar
compra
menor

Autorizar
compra
mayor
Empleado
abastecimiento
Jefe
abastecimiento

[1]

...Generalizacin
Generalizacin de CU
`

CU especializado:
`
`
`

siempre puede reemplazar al CU general en un escenario


puede ser iniciado directamente o a travs del CU general
puede tener asociado cualquier tipo de actor

En sntesis: CU especializado es un caso particular


del CU general

Inclusin vs.
vs Extensin vs.
vs Generalizacin
CONCEPTO
Propsito
Concepto clave

INCLUSIN

Evitar la representacin
Agregar funcionalidad extra
redundante de funcionalidad. sin alterar el CU base.
Reutilizacin de funcionalidad. Adicin de funcionalidad.

Instanciacin

Siempre dentro del CU base.


base

Grado de
dependencia

CU incluido no puede
instanciarse solo.
...extraer funcionalidad
repetida en ms de un CU
base.

Recomendado
cuando se quiere...

EXTENSIN

Opcionalmente, en forma
Opcionalmente
separada del CU base.
CU extensor puede iniciarse
solo.
...describir funcionalidad
opcional adicional en un CU
base.

Impacto en CU base CU base incorpora a CU


CU extensor se realiza en los
o general
incluido en cualquier parte de puntos de extensin del CU
su funcionalidad.
base.

CU base

Representacin

incluye

CU incluido

CU base

GENERALIZACIN
Separar funcionalidad general
de los casos particulares.
Especializacin de
funcionalidad.
Cuando se requiera.
requiera
CU especializado puede o no
iniciarse solo.
...describir variaciones con
respecto al CU general, en
trminos de casos
particulares.
CU especializado puede
extender o modificar la
funcionalidad heredada del CU
general.
CU general

extiende

CU extensor

CU
especializado

Ejemplos de DCU
Sistema Cajero Automtico
incluye

Suponga un sistema
para un cajero
automtico
t ti en que ell
cliente, previa
identificacin,
selecciona una de las
opciones para su
cuenta:
`
`
`
`

girar
depositar
Cliente
transferir a otra cuenta
consultar saldo

Usar cajero
automtico

Identificar
cliente
li t

incluye
i l
incluye

incluye

Cliente

Depositar en
cuenta

incluye

Girar de
cuenta

Consultar
saldo cuenta
Transferir
entre cuentas

Sistema Cajero Automtico

Usar cajero
automtico

incluye

Identificar
cliente

incluye
Seleccionar
transaccin

Girar de
cuenta

Consultar
saldo cuenta

Transferir
entre cuentas
Depositar en
cuenta

[2]

...Ejemplos
Ejemplos de DCU
`

Ejemplo: Suponga un sistema de ventas donde, previa solicitud


de datos de los clientes, estos pueden hacer pedidos de
productos y consultar su estado. Los pedidos pueden incluir
catlogos. Las formas de pago
posibles son al
contado o mediante
un crdito acordado.

Si t
Sistema
de
d Ventas
V t
Hacer
pedido

incluye
Solicitar datos
cliente
Cliente

extiende

incluye
Pedir
producto

Solicitar
catlogo

incluye
Definir forma
de pago

incluye

Consultar
estado pedido

Pagar
aga a
al
contado

Acordar
co da
crdito

[1]

Gua para la construccin de DCU


`
`
`
`

Procedimiento bsico de construccin


Actores en un DCU
Preguntas
g
para
p
identificar CU
Errores ms comunes

Procedimiento descendente (top-down) de


construccin
1.
2.
3
3.
4.
5.
6.

Construir una lista con todos los actores posibles.


Identificar para cada actor los CU posibles.
Si es necesario, relacionar los actores.
actores
Relacionar los CU en forma preliminar (sujeto a
posteriores modificaciones).
modificaciones)
Documentar los CU.
Corregir las relaciones entre actores y
principalmente entre CU.

Procedimiento ascendente (bottom-up) de


construccin
1.
2.
3.
4.
5.
6.
7.

Crear escenarios posibles de interaccin con el


sistema.
Generalizar los escenarios para definir los CU.
Definir los actores posibles para cada CU.
Si es necesario, relacionar los actores.
Relacionar los CU en forma preliminar (sujeto a
posteriores modificaciones).
Documentar los CU.
Corregir
g las relaciones entre actores y
principalmente entre CU.

Actores en un DCU
`

En un DCU, puede optarse por representar como


actores:

recom
mendado
os

`
`
`
`

slo a los principales


agrupando
d a principales
i i l (izquierda)
(i i d ) y a secundarios
d i
(derecha)
slo a los activos
en general a todo y cualquier agente externo que interacta
con el sistema sin distinguir si es principal/secundario o
activo/pasivo

Decisin depende de complejidad del DCU,


conveniencia
i i d
dell modelador
d l d y estndares
d
de
d
modelado, entre otros.

Preguntas para identificar CU


`

Asumiendo que los actores ya estn identificados:


`
`
`
`

Cules son las principales tareas de cada actor?


Debe el actor crear, consultar, actualizar o eliminar
informacin
f
del
d l sistema??
Debe el actor informar al sistema de algo?
Se
S le
l d
debe
b informar
i f
all actor de
d cambios
bi ocurridos
id en ell
sistema?

Verifiquemos el nivel de los casos de uso


En lugar de preguntar, Cul es un caso de uso vlido?
una pregunta ms prctica es, Cul es un nivel til para
expresar casos de uso para el anlisis de requisitos de la
aplicacin?
Pruebas para chequear posibles casos de uso:
`
`
`

La prueba del jefe.


La prueba EBP.
La prueba del tamao.

La prueba del jefe chequea la utilidad para


el negocio
Si el jefe nos pregunta, Qu has estado haciendo todo el
da?,
y nosotros le contestamos, Conectndome
Conectndome al sistema
sistema,,
va a estar contento el jefe?
Si el jefe no est contento, entonces el caso de uso no pasa
la p
prueba del jefe:
j
`

el caso de uso no est relacionado con el logro de resultados de


valor medible para el negocio.

La prueba EBP chequea la complejidad en el


tiempo y en el espacio
Proceso de negocio elemental (EBP):
`

una tarea realizada por una persona en un lugar y de una vez, en


respuesta a un evento del negocio, que agrega valor de negocio
medible
dibl y deja
d j los
l datos
d t en un estado
t d consistente.
it t
p.ej., Consultar Vuelos, Comprar Pasajes, Hacer Checkin.

Busquemos casos de uso que reflejen EBPs:


`

esta p
prueba es similar a la del jefe,
j , en trminos de la calificacin
de valor de negocio medible

La prueba del tamao chequea la extensin


de la narracin
Rara vez un caso de uso es una accin o paso individual:
`
`
`

ingresar el cdigo de una reserva;


borrar una lnea;
imprimir un documento.

Un caso de uso tpicamente contiene varios pasos; en el


formato detallado, puede llegar a tener varias pginas de
texto.
texto

Errores ms comunes
`
`

`
`

Crear CU de dentro hacia fuera: Funcionalidad definida


desde la perspectiva del sistema y no del actor.
Problemas de lmites: P. ej.: un lector de cdigo de barras
es un actor
t o es parte
t del
d l sistema?
it
? debiera
d bi
aparecer en ell
DCU?
Confusin de actor principal con activo: Quien inicia la
interaccin no es necesariamente quien recibe el valor del CU.
Confusin de personas con roles: Un actor es
independiente de la persona que lo ejerce, pudiendo sta
cambiarse sin alterar el CU.

...Errores
Errores ms comunes
`

`
`

Abuso de relaciones entre CU: Un DCU no tiene por qu


tener todas las relaciones posibles entre los C
CU. Muchas veces
no tiene ninguna.
G
Granularidad
l id d d
de los
l CU:
CU CU no d
deben
b ser muy elementales
l
t l
ni muy agregados, deben orientarse a los propsitos de los
actores principales.
principales
Confusin entre incluye y extiende: Revisar sentido
de las flechas y verificar correcta utilizacin.
Confusin del CU con el escenario: Escenario es una
realizacin ((o ejemplo)
j p ) de un CU.

En resumen
`

Un DCU muestra la funcionalidad del sistema sin


consideraciones temporales:
`
`

no se representa la concurrencia ni sincronizacin entre CU


los CU no tienen una secuencia de realizacin definida

Importante La documentacin de los CU es tanto o


Importante:
ms relevante que el propio DCU (por qu?).