Vous êtes sur la page 1sur 27

Casos de Uso

Viviane Torres da Silva


viviane.silva@ic.uff.br
http://www.ic.uff.br/~viviane.silva/2012.1/es1

O que ?
Uma tcnica para capturar requisitos funcionais
Descreve o sistema sob a perspectiva do usurio final
Descreve a interao tpica dos usurios com o sistema
Usualmente se inicia na analise de cenrios de uso previamente
descritos em linguagem natural
Fornece uma narrativa estruturada dessa interao

Exemplo de cenrio de uso


O cliente folheia o catlogo e seleciona itens para adicionar na
cesta de compras. Quando o cliente deseja fechar a compra,
deve informar os dados do carto de crdito e confirmar a
compra. O sistema autoriza a venda junto operadora do
carto e notifica o cliente, tanto de forma sncrona, na tela,
quanto de forma assncrona, via e-mail.

E os cenrios derivados?
Nem sempre as coisas acontecem como esperamos
O carto pode no ser autorizado pela operadora
Um cliente conhecido pode pendurar a conta e s pagar no final do
ms

Todos esses cenrios so diferentes, porm similares


Todos tem o mesmo objetivo: comprar produtos
Todos pertencem ao mesmo caso de uso: comprar produtos

Cenrio
2
Cenrio
1

Objetivo
em
Comum

...
Cenrio
N

Caso de Uso
O caso de uso foca no cenrio tpico, onde tudo acontece na
maior parte das vezes
Os cenrios alternativos tambm so descritos no caso de uso
em uma seo separada
Tambm conhecido como extenses
Deve indicar o ponto em que estende o cenrio tpico
Deve indicar o ponto em que retorna ao cenrio tpico

Atores

Ator
2

Ator
1

Sistema

Ator
N

...

Atores
Representam as entidades que se relacionam com o sistema
Exemplos:

Usurio
Cliente
Representante do cliente (caixa do supermercado)
Gerente
Sistema externo
Etc.

Importante: ator o papel, e no a pessoa


Ex.: Se existe um cliente do sistema chamado Joo, existe um ator
chamado cliente, e no um ator chamado Joo

Tipos de atores
Primrio: so beneficiados diretamente pelo caso de uso
Secundrios: atores que participam como coadjuvantes no caso de uso

Identificao de casos de uso e atores


Ler a descrio em linguagem natural do sistema, buscando
por
Casos de uso candidatos: verbos
Atores candidatos: substantivos

Exemplo
O cliente entra na loja para comprar produtos...
O porteiro registra [a chegada de] encomendas...

Contedo de um Caso de Uso


No existe consenso na estrutura interna da descrio textual
de um caso de uso
Algumas estruturas so utilizadas recorrentemente
Simples
Detalhada

importante selecionar uma estrutura que seja adequada


para o problema e o processo em uso

Estrutura simples de um caso de uso: Exemplo


Nome
Cenrio tpico
Cenrios alternativos
Nome: UC1 - Compra de produto
Cenrio tpico
1.
2.
3.
4.
5.
6.
7.
8.

O cliente folheia o catlogo e seleciona itens para comprar


O cliente fecha a compra
O cliente escolhe a forma de entrega
O sistema apresenta o preo total
O cliente fornece os dados do carto de crdito
Casos
alternativos
O sistema autoriza a compra
O sistema confirma na tela a compra
O sistema envia um e-mail confirmando a compra

Estrutura simples de um caso de uso: Exemplo


Cenrios alternativos
5.a: O cliente conhecido
1. O sistema pendura o pagamento
2. Retorna para o passo 7 do fluxo principal
6.a: A operadora do carto no autoriza a compra
1. O cliente pode fornecer outro carto, retornando para o passo 5,
ou cancelar a compra

Estrutura detalhada de um caso de uso

Nome
Lista de atores
Viso geral (descrio)
Referncias cruzadas
Requisitos
Outros casos de uso relacionados
Classes que implementam o caso de uso

Gatilho (condio de disparo)


Pr-condies
Ps-condies
Cenrio tpico
Cenrios alternativos

Estrutura detalhada de um caso de uso: Exemplo


Lista de atores: Cliente, Sistema de autorizao de carto
Viso geral (descrio): Um cliente acessa o site de venda de
produtos e ...
Referncias cruzadas
Requisitos: R1, R5, R10
Outros casos de uso relacionados: UC3 Valida Usurio
Classes que implementam o caso de uso: CompraBean

Gatilho
No se aplica

Pr-condies
Antes de iniciar o caso de uso, o usurio deve fazer login no sistema
(UC3 Login)

Ps-condies
Caso a venda ocorra com sucesso, o estoque deve sofrer baixa da
quantidade de produtos vendidos

Descrio de um cenrio
O cenrio composto de passos
Lista de passos
Tabela com uma coluna para os atores e outra para o sistema

Cada passo descreve


O ator envolvido
A sua inteno naquela interao

Ator
1.
2.
3.
4.
5.
6.
7.
8.

O cliente folheia o catlogo e seleciona itens para


comprar
O cliente fecha a compra
O cliente escolhe a forma de entrega
O sistema apresenta o preo total
O cliente fornece os dados do carto de crdito
O sistema autoriza a compra
O sistema confirma na tela a compra
O sistema envia um e-mail confirmando a compra

Sistema

3. O cliente escolhe a forma de


entrega
4. O sistema apresenta o preo
total
5. O cliente fornece os dados do
carto de crdito
6. O sistema autoriza a compra

Perguntas para identificar atores e casos de uso


Quem utiliza o sistema?
Como o uso do sistema?
Quais informaes so fornecidas ou obtidas do sistema?
Como o sistema mantido?
Quais outros sistemas interagem com esse sistema?

Perguntas para detalhar cenrios


Quando tudo d certo, como o sistema se comporta?
Algo pode ocorrer de forma diferente nesse passo?
O que pode dar errado nesse passo?

Caso de uso x Passo


Quando um passo for muito complicado
Verifique se o cenrio alternativo est se misturando com o cenrio
tpico
Verifique se possvel transformar o passo em outro caso de uso

Quando um passo vira um novo caso de uso


O primeiro caso de uso deve incluir o segundo
Na UML: relao de <<include>>
Na descrio do caso de uso: hiperlink para o outro caso de uso

Cuidado: No faa decomposio funcional do caso de uso!

Dicas
Comecem da estrutura simples e adicionem somente os
elementos necessrios
Faam casos de uso enxutos
Casos de uso longos no so lidos!

Adicione detalhes de forma proporcional ao risco do caso de


uso

UML: Diagrama de casos de uso


A maior riqueza dos casos de uso est na sua descrio, no
no diagrama
Contudo, a UML oferece um diagrama que permite visualizar

Os atores
Os casos de uso
O relacionamento entre atores e casos de uso
O relacionamento entre casos de uso

Serve como um ndice visual dos casos de uso

Diagrama de casos de uso (elementos)


Ator
Cliente

Caso de uso
Compra Produtos

Participao de um ator no caso de uso


Compra Produtos
Cliente

Relacionamento entre casos de uso e entre atores

Diagrama de casos de uso: Relacionamento de Generalizao


Relao um entre atores
Relao um tipo de entre casos de uso
Serve para representar variantes tecnolgicas de um caso de uso

Valida Usurio

Cliente

Valida Usurio pela Digital

Cliente VIP

Diagrama de casos de uso: Relacionamento de incluso


Incluso
Adio de um comportamento especfico em um ponto determinado
do caso de uso
til quando esse comportamento repetido em diversos casos de uso
do sistema

Compra Produtos
<<include>>

Valida Usurio

Diagrama de casos de uso: Relacionamento de extenso


Extenso
Encapsula um cenrio alternativo complexo em um outro caso de uso
Utiliza o campo Gatilho para definir o momento que entra em ao
Pode ser visto como um remendo (patch) do caso de uso base

Compra Produtos

<<extend>>

Pendura Conta

Exemplo
Pendura Conta
<<extend>>

Compra Produtos
Cliente
<<include>>

Obtem Reembolso
<<include>>

<<include>>

Funcionrio
Inicializa o Sistema

<<include>>

Mantm Usurios
Gerente

Valida Usurio

Exerccio: Descreva o caso de uso, incluindo os fluxos


alternativos

O cliente deve estar validado para realizar o Saque. A operao de um caixa eletrnico tem
incio a partir de uma sesso em que o cliente seleciona a opo de realizar saque. O cliente
ento digita uma quantia a ser retirada.
O sistema verifica se a conta correspondente tem saldo suficiente para satisfazer a
requisio. Seno, uma mensagem adequada reportada, o que acarreta no fim do saque.
Alm desta verificao tambm so analisados:
O caixa eletrnico tem saldo para confirmar o saque?
O caixa eletrnico tem cdulas compatveis?
O saque est sendo realizado no perodo entre 06h00min e 22h00min?
O valor do saque solicitado, somado aos valores de saques anteriores do dia esto dentro do
limite dirio de R$ 2000,00?

ftp://ftp.ci.ifes.edu.br/informatica/rafael/AnaliseProjetoSistemas/Exercicios/DiagramaDeCasoDeUso/IFES-APS-DCU-Exercicio1Gabarito.pdf

Exerccio: Desenhe o diagrama de casos de uso

Jos resolveu desenvolver uma aplicao para controlar as ligaes telefnicas de sua casa, a
fim de checar se o valor que paga mensalmente est correto. Assim, sempre que desejar
poder listar as ligaes efetuadas num determinado perodo, contabilizando o valor a pagar.
Para que isso seja possvel, toda ligao ser feita pelo computador. A cada solicitao de
ligao, a aplicao dever registrar: a data da ligao, a hora da ligao, quantidade de
minutos gastos (que deve ser registrado no momento que a ligao for encerrada), o nmero
de pulsos (que deve ser calculado pela aplicao) e o telefone para onde se discou.
A aplicao permitir o controle de uma agenda de telefones, com nmero do telefone e
nome da pessoa de contato. O usurio poder escolher no momento da ligao, se deseja um
dos registros da agenda ou se digitar diretamente o nmero do telefone.
A forma de clculo dos pulsos considera os seguintes critrios:
A ligao ao ser completada j conta um pulso. A partir da, a cada quatro minutos de
conversao concluda, cobra-se mais um pulso. Cada pulso custa R$ 0,08 para ligaes locais.
Exemplo:
Ligao de 2 minutos - 1 pulso
Ligao de 4m30s - 2 pulsos
Ligao de 8 minutos - 3 pulsos
Os finais de semana possuem uma promoo. Cada ligao contabiliza somente um pulso,
independente do nmero de minutos de conversao.

http://www.tiagodemelo.info/aulas/cefet/2009/asoo/lista-exercicios01.pdf

Bibliografia
Cockburn, Alistair. 2000. Writing Effective Use Cases. AddisonWesley Professional.
Fowler, Martin. 2003. UML Distilled: A Brief Guide to the
Standard Object Modeling Language. 3rd ed. Addison-Wesley
Professional.
Pressman, Roger. 2004. Software Engineering: A Practitioner's
Approach. 6th ed. McGraw-Hill.
Vrias transparncias foram produzidas por Leonardo Murta
http://www.ic.uff.br/~leomurta

Vous aimerez peut-être aussi