You are on page 1of 33

|  


‡ Um caso de uso é uma descrição narrativa
de uma seqüência de eventos que ocorre
quando um ator (agente externo) usa um
sistema para realizar uma tarefa[Jacobson
92]
‡ Uma unidade coerente de funcionalidade
provida por um sistema, manifestada por
uma seqüência de mensagens trocadas entre
o sistema e um ou mais usuários externos
(representados como atores), junto com as
ações executadas pelo sistema.
ã 
| 
    
 
 
 


 


   
  

  
 
 
 
  

  
  

 
 ! 

 ã"

#   $

 
 
‡ Mostram apenas o que o sistema faz, e não
como.
|aso de uso: representação
gráfica
  
    
%&' ()  


  
"  

* 

*
 | 
  
 
 $

 
 
 " 
 + ,  , 

 $
  
 
 
  
   
 
  + 
  -

 )   

 ã
  
  - 
 
   . 
*/  $


$  | 
 0 #
 1   2334  

 
#  
 5
$  -  6
     
 
  
 0 
    
 
 $
  
  

$  | /
  $

|     
 

|omo encontrar atores?
‡ Quem usa o sistema?
‡ Quem instala/mantém o sistema?
‡ Quem inicia/desliga o sistema?
‡ Que outros sistemas usam o sistema?
‡ Quem recebe informação do sistema?
‡ Quem provê informação ao sistema?
|omo encontrar casos de
uso?
‡ Que funções o ator vai querer do sistema?
‡ O sistema armazena informações? Que
informações atores irão criar, ler, atualizar ou
apagar?
‡ O sistema precisa notificar o ator sobre
mudanças no seu estado interno?
‡ Existe algum evento externo que o sistema
precisa saber? Que ator informa o sistema
desses eventos?
Vluxo de Eventos
‡ Especifica o comportamento de um caso de
uso
‡ É uma seqüência de comandos declarativos
que descreve as etapas de execução de um
|aso de Uso
‡ Permanece focado no domínio do problema e
não em sua solução
‡ Pode conter testes condicionais e iterações
‡ |ontém informações relativas:
± Às condições de início e término do caso de uso
± Quais os atores interessados no sistema
± |omo o caso de uso interage com esses atores
5 
‡ O fluxo de eventos de um caso de uso é
composto por:
± Um Vluxo Básico - descreve a funcionalidade
principal do caso de uso, quando nenhum desvio
é tomado
± Zero ou Mais Vluxos Alternativos - descrevem
desvios pré-definidos do fluxo básico
‡ Esses fluxos podem ser especificados
através de:
± Descrição textual informal
± Texto semi-formal (através de pré-, pós-condições
e invariantes)
± Pseudo-código
± Ou uma combinação destes
Exemplo (Vluxo Básico do
caso de uso |omprar
Produtos)
Descrito em pseudo-código:
2 ã
 +$     
 
7 "     #

 /
 ã   $
 8
$  
 
 ã
 
  

 9

: ã   

#   
4 ã
       

Exemplo (Vluxo Básico de
Eventos ± |ont...)
...
½ ã   
  
    
 $       $  
; )
+
   $  &<
+
=
> ã   $
   


? ã
  $ 

3 ã   
 
+

 $ 

2@ ã
 $
 
   
Exemplo (Vluxos Alternativos
de

A
/
Eventos)
1. No passo 2 do fluxo básico, pode haver um
produto com um código inválido. Nesse caso, o
sistema avisará que o código fornecido é inválido e
pede que o atendente registre o próximo produto.
Vá para o passo 2 do fluxo básico.
2. No passo 6, o cliente pode escolher pagar com
cartão de crédito ou débito.Neste caso, o
atendente passa o cartão e o cliente digita a
senha.Se houver, vá para o passo 6 do fluxo
básico.
3. A qualquer momento, o atendente pode cancelar a
transação. Nesse caso, as informações referentes
| 

‡ Em UML significa um caminho através de um
caso de uso.
‡ Uma instância de um caso de uso
 )BC 
  
 
‡ Exemplo (Sacar dinheiro):
± Saque com sucesso
± Tentativa de saque MAS senha incorreta
± Tentativa de saque MAS saldo insuficiente
| | 

2  
   
      
2       

2     
     
    
  
Vormato de Documentação de
|asos de Uso
‡ Não existem padrões na indústria ou na
literatura para sua formatação
‡ Deve-se incluir informações que
facilitem a comunicação entre os
clientes e a equipe de desenvolvimento
do sistema
Vormato de Documentação de
|asos de Uso
(Modelo mais usado)
 %| 
 D

 *

 
 "

 /5 
0  
 "-| 
A
 "8| 
A
  /
E  

 
E   
/  
 
 

%  

5F

 
    

 ã $
# 

 
  
 *6



# C
/
 $  
# 

 
   
' 
 G 
  $  
# H

# 
 ã 

# +    
$  
# 
 ã
 - 



#  
  
  
 ã 
 - 



#  
 
  
 ã 
  
 -   
 $  
# 
!  
# 
 I  J
Quando você estiver descrevendo comportamentos semelhantes
entrecasos de uso, mas algum deles faz um pouco mais que o outro.

Exemplo:
Š 
‡ Um caso de uso incorpora explicitamente o
comportamento de outro caso de uso, evitando assim
repetições de descrição de fluxos.
 ã 
 
 -  

E    
   

# 

E 
   BC 
   
 

 

# 8
KK
LL   

 
  
0  
 I  J
Quando houver repetição entre casos de uso e você desejar evitar
esta repetição

Exemplo:
„  
‡ É usado para descrever cenários opcionais de um
caso de uso
± os casos de uso descrevem cenários que sempre
acontecerão no sistema
± os casos de uso estendidos ocorrerão em uma situação
específica
± concentra-se essa seqüência em um caso de uso público

‡ Utiliza o estereótipo UU  para expressar esse


tipo de relacionamento
5  
 I  J
Quando quiser descrever uma variação do comportamento normal.
‡ partes opcionais de casos de uso
‡ cursos alternativos e complexos que raramente ocorrem

Exemplo:
V 


"
:  


 

6 
# *| 
 ã 

È 

 

È    
 
 $


È    

È 

$ 




 "
È 0 

 *
È 0 

 | 
È |   

È |

$  | 
È 
$  
* F
 
"

# | 
 ã 

È 



 A|  
 

È 


|  

   
 

 | 
 "
È 0 

 | 




$

 
È *
   '
 *
 
$  | 
 

 
È * |  
 A

 


      
 + | 
 ã 

È      
 "
È 5 
  
   
 
   
È  +    A
  |   
 
 
È 
  +    

È 
 
 
5 | 
 ã 

È ã

#  
 "
È 0 

 
A  
 
  
E 5

  
 
 
 

F
  
KK
LL
È  
E M KK!  
# 
 LL 
$KK
LL
  
È 0 

 
A  
 
  






È 5
  A 




   

F
KK LL5/| 
A5
*