Casos de Uso
Casos de Uso – O que é

Descrições narrativas de processos do domínio
da aplicação

Documentam a seqüência de eventos de um ator
(um agente externo) usando o sistema para
completar, do início ao fim, um determinado
processo
B u y Ite m s

Representação em UML:
Objetivos de um Caso de Uso
Ser compreensível para os usários
leigos em informática
 Auxiliar a tarefa de análise,
especificando funcionalidades e
comportamento do sistema
 Delimitar o sistema
 Servir de base para derivar casos de
teste

Atores

Entidades externas ao sistema que de algum
modo participam da estória do caso de uso


Estimulam o sistema com eventos de entrada, ou
recebem alguma coisa dele
Designados pelo papel que exercem no caso de
uso


Ex.: Cliente, Operador, etc.
Representação em UML:
C u s to m e r
Atores e Casos de Uso

Um caso de uso possui um ator que o inicia,
que gera o estímulo inicial, e possivelmente
vários atores participantes


O ator iniciador deve ser indicado explicitamente
na descrição do caso de uso
Algumas categorias típicas de atores incluem:




papeis exercidos por pessoas
sistemas de computação, outros softwares
dispositivos elétricos e mecânicos
hardware
Diagramas de Caso de Uso

Ilustram um conjunto de casos de uso e
atores para um sistema e os
relacionamentos entre eles
POST
Buy Items
Cashier
Customer
Log In
Refund Purchased
items
Relacionamentos no Diagrama
de Casos de Uso

Relacionamento entre atores

Relacionamento entre atores e casos de
uso

Relacionamento entre casos de uso
Relacionamento entre atores

Relacionamento de Associação
_________
Cliente

Caixa
Relacionamento de Generalização
_________
Funcionario
Cliente
Herança entre atores
Gerente
Gerente de
Compras
Gerente de
Vendas
Relacionamento entre atores e
casos de uso
_________
B u y Ite m s
Cliente
_________
B u y Ite m s
C u s to m e r
A seta pode indicar duas alternativas a escolher: ator que
inicia o caso de uso ou simplesmente a direção dos dados
Relacionamento entre Casos de Uso
<<uses>> ou
<< include>>
______
RealizarPedido
Cliente
<<extends>>
________
RealizarPedido
Cliente
<<uses>>
ValidarCliente
<<extends>>
CadastrarCliente
Relacionamento de Uso ou
Include
Utilizar quando se tem um bloco de
comportamento que é o mesmo para
vários casos de uso.
 Representar o fluxo comum como um
outro caso de uso B a ser chamado pelo
caso de uso A complexo: A <<uses>>B
 Validar Cliente pode ser um caso de uso
utilizado por outro caso tal como Abrir
Conta além de Realizar Pedido

Relacionamento de Extensão
Utilizar quando se tem dois casos de
usos que fazem algo parecido, só que o
caso de uso B faz alguma coisa a mais
que A. B estende A
 B representa alguma situação não muito
comum que ocorre em A mediante a
satisfação de uma pré-condição

Relacionamento de
Generalização


relação estrutural
entre um caso de uso
_______
mais geral e um caso
Identificar Usuário
de uso mais específico. C u s to m e r
o caso de uso mais
geral é uma generalização
(abstração) do ou dos casos
Verificar Senha
de uso mais específicos. O
caso de uso geral, representa
as partes comuns de casos de
uso especializados.
Fluxo de Eventos, Cenários
Um caso de uso descreve um fluxo de
eventos para realizar uma operação
 Cenário: é uma das formas possíveis de
se realizar um caso de uso
 Tipos de fluxos:



Típicos: Principal ou Básico
Atípicos: Alternativos, casos de erro,
cancelamento, etc.
Pré e Pós Condições

Condições que devem ser verdadeiras
antes de o caso de uso ser executado, ou
após a sua execução.
Ex: retirar dinheiro em um caixa


Pré-condição: cliente precisa ter conta no
banco
Pós-condição: o terminal fica pronto para
outro cliente.
Interfaces entre Atores e
Casos de Uso
Identificam quais operações o ator (ou o
caso de uso) realizam
 Auxiliam a especificar as interações e a
reutilizar casos de uso

________
Cliente
--------------
Interface
Cliente
Realizar Pedido
Tipos de Caso de Uso Com
Respeito à Importância

Primário
Representam os processos principais ou mais
comuns (ex.: Comprar Itens)

Secundário
Representam processos menos importantes ou
mais raros (ex.: Cadastrar Operadores)

Opcional
Representam processos que podem ser ignorados
ou incluídos em futuras versões do sistema (ex.:
Solicitar Estoque para um Novo Produto)
Tipos de Casos de Uso com
Respeito à Descrição Textual

Alto-nível



Breve descrição de um processo, normalmente em
duas ou três frases, e deliberadamente vago em
decisões de projeto
Criados na fase inicial de requisitos
Expandido


Descrição passo a passo dos fluxos de eventos de
um processo
Durante a fase de requisitos, apenas os casos de
uso mais importantes são geralmente escritos
nesse formato
Casos de Uso Alto Nível

Exemplo de um caso de uso de alto-nível:
Caso de uso:
Atores:
Tipo:
Descrição:

Comprar Itens (Buy Items)
Cliente (Customer), Operador (Cashier )
primário
Um Cliente chega no caixa com itens para comprar. O
Operador registra os itens e coleta o pagamento. Ao
final, o Cliente sai com os itens.
A UML não especifica um formato rígido para
os cabeçalhos e a estrutura de um caso de
uso

Podem ser alterados de acordo com as
necessidades de documentação
Caso de Uso Expandido

Exemplo de um caso de uso expandido:
Caso de uso:
Atores:
Propósito:
Descrição:
Tipo:
Referencia:
Comprar Itens com Dinheiro (Buy Items with Cash)
Cliente (Iniciador), Operador
Capturar uma venda e seu pagamento em dinheiro.
Um Cliente chega no caixa com itens para comprar. O
Operador registra os itens e coleta um pagamento com
dinheiro. Ao final, o Cliente sai com os itens.
primário e essencial
Funções: R1.1, R1.2, R1.3, R1.7, R1.9, R2.1
Típica Seqüência de Eventos
Ação do Ator
1. Este caso de uso começa
quando um Cliente chega no
caixa com itens para comprar.
Resposta do Sistema
Caso de Uso Expandido

Exemplo de um caso de uso expandido (cont.):
Típica Seqüência de Eventos
Ação do Ator
2. O Operador registra o identificador de cada item.
Se há mais de um do mesmo
item, o Operador também pode
infor-mar a quantidade.
4. Após processar o último item, o
Operador indica ao POST que a
entrada de itens terminou.
6. O Operador informa o total ao
Cliente.
Resposta do Sistema
3. Determina o preço do item e
adiciona informação sobre o item
à transação de venda em andamento.
Mostra a descrição e o preço do
item corrente.
5. Calcula e mostra o valor total
da venda.
.
Caso de Uso Expandido

Exemplo de um caso de uso expandido (cont.):
Típica Seqüência de Eventos
Ação do Ator
Resposta do Sistema
7. O Cliente entrega um pagamento em dinheiro, possivelmente
maior do que o valor total.
8. O Operador registra o valor
recebido em dinheiro.
9. Mostra o troco devido.
Emite um recibo.
10. O Operador deposita o
dinheiro e retira o troco devido.
O Operador entrega o troco e o
recibo ao Cliente.
12. O Cliente sai com os itens
comprados.
11. Registra a venda no log de
vendas completadas.
.
Tipos de Casos de Uso com
Respeito à Implementação

Essencial



Descrição de um processo em termos de sua
motivação e atividades essenciais
Expressos relativamente livres de detalhes de
implementação, decisões de projeto, e uso de
tecnologias
Real

Descrição de um processo em termos de seu
projeto real, comprometido com tecnologias de
desenvolvimento, interfaces de entrada e saída,
etc.
Caso de Uso Essencial
Trecho do caso de uso Comprar Itens essencial
Ação do Ator
2. O Operador registra o identificador de cada item.
Se há mais de um do mesmo
item, o Operador também pode
infor-mar a quantidade.
4. ...
Resposta do Sistema
3. Determina o preço do item e
adiciona informação sobre o item
à transação de venda em andamento.
Mostra a descrição e o preço do
item corrente.
5. ...
Caso de Uso Real
Trecho do caso de uso Comprar Itens real
Ação do Ator
2. Para cada item, o Operador
digita o código universal de produto (UPC) no campo de entrada
UPC da Janela 1. Ele então pressiona o botão “Entra Item” com o
mouse ou pressiona a tecla
<Enter>.
Resposta do Sistema
3. Determina o preço do item e
adiciona informação sobre o item
à transação de venda em andamento.
Mostra a descrição e o preço do
item corrente na Caixa de Texto 2
da Janela 1.
4. ...
5. ...
Casos de Uso com Fluxos
Alternativos

Caso de uso Comprar Itens Expandido
Seção: Principal
Ação do Ator
Resposta do Sistema
1. ...
2. O Cliente escolhe o tipo de
pagamento:
a) Se pagamento com dinheiro,
veja seção Pagamento com
Dinheiro.
b) ...
Seção: Pagamento com Dinheiro
Ação do Ator
1. O Cliente entrega um pagamento em dinheiro ...
Resposta do Sistema
Formato para um Caso de Uso
Nome do caso de uso
Descrição
Atores
Tipo
Referências
Pré-condições
Fluxo de eventos
Fluxo principal (típico)
Fluxos alternativos
Fluxos não típicos (erros, cancelamentos, etc)
Pós-condições
Pontos de extensão
Casos de uso incluídos
Outros requisitos (Interfaces)
Decomposição de Diagramas
de Casos de Uso
Pode-se dividir sistemas complexos em
sub-sistemas e para cada um deles um
diagrama de Casos de Uso
 Para mostrar o relacionamento entre
esses sub-sistemas, os Casos de Uso
são agrupados em Pacotes.

Decomposição de Diagramas
de Casos de Uso
Casos de uso
Adminitrativos
Casos de uso
Mercadológicos
Casos de uso
Gerai
s
Identificando Casos de Uso

Normalmente não são eventos ou passos
individuais, mas um processo completo


Erro mais comum!
Método baseado em atores
1. Identificar os atores relacionados com o sistema
ou organização
2. Para cada ator, identificar os processo que eles
iniciam ou participam
Identificando Casos de Uso

Método baseado em eventos
1. Identificar os eventos externos aos quais o
sistema deve responder
2. Relacionar os eventos a atores e casos de uso

Exemplos do sistema Posto Comercial




Operador: Login, Retirar Dinheiro
Cliente: Comprar Itens, Devolver Itens
Digitar Senha?
Imprimir Recibo?
Casos de Uso e Funções

Todas as funções do sistema
identificadas na especificação dos
requisitos devem ser alocadas a casos
de usos

Alocação documentada através da seção
Referencia
Casos de Uso e o Limite do
Sistema

Identificar os atores e casos de uso de um
sistema requer a definição de seu limite de
atuação

Alguns limites típicos incluem:




o software/hardware de um dispositivo ou sistema de
computação
um departamento de uma organização
uma organização inteira
Limites diferentes podem resultar em diferentes
conjuntos de atores e casos de uso
Casos de Uso e o Limite do
Sistema

Exemplo de um diagrama de caso de uso
para o sistema Posto Comercial, quando o
limite de atuação é a loja inteira
Store
Buy Items
Customer
Refund Purchased
items
Recomendações

Crie nomes sempre começando com um verbo

Identifique primeiro os fluxos principais, iniciando
com:
1.


Este caso de uso começa quando <Ator> <inicia
evento>
Use a seção Seqüências não Típicas para
representar desvios para seqüências de eventos
incomuns ou excepcionais.
Use subseções para representar desvios para
seqüências alternativas com igual importância ou
probabilidade de ocorrência
Recomendações




Procure estimar a dimensão (granularidade)
do caso de uso. Se ele estiver muito extenso
procure identificar sub-casos
Procure identificar partes comuns nos seus
casos de uso, e usar <<include>>.
Identifique serviços comuns aos casos de
uso e crie casos de uso genéricos.
A medida que se definem os casos de uso
um refinamento no diagrama é possível
Referências







Boock, G. and Rumbaugh, J. The Unified Modeling Language User
Guide . Addison-Wesley, 1999
Arlow, J. and Neustadt, I. UML 2 and the Unified Process: Practical
Object-Oriented Analysis and Design, 2nd Edition, The AddisonWesley Object Technology Series, 2005.
Rumbaugh, J.; Jacobson, I. and Booch , G. The Unified Modeling
Language Reference Manual, 2nd Edition, The Addison-Wesley Object
Technology Series, 2004.
Boock, G.; Rumbaugh, J. and Jacobson, I; Unified Modeling Language
User Guide, 2nd Edition, The Addison-Wesley Object Technology
Series, 2005.
Jacobson, I; Boock, G. and Rumbaugh, J., Unified Software
Development Process, Addison-Wesley, Janeiro 1999.
Larman, C. Applying UML and Patterns: An Introduction to ObjectOriented Analysis and Design Prentice-Hall, New Jersey - USA, 1997
Bezerra, E. Princípios de Análise e Projeto com a UML, ed. CampusElsevier. 2003.
Caso de Uso Expandido

Exemplo de um caso de uso expandido:
Caso de uso:
Atores:
Propósito:
Descrição:
Tipo:
Referencia:
fazerReserva
cliente, funcionario
Realizar a reserva de um quarto
Mediante telefonema de um cliente o funcionário acessa o sistema.
Procura disponibilidade do quarto desejado na agenda. Se houver
disponibilidade o funcionário vai entrar os dados do cliente e realizar um
pedido de reserva. O sistema reserva o quarto desejado.
primário e essencial
Funções: R1.1, R1.2, R1.3, R1.7, R1.9, R2.1
Típica Seqüência de Eventos
Ação do Ator
1. Cliente telefona e contacta o
funcionário da pousada para fazer
a reserva
Resposta do Sistema
Caso de Uso Expandido

Exemplo de um caso de uso expandido (cont.):
Típica Seqüência de Eventos
Ação do Ator
2. O funcionário acessa o sistema
para fazer uma reserva e fornece
o login e a senha
4. O funcionário entra as datas e
quarto desejados.
6.
Funcionário
verifica
disponibilidade, e escolhe dias e
quarto.
6.1 Se não houver disponbilidade
retorna ao Passo 4, nova tentativa
Resposta do Sistema
3. O sistema checa login e senha
3.1 Se login e senha não estiverem
OK e ainda houver mais tentativas,
retorna ao Passo 2..
5. Sistema mostra disponibilidade
.
Caso de Uso Expandido

Exemplo de um caso de uso expandido (cont.):
Típica Seqüência de Eventos
Ação do Ator
7. Funcionário entra identificação
de cliente
9. Se cliente não cadastrado,
funcionário entra com dados do
cliente
11. Funcionário finaliza reserva
Resposta do Sistema
8 Verifica
cadastrado
se
cliente
está
10. Sistema armazena dados do
cliente
12. Sistema emite dados relativos
. a reserva.
Caso de Uso Expandido

Exemplo de um caso de uso expandido (cont.):
Seqüência Não Típica de
Eventos
Ação do Ator
Resposta do Sistema
3.1 Número de tentativas para
login foi excedido.
6.2 Cliente desiste da reserva por
falta de disonbilidade
9. Cliente desiste da reserva
.
11. Cliente desiste da reserva
Download

Casos de Uso