Buscar

9 Elicitação Cenários

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 52 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 52 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 52 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Técnicas de Elicitação de Requisitos
Cenários
Particionamento de requisitos por 
Cenários
– Identificação de requisitos a partir de 
diferentes cenários de interação entre um 
usuário e o sistema.
– É feita uma simulação de interação do 
usuário com o sistema na execução de uma 
tarefa do negócio e os usuários explicam para 
o engenheiro de requisitos o que eles fazem 
e como o sistema poderia ajudá-los a 
executar esta tarefa.
– A descoberta de possíveis cenários expõe o 
conjunto de interações entre os atores e o 
sistema e revela as facilidades que são 
requeridas do sistema.
– Cenários, portanto, podem ser entendidos 
como estórias que explicam como o sistema 
poderia ser usado.
Particionamento de requisitos por 
Cenários
– Cenários podem ser identificados a partir de 
aplicação de técnicas tradicionais de 
elicitação de requisitos como entrevistas, 
questionários ou análise etnográfica. O 
importante é estar atento à descoberta dos 
cenários!
Particionamento de requisitos por 
Cenários
– Cenários podem ser escritos usando 
diferentes formas e padrões, mas as 
descrições devem conter pelo menos as 
seguintes informações:
• Uma descrição do estado do sistema antes de 
entrar no cenário (eventos que ativam o cenário e 
pré-condições);
• O fluxo normal de eventos do cenário;
• Exceções e alternativas ao fluxo normal;
• Uma descrição do estado do sistema após a 
finalização do cenário (pós-condições).
Particionamento de requisitos por 
Cenários
–Aplicação/utilidade
• Útil para facilitar a descoberta de requisitos;
• Útil para detalhar requisitos já identificados;
• Útil para entender os processos de negócio e 
como o sistema deverá ser utilizado para suportá-
los;
• Útil para descobrir as diferentes situações 
(cenários) em que o sistema deverá atuar;
• Útil para orientar as fases seguintes do 
desenvolvimento do sistema no caso de adoção 
de estratégias de desenvolvimento incrementais;
Particionamento de requisitos por 
Cenários
Exemplo de Aplicação de Cenários
Caso de Uso
Caso de Uso - Definição
• 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.
Objetivos dos Casos de Uso
• Descrever a funcionalidade do sistema 
(Requisitos Funcionais)
• Mapear o escopo do sistema, onde explicita a 
fronteira do sistema.
• Facilitar a comunicação com usuário do 
sistema.
• Gerenciar o projeto.
• O RUP o utiliza para guiar todo processo de 
desenvolvimento
• Mostram apenas o que o sistema faz, e não 
como.
Caso de uso: representação 
gráfica
-Uma elipse com o nome do caso de uso no centro
Nome = Verbo + Substantivo (indicação de ação)
Ator
• Constituem as entidades que interagem com o 
ambiente do sistema 
− Pessoas ou outros sistemas (de hardware ou 
software) que interagem com o sistema em 
desenvolvimento 
• Definem um papel particular (uma mesma 
entidade pode desempenhar diferentes papéis)
• São sempre externos ao sistema
• O sistema será descrito através de vários 
casos de uso que são executados por um 
número de atores
Ator: representação gráfica
Diagramas de Caso de Uso
• Introduzida por Jacobson em 1994 para 
visualização dos casos de uso
• Esse diagrama é parte da UML
• Mostram um conjunto de casos de uso, 
atores e seus relacionamentos
• Indicam a forma como o sistema interage 
com as entidades externas
Diagrama de Caso de Uso : 
representação gráfica
Como 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?
Como encontrar casos de uso?
• Quais são os processos de negócio 
elementares que deverão ser suportados pelo 
uso do software?
• 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?
Cenários
• Em UML significa um caminho através de 
um caso de uso.
• Uma instância de um caso de uso
• Seqüência de passos que descreve uma 
interação
• Exemplo (Sacar dinheiro):
– Saque com sucesso
– Tentativa de saque MAS senha incorreta
– Tentativa de saque MAS saldo insuficiente
Caso de Uso x Cenários
• Um caso de Uso não é um cenário, mas um 
conjunto de cenários associados a execução 
de um processo elementar de negócio
• Cada cenário é uma instância de um caso de 
uso
• Para cada caso de uso temos, no mínimo, 
um cenário para o fluxo normal (cenário 
principal) e outros para cada fluxo 
excepcional (cenários secundários).
Tipos de Caso de Uso
• Segundo Craig Larman podemos classificar os 
casos de uso em
– Primário
Representam os processos principais ou mais comuns 
(ex.: Vender Produtos)
– Secundário
Representam processos menos importantes ou mais raros 
(ex.: Cadastrar Produtos)
– Opcional
Representam processos que podem ser ignorados ou 
incluídos em futuras versões do sistema 
(ex.: Solicitar Estoque para um Novo Produto)
Formato de Descrição de 
Casos 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
Formatos de descrição de Caso 
de Uso (segundo Craig Larman)
• Resumido
– Descrição resumida em um parágrafo, geralmente do 
cenário de sucesso principal.
– Criados na fase inicial de requisitos
– Exemplo:
Processar Venda: um cliente chega em um ponto de venda com 
itens de produtos que deseja adquirir. O caixa usa o sistema para 
registrar cada item comprado. O sistema vai apresentando um 
total parcial e uma linha de detalhes à medida que registra cada 
item. O cliente fornece ao caixa os dados dado sobre o 
pagamento que são então validados e registrados pelo sistema. 
O sistema atualiza o estoque e emite um recibo que é entregue 
pelo caixa ao cliente. O cliente sai com os itens comprados.
Formatos de descrição de Caso 
de Uso (segundo Craig Larman)
• Intermediário
– Descrição informal de parágrafos. Múltiplos parágrafos 
que cobrem vários cenários.
– Podem ser usados na fase inicial de requisitos, caso 
haja interesse em um maior detalhamento.
• Completo (Detalhado ou Expandido)
– Formato mais elaborado. Todos os passos e variantes 
são descritos em detalhe. 
– Durante a fase de requisitos, apenas os casos de uso 
mais importantes devem ser escritos nesse formato
Formatos de descrição de Caso 
de Uso (segundo Craig Larman)
Estilos de descrição de Caso de Uso 
(segundo Craig Larman)
• 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
• Concreto
– Descrição de um processo em termos de seu projeto 
real, comprometido com tecnologias de 
desenvolvimento, interfaces de entrada e saída, etc.
Exemplo de formato de 
descrição de Casos de Uso
• Nome do Caso de Uso
• Breve descrição
• Ator (principal)
• Prioridade (ex: Essencial, Importante, Desejável)
• Pré-Condições
• Pós-Condições
• Fluxo de eventos:
– Fluxo de evento principal
– Fluxos secundários:alternativos e de exceção
• Requisitos Não-Funcionais Específicos
Fluxo 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 Caso de 
Uso
• Permanece focado no domínio do problema e 
não em sua solução
• Pode conter testes condicionais e iterações
• Contém informações relativas:
– Às condições de início e término do caso de uso
– Quais os atores interessados no sistema
– Como o caso de uso interage com esses atores
Fluxo de Eventos
• O fluxo de eventos de um caso de uso é
composto por:
– Um Fluxo Básico - descreve a funcionalidade principal 
do caso de uso, quando nenhum desvio é tomado
– Zero ou Mais Fluxos 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é-condições, pós-
condições e invariantes)
– Pseudocódigo
– Ou uma combinação destes
Exemplo: Descrição resumida 
• Caso de uso Locar Vídeo
– Este caso de uso acontece quando um cliente da 
Locadora chega no balcão de atendimento com um ou 
mais vídeos que deseja locar. O atendente informa ao 
sistema o código do cliente. O sistema valida se o cliente 
está apto a locar e exibe os seus dados (nome, endereço, 
telefone). O atendente informa o identificador das cópias 
de vídeo que o cliente deseja locar. Para cada cópia o 
sistema calcula o valor e a data de devolução, exibe os 
dados da cópia (código, localização, o nome do filme, a 
data de devolução, valor da locação). O atendente 
confirma a locação. O sistema calcula o valor total a ser 
pago. O atendente informa a opção de pagamento do 
cliente (na locação ou na devolução). O sistema trata a 
opção do cliente e emite um recibo de locação contendo 
os dados do cliente e da locação realizada.
Exemplo: Descrição essencial 
expandida
• Caso de Uso: Locar Vídeo
– Categoria: Primário
– Atores envolvidos: Atendente e Cliente
– Pré-condições: 
• O atendente deve ter sido autenticado
• As cópias dos vídeos disponíveis para locação devem estar 
previamente cadastradas
– Pós-condições:
• A locação foi registrada com o cliente e cópias locadas
• O valor da locação e o prazo de devolução de cada cópia foi 
calculado
• Um recibo de locação foi emitido
• A situação das cópias locadas foi definida como “locada”
Descrição essencial expandida
• Caso de Uso: Locar Vídeo (continuação)
– Fluxo Principal de Sucesso (cenário principal)
1.O atendente informa ao sistema o código 
identificador do cliente
2.O Sistema verifica se o cliente está apto a 
fazer a locação (se não tem devoluções 
pendentes) e exibe os dados do cliente 
(nome, endereço e telefone)
3.O atendente informa o código da cópia de 
vídeo a ser locado
Descrição essencial expandida
• Caso de Uso: Locar Vídeo (continuação)
– Fluxo Principal de Sucesso (cenário principal)
4.O sistema verifica se a cópia está disponível, 
calcula o valor da locação, a data de devolução e 
exibe os dados da cópia (código, o nome do 
título, o valor e a data da devolução)
Os passos 3 e 4 se repetem até que não haja mais 
cópias
5.O atende informa que a locação pode ser 
finalizada
Descrição essencial expandida
• Caso de Uso: Locar Vídeo (continuação)
– Fluxo Principal de Sucesso (cenário principal)
6.O sistema exibe o resumo da locação (código do 
cliente, nome do cliente, cópias locadas com 
respectivos valores e datas de devolução), calcula e 
exibe o valor total.
7.O atende informa ao sistema a opção de pagamento.
8.O sistema trata a opção de pagamento.
9.O sistema emite um recibo de locação efetuada.
10.O atendente entrega as cópias locadas para o 
cliente.
Descrição essencial expandida
• Caso de Uso: Locar Vídeo (continuação)
– Cenários alternativos
1a) o cliente não lembra do seu código
1. O atendente ativa o caso de uso 
Pesquisar Cliente
2. O sistema executa o caso de uso 
Pesquisar Cliente
3. O sistema retorna ao passo 1 do 
cenário principal
Descrição essencial expandida
• Caso de Uso: Locar Vídeo (continuação)
– Cenários alternativos
1b) o cliente ainda não tem código e deseja 
se cadastrar
1. O atendente ativa o caso de uso 
Cadastrar Cliente
2. O sistema executa o caso de uso 
Cadastrar Cliente
3. O sistema retorna ao passo 1 do 
cenário principal
Descrição essencial expandida
• Caso de Uso: Locar Vídeo (continuação)
– Cenários alternativos
2a) o código do cliente não foi reconhecido
1. O sistema exibe uma mensagem de 
erro e solicita que o código seja 
informado novamente
2. O sistema retorna para o passo 1 do 
cenário principal
Descrição essencial expandida
• Caso de Uso: Locar Vídeo (continuação)
– Cenários alternativos
2b) o cliente tem devoluções pendentes
1. O sistema exibe os dados das locações pendentes 
(código da cópia, nome do título, data de 
devolução, valor da locação, valor da multa 
atualizada)
2. O atendente pergunta ao cliente se ele vai 
regularizar as pendências.
3. O atendente ativa o caso de uso Devolver Cópias 
Locadas
3a) O cliente não quer regularizar as pendências
1. O atendente encerra o caso de uso Locar Vídeo
Descrição essencial expandida
• Caso de Uso: Locar Vídeo (continuação)
– Regras de negócio:
• Para calcular valor da locação de uma cópia de vídeo:
– Determinar a categoria do filme locado (lançamento, 
catálogo, promoção)
– Atribuir o valor da locação de acordo com o valor da 
categoria
– Requisitos vinculados
(referenciar o documento ou base de dados de requisitos –
matrizes de rastreabilidade)
Descrição essencial expandida
Caso de Uso: Pesquisar Cliente (caso de uso 
que pode estender o caso de uso Locar Vídeo)
Cenário Principal
1. O atendente informa o nome do cliente.
2. O sistema lista todos os cliente com o nome 
informado com respectivos endereços e 
telefones
3. O atendente define qual é o cliente em 
questão 
...
Descrição essencial expandida
• Caso de Uso: Cadastrar Cliente (caso de uso que 
pode estender o caso de uso Locar Vídeo)
Cenário Principal
1. O atendente informa os dados do cliente ( 
nome, endereço, telefones, cpf ....)
2. O sistema valida os dados de acordo com 
as regras de negócio, gera um código 
identificador do cliente e armazena os 
dados do cliente.
...
Relacionamento 
entre casos de uso
• Os casos de uso podem ser organizados 
por meio de relacionamentos
• A UML disponibiliza três tipos:
– Generalização/especialização
– inclusão
– extensão
Generalização
• É um relacionamento de generalização / 
especialização
• Os casos de uso especializados herdam a 
estrutura do caso de uso generalizado
• O supertipo contém cenários mais gerais.
• Os subtipos contém cenários mais específicos, 
particulares a cada um deles
• Os cenários comuns a mais de um caso de uso 
são adaptados em um caso de uso generalizado
Generalização
• Quando usar?
Quando você estiver descrevendo comportamentos semelhantes 
entre casos de uso, mas algum deles faz um pouco mais que o outro. 
Exemplo: 
Inclusão
• Um caso de uso incorpora explicitamente o 
comportamento de outro caso de uso, evitando 
assim repetições de descrição de fluxos.
• O cenário comum a mais de um caso de uso é
captado em um outro
– concentra o serviço em um caso de uso base a ser 
utilizados por outros
– evita-se descrever a mesma seqüência de passos a 
vários casos de uso
• Utiliza o estereótipo <<include>> para expressar 
esse tipo de relacionamento
Inclusão
• Quando usar?
Quando houver repetição entre casos de uso e você desejar evitar 
esta repetição
Exemplo: 
Extensão
• É usado para descrever cenários opcionais de 
um caso de uso
– os casos de usodescrevem 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 <<extend>>para expressar 
esse tipo de relacionamento
Extensão
• Quando usar?
Quando quiser descrever uma variação do comportamento 
normal.
• partes opcionais de casos de uso
• cursos alternativos e complexos que nem sempre ocorrem
Exemplo: 
Modelagem de Casos de Uso
Localizar Atores e 
Identificar Casos de Uso
• Objetivos
�Delimitar o sistema
�Destacar os atores que irão interagir com o sistema
�Destacar os casos de uso do sistema
• Processo
� Identificar os Atores
� Identificar casos de uso
�Descrever caso de uso no formato resumido
�Criar Diagramas de Caso de Uso
Priorizar os Casos de uso
• Objetivos
�Definir em quais iterações os casos de uso serão 
desenvolvidos
• Processo
� Identificar os casos de uso com mais riscos e os 
mais significantes (primários)
�Alocar os Casos de Uso as iterações definindo suas 
prioridades dentro de cada uma delas.
Detalhar Casos de Uso
• Objetivos
�Descrever o fluxo de eventos de cada caso de uso
• Processo
� Interagir com os usuários (atores) que estão relacionados 
com cada um dos casos de uso
�Descrever detalhadamente os passos que compõem o 
fluxo de eventos
�Revisar o detalhamento do caso de uso com os usuários
�Refinar a descrição dos casos de uso
Estruturar o 
Modelo de Caso de Uso
• Objetivos
�Otimizar o modelo de caso de uso
• Processo
� Identificar descrições de funcionalidades comuns.
−Extrair tais funcionalidades e criar um caso de uso 
mais específico que possa ser usado pelos demais 
<<include>>.
�Reutilização de casos de uso
−Herança (generalização/especialização)
− Incorporação (<<include>>) entre casos de uso.
Estruturar o 
Modelo de Caso de Uso
• Processo (continuação)
� Identificar descrições de funcionalidades adicionais 
ou opcionais.
�Extrair as extensões adicionais ou opcionais para 
um caso de uso mais específico <<extend>> 
Ex:Condições, Erros, Alternativas

Continue navegando