Engenharia de Requisitos
Eveline Alonso VelosoPUC-Minas
Bibliografia PAULA-FILHO, Wilson de Pádua. Engenharia
de Software: Fundamentos, Métodos e Padrões. 2ª ed., Rio de Janeiro: LTC - Livros Técnicos e Científicos, 2003, capítulos 1 e 5.
PRESSMAN, Roger S. Engenharia de Software. 5ª ed., Rio de Janeiro: McGraw Hill, 2002, capítulo 10.
IEEE. SWEBOK: Guide to the Software Engineering Body of Knowledge. 2004, capítulo 2.
Transparências da professora Maria Augusta Vieira Nelson – PUC-Minas.
Engenharia de Requisitos
Concentra-se em problemas e
objetivos do mundo real; para estabelecer as funções que o
cliente e usuários requerem de um
sistema de software;
e definir as restrições sob as
quais ele opera e/ou é
desenvolvido.
Engenharia de Requisitos
Requisitos: são as descrições das funções e
restrições do sistema de software; geradas durante o processo de
Engenharia de Requisitos.
são documentados em um
documento denominado: Especificação dos Requisitos do
Software.
Engenharia de Requisitos
Uma boa engenharia de requisitos é um passo essencial; para o desenvolvimento de um
bom produto.
Requisitos bem entendidos e gerenciados; reduzem riscos na construção de
um sistema de software.
Terminologia da Engenharia de Requisitos
propriedades do domínio
requisitos do cliente
computador
programaespecificação
domínio da aplicação domínio da máquina
Onde pode dar Errado?
propriedades do domínio
requisitos do cliente
computador
programaespecificação
domínio da aplicação domínio da máquina
No computador (muito raro)Causas:
falha na energiafalha nos dispositivos de hardwarefalha no sistema operacionalfalha na rede
Onde pode dar Errado?
propriedades do domínio
requisitos do cliente
computador
programaespecificação
domínio da aplicação domínio da máquina
No programa (não tão raro)Causas:
erros de programaçãoespecificação mal entendidaausência de controle de mudanças
Detecção:testes do programa em relação à especificaçãoinspeções, walkthroughs
Onde pode dar Errado?
propriedades do domínio
requisitos do cliente
computador
programaespecificação
domínio da aplicação domínio da máquina
Na especificação (comum)Causas:
requisitos mal entendidosescolha inadequada da linguagem de especificaçãoespecificação ambígua, inconsistente ou incompleta
Detecção:inspeções, verificação formal
Onde pode dar Errado?
propriedades do domínio
requisitos do cliente
computador
programaespecificação
domínio da aplicação domínio da máquina
Nos requisitos (comum)Causas:
comunicação insuficiente com o cliente/usuáriosausência de análisefalha ao lidar com as mudanças
Detecção:inspeções, revisões feitas pelo cliente, modelagem, validação formal, prototipagem
Onde pode dar Errado?
propriedades do domínio
requisitos do cliente
computador
programaespecificação
domínio da aplicação domínio da máquina
Nas propriedades do domínio (muito comum)Causas:
ausência de especialistas no domíniopremissas que não foram questionadasanálise do domínio insuficiente
Detecção:comunicação com os especialistas que detêm a informação
Princípios da Engenharia de Requisitos Boas especificações de requisitos
são indispensáveis. Não representam custos supérfluos;
mas investimentos necessários. A participação dos usuários é
fundamental; para que suas verdadeiras necessidades
sejam atendidas. Uma boa especificação de requisitos;
custa tempo e dinheiro. A ausência de uma boa especificação de
requisitos; custa muito mais tempo e dinheiro.
Receitas para Reduzir Custos Fazer uma boa especificação de requisitos:
para não ter que mudá-la durante o desenvolvimento;
nada é mais caro do que resolver os problemas errados.
Desenvolver adequadamente os requisitos do produto de software;
ajuda a obter os requisitos corretos em um estágio anterior ao desenvolvimento;
o custo de correção de defeitos cresce muito ao longo do tempo.
minimiza a necessidade de alterações posteriores nos requisitos do produto;
mas não a elimina. Se for preciso modificar requisitos:
controlar as mudanças; por meio da gerência dos requisitos.
Engenharia de Requisitos Os processos utilizados durante a
Engenharia dos Requisitos variam amplamente dependendo: do domínio da aplicação; das pessoas envolvidas; da organização que desenvolve os
requisitos. Contudo, existem atividades
genéricas comuns a todos os processos.
Engenharia de Requisitos
Engenharia de Requisitos
Desenvolvimento de RequisitosGerência de Requisitos
Levantamento Análise Documentação Validação
Desenvolvimento de Requisitos Levantamento:
coletar os requisitos do software. Análise:
modelar o comportamento desejado. Documentação:
documentar o comportamento do sistema de software proposto.
Validação: verificar se a especificação atende aos
requisitos do cliente e dos usuários.
Gerência de Requisitos Concentra-se nos processos envolvidos
nas mudanças de requisitos do produto de software, já que, à medida que o projeto de desenvolvimento evolui: novos requisitos aparecem; requisitos existentes são alterados ou
desaparecem.
Procura manter sob controle os requisitos de um produto; mesmo diante dessas alterações.
Instabilidade dos Requisitos
Ocorre quando clientes e usuários trazem novos requisitos, ou alterações em requisitos já especificados anteriormente; quando o desenvolvimento do
software já está em fase adiantada.
Acarreta: perda de tempo e dinheiro.
Instabilidade dos Requisitos Os requisitos podem alterar-se ao
longo do projeto de desenvolvimento: descoberta de defeitos e
inadequações nos requisitos originais;
falta de detalhes suficientes nos requisitos originais;
alterações incontornáveis no contexto do projeto;
como mudanças na legislação.
Gerência de Requisitos – Principais Interesses Gerenciar mudanças nos
requisitos aprovados. Manter a informação de
rastreabilidade dos requisitos atualizada; auxilia a descobrir o impacto de
uma mudança nos requisitos do produto.
Gerência de Requisitos – Diretrizes
Delimitar o escopo do sistema.
Definir as regras para o
gerenciamento dos requisitos.
Definir as regras de
rastreabilidade.
Definir as regras para a
gerência de mudanças.
Rastreabilidade
Um requisito é rastreável se: é possível identificar quais são as
partes do produto que existem por causa dele;
rastreabilidade para frente.
para qualquer parte do produto; é possível identificar o requisito que
causou sua existência; rastreabilidade para trás.
Rastreabilidade
Através da rastreabilidade é
possível identificar: os relacionamentos entre os
requisitos;
suas fontes;
os artefatos criados durante o ciclo
de vida do sistema; que são derivados do requisito.
Matriz de Rastreabilidade
Matriz de RastreabilidadeProjeto <nome do projeto>
Requisito
R1 R2 R3 R4
R1 * *
R2 *
R3 *
R4
Relações entre os requisitos: R1 depende de
R2; R1 especifica
R2; acrescenta
detalhes. R1 requer R2;
requer o resultado de R2.
R1 restringe R2.
Matriz de Rastreabilidade
Matriz de RastreabilidadeProjeto <nome do projeto>
Requisito
Caso de Uso de Análise 1
Caso de Uso de Análise 2
Compo-nente 1
Caso de Teste 1
R1 * *
R2 * *
R3
R4 *
Por quê Rastrear? Auxiliar a gerência do projeto;
acompanhando a evolução dos requisitos;
registrando sua situação. Auxiliar a gerência de mudanças;
acompanhando como a alteração nos requisitos;
pode impactar em mudanças nos diversos artefatos do projeto.
Garantir a qualidade.
Regras para a Gerência de Mudanças Devem definir:
o processo de requisição de mudanças; a informação necessária para processar
cada requisição de mudanças; o processo usado para analisar o
impacto e os custos da mudança e da informação associada com a mudança;
o responsável por analisar a requisição de mudanças;
ferramentas para registrar a situação da requisição de mudanças.
Top Related