Requisitos
www.professoralucelia.com.br
Conceito de Requisito
Requisito é uma condição ou capacidade:
• Necessária para um usuário resolver
um problema ou alcançar um objetivo;
• Para satisfazer uma especificação
em um sistema ou em um componente;
• Com uma representação documentada.
Rocco, 2004
Em: The IEEE Standard Glossary
of Software Engineering Terminology, 1997.
Ciclo-de-vida dos REQUISITOS
Necessidade
Definição
Gestão
Avaliação
Utilização
Processo de Engenharia de Requisitos
Informações
Necessidades
Rocco, 2004
Especificação
dos Requisitos
Elicitação
Modelagem
Validação
Análise
Aquisição
Especificação
Representações
Requisitos de Software
• A Norma ISO/IEC 9126 define seis características de qualidade de
software que devem ser avaliados:
– Funcionalidade (finalidade do produto)
– Usabilidade (esforço para utilizar, aprender o produto)
– Confiabilidade (freqüência de falhas, recuperabilidade)
– Eficiência (desempenho)
– Manutenibilidade (esforço necessário para modificar)
– Portabilidade (capacidade de transferir o produto para outros
ambientes)
Níveis de Requisitos
Requisitos de negócio
objetivos de alto nível requeridos pelos clientes
Requisitos de usuário
tarefas que os usuários são habilitados a realizar
Requisitos funcionais
funcionalidade que o software deve prover
(comportamento e propriedade: como o sistema deve se comportar
quando recebe um estimulo)
Requisitos não funcionais
Restritivos: Impõem restrições ao sistema, o que limita as
opções de solução a serem adotadas. Não expressam nenhuma
funcionalidade a ser realizada pelo software
Como os Projetos Podem Ter Sucesso?
 Análise do Problema
 Entenda o problema
 Obtenha concordância dos envolvidos
 Levantamento dos Requisitos
 Identifique quem usará o sistema (atores)
 Descubra como o sistema será usado (casos de uso)
 Gerência de Requisitos




Especifique os requisitos completamente
Gerencie expectativas, mudanças e erros
Controle o aumento do escopo
Defina a equipe e a mantenha informada
Gerência de Requisitos
Atividades de:
Rocco, 2004
- acompanhar o desenvolvimento
- controlar as mudanças dos requisitos
Ações:
- planejamento desenvolvimento
- rastreabilidade com componentes de
software
- definição do estado e avaliação da qualidade
- Análise de impacto e controle de versões de
mudanças
Principais Atividades da Engª de Requisitos
ELICITAR
Documento de Requisitos
do Sistema
ANALISAR
Decisões da
Análise
MODELAR
Métodos,
Técnicas e
Ferramentas
Modelo de
Análise do
Sistema
Elicitação dos requisitos
 Nesta fase o engenheiro de requisitos procura captar os requisitos do
software, buscando obter conhecimento do domínio do problema.
 ELICITAR: descobrir, tornar explícito, obter o máximo de informações para
o conhecimento do objeto em questão.
 Cabe à elicitação a tarefa de identificar os fatos relacionados aos
requisitos do Sistema, de forma a prover o mais correto e mais completo
entendimento do que é demandado do software.
 Para alcançar tal objetivo, esta fase utiliza três atividades principais:
identificação das fontes de informação; coleta de fatos e comunicação,
além de ferramentas, pessoal e métodos.
Elicitação dos requisitos

Obter informação sobre domínio do problema e sistema
atual (Antes de manter as reuniões com os clientes e
usuários e identificar os requisitos, é fundamental conhecer o
domínio do problema e os contextos organizacional e
operacional (situação atual). A equipe responsável pelo
levantamento deve se familiarizar com o vocabulário próprio
do domínio a ser considerado.

Preparar e realizar reuniões de levantamento /negociações
(Utilizar técnicas específicas para o levantamento de
requisitos e técnicas de negociação).

Identificar e revisar os objetivos do sistema (Identificar e
revisar quais informações relevantes para o cliente que o
sistema deverá gerir e armazenar.)

Identificar e revisar os requisitos funcionais

Identificar e revisar os requisitos não funcionais
Elicitação
dos
Requisitos
Necessidades da Elicitação
•
Faz
Coleta de Fatos
•
Faz
Identificação de Fontes de Informação
•
Faz
•
Faz/Usa Ferramentas
•
Usa
Pessoal
•
Usa
Métodos
•
Depende de Pontos de Vista
Comunicação
Identificação das Fontes de Informação
• O que são Stakeholders do sistema?
– Qualquer pessoa afetada de alguma
forma pelo sistema (atores, cliente,
usuário final, desenvolvedor)
 A análise dos Stakeholders ajuda a
determinar o impacto que um novo sistema
de informação terá.
Identificação das Fontes de Informação
• Outras fontes de Informação:
–
–
–
–
–
–
Documentação do macrosistema
Políticas
Manuais
Memos, atas, contratos...
Livros sobre tema relacionado
Outros sistemas da empresa, sistemas externos.
Identificação das Fontes de Informação
•
Importante:
– Priorizar as Fontes de Informação.
– Descubra:
• Atores mais importantes
• Documentos mais mencionados
• Rede de comunicações entre os componentes do
macro-sistema
• ...
Comunicação
(...entre clientes/agentes e os eng. soft.)
• Apresentação: A forma como a informação é
apresentada
• Entendimento: Estabelecimento de contextos comuns.
– Ex. Planta; Ordem de 5,10,2,9,8,4,6...
• Linguagem
– Nível de Abstração
• Retro-alimentação
Apresentação
Diferentes formas de apresentação ajudam ou dificultam o
entendimento.
Percentual
Distribuição de Vendas
45%
40%
35%
30%
25%
20%
15%
10%
5%
0%
Distribuição de Vendas
•Produto A
•Produto B
•Produto C
•Produto D
Produto A
Produto B
Produto C
Produto D
•15%
•40%
•20%
•25%
Entendimento
• A comunicação pode ser ruidosa se os indivíduos estiverem
dialogando em diferentes níveis de abstração.
• Conflito presente entre generalistas e especialistas.
Exemplo
Devemos conquistar mercados (Diretoria)
X
Distribuir os vendedores (Gerência de Vendas)
Linguagem
• A linguagem é reflexo da cultura de uma sociedade.
• Para entendermos algo de importante para uma sociedade
temos que entender sua linguagem.
• Deve-se compreender a linguagem antes de elicitar as
necessidades.
Exemplos
Conta-mãe, Dzero, Fecha a mesa, Passagem de Resultados, Zipar,
FTP, TCP/IP
Retroalimentação
• Obrigar ao receptor da informação a
recolocar a comunicação até que o
emissor responda positivamente a
recolocação.
• Resumir, parafrasear, confirmar.
a
a
?
Técnicas de Levantamento
- Entrevistas
- Questionários
-Observação / Visitas instalações (próprias ou outras)
- Demonstrações
- Pesquisa externa
- Análise da Documentação
- Joint Application Design (JAD) - IBM
- Brain Storm
- Brain Writing
JAD - Joint Application Development
Processo
INTRODUZ TEMA
 Usuários e desenvolvedores
trabalham juntos em uma
reunião com o objetivo de:




identificar o problema
propor elementos de solução
negociar diferentes abordagens
especificar um conjunto
preliminar de requisitos de
solução
MOSTRAR
EXEMPLOS
DISCUSSÃO
Responsável
PENDÊNCIA
IMPASSE
Gerência
CONSENSO
 Envolve:


preparação para reunião a partir
de uma requisição geral do
produto
reunião
DOCUMENTAÇÃO
O
Questionários
- Fontes sólidas e confiáveis.
- Questionário objetivo, dirigido e diferenciado
Análise Documental
Estudo dos registros existentes, (documentos e relatórios,
atuais ou históricos).
Inclui a análise das informações em meio
magnético (discos, fitas...)
Entrevistas
Funções
- Obtenção de informações: atitudes, comportamento, fatos
vivenciados, tendências e experiências
- Informações sobre a empresa, atividades e a funções
- Visão mais concreta da realidade
- Coordenação de informações recebidas de fontes diversas
A entrevista
- Forma mais comum: pessoal / direta
- Documentação dos resultados: copiar tudo?
gravar? filmar? realizar anotações ?
- Pessoas certas que estão nos locais certos
- Perguntas certas, respostas certas
- Seqüência dos entrevistados
- Planejamento do tempo
- Coleta prévia de tantos dados quanto possíveis
Entrevistas
Procedimentos preliminares
- Planejar a entrevista: objetivo, perguntas e tempo
- Escolher o local: privacidade é essencial
- Agendar a entrevista, informando o entrevistado da agenda
- Obter informações sobre as características do pessoais e funcionais do entrevistado
Durante a entrevista
- Apresentar-se
- Repassar a agenda (objetivos, patrocinador, motivo
da escolha do entrevistado)
- Postura do entrevistador: credibilidade, isenção, discrição; não criar
ressentimentos
- Deixar o entrevistado falar (redução da interferência)
- Direcionar a discussão para os objetivos
- Evitar perguntas fechadas
- Não ultrapassar o tempo
- Notar sinais de impaciência
Um estilo para entrevistar
- Relacione a parte da entrevista c/ partes do sistema
- Obtenha pontos de vista alternativos
- Solicite detalhes do item que você estiver interessado
- Estabeleça a dependência do assunto com outros
- Confirme os dados obtidos
- Focalize os requisitos (não os problemas técnicos)
Problemas
- Você está tomando tempo demais
- Você está ameaçando meu emprego
- Você não conhece a nossa empresa
- Você está tentando mudar o modo que as coisas são feitas
aqui
- Não queremos esse sistema
- Mudei de opnião
- Aqui não há consenso de como a coisa deve ser feita
Brainstorm
- Reunião onde todos têm liberdade de expressar suas opiniões
- Nenhuma crítica prévia deve ser feita
- São válidas colocações por impulso: o que vale é a quantidade de
idéias
- Relacionadas as idéias, passa-se para a interpretação dos resultados
Brainwriting
- Dividir os participantes em grupos de 4 ou 5 pessoas
- Os grupos recebem uma questão
O trabalho
- Escrever a sua opinião sobre a questão
- Ao terminar, colocar a folha no centro da mesa
- Pegar a folha de respostas de outro integrante do grupo
- Criticar as colocações encontradas
Brainwriting
- Criticar todos os trabalhos do grupo, por escrito
- Completado o ciclo, o grupo pode receber nova
pergunta
- O presentes criticam todas as posições dos grupos
Obs:
- Pode haver um relator por grupo
- Cada grupo pode receber uma questão diferente
- Exige um relator do trabalho final
Download

O Ciclo de Vida dos Requisitos