Professional Documents
Culture Documents
Parte 2
Fonte: Kotonya e Sommerville – Requirements Engineering – Processes and Techniques
ISBN 0-471-97208-8
Traduzido por Eduardo Marquioni
Na última edição do InfoChoose teve início uma série de artigos para apresentar em linhas gerais os 5
processos típicos da Engenharia de Requisitos. A parte 2 desta série trata os processos de Especificação de
Requisitos, Validação dos Requisitos e o Gerenciamento dos Requisitos.
1. Especificação de Requisitos
No contexto de software, o termo especificação tem significado diferente para diversas pessoas. Uma
especificação pode ser um documento escrito, um modelo gráfico, um modelo matemático formal, uma
coleção de cenários de uso, um protótipo, ou qualquer combinação dos itens citados.
Embora seja sugerido às vezes o desenvolvimento e uso de templates padrão para especificação de requisitos,
com o argumento que isto conduz a uma representação de maneira mais consistente e compreensível, há
momentos em que existe a necessidade da criação de uma especificação mais “flexível”.
Para grandes sistemas, um documento escrito contendo linguagem natural combinada a modelos gráficos
pode ser a melhor abordagem. Para sistemas pequenos desenvolvidos em ambiente técnico conhecido pode
ser suficiente a utilização de cenários de uso.
A especificação do sistema é o produto final produzido pelos engenheiros de requisitos. Ela é usada como a
base para as engenharias de hardware, software e banco de dados, pois descreve funções e performance
requeridas de um sistema baseado em computação e as regras que irão guiar seu desenvolvimento. A
especificação limita cada elemento alocado ao sistema. A especificação do sistema também descreve a
informação (dados e controle) que é entrada e saída do sistema.
2. Validação de Requisitos
Os produtos de trabalho criados como conseqüência da engenharia de requisitos (uma especificação do
sistema e informações relacionadas) devem ser validados quanto à qualidade durante o passo de validação de
requisitos. Esta validação examina a especificação para garantir que todos os requisitos do sistema foram
estruturados de maneira não ambígua, que as inconsistências, omissões e erros foram apagados e corrigidos, e
que os produtos de trabalho estão em conformidade com os padrões estabelecidos para o processo, para o
projeto e para o produto.
O mecanismo primário de validação de requisitos é a revisão técnica formal. O time de revisão inclui os
engenheiros de sistema, clientes, usuários e outros stakeholders que examinam a especificação1 do sistema à
procura de erros de conteúdo ou interpretação, pontos onde pode ser necessário esclarecimento, perda de
informações, inconsistências (um dos maiores problemas da engenharia de grandes produtos), requisitos
conflitantes, ou requisitos irreais (de desenvolvimento impossível).
Embora a revisão para validação dos requisitos possa ser conduzida de qualquer maneira desde que possibilite
a descoberta de erros nos requisitos, é útil examinar cada requisito contra um check list. A seguir um pequeno
subconjunto do que pode ser questionado:
• Os requisitos estão estruturados claramente? Não há problemas de interpretação incorreta?
• A fonte (pessoa, regimento, documento, etc.) foi identificada? A estrutura final do requisito foi
examinada pela/contra a fonte original?
• Quais são os requisitos relacionados a cada um? Eles estão claramente identificados através de uma
matriz de referência cruzada ou outro mecanismo?
• O requisito é passível de teste? Se sim, podem ser especificados os testes para exercitar os requisitos
2
?
3. Gerenciamento de Requisitos
É necessário persistir as alterações de requisitos através de toda a vida do software; neste sentido, o
gerenciamento de requisitos corresponde ao conjunto de atividades que auxilia o time do projeto a identificar,
controlar e rastrear os requisitos, bem como as alterações nos requisitos em muitos momentos do projeto3.
Gerenciamento de Requisitos é o processo que gerencia mudanças nos requisitos de um sistema. Os requisitos
evoluem devido às mudanças no ambiente do sistema e conforme os clientes desenvolvem um melhor
entendimento de suas reais necessidades4.
Novos requisitos surgem e há alterações nos requisitos em todos os estágios do processo de desenvolvimento
do sistema. São comuns os casos em que mais de 50% dos requisitos são alterados antes que o sistema seja
posto em operação, o que causa sérios problemas para os desenvolvedores; para minimizar dificuldades, os
requisitos devem ser documentados e controlados. Quando não há controle de alterações, mudanças de baixa
prioridade podem ser implementadas antes que aquelas de alta prioridade, além de mudanças com alto custo
não serem necessariamente aprovadas. Um levantamento em mais de 4.000 empresas européias identificou
que uma das principais áreas problemáticas do desenvolvimento e produção de software era o gerenciamento
de requisitos dos clientes (internos e externos).
As principais preocupações de gerenciamento de requisitos são:
• Gerenciar mudanças nos requisitos acordados;
• Facilidades de gerenciamento de mudanças que ajudam a garantir que as mudanças foram avaliadas
e cotadas corretamente;