Requisitos
de software e sua importância dentro da Engenharia de Requisitos. As
etapas e principais conceitos e definições ligadas à Engenharia de
Requisitos serão apresentados.
Requisitos e Engenharia de Requisitos
Caro aluno, a Engenharia de
Requisitos (ER) pode ser vista como uma subárea da Engenharia de
Software, cujo principal objetivo é a obtenção de uma especificação
correta e completa dos requisitos de um sistema de software.
De acordo com Pressman (2011, p. 127), na
perspectiva do processo de software, a Engenharia de Requisitos é uma
ação de engenharia de software que começa durante a atividade de
Comunicação (ou Especificação) e continua durante a atividade de
Modelagem, devendo ser adaptada às necessidades do processo, do projeto,
do produto e das pessoas envolvidas.
Para que o processo de desenvolvimento de
software seja bem-sucedido é fundamental que haja uma compreensão
completa dos requisitos de software. Tanto o desenvolvedor como o
cliente desempenham um papel ativo na análise e especificação dos
requisitos. O desenvolvedor age como indagador, consultor e solucionador
de problemas e o cliente tenta traduzir os conceitos relativos ao
desempenho do software que ele tem concebido apenas em sua mente, tarefa
que é, às vezes, bastante complicada e nebulosa, em detalhes concretos.
Mas, afinal, o que são os requisitos?
De acordo com Sommerville (2011, p. 57),
requisitos são descrições do que o sistema deve fazer, os serviços que
oferece e as restrições relativas ao seu funcionamento. Os requisitos
têm por objetivo:
- Estabelecer e manter concordância com os clientes e outros envolvidos sobre o que o sistema deve fazer;
- Oferecer aos desenvolvedores uma compreensão melhor do sistema a ser desenvolvido;
- Delimitar o sistema;
- Planejar o desenvolvimento do sistema;
- Fornecer uma base para estimar o custo e o tempo de desenvolvimento do sistema.
A Engenharia de Requisitos tem se tornado
cada vez mais necessária para resolver os problemas encontrados nas
organizações com relação à definição de sistemas. De acordo com a Regra
10 de Myers, o custo de um defeito tende a ser 10 vezes maior a cada
fase de projeto em que ele avança; isso significa que, quanto antes um
defeito for encontrado; mais barato é para corrigir (ALMEIDA, 2016). A figura ilustra este fato.
Custo de correção de defeitos em software. Fonte: ALMEIDA, 2016
Como pode ser visto na
figura, o custo aumenta com o tempo de descoberta do problema, mas
tem origem na especificação dos requisitos. Muitas vezes os defeitos são
descobertos pelo próprio cliente, mesmo antes da entrega do produto,
quando ele participa ativamente. Os requisitos deficientes são
considerados uma das maiores causas de falhas nos projetos de software.