Fluxos secundários


Só devem ser analisados e descritos após a
descrição dos fluxos básicos.
Fluxos alternativos
 situações

especiais (desconto para um cliente)
Fluxos de erro
 situações
de erro
Reuso de fluxos secundários



Fluxos secundários, principalmente de erros,
podem ser referenciados por diferentes casos
de uso.
Evitar duplicação de informação.
O documento de requisitos terá uma seção
para isso.
Prioridade de Casos de Uso




Essencial para gerenciar os requisitos
E para montar as iterações
Definir prioridade de todos os casos de uso
A prioridade pode ser:
 Essencial
 Importante
 Desejável
Agrupamento de casos de uso

Dividir os casos de uso em pacotes
 Ator
 Funcionalidades
 Processos
correlatas
Exercícios

Descrever os casos de uso gerados nos
exercícios anteriores, com mais detalhes,
incluindo fluxos secundários.
Descrição de interface do usuário

Ferramenta para compreensão do caso de
uso
o
nível de detalhes deve ser adequado ao
usuário

Facilidade para a descrição de críticas
básicas
 tamanho
e tipo dos campos
 máscaras
Estruturação do
Modelo de Casos de Uso
Por que estruturar o modelo?



Extrair descrições de funcionalidades genéricas
e compartilhadas que podem ser usadas por
mais de um caso de uso.
Extrair descrições de funcionalidades
adicionais que possam estender descrições
específicas
Facilitar o entendimento do modelo
Mas atenção...
O modelo não deve ser estruturado muito
cedo!
Relacionamentos entre casos de uso

Inclusão

Extensão

Generalização
Inclusão

Use inclusão quando há repetição entre casos
de uso e você quer evitar esta repetição.
Efetuar pagamento
Realizar pedido
Vendedor
<<includes>>
Inclusão de casos de uso


Um caso de uso incorpora explicitamente o
comportamento de outro caso de uso.
O caso de uso incluído é na maioria das vezes
usado desta maneira
 (Ex.

Identificação de usuário no sistema)
Evitando assim repetições de descrição de
fluxos.
Extensão

Use extensão quando quiser descrever uma
variação do comportamento normal.
Realizar pedido
extends
Vendedor
Solicitar catálogo
Extensão de casos de uso

Usado para modelar
 partes
opcionais do sistema
 fluxos alternativos e complexos que raramente
acontecem
 fluxos que são executados somente em certos
casos
Generalização

Generalização de um caso de uso A para
um caso de uso B indica que uma
instância do caso de uso A inclui o
comportamento especificado no caso de
uso B.
Imprimir documento
Gerar relatório
Retornar item
Generalização de casos de uso



É possível abstrair comportamento de casos de
uso.
Os casos de uso “Retornar item” e “Gerar
relatório” ambos precisam imprimir um recibo.
Identificar um caso de uso abstrato para
realizar a impressão.
Generalização de atores

Quando um ator A realiza todos os casos
de uso que o ator B e outros adicionais,
dizemos que A estende B.
Vendedor
Supervisor
Realizar venda
Estabelecer crédito
Generalização de atores
Estudante
Estudante em
Tempo Integral
Estudante em
Tempo Parcial
Tópicos Cobertos









Introdução
Conceitos Chave
Descrição do Problema
Glossário
Modelo de caso de uso
Especificações Suplementares
O Fluxo de Requisitos
Checklists
Estrutura de Documento de Requisitos
Checklists: Modelo de Casos de Uso





O modelo de caso de usos está fácil de se entender?
Estudando o modelo de caso de usos, você pode ter
uma idéia clara das funções do sistema e como elas
estão relacionadas?
Todos os requisitos foram levantados?
O modelo de caso de usos contém algum
comportamento supérfluo?
A divisão em pacotes do modelo de caso de usos
está apropriada?
Checklists: Atores





Todos os atores foram identificados?
Cada ator está envolvido com pelo menos um caso
de uso?
Cada ator desempenha um papél? Algum deveria ser
fundido com outro ou ser dividido em dois?
Existem dois ou mais atores desempenhando o
mesmo papél em relação a um caso de uso?
Os atores têm nomes intuitivos e descritivos? Tanto
os usuários como os patrocinadores do software têm
um entendimento comum?
Checklists: Casos de Uso





Cada caso de uso está envolvido com pelo menos
um ator?
Os caso de usos são independentes uns dos outros?
Algum dos caso de usos têm comportamento ou
fluxo de eventos muito similares?
Os caso de usos têm nomes únicos, intuitivos e
explicativos de modo que não podem ser
confundidos em um estágio posterior?
Os patrocinadores e usuários entendem os nomes e
descrições dos caso de usos?
Checklists: Especificação de Caso de Uso








Está claro quem deseja executar um caso de uso?
A finalidade de cada caso de uso está clara?
A descrição breve dá uma idéia clara do significado do caso de
uso?
Está claro como e quando os fluxos de eventos de cada caso
de uso começam e terminam?
A seqüência de comunicação entre um ator e um caso de uso
está de acordo com as expectativas do usuário?
As interações e trocas de informação entre os atores e o
sistema estão claras?
Existe algum caso de uso demasiadamente complexo?
Os fluxos de eventos (básicos e alternativos) estão modelados
de forma clara?
Checklists: Glossário



Os termos têm uma definição clara e concisa?
Cada termo do glossário foi incluído em algum lugar
nas descrições dos caso de usos?
Os termos são usados consistentemente nas
descrições dos atores e dos caso de usos?
Tópicos Cobertos









Introdução
Conceitos Chave
Descrição do Problema
Glossário
Modelo de caso de uso
Especificações Suplementares
O Fluxo de Requisitos
Checklists
Estrutura do Documento de Requisitos
O Documento de Requisitos: estrutura





Introdução
Descrição Geral do Sistema
Requisitos Funcionais (casos de uso)
Requisitos Não Funcionais
Descrição da Interface com o usuário
Requisitos Funcionais
(casos de uso)








Breve descrição
Ator
Prioridade
Interfaces Associadas (opcional)
Entradas e Pré-condições
Saídas e Pós-condições
Fluxo de eventos principal
Fluxos secundários: alternativos e de exceção
(opcional)
Revisão: Workflow de Requisitos








Quais são os principais artefatos do workflow de
requisitos?
Para quê estes artefatos são usados?
O que é um modelo de caso de usos?
O que é um ator?
O que é um caso de uso?
Qual a diferença entre um caso de uso e um cenário?
O que é uma especificação suplementar e o que ela
inclui?
O que é um glossário e o que ele inclui?
Referências




Applying Use Cases: A Practical Guide
Geri Schneider e Jason P. Winters
Addison-Wesley, 1998.
UML Distilled
Martin Fowler
Addison-Wesley, 1997.
The Unified Software Development Process
Ivar Jacobson, Grady Booch e James Rumbaugh
Addison-Wesley, 1998.
The Unified Modeling Language: The User Guide
Ivar Jacobson, Grady Booch e James Rumbaugh
Addison-Wesley, 1999.
Download

Requisitos 3