Adélia Barros([email protected])
Requisitos
Requisitos
Objetivos ou restrições estabelecidas por clientes e usuários do sistema que definem as diversas propriedades do sistema
Condição ou capacidade necessária que o software deve possuir◦ para que o usuário possa resolver um problema ou
atingir um objetivo◦ para atender as necessidades ou restrições da
organização ou de outros componentes do sistema.
ANÁLISE DE REQUISITOS
INICIA QUANDO
Se reconhece que existe um problema que necessita de uma solução
Surge uma idéia nova
ANÁLISE DE REQUISITOS
TERMINA QUANDO
Se tem uma descrição completa do comportamento do software a ser construído
O QUE SÃO ESPECIFICAÇÕES
representações que descrevem o software desde uma visão macroscópica (Especificação de Requisitos) até uma visão detalhada (Programas) passando por representações intermediárias (Especificações de Projeto)
O QUE SÃO REQUISITOS
Alguma coisa necessária, desejada Webster’s Ninth New Collegiate Dictionary
condição ou capacidade necessária por um usuário para resolver um problema ou atingir um objetivoCondição ou capacidade que precisa ser atingida por um sistema para satisfazer um contrato, norma, especificação ou algum outro documento
IEEE Standard
FUNÇÕES DAESPECIFICAÇÃO DE
REQUISITOS Ser a base para o desenvolvimento Permitir o controle da qualidade do
produto Estabelecer a comunicação entre o
pessoal envolvido no projeto Auxiliar no entendimento do
problema
ETAPAS
Solicitação do Cliente Diagnóstico da Situação Atual Especificação dos Requisitos Aprovação dos Requisitos Orçamento Aprovação do Orçamento
SOLICITAÇÃO DO CLIENTE
É a etapa na qual o cliente faz a solicitação, definindo, na sua linguagem, os requisitos do sistema.
DIAGNÓSTICO DA SITUAÇÃO ATUAL
É a etapa na qual o cliente e o analista responsável pelo desenvolvimento do sistema, interagem buscando detalhar ao máximo a situação atual, os problemas existentes e novas necessidades.
ESPECIFICAÇÃO DOS REQUISITOS
É a etapa na qual o cliente e o analista responsável pelo desenvolvimento do sistema, especificam, a partir das informações levantadas, os requisitos do sistema.
APROVAÇÃO DOS REQUISITOS
É a etapa na qual o cliente e o analista responsável pelo desenvolvimento do sistema, aprovam a solução especificada.
ORÇAMENTO
É a etapa na qual o o analista responsável pelo desenvolvimento do sistema, elabora o orçamento do sistema e dimensiona prazo e recursos.
APROVAÇÃO DO ORÇAMENTO
É a etapa na qual o cliente, aprova o orçamento do sistema
PRINCÍPIOS FUNDAMENTAIS
O entendimento completo dos requisitos de software é fundamental para o sucesso do sistema.
Não importa quão bem seja projetado e codificado, se os requisitos não forem atendidos, o cliente estará desapontado e o desenvolvedor aborrecido
PRINCÍPIOS FUNDAMENTAIS
De acordo com o perfil do cliente, utilize-se das técnicas para levantamento das informações e dos instrumentos que achar necessários para compreender os requisitos do sistema.
PRINCÍPIOS FUNDAMENTAIS
Procure, antes de fazer a visita ao cliente, levantar informações e entender do negócio do cliente.
PRINCÍPIOS FUNDAMENTAIS
Se durante o levantamentos das informações, surgirem palavras ou assuntos dos quais você não tem a compreensão adequada, procure se informar, inclusive com o próprio cliente.
PRINCÍPIOS FUNDAMENTAIS
Tanto o desenvolvedor quanto cliente desempenham papel ativo na na análise de requisitos
O cliente tenta passar para o desenvolvedor o funcionamento do seu negócio.
O desenvolvedor procura compreender o negócio sem pensar na solução de software, naquele momento
PRINCÍPIOS FUNDAMENTAIS A Análise de Requisitos pode parecer
uma tarefa aparentemente simples, mas as aparências enganam.
O conteúdo de comunicação é intenso◦ São muitas as chances de interpretações
errôneas e informações falsas.◦ A ambigüidade é provável.
PRINCÍPIOS FUNDAMENTAIS
Frase de um cliente anônimo
“Sei que você acredita que entendeu o que eu disse, mas não estou certo de que percebe que aquilo que ouviu não é o que eu pretendia dizer”
CARACTERÍSTICAS DO ANALISTA
Capacidade de compreender conceitos abstratos, reorganizá-los em divisões lógicas e sintetizar soluções a partir de cada divisão
Capacidade de absorver fatos pertinentes de fontes conflitantes e/ou confusas
Capacidade de entender o ambiente do usuário/cliente
Capacidade de se comunicar bem nas formas escrita e verbal.
Capacidade de ver a floresta por entre as árvores
PRINCIPAIS PROBLEMAS
DIFICULDADES EM OBTER INFORMAÇÕES PERTINENTES
A escolha das técnicas adequadas e das pessoas adequadas a darem as informações diminuirão os problemas decorrentes desta situação
PRINCIPAIS PROBLEMAS
COMPLEXIDADE DO PROBLEMA
O esforço de análise cresce à medida que o problema se torna maior e portanto mais complexo, gerando inconsistências durante o processo.
O particionamento do problema diminui estas inconsistências
PRINCIPAIS PROBLEMAS
OCORRÊNCIAS DE MUDANÇAS DURANTE O PROCESSO
As mudanças sempre ocorrerão em todo o Ciclo de Desenvolvimento. ◦ O menor impacto é causado quando a
mesma ocorre nesta fase do Ciclo.◦ É importante estabelecer mecanismos de
controle, para registrá-las e analisá-las adequadamente
REGRAS PARA ESPECIFICAÇÃO
Separar a Funcionalidade da Implementação, procurando dizer o que o sistema vai fazer e não como será projetado e implementado
REGRAS PARA ESPECIFICAÇÃO
As especificações devem ser fracamente acopladas. Isto facilitará a compreensão e as mudanças.
IMPORTÂNCIA DA ESPECIFICAÇÃO DE
REQUISITOS
São cometidos muitos erros na fase de Análise de Requisitos
Erros permanecem latentes e tardam a ser detectados
Quanto mais tarde um erro é detectado maior é o custo de sua correção
IMPORTÂNCIA DA ESPECIFICAÇÃO DE
REQUISITOS 75% dos erros detectados, o são depois
das fases de codificação e teste de unidades
◦ 56% de todos os erros detectados são devido a erros na fase de Análise de Requisitos
IMPACTO DOS ERROS
O SOFTWARE NÃO SATISFAZ AS NECESSIDADES DOS USUÁRIOS
Desentendimento entre os Clientes e os Desenvolvedores
Perda de Tempo e Dinheiro Problemas Judiciais
ESTUDO DE CASO
Próxima aula!
Requisitos
DÚVIDAS ?