Sie sind auf Seite 1von 53

Escrevendo Bons

Casos de Uso
Moacyr Cardoso de Mello Filho
Certified IT Specialist p
Capturando requisitos corretamente Capturando requisitos corretamente
Necessidades
Sistema a
do cliente
ser
construdo
Requisitos
d f d
construdo
definidos
Apenas
Esta Esta
Parte
interessa

2
interessa
Capturando requisitos corretamente Capturando requisitos corretamente
Necessidades
Sistema a
do cliente
ser
construdo
Requisitos
d f d
construdo
definidos
Consenso sobre que
osistema dever
f
Consenso em
fazer
comoo sistema
dever fazer

3
O bsico sobre Casos de Uso O bsico sobre Casos de Uso
Ator
Algumoualgumacoisafora Algum ou alguma coisa fora
do sistema interagindo com
ele.
Actor
ele.
Caso de Uso
Actor
Caso de Uso
O que o ator quer que o
sistemafaa
Use Case
sistema faa.

4
O bsico sobre Casos de Uso O bsico sobre Casos de Uso
Use Case Name
Um Caso de Uso define uma sequncia
de aes realizadas pelo sistema
(e pelos atores) que retorna um resultado
b l d l observvel e de valor para o ator.

5
O bsico sobre Casos de Uso O bsico sobre Casos de Uso
Cada Caso de Uso possui:
Objetivo algo de valor para o ator. O caso de uso
Cada Caso de Uso possui:
Objetivo algo de valor para o ator. O caso de uso j g p
descreve aes que o sistema toma para entregar algo de
valor para o ator

j g p
descreve aes que o sistema toma para entregar algo de
valor para o ator
Sequncia um completo e significativo fluxo de eventos
da perspectiva particular de um ator
Sequncia um completo e significativo fluxo de eventos
da perspectiva particular de um ator
Interao O caso de uso modela um dilogo entre o
sistema e os atores
Interao O caso de uso modela um dilogo entre o
sistema e os atores
Sistema Sistema

6
O bsico sobre Casos de Uso O bsico sobre Casos de Uso
Use Case: Escolher Produtos e Fazer Pedido
Brief Description: Este caso de uso descreve como Clientes usam o sistema para
ver ecomprar produtosvenda Podemosencontrar produtosdevriasmaneiras:
Use Case: Escolher Produtos e Fazer Pedido
Brief Description: Este caso de uso descreve como Clientes usam o sistema para
ver ecomprar produtosvenda Podemosencontrar produtosdevriasmaneiras: ver e comprar produtos venda. Podemos encontrar produtos de vrias maneiras:
folheando, consultando por tipo de produto, por fabricante ou usando palavras chave .
Basic Flow
ver e comprar produtos venda. Podemos encontrar produtos de vrias maneiras:
folheando, consultando por tipo de produto, por fabricante ou usando palavras chave .
Basic Flow
1. Selecionar Produtos. O cliente O sistema
2. Escolher Produto. O cliente O sistema
3. Definir Forma de Pagamento. O cliente O sistema
4 Definir Forma de Envio ???
1. Selecionar Produtos. O cliente O sistema
2. Escolher Produto. O cliente O sistema
3. Definir Forma de Pagamento. O cliente O sistema
4 Definir Forma de Envio ??? 4. Definir Forma de Envio. ???
5. Confirmar Pedido. O cliente O sistema
Alternate Flow
A1 Procura por Palavra Chave Osistema Ocliente
4. Definir Forma de Envio. ???
5. Confirmar Pedido. O cliente O sistema
Alternate Flow
A1 Procura por Palavra Chave Osistema Ocliente
Identified
A1 Procura por Palavra Chave. O sistema O cliente
A2 Nenhum Produto Selecionado. O sistema
A3 Produto Fora de Estoque. O sistema
A4 Forma de Pagamento Rejeitada. O sistema ..
A1 Procura por Palavra Chave. O sistema O cliente
A2 Nenhum Produto Selecionado. O sistema
A3 Produto Fora de Estoque. O sistema
A4 Forma de Pagamento Rejeitada. O sistema ..
Outlined
A5 Forma de Envio Rejeitada. O sistema
A6 Pedido Sujeito a Demora. O sistema O cliente

A5 Forma de Envio Rejeitada. O sistema


A6 Pedido Sujeito a Demora. O sistema O cliente

Detailed

7
O bsico sobre Casos de Uso O bsico sobre Casos de Uso
Use Case Model Survey Use Case Model Survey Use Case Specifications Use Case Specifications
O que osistemadeverfazer O que osistemadeverfazer Como osistemadeverfaz lo Como osistemadeverfaz lo
Introduo ao modelo
D i Si tti (S )
Introduo ao modelo
D i Si tti (S )
Brief Description
Fl f E t
Brief Description
Fl f E t
O que o sistema dever fazer O que o sistema dever fazer Como o sistema dever faz-lo Como o sistema dever faz-lo
Descrio Sinttica (Survey)
Breve descrio de Atores
BrevedescriodeCasosde
Descrio Sinttica (Survey)
Breve descrio de Atores
BrevedescriodeCasosde
Flow of Events
Pre/Post Conditions
S i l R i t
Flow of Events
Pre/Post Conditions
S i l R i t
Breve descrio de Casos de
Uso
Breve descrio de Casos de
Uso
Special Requirements
Extension Points
diagramas desenhos fotos etc
Special Requirements
Extension Points
diagramas desenhos fotos etc

8
diagramas, desenhos, fotos, etc diagramas, desenhos, fotos, etc
O bsico sobre Casos de Uso O bsico sobre Casos de Uso
Requisitos no ciclo de vida do projeto Requisitos no ciclo de vida do projeto
A i i A i i A maioria
identificada e
esboada
A maioria
identificada e
esboada
A maioria
detalhada
(80%)
A maioria
detalhada
(80%)
Atividades
esboada
(80%)
esboada
(80%)
(80%) (80%)
Identified
Atividades individuais
Atividades
Em
grupo
Outlined
grupo
Detailed
Incio
projeto
Fim
projeto

9
Objetivos Objetivos
Compartilhar algumas dicas e conselhos em como
escrever Casos de Uso
Compartilhar algumas dicas e conselhos em como
escrever Casos de Uso
Compartilhar abordagens para situaes tpicas
Contexto
Compartilhar abordagens para situaes tpicas
Contexto Contexto
Problema e consequncias
P i l
Contexto
Problema e consequncias
P i l Possveis solues
Dicas
Possveis solues
Dicas
Exemplos
Premissa:
Exemplos
Premissa: Premissa:
Vocs j tiveram algum contato com Casos de Uso
Premissa:
Vocs j tiveram algum contato com Casos de Uso

10
Agenda Agenda
Situaes padro encontradas no uso da tcnica
Padro #1: O que um Caso de Uso ??
Situaes padro encontradas no uso da tcnica
Padro #1: O que um Caso de Uso ?? q
Padro #2: Abusando de Casos de Uso
Padro#3: AumentandoCasosdeUso
q
Padro #2: Abusando de Casos de Uso
Padro#3: AumentandoCasosdeUso Padro #3: Aumentando Casos de Uso
Padro #4: Desviando Casos de Uso
P d #5 R b d d C d U
Padro #3: Aumentando Casos de Uso
Padro #4: Desviando Casos de Uso
P d #5 R b d d C d U Padro #5: Reabusando de Casos de Uso
Usando Casos de Uso
Padro #5: Reabusando de Casos de Uso
Usando Casos de Uso
Bons Casos de Uso Bons Casos de Uso

11
Padro Padro
#1
O que um Caso de Uso?? O que um Caso de Uso?? qq
D b t d t d C d U D b t d t d C d U Debatendo a natureza dos Casos de Uso. Debatendo a natureza dos Casos de Uso.

12
O que um Caso de Uso? Problema O que um Caso de Uso? Problema
Contexto
Cliente ou equipe so
Contexto
Cliente ou equipe so q p
relativamente novas no uso
da tcnica
q p
relativamente novas no uso
da tcnica
Problema
Conceitosdiferenteslevama
Problema
Conceitosdiferenteslevama Conceitos diferentes levam a
debates entre o cliente e a
equipe de projeto
Conceitos diferentes levam a
debates entre o cliente e a
equipe de projeto
Pior quando especialistas,
esto presentes
Pior quando especialistas,
esto presentes Na UML, qualquer Na UML, qualquer
coisa abstrata
escrita em itlico
coisa abstrata
escrita em itlico

13
O que um Caso de Uso? Exemplo O que um Caso de Uso? Exemplo
O que voc est debatendo? O que voc est debatendo?
sobre o
problema?
sobre o
problema?
No estou certo de
como deveria tratar
No estou certo de
como deveria tratar
1
problema? problema?
sobre sobre
este fluxo alternativo! este fluxo alternativo!
Ele identificou
C d U t
Ele identificou
C d U t
2
3
metodologia? metodologia?
Casos de Uso antes
de identificar atores!
Casos de Uso antes
de identificar atores!
A validao deve ser
colocada num Include
Use Case, para
A validao deve ser
colocada num Include
Use Case, para
3
Use Case, para
compartilhamento!
Use Case, para
compartilhamento!
Este passo deveria
ocorrer antes
Este passo deveria
ocorrer antes
4
5
ocorrer antes
daquele!
ocorrer antes
daquele!
Voc no deve usar
flechas no diagrama!
Voc no deve usar
flechas no diagrama!
5

14
O que um Caso de Uso? Soluo O que um Caso de Uso? Soluo
Soluo
Obter ajuda
Soluo
Obter ajuda j
Dependente do ciclo de vida do projeto
j
Dependente do ciclo de vida do projeto
Aindaso Aindaso
IBM Rational Mentoring IBM Rational Mentoring
Existem outras coisas
comsepreocupar
Existem outras coisas
comsepreocupar
Ainda so
teis
mentoring e
Ainda so
teis
mentoring e
gg
0%
com se preocupar com se preocupar
workshops workshops
100%
~20% Casos de Uso so
usadosparafechar
Casos de Uso so
usadosparafechar
Tempo de projeto Tempo de projeto
usados para fechar
escopo do projeto
antes do projeto
i i i
usados para fechar
escopo do projeto
antes do projeto
i i i

15
iniciar iniciar
O que um Caso de Uso? Dicas O que um Caso de Uso? Dicas
Dicas
Casos de Uso so principalmente texto
Dicas
Casos de Uso so principalmente texto p p
No trabalhe apenas com o Diagrama de Casos de Uso
Faa uma mini-iterao ao incio do projeto
p p
No trabalhe apenas com o Diagrama de Casos de Uso
Faa uma mini-iterao ao incio do projeto
Rational mentor Rational mentor
para gerar um executvel
Avalie a utilidade do Caso de Uso (anlise, design e teste)
E t j b t i li d
para gerar um executvel
Avalie a utilidade do Caso de Uso (anlise, design e teste)
E t j b t i li d Esteja aberto para revises na aplicao da
tcnica, ento crie um guia de orientao
P i i i l t
Esteja aberto para revises na aplicao da
tcnica, ento crie um guia de orientao
P i i i l t Perseverana necessria, principalmente
durante o cos inicial de um projeto
Facilitadores/ mentoresdevemproduzir resultados
Perseverana necessria, principalmente
durante o cos inicial de um projeto
Facilitadores/ mentoresdevemproduzir resultados Facilitadores/ mentores devem produzir resultados
observveis j na primeira semana
Facilitadores/ mentores devem produzir resultados
observveis j na primeira semana

16
Padro Padro
#2
Abusando de Casos de Uso Abusando de Casos de Uso
CaandoCasosdeUso CaandoCasosdeUso Caando Casos de Uso Caando Casos de Uso

17
Abusando de Casos de Uso Problema Abusando de Casos de Uso Problema
Contexto
Decomposio Funcional
Contexto
Decomposio Funcional p
Quebra da funcionalidade do sistema em pequenas partes,
isoladas entre s
p
Quebra da funcionalidade do sistema em pequenas partes,
isoladas entre s
As partes trabalham juntas para fornecer a funcionalidade desejada do sistema
Mas, frequentemente no fazem sentido isoladamente.
M it C d U
As partes trabalham juntas para fornecer a funcionalidade desejada do sistema
Mas, frequentemente no fazem sentido isoladamente.
M it C d U Muitos Casos de Uso
Problema
Muitos Casos de Uso
Problema
Dificuldade de entendimento do fluxo, especialmente dos
fluxos alternativos
Dificuldade de entendimento do fluxo, especialmente dos
fluxos alternativos
Dificuldade para avaliar a completude da especificao Dificuldade para avaliar a completude da especificao

18
Abusando de Casos de Uso Exemplo Abusando de Casos de Uso Exemplo
Casos de Uso
f
Casos de Uso
f
Login
no so funes
(nem passos de
no so funes
(nem passos de
Procura Produto
alguma funo) alguma funo)
Adiciona ao Carrinho
Cliente
Verifica os Itens escolhidos
Como voc verificaria o
Caso de Uso Faz
Como voc verificaria o
Caso de Uso Faz
Faz Pagamento
Pagamento, sem os demais? Pagamento, sem os demais?

19
Abusando de Casos de Uso Exemplo Abusando de Casos de Uso Exemplo
A A
Login
A vem o
especialista
A vem o
especialista
Login
<<include>>
Procura Produto
<<include>>
<<include>>
Cliente
Escolhe Produto e
Faz pedido
Adiciona ao
Carrinho
<<include>>
Verifica os Itens escolhidos
<<include>>
Trabalhe sobre a Especificao de
Casos de Uso e no somente sobre o
diagrama
Trabalhe sobre a Especificao de
Casos de Uso e no somente sobre o
diagrama

20
Faz Pagamento
diagrama. diagrama.
Abusando de Casos de Uso Exemplo Abusando de Casos de Uso Exemplo
Casos de Uso no
sofluxosdedados
Casos de Uso no
sofluxosdedados
Entrada do Pedido
Atendente
so fluxos de dados,
nem design
so fluxos de dados,
nem design
Notificao do
Importao de Pedidos
Processamento
do Pedido

Cliente
Notificao ao
Email
Qual Caso de Uso valida o pedido?
Qual CasodeUsomostraumerro?
Qual Caso de Uso valida o pedido?
Qual CasodeUsomostraumerro?
Notificao ao
Gerente de Vendas
Qual Caso de Uso mostra um erro?
Trabalhe sobre a Especificao de Casos
de Uso, no somente com o diagrama.
Qual Caso de Uso mostra um erro?
Trabalhe sobre a Especificao de Casos
de Uso, no somente com o diagrama.

21
Abusando de Casos de Uso Exemplo Abusando de Casos de Uso Exemplo
Novo Pedido
Novo Item
Casos de Uso

Casos de Uso

Remover Item
Gesto de
Pedidos
Novo Item
Alterar Pedido
no so
navegao de
no so
navegao de
Remover Item
Novo Cliente
telas telas
Gerente de Vendas
Gesto de
Clientes
Alterar Cliente
Alterar Endereo
Relatrio Semanal
Quais so os passos
paraGestode
Quais so os passos
paraGestode
Relatrio Mensal
Relatrios
para Gesto de
Pedidos?
para Gesto de
Pedidos?

22
Lista de Clientes
Abusando de Casos de Uso Problema Abusando de Casos de Uso Problema
Razes
Analistas tiveram experincia como desenvolvedores
Razes
Analistas tiveram experincia como desenvolvedores p
Usurios tm experincia com fluxo de dados
Transposiodiretadeumalistaderequisitos
p
Usurios tm experincia com fluxo de dados
Transposiodiretadeumalistaderequisitos Transposio direta de uma lista de requisitos
Tentativa de aplicar a tcnica usando somente o diagrama de
casosdeusosemconsiderar asespecificaestextuaisde
Transposio direta de uma lista de requisitos
Tentativa de aplicar a tcnica usando somente o diagrama de
casosdeusosemconsiderar asespecificaestextuaisde casos de uso sem considerar as especificaes textuais de
cada caso de uso
casos de uso sem considerar as especificaes textuais de
cada caso de uso

23
Abusando de Casos de Uso Soluo Abusando de Casos de Uso Soluo
Soluo
Quando na identificao de Casos de Uso,
Soluo
Quando na identificao de Casos de Uso, ,
esboar rapidamente os passos dos fluxo
bsico e os fluxos alternativos
,
esboar rapidamente os passos dos fluxo
bsico e os fluxos alternativos Rational mentor Rational mentor
Quando os fluxos de eventos parecerem
similares, junte os Casos de Uso
P i il
Quando os fluxos de eventos parecerem
similares, junte os Casos de Uso
P i il Passos similares
Dados manipulados similares
Passos similares
Dados manipulados similares

24
Abusando de Casos de Uso Dicas Abusando de Casos de Uso Dicas
Dicas
Quando em dvida, junte os Casos de Uso
Dicas
Quando em dvida, junte os Casos de Uso , j
mais fcil dividir do que juntar
Podedividir senecessrio maistarde
, j
mais fcil dividir do que juntar
Podedividir senecessrio maistarde
Rational mentor Rational mentor
Pode dividir, se necessrio, mais tarde
Tambm conhecido como Estruturar o Modelo de Casos de Uso (Structure
Use Case Model)
Pode dividir, se necessrio, mais tarde
Tambm conhecido como Estruturar o Modelo de Casos de Uso (Structure
Use Case Model)
Equilbrio, no junte demasiado
Quando orientando
Equilbrio, no junte demasiado
Quando orientando Q
Compreenso pelo cliente chave
Estejaatentoparaasdatasdeprojeto
Q
Compreenso pelo cliente chave
Estejaatentoparaasdatasdeprojeto Esteja atento para as datas de projeto
O progresso do projeto tambm chave
Esteja atento para as datas de projeto
O progresso do projeto tambm chave

25
Padro Padro
#3
Aumentando Casos de Uso Aumentando Casos de Uso
Vagarosamente passoapasso pelofluxobsico Vagarosamente passoapasso pelofluxobsico Vagarosamente, passo a passo, pelo fluxo bsico Vagarosamente, passo a passo, pelo fluxo bsico

26
Aumentando Casos de Uso Problema Aumentando Casos de Uso Problema
Contexto
Muitos passos num fluxo, principalmente no fluxo bsico
Contexto
Muitos passos num fluxo, principalmente no fluxo bsico p , p p
Problema
LongocaminhoparaoAtor paraexecutar seuobjetivo
p , p p
Problema
LongocaminhoparaoAtor paraexecutar seuobjetivo Longo caminho para o Ator para executar seu objetivo
O cliente se cansa aps ler logo os primeiros passos, ento
pradeler oresto
Longo caminho para o Ator para executar seu objetivo
O cliente se cansa aps ler logo os primeiros passos, ento
pradeler oresto pra de ler o resto
Consequncia
pra de ler o resto
Consequncia
Qual a utilidade de uma especificao de requisitos se o
cliente no a l?
Qual a utilidade de uma especificao de requisitos se o
cliente no a l?

27
Aumentando Casos de Uso Exemplo Aumentando Casos de Uso Exemplo
Verso A
1. O sistema pede o nome do produto
2. O usurio entra o nome do produto
Verso A
1. O sistema pede o nome do produto
2. O usurio entra o nome do produto
Sintetize passos
t
Sintetize passos
t
3. O sistema solicita palavras chave para o produto
4. O usurio entra palavras chave para o produto
5. O usurio submete a consulta do produto
6 O i t t d t lh d d t
3. O sistema solicita palavras chave para o produto
4. O usurio entra palavras chave para o produto
5. O usurio submete a consulta do produto
6 O i t t d t lh d d t
em transaes em transaes
6. O sistema apresenta os detalhes do produto
7.
V B
6. O sistema apresenta os detalhes do produto
7.
V B Verso B
1. Escolhe Produto. O cliente entra o nome do produto e palavras chave. O sistema recupera e
mostra os detalhes do produto.
Verso B
1. Escolhe Produto. O cliente entra o nome do produto e palavras chave. O sistema recupera e
mostra os detalhes do produto.
Verso C
1. Escolhe Produto.
Verso C
1. Escolhe Produto. 1. Escolhe Produto.
1. O cliente entra o nome do produto e palavras chave.
2. O sistema recupera e mostra detalhes do produto.
1. Escolhe Produto.
1. O cliente entra o nome do produto e palavras chave.
2. O sistema recupera e mostra detalhes do produto.

28
Aumentando Casos de Uso Exemplo Aumentando Casos de Uso Exemplo
Verso A: Escolhe Produto e Faz Pedido
1. Osistemasolicitaacategoriadoproduto.
Verso A: Escolhe Produto e Faz Pedido
1. Osistemasolicitaacategoriadoproduto. 1. O sistema solicita a categoria do produto.
2. O usurio entra a categoria do produto.
3. O sistema recupera e mostra as sub-categorias do produto, indicando o cdigo de cada sub-
categoria e a sub-categoria.
4 O i t li it b t i d d t d j d
1. O sistema solicita a categoria do produto.
2. O usurio entra a categoria do produto.
3. O sistema recupera e mostra as sub-categorias do produto, indicando o cdigo de cada sub-
categoria e a sub-categoria.
4 O i t li it b t i d d t d j d 4. O sistema solicita a sub-categoria do produto desejado.
5. O usurio entra o cdigo da sub-categoria do produto.
6. O sistema recupera e mostra a lista de tipos de produto para a sub-categoria, mostrando o cdigo do
tipo de produto, o nome do tipo produto e a descrio do tipo de produto.
4. O sistema solicita a sub-categoria do produto desejado.
5. O usurio entra o cdigo da sub-categoria do produto.
6. O sistema recupera e mostra a lista de tipos de produto para a sub-categoria, mostrando o cdigo do
tipo de produto, o nome do tipo produto e a descrio do tipo de produto. p p , p p p p
7. O sistema solicita o tipo de produto.
8. O usurio entra o cdigo do tipo de produto.
9. O sistema recupera e mostra a lista de produtos para o determinado tipo de produto escolhido,
mostraocdigodoproduto onomedoproduto adescriodoprodutoeadisponibilidadedo
p p , p p p p
7. O sistema solicita o tipo de produto.
8. O usurio entra o cdigo do tipo de produto.
9. O sistema recupera e mostra a lista de produtos para o determinado tipo de produto escolhido,
mostraocdigodoproduto onomedoproduto adescriodoprodutoeadisponibilidadedo mostra o cdigo do produto, o nome do produto, a descrio do produto e a disponibilidade do
produto.
10.
mostra o cdigo do produto, o nome do produto, a descrio do produto e a disponibilidade do
produto.
10.
Ainda estamos muito
longe de fazer a compra!
Ainda estamos muito
longe de fazer a compra!

29
longe de fazer a compra! longe de fazer a compra!
Aumentando Casos de Uso Exemplo Aumentando Casos de Uso Exemplo
Verso B: Escolhe Produto e Faz Pedido
1. Selecionar Categoria do Produto. Ousurioentraacategoriadoproduto. Osistemarecuperae
Verso B: Escolhe Produto e Faz Pedido
1. Selecionar Categoria do Produto. Ousurioentraacategoriadoproduto. Osistemarecuperae 1. Selecionar Categoria do Produto. O usurio entra a categoria do produto. O sistema recupera e
mostra as sub-categorias do produto, mostrando o cdigo da sub-categoria e o nome da sub-
categoria.
2. Selecionar Sub-categoria do Produto. O usurio entra o cdigo da sub-categoria do produto.O
sistemarecuperaemostraalistadetiposdeprodutoparaasub-categoria mostrandoocdigodo
1. Selecionar Categoria do Produto. O usurio entra a categoria do produto. O sistema recupera e
mostra as sub-categorias do produto, mostrando o cdigo da sub-categoria e o nome da sub-
categoria.
2. Selecionar Sub-categoria do Produto. O usurio entra o cdigo da sub-categoria do produto.O
sistemarecuperaemostraalistadetiposdeprodutoparaasub-categoria mostrandoocdigodo sistema recupera e mostra a lista de tipos de produto para a sub categoria, mostrando o cdigo do
tipo de produto, o nome do tipo de produto e a descrio.
3. Selecionar Tipo do Produto. O usurio entra o cdigo do tipo de produto. O sistema recupera e
mostra a lista de produtos para o tipo de produto escolhido, mostrando o cdigo do produto, o nome
doproduto adescrioeadisponibilidadedoproduto
sistema recupera e mostra a lista de tipos de produto para a sub categoria, mostrando o cdigo do
tipo de produto, o nome do tipo de produto e a descrio.
3. Selecionar Tipo do Produto. O usurio entra o cdigo do tipo de produto. O sistema recupera e
mostra a lista de produtos para o tipo de produto escolhido, mostrando o cdigo do produto, o nome
doproduto adescrioeadisponibilidadedoproduto do produto, a descrio e a disponibilidade do produto.
4.
do produto, a descrio e a disponibilidade do produto.
4.
Q i d Q i d Quais as grandes operaes
desse fluxo?
Quais as grandes operaes
desse fluxo?

30
desse fluxo? desse fluxo?
Aumentando Casos de Uso Exemplo Aumentando Casos de Uso Exemplo
V C E lh P d t F P did V C E lh P d t F P did Verso C: Escolhe Produto e Faz Pedido
1. Selecionar Produto
Verso C: Escolhe Produto e Faz Pedido
1. Selecionar Produto
1. Selecionar Categoria do Produto. O usurio .
2. Selecionar Sub-categoria do Produto. O usurio .
3. Selecionar Tipo de Produto. O usurio .
4. Selecionar Produto. O usurio .
1. Selecionar Categoria do Produto. O usurio .
2. Selecionar Sub-categoria do Produto. O usurio .
3. Selecionar Tipo de Produto. O usurio .
4. Selecionar Produto. O usurio .
5. Adicionar ao Carrinho de Compras. O usurio .
2. Verificar Itens Escolhidos
1. Mostra a Lista de Compras Selecionada. O usurio solicita o fechamento de sua lista .
2 Mostra as Formas de Pagamento e Envio Ousurio
5. Adicionar ao Carrinho de Compras. O usurio .
2. Verificar Itens Escolhidos
1. Mostra a Lista de Compras Selecionada. O usurio solicita o fechamento de sua lista .
2 Mostra as Formas de Pagamento e Envio Ousurio 2. Mostra as Formas de Pagamento e Envio. O usurio .
3. Totalizao e Confirmao do Pedido. O usurio .
3. Fazer Pagamento
1. Selecionar Forma de Pagamento. O usurio .
2 C fi d P t O i
2. Mostra as Formas de Pagamento e Envio. O usurio .
3. Totalizao e Confirmao do Pedido. O usurio .
3. Fazer Pagamento
1. Selecionar Forma de Pagamento. O usurio .
2 C fi d P t O i 2. Confirmao do Pagamento. O usurio . 2. Confirmao do Pagamento. O usurio .

31
Aumentando Casos de Uso Dicas Aumentando Casos de Uso Dicas
Dicas
Storyboards de Casos de Uso
Dicas
Storyboards de Casos de Uso y
Cada tela poder fornecer uma indicao de transao
Precisamos capturar requisitos de interface de usurio (UI)
MAS nocoloquedetalhesdeUI nasEspecificaesdeCaso
y
Cada tela poder fornecer uma indicao de transao
Precisamos capturar requisitos de interface de usurio (UI)
MAS nocoloquedetalhesdeUI nasEspecificaesdeCaso
Rational mentor Rational mentor
MAS, no coloque detalhes de UI nas Especificaes de Caso
de Uso a menos que deseje que se transformem em
requisitos
Al id t fl j d l it
MAS, no coloque detalhes de UI nas Especificaes de Caso
de Uso a menos que deseje que se transformem em
requisitos
Al id t fl j d l it Alguma identao no fluxo ajuda na leitura
Mas no exagere!
Escolhaumestiloquefuncioneparaaequipe
Alguma identao no fluxo ajuda na leitura
Mas no exagere!
Escolhaumestiloquefuncioneparaaequipe Escolha um estilo que funcione para a equipe
Seja consistente
Escolha um estilo que funcione para a equipe
Seja consistente

32
Padro Padro
#4
Desviando os Casos de Uso Desviando os Casos de Uso
Descobrindoqueexistemfluxosalternativos Descobrindoqueexistemfluxosalternativos Descobrindo que existem fluxos alternativos Descobrindo que existem fluxos alternativos

33
Desviando os Casos de Uso Problema Desviando os Casos de Uso Problema
Contexto
Muitos fluxos alternativos
Contexto
Muitos fluxos alternativos
60% - 80% so variantes, alternativas, excees
Problema
60% - 80% so variantes, alternativas, excees
Problema Problema
Dificuldade em rastrear os Cenrios
Problema
Dificuldade em rastrear os Cenrios
Consequncia
Os leitores se perdem
Consequncia
Os leitores se perdem p
Soluo
Agrupamentodefluxosalternativos
p
Soluo
Agrupamentodefluxosalternativos Agrupamento de fluxos alternativos
Pr-Condies
Agrupamento de fluxos alternativos
Pr-Condies

34
Desviando os Casos de Uso Problema Desviando os Casos de Uso Problema
Fluxos alternativos que s fazem volume
A qualquer tempo o cliente pode sair (quit)
Fluxos alternativos que s fazem volume
A qualquer tempo o cliente pode sair (quit) q q p p (q )
A qualquer tempo o cliente pode cancelar a solicitao
Seaconexoterminar por timeout oCasodeUsotermina
q q p p (q )
A qualquer tempo o cliente pode cancelar a solicitao
Seaconexoterminar por timeout oCasodeUsotermina Se a conexo terminar por timeout o Caso de Uso termina
Se o database ficar for a do ar o sistema mostrar tela azul, o
clientenecessitachamar osuporte
Se a conexo terminar por timeout o Caso de Uso termina
Se o database ficar for a do ar o sistema mostrar tela azul, o
clientenecessitachamar osuporte cliente necessita chamar o suporte cliente necessita chamar o suporte

35
Desviando os Casos de Uso Exemplo Desviando os Casos de Uso Exemplo
Verso A: Solicitao de Servio Tcnico
Fluxos Alternativos
Verso A: Solicitao de Servio Tcnico
Fluxos Alternativos
A1 Se no passo 1.1 do Fluxo Bsico, houver qualquer campo
no preenchido o Caso de Uso termina
A2 Senopasso12doFluxoBsico oaparelhoefabricanteno
A1 Se no passo 1.1 do Fluxo Bsico, houver qualquer campo
no preenchido o Caso de Uso termina
A2 Senopasso12doFluxoBsico oaparelhoefabricanteno A2 Se no passo 1.2 do Fluxo Bsico, o aparelho e fabricante no
so vlidos o Caso de Uso termina
A3 Se no passo 1.3 do Fluxo Bsico, o nmero serial no estiver
nodatabasedeinventrio oCasodeUsotermina
A2 Se no passo 1.2 do Fluxo Bsico, o aparelho e fabricante no
so vlidos o Caso de Uso termina
A3 Se no passo 1.3 do Fluxo Bsico, o nmero serial no estiver
nodatabasedeinventrio oCasodeUsotermina no database de inventrio, o Caso de Uso termina
A4 Se no passo 1.4 do Fluxo Bsico, no h dias insuficientes no
contrato o Caso de Uso termina
no database de inventrio, o Caso de Uso termina
A4 Se no passo 1.4 do Fluxo Bsico, no h dias insuficientes no
contrato o Caso de Uso termina
A5 Se no passo 1.5 do Fluxo Bsico, o solicitante no est em
dia com o contrato de manuteno o Caso de Uso termina
A5 Se no passo 1.5 do Fluxo Bsico, o solicitante no est em
dia com o contrato de manuteno o Caso de Uso termina

36
Desviando os Casos de Uso Soluo Desviando os Casos de Uso Soluo
Verso B: Solicitao de Servio Tcnico
Fluxos Alternativos
Verso B: Solicitao de Servio Tcnico
Fluxos Alternativos
A1 Solicitaes Invlidas
A1.1Se no passo 1.1 do Fluxo Bsico, houver qualquer campo no preenchido o Caso de Uso termina
A12Senopasso12doFluxoBsico oaparelhoefabricantenosovlidosoCasodeUsotermina
A1 Solicitaes Invlidas
A1.1Se no passo 1.1 do Fluxo Bsico, houver qualquer campo no preenchido o Caso de Uso termina
A12Senopasso12doFluxoBsico oaparelhoefabricantenosovlidosoCasodeUsotermina A1.2Se no passo 1.2 do Fluxo Bsico, o aparelho e fabricante no so vlidos o Caso de Uso termina
A1.3Se no passo 1.3 do Fluxo Bsico, o nmero serial no estiver no inventrio, o Caso de Uso termina
A1.4Se no passo 1.4 do Fluxo Bsico, no h dias insuficientes no contrato o Caso de Uso termina
A1.5Se no passo 1.5 do Fluxo Bsico, o solicitante no est em dia com o contrato o Caso de Uso termina
A1.2Se no passo 1.2 do Fluxo Bsico, o aparelho e fabricante no so vlidos o Caso de Uso termina
A1.3Se no passo 1.3 do Fluxo Bsico, o nmero serial no estiver no inventrio, o Caso de Uso termina
A1.4Se no passo 1.4 do Fluxo Bsico, no h dias insuficientes no contrato o Caso de Uso termina
A1.5Se no passo 1.5 do Fluxo Bsico, o solicitante no est em dia com o contrato o Caso de Uso termina p
A2 No H Tcnicos Disponveis
A2.1..
p
A2 No H Tcnicos Disponveis
A2.1..

37
Desviando os Casos de Uso Soluo Desviando os Casos de Uso Soluo
Verso C: Solicitao de Servio Tcnico
Pr-Condies
Verso C: Solicitao de Servio Tcnico
Pr-Condies
O cliente tem dias suficientes no contrato
O cliente est em dia com o pagamento do contrato

O cliente tem dias suficientes no contrato


O cliente est em dia com o pagamento do contrato p g
Fluxo de Eventos
Fluxo Bsico
p g
Fluxo de Eventos
Fluxo Bsico

38
Padro Padro
#5
Reabusando de Casos de Uso Reabusando de Casos de Uso
Repetindofluxos! Repetindofluxos! Repetindo fluxos! Repetindo fluxos!

39
Reabusando de Casos de Uso Problem Reabusando de Casos de Uso Problem
Contexto
Alguns fluxos so repetitivos
Contexto
Alguns fluxos so repetitivos g p
Alguns fluxos no tm importncia para visualizar o negcio
Problema
g p
Alguns fluxos no tm importncia para visualizar o negcio
Problema Problema
Ao deix-los no fluxo bsico eles se tornam confusos
Problema
Ao deix-los no fluxo bsico eles se tornam confusos
Consequncia
Os leitores se perdem
Consequncia
Os leitores se perdem p
Alteraes em muitos lugares
Soluo
p
Alteraes em muitos lugares
Soluo Soluo
Sub-Fluxos, Incluso (Include Use Case)
Soluo
Sub-Fluxos, Incluso (Include Use Case)

40
Reabusando de Casos de Uso Exemplo Reabusando de Casos de Uso Exemplo
V A S li it d S i T i V A S li it d S i T i Verso A: Solicitao de Servio Tcnico
Fluxo de Eventos
Fl B i
Verso A: Solicitao de Servio Tcnico
Fluxo de Eventos
Fl B i Fluxo Bsico
Submeter Solicitao de Servio
Entrar Detalhes da Solicitao. O usurio
V lid A lh O i t lid lh ifi d ti f b i t
Fluxo Bsico
Submeter Solicitao de Servio
Entrar Detalhes da Solicitao. O usurio
V lid A lh O i t lid lh ifi d ti f b i t Validar Aparelho. O sistema valida aparelho, verificando tipo e fabricante
Validar Nmero de Srie.
..
Fluxos Alternativos
Validar Aparelho. O sistema valida aparelho, verificando tipo e fabricante
Validar Nmero de Srie.
..
Fluxos Alternativos Fluxos Alternativos
A1 Aparelho Invlido
Sub Fluxo
Fluxos Alternativos
A1 Aparelho Invlido
Sub Fluxo
S1 valida aparelho
1. Validar Tipo e Fabricante. O sistema verifica se o tipo e o fabricante do aparelho so elementos
vlidos no inventrio de aparelhos suportados.
2 Validar Nmero Serial Osistemaverificaseonmeroserial fornecidoidentificacorretamenteo
S1 valida aparelho
1. Validar Tipo e Fabricante. O sistema verifica se o tipo e o fabricante do aparelho so elementos
vlidos no inventrio de aparelhos suportados.
2 Validar Nmero Serial Osistemaverificaseonmeroserial fornecidoidentificacorretamenteo 2. Validar Nmero Serial. O sistema verifica se o nmero serial fornecido identifica corretamente o
cliente e o aparelho no database de inventrio.
3. Retorno. O Caso de Uso retorna no prximo passo.
2. Validar Nmero Serial. O sistema verifica se o nmero serial fornecido identifica corretamente o
cliente e o aparelho no database de inventrio.
3. Retorno. O Caso de Uso retorna no prximo passo.

41
Reabusando de Casos de Uso Soluo Reabusando de Casos de Uso Soluo
Especificao de Caso de Uso

Especificao de Caso de Uso

Rational mentor Rational mentor
Fluxo de Eventos
Fluxo Bsico
Fluxo de Eventos
Fluxo Bsico
V rapidamente at o objetivo do
At t d l d t lh
V rapidamente at o objetivo do
At t d l d t lh
1
1
Fluxos Alternativos
A1
1
Fluxos Alternativos
A1
Ator antes de colocar detalhes Ator antes de colocar detalhes
Explore alternativas e aes
corretivas
Explore alternativas e aes
corretivas
2
A1
Sub Fluxos
S1
PC di
A1
Sub Fluxos
S1
PC di
corretivas corretivas
Simplifique movendo fragmentos
para sub-fluxos
Simplifique movendo fragmentos
para sub-fluxos
3
Pr Condies
Ps Condies

Pr Condies
Ps Condies

4
Simplifique alternativos
com pr-condies
Simplifique alternativos
com pr-condies

42

Reabusando de Casos de Uso Soluo Reabusando de Casos de Uso Soluo
include
Especificao de Caso de Uso

Especificao de Caso de Uso

Rational mentor Rational mentor

Include Use Case


Fluxo de Eventos
Fluxo Bsico
Fluxo de Eventos
Fluxo Bsico
Fluxo de Eventos
Fluxo Bsico
1
1
Fluxos Alternativos
A1
1
Fluxos Alternativos
A1
1
Fluxos Alternativos
A1
S bFl
A1
Sub Fluxos
S1
PC di
A1
Sub Fluxos
S1
PC di
Sub Fluxos
S1
Pr Condies
Ps Condies

Pr Condies
Ps Condies

43

Reabusando de Casos de Uso Dicas Reabusando de Casos de Uso Dicas
include
Rational mentor Rational mentor
Caso de Uso Caso de Uso
Caso de Uso de Incluso
C id d d i f i l C id d d i f i l Cuidado com a decomposio funcional
Praticantes avanados trabalhando em grandes
i t
Cuidado com a decomposio funcional
Praticantes avanados trabalhando em grandes
i t sistemas
Iniciantes devem permanecer com o Bsico,
Alt ti S b fl
sistemas
Iniciantes devem permanecer com o Bsico,
Alt ti S b fl Alternativos e Sub-fluxos Alternativos e Sub-fluxos

44
Usando Casos de Uso Usando Casos de Uso
Resumindo Resumindo Resumindo Resumindo

45
Usando Casos de Uso - Dicas Usando Casos de Uso - Dicas
Identificar Casos de Uso Identificar Casos de Uso
Identificado
Esboado
Lista das tarefas e Lista das tarefas e
A t f A t f
Detalhado
objetivos dos
Atores
objetivos dos
Atores
Agrupar tarefas em
Casos de Uso
Agrupar tarefas em
Casos de Uso
Lista de Atores Lista de Atores
Descrever comoAtorese Descrever comoAtorese

46
Descrever como Atores e
Casos de Uso Interagem
Descrever como Atores e
Casos de Uso Interagem
Usando Casos de Uso - Dicas Usando Casos de Uso - Dicas
Esboar Casos de Uso Esboar Casos de Uso
Identificado
Tome um Caso de Uso Tome um Caso de Uso
Esboado Esclarea tarefa e objetivo
Li t d i i
Esclarea tarefa e objetivo
Li t d i i
Detalhado
Liste os passos do incio
at atingir o objetivo
Liste os passos do incio
at atingir o objetivo
Para cada passo explore
qualquer fluxo alternativo
Para cada passo explore
qualquer fluxo alternativo

47
Usando Casos de Uso - Dicas Usando Casos de Uso - Dicas
FluxosBsicoseFluxos FluxosBsicoseFluxos
StoryboardsparaCasosdeUso StoryboardsparaCasosdeUso
Esboar Casos de Uso Esboar Casos de Uso
Fluxos Bsicos e Fluxos
Alternativos
Fluxos Bsicos e Fluxos
Alternativos
Storyboards para Casos de Uso Storyboards para Casos de Uso
Explore e priorize variaes Explore e priorize variaes
Listecontedoeaes Listecontedoeaes
Aes do sistema (validao, notificao)
Trabalhe com os alternativos
(nemtudovisvel datela)
Aes do sistema (validao, notificao)
Trabalhe com os alternativos
(nemtudovisvel datela)
Liste contedo e aes
Esboce navegao
Liste contedo e aes
Esboce navegao

48
(nem tudo visvel da tela) (nem tudo visvel da tela)
Usando Casos de Uso - Dicas Usando Casos de Uso - Dicas
Detalhar Casos de Uso Detalhar Casos de Uso
Nome Nome
Descrevacadapassoe Descrevacadapassoe
Identificado
Nome
Breve Descrio
Fluxo de Eventos
Nome
Breve Descrio
Fluxo de Eventos
Descreva cada passo e
condio.
A li id t
Descreva cada passo e
condio.
A li id t
Esboado
Fluxo Bsico
1
FluxosAlternativos
Fluxo Bsico
1
FluxosAlternativos
Aplique identao e
cabealhos.
Aplique identao e
cabealhos.
Detalhado
Fluxos Alternativos
A1
Sub Fluxos
Fluxos Alternativos
A1
Sub Fluxos
Escreva concisamente:
quem faz o que?
Escreva concisamente:
quem faz o que?
S1
Pr Condies
PsCondies
S1
Pr Condies
PsCondies
Acrescente diagramas.
P !
Acrescente diagramas.
P !
Ps Condies
Requisitos Especiais
Diagramas desenhos
Ps Condies
Requisitos Especiais
Diagramas desenhos
Pare! Pare!

49
Diagramas, desenhos Diagramas, desenhos
Bons Casos de Uso Bons Casos de Uso
O que so Bons Casos de Uso? O que so Bons Casos de Uso? qq

50
Bons Casos de Uso Bons Casos de Uso
Quanto de detalhe um Caso de Uso deve ter? Quanto de detalhe um Caso de Uso deve ter?
Se o gato preto ou branco no importa.
O que importa que pegue o rato."
Se o gato preto ou branco no importa.
O que importa que pegue o rato." q p q p g q p q p g

51
Bons Casos de Uso Bons Casos de Uso
Dicas
Requisitos comunicao
Dicas
Requisitos comunicao q
Se no parece bom, no est bom
A partir de prottipos/releases refine as orientaes para escrever Casos de Uso
q
Se no parece bom, no est bom
A partir de prottipos/releases refine as orientaes para escrever Casos de Uso
Teste definitivo
Deve ser til para design e teste
Teste definitivo
Deve ser til para design e teste
Bons Casos de Uso facilitam design e teste Bons Casos de Uso facilitam design e teste
Envolvaoseuclientenoimportaquanto Envolva o seu cliente no importa quanto
ele conhea sobre Casos de Uso
Voc ficar surprso com que velocidade se
aprendeestatcnica

52
aprende esta tcnica
Moacyr Cardoso de Mello Filho
mcmello@br.ibm.com
Thanks to
Dr NgPanWei pwng@br ibmcom Dr Ng Pan Wei, pwng@br.ibm.com.

53

Das könnte Ihnen auch gefallen