Está en la página 1de 53

Casos de uso

!"#$%$&$'()*+,-..*
Casos de uso
` ueflnlcln:
` Ls un documenLo narraLlvo que descrlbe la secuencla de
evenLos de un agenLe exLerno que uLlllza el slsLema para
compleLar un proceso (!acobson).
` PlsLorlas o casos de uLlllzacln que e[empllflcan e lncluyen
LcLlcamenLe los requerlmlenLos que se narran.
CAPITULO 8 - ANLISIS DE SISTEMAS ! IN55A-01 PRIMAVERA 2009! 17!
Denicin de Casos de Uso!
! "Los casos de uso sirven para encontrar y capturar
los requerimientos (especialmente los funcionales)!
! " Son descripciones narrativas en lenguaje natural de
los procesos en un formato estructurado de prosa.!
! " Los casos de uso no son propiamente un elemento del
anlisis y diseo orientado a objetos (pueden ser
utilizados en anlisis no orientados a objetos).!
! " Tienen la gran virtud de mantener la informacin descrita
de forma simple y comprensible por ambas partes!
! " Son denominados por un VERBO. Ejemplo: Comprar
producto.!
CAPITULO 8 - ANLISIS DE SISTEMAS ! IN55A-01 PRIMAVERA 2009! 18!
Ejemplo: Jugar Binario!
! "Se tiene un juego de dados llamado Binario en
que un jugador lanza 2 dados. Si el resultado
suma 7 entonces Gana si no Pierde.!
NOMBRE CASO DE USO!
DESCRIPCIN EN PROSA!
CAPITULO 8 - ANLISIS DE SISTEMAS ! IN55A-01 PRIMAVERA 2009! 19!
Ejemplo 2!
CAPITULO 8 - ANLISIS DE SISTEMAS ! IN55A-01 PRIMAVERA 2009! 20!
Denicin de Actor!
! "Un CU esta ntimamente relacionado con un actor
que se encuentra utilizando el sistema
informtico.!
! " Actor: Puede ser una Persona (identicada por su rol), otro
sistema informtico u Organizacin.!
! " Ejemplo!
! " Si el software es un Video Juego, entonces el actor fsico seria el
nio, joven o adulto que juega el video Juego. Sin embargo, desde
el punto de vista del anlisis del software el Actor es un Jugador.!
CAPITULO 8 - ANLISIS DE SISTEMAS ! IN55A-01 PRIMAVERA 2009! 21!
Metodologa: !
Buscar Actores y sus funciones"
! "Lo primero es reconocer a todos los actores que estn
involucrados en el sistema.!
! " Esto debera estar claro desde las fases de analisis de la situacin actual
y en el rediseo.!
! "Luego sus funciones bsicas, ejemplo PDV:!
Cajero!
Registra Productos, Cobra por lo productos!
Entrega el cambio!
Cliente!
Compra Productos!
Paga los Productos!
Gerente!
Inicia las operaciones!
Cierra las operaciones!
Adm. de
Sistemas!
Incorpora, actualiza, borra usuarios del sistema!
CAPITULO 8 - ANLISIS DE SISTEMAS ! IN55A-01 PRIMAVERA 2009! 22!
Denicin de Escenario!
! "Los escenarios son la escnica de los casos de
uso. Corresponden a una secuencia especica de
acciones e interacciones entre los actores y el
sistema que se esta estudiando.!
! "Muchas veces, se les denomina a los escenarios,
instancias de Casos de Uso.!
! " Por ejemplo, Comprar producto suponiendo que no
existe el producto.!
! " Siempre hay al menos dos escenarios posibles.....!
CAPITULO 8 - ANLISIS DE SISTEMAS ! IN55A-01 PRIMAVERA 2009! 23!
Escenarios Bsicos!
! "Escenario principal (de xito): El escenario
principal, es aquella secuencia de acciones que
permite concluir exitosamente con lo que se
desea satisfacer en el caso de uso.!
! "Escenario de fallo: Es lo que ocurrira en caso de
informacin mal ingresada, tipos de datos
incorrectos, fallas en Hardware o Software, entre
otras.!
CAPITULO 8 - ANLISIS DE SISTEMAS ! IN55A-01 PRIMAVERA 2009! 24!
Ejemplo: Jugar Binario!
! "Caso de uso: Jugar Binario!
! "Escenario principal de xito:!
! " Este caso de uso comienza cuando el jugador recoge y
tira 2 dados. Si los puntos suman siete, gana y pierde si
suman cualquier otro nmero.!
! "Escenario de fallo:!
! " El jugador lanza los dados y al menos un dado no queda
en posicin totalmente horizontal sobre la supercie de
juego, entonces debe tomar ambos dados y lanzarlos!
! " En este caso podra denirse que solo lanzara 1 dado!!!!!!
CAPITULO 8 - ANLISIS DE SISTEMAS ! IN55A-01 PRIMAVERA 2009! 26!
Como detectar CU!
! "Se debe focalizar la atencin en buscar de que
manera el sistema en cuestin logra entregar un
resultado observable de valor para el usuario.!
! "Tratar de centrarse en la pregunta cmo puedo,
utilizando el sistema, proporcionar un valor
observable para el usuario, o cumplir sus
objetivos?!
CAPITULO 8 - ANLISIS DE SISTEMAS ! IN55A-01 PRIMAVERA 2009! 27!
Como detectar CU!
! "Muchas veces un caso de uso puede utilizar
(mezclar) varias funcionalidades del sistema, esta
es una potencialidad importante que debe notar!
! " Los casos de uso estn pensados en los objetivos de
los actores y no en las funciones!
! " Por tanto las funciones pueden ser ordenadas de manera
mas clara tanto para los Clientes como para el equipo de
desarrollo!
CAPITULO 8 - ANLISIS DE SISTEMAS ! IN55A-01 PRIMAVERA 2009! 28!
Objetivos y Alcances de
los Casos de Uso!
! "Lo tpico es no saber si algo es un caso de uso o
no. Por lo tanto se tienen distintos niveles de
granularidad. !
! " Desde el nivel ms alto, actividades de la empresa!
! " Hasta el niveles muy detallados!
! "Actividades atmicas es lo que NO se debe usar
como CU!
! " Ejemplo: Eliminar el registro de la venta!
! " Mejor: Procesar la Venta!
CAPITULO 8 - ANLISIS DE SISTEMAS ! IN55A-01 PRIMAVERA 2009! 29!
Casos de Uso y Objetivos!
! "Los usuarios tienen objetivos (son sus
necesidades) Por esto lo que se debe tratar de
usar es los Casos de uso de Nivel de Usuario!
! " Esto nos lleva a encontrar los Objetivos del Usuario!
! " Denir un caso de uso para cada uno de estos Objetivos
del Usuario!
! "Por lo tanto hay un cambio de enfoque:!
! " Ya no se pregunta por cules son los CU?!
! " Se pregunta cules son tus Objetivos?!
CAPITULO 8 - ANLISIS DE SISTEMAS ! IN55A-01 PRIMAVERA 2009! 30!
Objetivos de Sub-funcin!
! "Por ejemplo:!
! " Identicarme y ser validado, se ha eliminado, sin embargo
son objetivos validos para el usuario!
! " Solo ocasionalmente deben escribirse estos como casos
de uso!
! " Tpicamente si este objetivo se repite en otros casos de
uso!
! "O si varios Actores requieren del mismo!
! " Por lo tanto de acuerdo a esto se puede colocar el caso
de uso: Validar Usuario o Autenticar Usuario!
CAPITULO 8 - ANLISIS DE SISTEMAS ! IN55A-01 PRIMAVERA 2009! 31!
Caso de uso Importante!
! "CRUD (Create/Retreive/Update/Delete)!
! " Crear!
! " Recuperar!
! " Actualizar!
! " Eliminar!
! "Dena estos como un solo caso de uso!
! " Gestionar XXX!
! " Administrar XXX!
! " Ejemplo: Gestionar Usuarios, Administrar Pedidos!
Casos de uso
` 1lpos.
` AlLo nlvel:
` uescrlpcln concepLual del caso.


` Lxpandldo:
` uescrlpcln en deLalle del flu[o de evenLos.
Casos de uso
` Caso de uso de AlLo nlvel:

Casos de uso
` Caso de Lxpandldo:

CAPITULO 8 - ANLISIS DE SISTEMAS ! IN55A-01 PRIMAVERA 2009! 37!
Plantilla de Casos de Uso!
! "Caso de uso: Nombre del Caso de Uso!
1." Actor Principal:!
2." Personal Involucrado e intereses:!
3." Precondiciones:!
4." Garantas de xito (Poscondiciones):!
5." Escenario principal de xito (Flujo bsico):!
6." Extensiones (o Flujos Alternativos)!
7." Requisitos especiales:!
8." Lista de tecnologa y variaciones de datos:!
9." Frecuencia: "!
10."Temas pendientes:!
CAPITULO 8 - ANLISIS DE SISTEMAS ! IN55A-01 PRIMAVERA 2009! 38!
Ejemplo de plantilla estilo
completo!
! "Caso de uso: Procesar venta!
! " Actor Principal: Cajero!
! " Personal Involucrado e intereses:!
! " Cajero: quiere entradas precisas, rpidas y sin errores de pago, ya
que las perdidas se deducen de su salario!
! " Vendedor: quiere que las comisiones de las ventas estn
actualizadas!
! " Compaa: quiere registrar la transaccin con precisin y
satisfacer los intereses de los clientes....!
! " Servicio de Impuestos Internos: quiere recopilar los impuestos de
cada venta...!
CAPITULO 8 - ANLISIS DE SISTEMAS ! IN55A-01 PRIMAVERA 2009! 39!
Precondiciones!
! "Es lo que debe cumplirse siempre antes de
comenzar cualquier escenario de un caso de uso!
! "Las precondiciones no se chequean dentro del
caso de uso, si no que se asumen verdaderas!
! "Una Precondicin, por lo general implica que se
concluy exitosamente un escenario dentro de
otro caso de uso!
! "No es necesario colocar precondiciones obvias
como: El sistema debe tener electricidad!
CAPITULO 8 - ANLISIS DE SISTEMAS ! IN55A-01 PRIMAVERA 2009! 40!
Poscondiciones o
Garantas de xito!
! "Establecen que es lo que debe cumplirse cuando
se termina el escenario principal o bien algn
escenario!
! "Debe satisfacer las necesidades de todos los
involucrados!
CAPITULO 8 - ANLISIS DE SISTEMAS ! IN55A-01 PRIMAVERA 2009! 41!
Escenario principal de
xito!
! " O tambin llamado El camino Feliz. Es la secuencia de
acciones que debera cumplirse normalmente si todo sale bien!
! " Note que no lleva ninguna bifurcacin condicional. Todo el
manejo de pasos alternativos se dejar para la denicin de
escenarios!
! " El tipo de interacciones que se recogen son:!
! " Interaccin entre actores!
! " Validaciones (Normalmente a cargo del sistema)!
! " Un cambio de estado realizado por el sistema (Ej. Registrar o
modicar algn dato)!
! " Sin embargo el primer paso es la ACCION que desencadena
el Caso de Uso!
CAPITULO 8 - ANLISIS DE SISTEMAS ! IN55A-01 PRIMAVERA 2009! 46!
Otra Plantilla de Casos
de Uso!
! "Caso de uso: Nombre del caso de uso!
! " Actores: Lista de actores (agentes externos), en la cual se
indica quin inicia el caso de uso!
! " Propsito: Intencin del caso de uso!
! " Resumen: Repeticin del caso de uso de alto nivel o
alguna sntesis similar.!
! " Tipo: Primario, secundario u opcional. Esencial o real.!
! " Referencias cruzadas: Casos relacionados de uso y
funciones tambin relacionadas del sistema.!
! " Descripcin: Explicacin del caso de uso.!
CAPITULO 8 - ANLISIS DE SISTEMAS ! IN55A-01 PRIMAVERA 2009! 47!
Ejemplo de caso de
Uso alto nivel!
! "Caso de uso: Comprar productos!
! " Actores: Cliente, cajero!
! " Tipo: Primario!
! " Descripcin: Un Cliente llega a la caja registradora con
los artculos que va a comprar. El Cajero registra los
artculos y cobra el importe. Al terminar la operacin, el
Cliente se marcha con los productos.!
ulagramas de Casos de uso
` ueflnlcln:
` Craflcar los casos en que los acLores saLlsfacen sus ob[eLlvos.
ulagramas de Casos de uso
` CrlenLaclones:
` Ll dlagrama de casos de uso permlLe al lecLor enLender, desde

funclones que la solucln Llene.


` >
clara orlenLacln al ob[eLo.
` Ls poslble lr especlflcando mayor deLalle cuando sea
necesarlo.
ulagramas de Casos de uso
` noLacln:
CAPITULO 8 - ANLISIS DE SISTEMAS ! IN55A-01 PRIMAVERA 2009! 56!
Ms sobre actores...!
! "Se pueden denir categoras generales de actores
para luego especializarlos.!
! " Esto se realiza usando relaciones de generalizacin.!
CAPITULO 8 - ANLISIS DE SISTEMAS ! IN55A-01 PRIMAVERA 2009! 57!
Organizacin de casos
de uso!
! "Los casos de uso pueden organizarse
agrupndolos en paquetes.!
! "Tambin se pueden especicar relaciones de:!
! " generalizacin!
! " inclusin!
! " extensin.!
CAPITULO 8 - ANLISIS DE SISTEMAS ! IN55A-01 PRIMAVERA 2009! 58!
Generalizacin!
! "Signica que el caso de uso hijo hereda el
comportamiento y el signicado del caso de
uso padre. Donde el hijo puede:!
! " Agregar nuevos comportamientos!
! " Redenir el comportamiento del padre.!
! " La generalizacin entre casos de uso se representa como
una lnea continua con una punta de echa vaca.!
CAPITULO 8 - ANLISIS DE SISTEMAS ! IN55A-01 PRIMAVERA 2009! 59!
Ejemplo:!
EN ESTE CASO REDEFINIMOS EL CASO DE USO
VALIDAR USUARIO!
EN ESTE CASO, AGREGAMOS AL CASO DE USO EL
RUT DE LA EMPRESA!
SIN EMBARGO AMBOS CASOS DE USO HIJOS, SIRVEN PARA LO MISMO: VALIDAR A LOS USUARIOS!
POR LO TANTO, PERTENECEN A VALIDAR USUARIO. O BIEN, AMBOS CASOS HIJOS SON ESPECIALIZACIONES
DEL CASO DE USO PADRE: VALIDAR USUARIOS!
CAPITULO 8 - ANLISIS DE SISTEMAS ! IN55A-01 PRIMAVERA 2009! 60!
Inclusin!
! "Una relacin de inclusin entre dos casos de uso
signica que un caso de uso base incorpora
explcitamente el comportamiento de otro caso
de uso en el lugar especicado en el caso base.!
! " Esta relacin se usa para evitar describir el mismo ujo de eventos
repetidas veces, poniendo el comportamiento comn en un caso de uso
aparte (que ser incluido por un caso base).!
! " Una relacin de inclusin se representa como una dependencia, usando
la palabra include. Para especicar la posicin en un ujo de eventos, se
usa la palabra include seguido del caso de uso que se quiere incluir!
CAPITULO 8 - ANLISIS DE SISTEMAS ! IN55A-01 PRIMAVERA 2009! 61!
Ejemplo: Include!
CAPITULO 8 - ANLISIS DE SISTEMAS ! IN55A-01 PRIMAVERA 2009! 62!
El diagrama quedara...!
NOTAR QUE EL ALUMNO AUNQUE
FIGURA EN EL DIAGRAMA, NO TIENE
INTERACCIN CON EL CU EN ESTUDIO.!
NOTAR QUE VALIDAR USUARIOS
SOLO INTERACTUA CON VALIDAR
USUARIOS!
INCLUDE: AVECES SE COLOCA UN
ESTEREOTIPO: <<INCLUDE>>!
CAPITULO 8 - ANLISIS DE SISTEMAS ! IN55A-01 PRIMAVERA 2009! 63!
Extensin!
! "Se utiliza una relacin de tipo <<extends>> entre
casos de uso cuando nos encontramos con un
caso de uso similar a otro pero que hace algo ms
que ste (o sea, es una variante).!
! "En una relacin << extends>>, un actor que lleve a
cabo el caso de uso base puede realizar o no sus
extensiones.!
! "Las extensiones se realizan en puntos (o lugares)
especcos del caso de uso base.!
CAPITULO 8 - ANLISIS DE SISTEMAS ! IN55A-01 PRIMAVERA 2009! 64!
Ejemplos de extensin!
OJO 1: EN GENERAL UTILIZAREMOS
<<EXTENDS>> CUANDO SE PRESENTA
UNA VARIACIN DEL COMPORTAMIENTO
NORMAL, Y <<INCLUDE>> CUANDO SE
REPITE UN COMPORTAMIENTO EN DOS
CASOS DE USO Y QUEREMOS EVITAR
DICHA REPETICIN.!
OJO 2: EN UNA RELACIN << EXTENDS>>,
UN ACTOR QUE LLEVE A CABO EL CASO DE
USO BASE PUEDE REALIZAR O NO SUS
EXTENSIONES. MIENTRAS, EN UNA RELACIN
<<INCLUDE>> EL ACTOR QUE REALIZA EL
CASO DE USO BASE TAMBIN REALIZA EL
CASO DE USO INCLUIDO.!
ulagramas de Casos de uso
` Se puede esLablecer un meLodo para dlbu[ar el dlagrama
y especlflcar los casos de uso:
` ldenLlflcar acLores y sus ob[eLlvos.
` uescrlblr los ob[eLlvos como Cu de alLo nlvel.
` ulbu[ar el dlagrama.
` uescrlblr los Cu expandldos y especlflcar mayor deLalle.

` ldenLlflcar las funclones y los acLores que parLlclpan.
` ulbu[ar el dlagrama ldenLlflcando los Cu.
` uescrlblr los Cu de alLo nlvel.
` uescrlblr los Cu expandldos y especlflcar mayor deLalle.
L[emplo
` ulagrama de Casos de uso:
L[emplo
` Caso de uso de AlLo nlvel:
L[emplo
` Caso de uso Lxpandldo:
MeLodologla A/uCC
` ldenLlflcar las funclones y los acLores que parLlclpan.
` noLa: una funcln es una accln que deba ser reallzada por el
slsLema. 8ecuerden que la vlsln del modelo de Cu es desde el
punLo de vlsLa de los usuarlos.
` ulbu[ar el dlagrama ldenLlflcando los Cu.
` noLa: no es necesarlo deLecLar los Cu secundarlos, al menos
es relevanLe ldenLlflcar los prlmarlos. 1 por funcln.
` uescrlblr los Cu de alLo nlvel.
` noLa: usar noLacln vlsLa en clase.
` uescrlblr los Cu expandldos y especlflcar mayor deLalle.
` noLa: usar noLacln vlsLa en clase.

AcLlvldad en Clase
AcLlvldad en Clase
Culero
un llbro
SollclLud
LlecLrnlca
reparacln
del edldo
1raslado y
8eglsLro
Lector
Biblioteca
Bibliobus
Prstamo de un Libro
AcLlvldad en Clase
LnLrega
8eglsLro y
1raslado
Lector
Biblioteca
8ecepcln
Bibliobus
Devolucin de un Libro
AcLlvldad en Clase
` CaracLerlsLlcas:
` La blblloLeca vlrLual uLlllzar un porLal web www.mlblblloLeca.Lk para la
reallzacln del proceso de presLamo de un llbro.
` Cuando un lecLor desee sollclLar un llbro, esLe debe reglsLrarse
prevlamenLe. A dlferencla de oLros slLlos de renLa, Lodos los usuarlos
deben esLar reglsLrados, ya que es la unlca forma de llevar un conLrol de
la alfabeLlzacln y hacerles segulmlenLo.
` uuranLe el reglsLro, el lecLor debe reglsLrarse con un nombre de usuarlo
y conLrasena, su nombre real compleLo, su numero de ldenLlflcacln
naclonal, su dlreccln posLal, dlreccln elecLrnlca y un Lelefono.
` una vez reglsLrado, su lnformacln personal la debe verlflcar un agenLe
de la blblloLeca con el SlsLema de 8eglsLro naclonal de ersonas (S8n),
lo cual se hace duranLe las 24 slgulenLes al reglsLro, anLes del cual el
cllenLe no podr arrendar llbros. una vez valldado, ser noLlflcado por
correo elecLrnlco.

AcLlvldad en Clase
` CaracLerlsLlcas (conLlnuacln):
` Ll lecLor podr flnalmenLe buscar, luego de esLar auLenLlcado en el
porLal, un llbro para leer. Solo Llene permlLldo sollclLar un llbro, ya que
se desea permlLlr lgualdad a Lodos los lecLores.
` Cuando el lecLor sollclLa un llbro, debe eleglr el medlo de pago enLre

pago elecLrnlco con cuenLa bancarla, esLo lo podr hacer


compleLamenLe en llnea, con la valldacln lnmedlaLa de su banco con el
SlsLema Cnllneay (SC).
` Solo se cursar envlos que se hayan pagado o esLen pendlenLes por pago
en efecLlvo conLra enLrega. Al momenLo de conflrmar el envlo, se
noLlflca a la blblloLeca cenLral de 1umbukLu para prepara el envlo del
llbro a Lraves de sus blbllobuses, los cuales pasan por los pueblos 1 vez
por semana. ue esLa manera, se lncluye en el blbllobus el llbro sollclLado
para ser enLregado prxlmamenLe.

AcLlvldad en Clase
` CaracLerlsLlcas (conLlnuacln):
` Ll proceso de enLrega se hace por Llerra en el blbllobus y solo se reglsLra
la enLrega (y el pago en efecLlvo cuando corresponda) a Lraves de la
conexln que Llene, una vez que el llbro pasa al poder del lecLor. ue ahl

` Ll lecLor cuando haya Lermlnado de leer el llbro, podr devolverlo en el
mlsmo blbllobus, de manera de que se reglsLre su devolucln lnmedlaLa
y se llbere su cuenLa para sollclLar oLro llbro. Sl el lecLor no devuelve un
llbro, esLe no podr hacer oLro pedldo.
AcLlvldad en Clase
` lnsLrucclones:
` ldenLlflque del LexLo cules serlan los requerlmlenLos,
claslflcndolos como funclonales y no funclonales.
` ue los requerlmlenLos ldenLlflcados, reallce una ldenLlflcacln
de los acLores y sus ob[eLlvos.
` ulbu[e un dlagrama de casos de uso.
` Lspeclflque los casos de uso de alLo nlvel para los Cu
ldenLlflcados en el dlagrama.
` uescrlba el caso de uso expandldo para uno de los Cu
desarrollados.
AcLlvldad en Clase
` Solucln:
}PasLa la rxlma!