Title: Requisitos
1Requisitos
- www.professoralucelia.com.br
2Conceito 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.
Em The IEEE Standard Glossary of Software
Engineering Terminology, 1997.
Rocco, 2004
3Ciclo-de-vida dos REQUISITOS
Necessidade
Definição
Gestão
Utilização
Avaliação
4Processo de Engenharia de Requisitos
Necessidades
Informações
Elicitação
Modelagem
Especificação dos Requisitos
Validação
Análise
Representações
Rocco, 2004
5Requisitos 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)
6Ní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
7Como 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
8Gerência de Requisitos
Atividades de - 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
Rocco, 2004
9Principais Atividades da Engª de Requisitos
Documento de Requisitos
do Sistema
ELICITAR
Métodos,
Decisões da
Análise
Técnicas e
Ferramentas
Modelo de
Análise do
Sistema
10Elicitaçã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.
11Elicitaçã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
12Necessidades da Elicitação
- Faz Coleta de Fatos
- Faz Identificação de Fontes de Informação
- Faz Comunicação
- Faz/Usa Ferramentas
- Usa Pessoal
- Usa Métodos
- Depende de Pontos de Vista
13Identificaçã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á.
14Identificaçã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.
15Identificaçã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 - ...
16Comunicaçã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
17 Apresentação
- Diferentes formas de apresentação ajudam ou
dificultam o entendimento.
Distribuição de Vendas
18 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)
19 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
20 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.
21Té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
22JAD - Joint Application Development
- 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 - Envolve
- preparação para reunião a partir de uma
requisição geral do produto - reunião
23Questionários
- - Fontes sólidas e confiáveis.
- - Questionário objetivo, dirigido e diferenciado
24Aná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...)
25Entrevistas
- 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
26A 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
27Entrevistas
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 -
28Durante 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
29Um 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)
30Problemas
- 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
31Brainstorm
- - 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
32Brainwriting
- - 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
33Brainwriting
- - 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