requisitos . conceito de requisito requisito é uma condição ou capacidade: necessária para um...
TRANSCRIPT
Requisitos
www.professoralucelia.com.br
Conceito de Requisito
Requisito é uma condição ou capacidade:
• Necessária para um usuário resolverum 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 Glossaryof Software Engineering Terminology, 1997.
Roc
co, 2
004
Gestão
Definição
Necessidade
Ciclo-de-vida dos REQUISITOS
Utilização
Avaliação
EspecificaçãoEspecificaçãoAquisiçãoAquisição
Processo de Engenharia de Requisitos
EspecificaçãoEspecificaçãodos Requisitosdos Requisitos
NecessidadesNecessidades
Informações
ElicitaçãoElicitaçãoElicitaçãoElicitação ModelagemModelagemModelagemModelagem
ValidaçãoValidaçãoValidaçãoValidação AnáliseAnáliseAnáliseAnálise
Representações
Roc
co, 2
004
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ócioobjetivos de alto nível requeridos pelos clientes
Requisitos de usuáriotarefas que os usuários são habilitados a realizar
Requisitos funcionaisfuncionalidade 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?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
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:
- acompanhar o desenvolvimento- controlar as mudanças dos requisitosAçõ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
Roc
co, 2
004
ELICITAR
ANALISAR
MODELAR
Documento de Requisitosdo Sistema
Decisões daAnálise
Métodos,Técnicas eFerramentas
Modelo deAnálise doSistema
Principais Atividades da Engª de Requisitos
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
• FazFaz Coleta de Fatos
• FazFaz Identificação de Fontes de Informação
• FazFaz Comunicação
• Faz/UsaFaz/Usa Ferramentas
• UsaUsa Pessoal
• UsaUsa Métodos
• Depende deDepende de Pontos de Vista
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
• 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
(...entre clientes/agentes e os eng. soft.)
Apresentação
Diferentes formas de apresentação ajudam ou dificultam o entendimento.
Distribuição de Vendas
0%5%
10%15%20%25%30%35%40%45%
Produto A Produto B Produto C Produto D
Pe
rce
ntu
al
•Produto A •15%•Produto B •40%•Produto C •20%•Produto D •25%
Distribuição de Vendas
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 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
INTRODUZ TEMA
MOSTRAR EXEMPLOS
DISCUSSÃO
CONSENSO
DOCUMENTAÇÃOO
PENDÊNCIAIMPASSE
Responsável
Gerência
ProcessoProcesso
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
QuestionáriosQuestionários
- Fontes sólidas e confiáveis.- Questionário objetivo, dirigido e diferenciado
Análise DocumentalAná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 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 entrevistaA 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 Entrevistas
- 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
Procedimentos preliminares
Durante a entrevistaDurante 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 entrevistarUm 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)
ProblemasProblemas
- 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 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
BrainwritingBrainwriting
- 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
BrainwritingBrainwriting
- 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