Buscar

10 - Técnicas de Elicitação de Requisitos - 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?
��������
• 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
������������	���
��
��
• 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).
���������	
���������
• 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)
���������	�
	���
�����	�
�������	����
� ���� ���	
��� �
����	� �
� ����	
��
� ��� �
�
��
��
��
��
�
�	�
�����
���
� �����	�� �������� ������
���	� ���� �
����
���
� �������
���� ��
��� �	� �����
�	� �� 
�
������������	����������
�����	�	
��
���������	
�	
����
���	
������
	
�������
���	���������������
• 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.
���������	
�	
����
���	
������
	
�������
���	���������������
• 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
���������	
�	
����
���	
������
	
�������
���	���������������
���������	��	�
���
���	�������	�����
��	�������������������
• 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. 
��������	��
����
��	��
	���������	��������	�����
• 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
���������	
����
� ���������	
�
�����
�	�����
��
��
�	��
��
���
� �
��	
��������	
��
���	����
����	
	�����
���
����
���
	�
��	�	�
��
��������
��
��
�	��
��
���
� ��
�	����
 ���	��
 ��
 �������
 ��
 �
�����	
 �
���
��
��	
�������
� ����
�����
������
���������	��
�
���
	� ��
� ����!�
����
�	� ��
��	���	�"
� �������	
�������	�
�	��������	�����������������
� ���	������������	����������������	�����
� �������������������	������������������������
���������	
����
� ��������	
�
�
�
���	
���������	
�������������
��
����
� �������	�
��
�	������������������
	���
�������
��
����
�	����	������	�������	������������
	����	���	
� ���	�	����
������	����������
�	������������������
	��
�������
�
�	���	�����	� ��
�	
� ���
�����������	
���
��
��
������	����
������	
�
� !����
"#	���������
��	����
� $���	����
��	�����%����������������	��
"&�����'��
�	��
"&�����
����
�����(
� )����	�'�
*	
� +�������	� 
��"#	�������
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 relacionamentoInclusã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 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 <<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