Requisitos Não funcionais


Devem ser testáveis, para isso devem ser
mensuráveis!
Precisam estar definidos em números e nomes
O
sistema precisa ser rápido. Quão rápido?
 O sistema deve ser implementado numa
plataforma madura. Que plataforma?
Requisitos Não funcionais

Redefinindo os requisitos…
O
sistema deve responder em menos de 10
segundos.
 O núcleo do sistema deve ser implementado no
sistema operacional Unix/Solaris.
Requisitos não funcionais x
casos de uso



Associados a um caso de uso específico
Associados a todo o sistema
Para serem atendidos podem gerar casos de
uso
Requisitos não funcionais x
casos de uso

Requisito não funcional genérico:
O
sistema deve ser implementado na plataforma
Windows.

Requisito não funcional associado a um caso
de uso:
 No
caso de uso “Sacar dinheiro”, o tempo de
resposta para o cliente não pode ser maior que
1 minuto.
Exercício

Levantar requisitos suplementares do
sistema.
Workflow de Requisitos - Visão da Atividade
Analista de
Sistema
Desenvolver
Elicitar
Documento de Visão necessidades
dos Stakeholders
Gerenciar
Dependências
Encontrar Atores e
Capturar um Casos de Uso
vocabulário comum (Use Cases)
Estruturar o
Modelo de UC
Detalhar um UC
Especificador
de UC
Revisar os
Requisitos
Prototipar a
Modelar a
Interface com o Usuário
Interface com o Usuário
Projetista da
Interface com o Usuário
Arquiteto
Revisor de
Requisitos
Priorizar UC
Desenvolver Documento de Visão

Nesta atividade, o Analista de Sistemas deve
identificar os stakeholders, definir os limites do
sistema e descrever as características
primárias do sistema. A execução da atividade
deve produzir o documento de Visão que é
uma visão geral dos requisitos do projeto.
Gerenciar de Dependências

Nesta atividade, o Analista de Sistemas deve
obter um entendimento dos atributos dos
requisitos, o que auxilia no gerenciamento do
escopo do projeto e da aplicação. A execução
da atividade deve produzir os artefatos
Atributos dos Requisitos, Diretrizes de Atributos
de Requisitos e a Visão dos Requisitos.
Elicitar Necessidades dos Stakeholders

Nesta atividade, o Analista de Sistemas deve
entender o que os stakeholders esperam do
sistema, coletar informações e necessidades
que o sistema deveria cumprir e priorizar as
necessidades dos stakeholders. A execução da
atividade tem como artefatos resultantes o
documento de Necessidades dos Usuários e o
Modelo de caso de uso, brevemente esboçado.
Capturar um Vocabulário Comum

Nesta atividade, o Analista de Sistemas deve
definir um vocabulário comum que pode ser
usado em descrições dos sistema. A execução
da atividade deve produzir um Glossário.
Encontrar Atores e Casos de Uso

Nesta atividade, o Analista de Sistemas esboça
a funcionalidade do sistema, define o que será
feito pelo sistema e o que será feito fora do
sistema, define quem e o que interagirá com o
sistema, divide o modelo em pacotes com
atores e casos de uso e cria os diagramas do
modelo de casos de uso. A execução desta
atividade produz o Modelo de Casos de Uso,
os casos de uso e Especificações
Suplementares.
Priorizar Casos de Uso

Nesta atividade, o Arquiteto deve definir a
entrada para a seleção do conjunto de cenários
e casos de uso que serão analisados na
iteração atual, o conjunto de cenários e casos
de uso que representam alguma funcionalidade
significativa e o conjunto de casos de uso que
têm uma cobertura arquitetural substancial ou
que ilustram um ponto específico e delicado da
arquitetura. A execução da atividade deve
produzir o documento de Arquitetura de
Software e um refinamento do Glossário e do
Plano de Iteração.
Estruturar o Modelo de Casos de Uao

Nesta Atividade, o Analista de Sistemas extrai o
comportamento dos casos de uso que
necessitam ser considerados como abstratos e
encontra novos atores abstratos que definem
papéis que são compartilhados por vários
atores. A execução desta atividade tem como
objetivo o refinamento do Modelo de Casos de
Uso.
Detalhar os Casos de Uso

Nesta atividade, o Especificador de Casos de
Uso descreve o fluxo de eventos dos casos de
uso em detalhes e, também, de forma que o
cliente e os usuários possam entender. A
execução da atividade tem como resultado a
descrição Casos de Uso Complementares, as
Especificações Suplementares e os Atributos
dos Requisitos
Modelar a Interface com o Usuário

Nesta atividade, o Designer de Interface com o
Usuário constrói um modelo de interface com o
usuário que suporta o melhoramento da
usabilidade. A execução desta atividade produz
os StoryBoards dos casos de uso, os Atores
caracterizados pela perspectiva da usabilidade
e as Classes de Fronteira, representando
janelas da interface com o usuário.
Prototipar a Interface com o Usuário

Nesta atividade, o Designer de Interface com o
Usuário deve criar um protótipo de interface.
Revisar os Requisitos

Nesta atividade, o Revisor de Requisitos
formalmente verifica os resultados do Workflow
de Requisitos conforme a visão do cliente do
sistema. A execução da atividade deve
apresentar como resultado uma versão
aprovada ou rejeitada com as respectivas
alterações da Visão dos Requisitos, do Modelo
de Casos de Uso, das Especificações
Suplementares e do Glossário.
Requisitos - Visão dos Artefatos
Analista de
Sistema
Especificador
de UC
Responsável por
Visão Necessidades
dos Stakeholders
Arquiteto
Responsável por
Modelo de
Use Case
Responsável por
Especificação Glossário Atributos dos Casos
de Uso
Requisitos
Suplementar
Projetista
da Interface com o Usuário
Responsável por
Documento
de Arquitetura
de Software
Classes de Fronteira
UC
Protótipo da
Storyboard Interface com o usuário
Pacote de
Use Case
Revisor de
Requisitos
Relacionamento entre os artefatos de
requisitos x artefatos de outros workflows
Documento de Visão
Modelo de
Casos de Uso
Necessidades
dos Stakeholders
Modelo de
Projeto
Modelo de
Teste
Especificação
Suplementar
Material de Documentação
do Usuário Final e
Material de Treinamento
Como encontrar atores e
casos de uso?
Técnicas para levantar casos de uso

Workshop de casos de uso









não pode ter muita gente
pessoas com diferentes perfis
presença de um facilitador
aceite todo tipo de sugestão e filtre depois!
evite pensar em detalhes
os casos de uso levantados devem estar claros para
todos!
principalmente o valor que estes agregam ao usuário
consulte todos!
dê sugestões
Técnicas para levantar casos de uso

Reuniões
 conversas

com usuários
Storyboarding
 simulação
através de desenhos das interfaces
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?


Atores são fundamentais para a descoberta
dos casos de uso
Pergunte
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 destes eventos?

Encontrando casos de uso


Casos de uso não precisam ser descritos todos
de uma vez: o processo é iterativo
Casos de uso devem ser priorizados
 por
iteração (técnica e por prioridade do usuário)
Casos de Uso devem ser

Unidades testáveis e auto-contidas!

Isso facilita:



distribuição de tarefas entre os desenvolvedores

gerenciamento do cronograma

planejamento e realização de testes unitários

integração do sistema
Sem isso, não é viável um desenvolvimento
iterativo e incremental!
O escopo de um caso de uso deve ser limitado.
Os requisitos SEMPRE mudam


Atualizar a documentação é fundamental!
Lembre-se que os casos de uso serão
utilizados para testes e documentação do
usuário!!!
Exercícios

Escrever a descrição geral sistema
(descrição do problema)
(em meia página)

Levantar atores: listar e descrevê-los
(em 1 linha!)

Levantar casos de uso: listar e descrevêlos
(em 2 ou 3 linhas!)
Especificação detalhada de
casos de uso
Quando e por que realizá-las?

Quando?
 após
fazer levantamento dos principais casos
de uso do sistema

Por que?
 descrever
detalhes do caso de uso
 descrever fluxo de eventos e outras
propriedades
 uniformizar entendimento entre clientes,
usuários e equipe de desenvolvimento
Descrevendo um caso 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)
Identificação do Caso de Uso



Deve ser única!
Não deve mudar nunca
Pois casos de uso podem ser referenciados por
seu identificador
Pré- e Pós-condições



Entradas e Pré-condições
Saídas e Pós-condições
O que deve ser verdade antes e depois da
realização do caso de uso!
Pré- e Pós-condições: exemplos

Caso de uso “Entregar pedido”
 Pre-condição:
os itens do pedido devem ter em
estoque
 Pós-condição: os itens enviados devem ser
abatidos do estoque

Caso de uso “Recadastramento de CPF”
 Pre-condição:
o usuário deve possuir um CPF
 Pós-condição: a situação do contribuinte é
atualizada
Fluxo de eventos básico



Série de passos que compõem um caso de
uso
Concentre-se inicialmente na
funcionalidade básica/central do caso de
uso
Pense nos fluxos secundários depois!
Exemplo de um fluxo básico

Caso de uso “Sacar dinheiro”
1. O cliente passa o seu cartão
2. Digita sua senha
3. Digita o valor do saque
4. O sistema verifica se há saldo suficiente
5. O saldo é debitado da conta do cliente
6. O dinheiro é entregue ao cliente
Exemplo de um fluxo básico

Caso de uso “Sacar dinheiro”
MAS...
E
se a senha não conferir?
 E se não houver saldo?
 E se não houver dinheiro suficiente na
máquina?
Calma, vamos deixar estes detalhes para depois!
Exercícios

Descrever o fluxo básico dos casos de uso
levantados anteriormente.
Download

Requisitos 2