Escolar Documentos
Profissional Documentos
Cultura Documentos
verificação da versão final do documento de requisitos. O documento e os requisitos 1997, Thayer & Dorfman, 1997, Kotonya & Sommerville, 1998, Nuseibeh &
devem seguir padrões de qualidade definidos. O processo de validação preocupa-se Easterbrook, 2000, Lamsweerde, 2000, Pressman, 2000).
mais com a forma pela qual os requisitos estão descritos. Em resumo, a validação de Wallace & Ippolito (1997) classificam essas técnicas em estáticas, que são
requisitos deve preocupar-se, principalmente, (mas não exclusivamente) em responder aquelas que analisam diretamente a forma e estrutura do produto gerado, sem executar o
à questão "Os requisitos foram capturados de forma correta ?" produto; dinâmicas, que envolvem execução ou simulação para detectar erros através da
Entre os exemplos de problemas descobertos durante a validação, podem ser análise da resposta do produto a um conjunto de dados de entrada; e análise formal, que
destacados a falta de conformidade com padrões de qualidade, requisitos mal redigidos envolve o uso de técnicas matemáticas rigorosas para analisar os algorítmos de uma
que estão ambíguos, erros ou problemas pendentes no modelo do sistema e conflitos de solução, tais como a descrição de requisitos utilizando linguagens de especificação
requisitos que não foram detectados durante o processo de análise. Estes problemas formal (por exemplo, Z ou VDM).
devem ser resolvidos antes do documento de requisitos ser aprovado e usado como base Pfleeger (2001) classifica as técnicas de validação de requisitos em manuais e
para o desenvolvimento do software. Em alguns casos, os problemas podem ser, automatizadas. As técnicas de validação manuais são, dentre outras, a leitura, a
simplesmente, de documentação e podem ser resolvidos através da melhoria na referência cruzada manual, as entrevistas, as revisões, as listas de verificação, os
descrição dos requisitos. Em outros casos, no entanto, os problemas resultam de falhas modelos manuais para verificar funções e relações, os cenários e as provas matemáticas.
na elicitação, análise e/ou modelagem de requisitos e deve-se executar, novamente, As técnicas de validação automatizadas são, dentre outras, a referência cruzada
algumas das atividades anteriores do processo de engenharia de requisitos. automatizada, os modelos automatizados para ativar as funções e os protótipos. A
O processo de validação de requisitos utiliza como entradas a versão completa escolha da técnica para um projeto depende da experiência, da preferência e da
do documento de requisitos, os padrões organizacionais (para se verificar a adequação à técnica de definição e à especificação de requisitos adotada.
conformidade a estes padrões) e o conhecimento sobre a organização (suas práticas, Este capítulo descreve algumas técnicas complementares para a validação:
perfis das pessoas, cultura, estrutura, etc). O processo produz, em geral, uma lista de revisão de requisitos, prototipagem, validação de modelos automática, testes de
problemas encontrados no documento de requisitos e uma lista de ações acordadas em requisitos e uma abordagem chamada resolução de ponto de vista.
resposta aos problemas levantados.
Na Engenharia de Requisitos, a validação leva a uma revisão e aprovação do 5.1 - Revisão de Requisitos
Documento de Requisitos por todos os envolvidos no processo, que se torna um
A revisão de requisitos é a técnica mais usada de validação de requisitos.
contrato de desenvolvimento de software. Mudanças de requisitos solicitadas depois que
Kotonya e Sommerville (1998) propuseram um processo de revisão composto de:
o Documento de Requisitos esteja aprovado serão consideradas; no entanto, o cliente
1. Planejamento da revisão: a equipe de revisão é selecionada e o horário e
deve estar ciente de que cada mudança posterior pode ser uma extensão do escopo do
local para a reunião de revisão são escolhidos; a equipe de revisão envolve,
software e, por conseguinte, pode aumentar o custo e/ou alongar o prazo de entrega
em média, de 3 a 10 pessoas. Não há um tamanho ideal - depende do tipo
(Pressman, 2000, p. 294).
e tamanho do sistema e do número de usuários que serão afetados pelo
Várias técnicas complementares de verificação e validação dos requisitos têm
mesmo;
sido propostas, tais como revisão técnica formal, análise de rastreabilidade,
2. Distribuição dos documentos: o documento de requisitos e outros
prototipação, validação de modelos automática ou não, inspeção, testes de requisitos e
documentos relevantes são distribuídos para os membros da equipe de
planejamento inicial do teste do software (Paulk et al., 1993b, Wallace & Ippolito,
revisão;
3. Preparação para a revisão: os revisores lêem individualmente o responsável por esta verificação inicial do documento, pois para este trabalho não é
documento de requisitos para identificar conflitos, omissões, necessário compreender os requisitos em detalhes. A verificação contra padrões pode
inconsistências, desvios dos padrões e quaisquer outros problemas; revelar problemas nos requisitos rapidamente. Se um documento de requisitos não
4. Reunião de revisão: cada requisito com problemas é discutido e um estiver de acordo com os padrões da companhia, isto pode indicar problemas em larga
conjunto de ações para endereçar os problemas é negociado e acordado. escala com a especificação, o que pode requerer uma intervenção gerencial para sua
Uma ata da reunião deve ser produzida; solução. Após o término do processo de verificação de pré-revisão, se existirem desvios
5. Seguimento às ações: se for o caso, o coordenador da reunião verifica se as em relação aos padrões, duas ações podem ser tomadas, antes que a revisão se inicie:
ações acordadas foram executadas; retornar o documento para a equipe de engenharia de requisitos para a correção dos
6. Revisão do documento: o documento de requisitos é revisado para refletir desvios identificados ou anotar os desvios identificados, distribuindo-os para os
as ações acordadas. Neste estágio, o documento pode ser aceito ou revisto revisores do documento. Isto economiza tempo e dinheiro da criação de uma nova
novamente. versão do documento de requisitos. No entanto, os desvios dos padrões podem tornar
Para apoiar o processo de revisão, uma boa abordagem é a adoção de listas de mais difícil o entendimento dos requisitos pelos revisores.
verificação, que podem ser distribuídas e usadas para lembrar aos revisores o que A menos que o documento de requisitos seja muito grande, a verificação inicial
procurar quando lendo o documento de requisitos. Devem ser expressas de forma bem de requisitos não leva, normalmente, mais que um dia. No entanto, a economia de
genérica (com exceção de sistemas críticos), ser de fácil entendimento pelos usuários tempo para os demais revisores do documento é significante.
finais e tratar de propriedades de qualidade do documento de requisitos e dos
relacionamentos entre os requisitos. As organizações devem derivar suas próprias 5.2 - Prototipação
questões a serem respondidas na revisão de requisitos, baseadas em suas experiências e
Um protótipo do sistema pode ser usado para elicitação e análise de requisitos.
padrões locais. Como uma regra geral, não devem ser muito longas. Se tiverem mais de
Muitas pessoas têm dificuldades em visualizar como uma declaração escrita dos
10 itens, os revisores não irão se lembrar de todos eles e terão que consultar a lista toda
requisitos será traduzida para um software. Se um protótipo for desenvolvido para
hora para se lembrar de seu conteúdo (Kotonya e Sommerville, 1998).
demonstrar os requisitos, os usuários finais e os desenvolvedores acharão mais fácil
Como as revisões envolvem gasto de tempo e dinheiro, deve-se tentar
descobrir problemas e sugerir como os requisitos podem ser melhorados. Se um
minimizar o trabalho dos revisores. Erros evitáveis, tais como erros de ortografia e de
protótipo for desenvolvido para a elicitação, faz sentido usá-lo mais tarde para a
não conformidade com padrões da organização, e que podem ser detectados sem uma
validação. Caso contrário, o custo para desenvolvimento do protótipo apenas para a
revisão completa, devem ser removidos do documento de requisitos antes dele ser
validação será muito alto e portanto, inviável.
distribuído para a equipe de revisão. Para isto, uma pessoa deve executar uma
Os protótipos para validação devem ser mais completos que os protótipos
verificação rápida de conformidade a padrões e processar o documento com um
somente para elicitação. Os protótipos para a elicitação podem, simplesmente, incluir os
verificador automático qualquer para remover erros ortográficos, erros de referência
requisitos que forem particularmente difíceis de descrever ou entender, podendo omitir
cruzada, etc. Esta atividade é chamada de verificação de pré-revisão (Kotonya &
requisitos já entendidos. Apesar de um protótipo para validação não necessitar incluir
Sommerville, 1998).
todos os recursos do sistema, deve existir um número suficiente de recursos
Um engenheiro de requisitos que esteja familiarizado com os padrões, mas não
implementados de modo eficiente e robusto, de tal forma que os usuários possam fazer
tenha sido envolvido com a especificação de requisitos do software, pode ser
um uso prático e natural do sistema.
Outro ponto importante é que os protótipos para elicitação podem não refletir 5.4 - Validação de modelos
as alterações feitas durante o processo de análise dos requisitos. Durante a validação dos
Parte da especificação dos requisitos de um software pode consistir de um ou
requisitos, no entanto, é necessário (i) continuar o desenvolvimento do protótipo, para
mais modelos, que podem ser modelos de fluxo de dados, modelos de objetos, de
que o mesmo se mantenha atualizado; (ii) desenvolver cenários de teste para que o
eventos, de entidades-relacionamentos, etc. A validação destes modelos tem três
protótipo seja exercitado de forma sistemática e ampla; (iii) executar os cenários no
objetivos (Kotonya & Sommerville, 1998):
protótipo de forma mais realística possível. Os usuários devem trabalhar sozinhos para
1. Demonstrar que cada modelo individual é auto-consistente, isto é, o modelo
não serem influenciados pelos conselhos do engenheiro de requisitos, que não entanto
contém todas as informações necessárias e não existem conflitos entre as
devem usar a técnica de observação para acompanhar os testes e (iv) documentar os
diferentes partes do modelo;
problemas encontrados e as mudanças sugeridas pelos usuários (Kotonya e
2. Se existirem muitos modelos, demonstrar que são consistentes
Sommerville, 1998).
internamente e externamente, isto é, entidades que são referenciadas em
mais de um modelo devem ser definidas para serem as mesmas em cada
5.3 - Desenvolvimento do manual do usuário modelo, itens comparáveis devem ter mesmo nome e as interfaces do
Reescrever os requisitos de forma diferente é uma técnica muito efetiva de modelo devem ser consistentes;
validação, pois, para isso deve-se entender os requisitos e seus relacionamentos. O 3. Demonstrar que os modelos refletem de forma acurada os requisitos reais
desenvolvimento deste entendimento revela conflitos, omissões e inconsistências. Uma dos usuários. Esta é a tarefa de validação de modelos mais difícil. Envolve
forma de reescrever os requisitos usando o processo de validação é desenvolver um desenvolver argumentos convincentes de que o software definido no
rascunho do manual do usuário final do software (mesmo que o foco seja o protótipo). modelo é o que os usuários realmente precisam.
Este manual deve conter: (i) uma descrição da funcionalidade que será implementada e Se os modelos são expressos usando notações suportadas por ferramentas
como acessá-la a partir da interface com o usuário; (ii) que partes do software não estão CASE, algumas destas verificações podem ser automatizadas, tais como: verificar a
implementadas; (iii) uma descrição de como recuperar informações, voltando o software consistência de modelos individuais e executar algumas verificações cruzadas de
para um estado anterior conhecido ou mesmo como reiniciá-lo e (iv) se necessário, modelo.
instruções de instalação do protótipo.
Este manual deve ser escrito através da tradução sistemática da funcionalidade, 5.5 - Teste de requisitos
descrita em termos de requisitos, para descrições, em termos dos usuários finais, de
Um atributo desejável de um requisito é que ele possa ser testado; o objetivo
como usar o sistema. Se for difícil explicar uma função para os usuários finais ou
destes testes é verificar se o software satisfaz o requisito e então revelar problemas tais
explicar como expressar a funcionalidade do sistema, isso pode sugerir que existem
como incompleteza e ambigüidade. Se existirem dificuldades em derivar casos de teste
problemas nos requisitos. Em alguns casos, o manual do usuário do protótipo pode ser a
para um requisito, isso pode indicar algum tipo de problema, tal como informações
base para a documentação final para os usuários. No entanto, nem sempre isto é
perdidas, problemas em sua descrição, etc.
possível. O desenvolvimento pode ser cancelado ou o sistema pode sofrer mudanças de
Um formulário deve ser projetado e preenchido para cada requisito que for
forma que um manual completamente novo tenha que ser escrito. O custo de escrever
"testado" e deve incluir, pelo menos, o identificador do requisito, os requisitos
um rascunho do manual deve ser incluído nos custos do processo de validação.
relacionados, a descrição do teste a ser aplicado e por que é um teste objetivo (deve-se
incluir as entradas e as saídas esperadas), uma descrição dos problemas nos requisitos
que tornaram o teste aplicado difícil ou impossível e comentários e recomendações de perspectiva e visão. Uma perspectiva é definida como um conjunto de fatos observados
como resolver os problemas encontrados no requisito. e modelados de acordo com um aspecto particular da realidade. Uma visão é definida
Logo que a validação for concluída, o Documento de Requisitos é "assinado" como uma integração dessas perspectivas. A estratégia proposta engloba procedimentos
pelos clientes e desenvolvedores. A especificação torna-se um contrato de para formalizar pontos de vista (métodos), procedimentos para analisar os pontos de
desenvolvimento de software. Mudanças de requisitos solicitadas depois que a vista formalizados (analisador estático) e uma linguagem especial, chamada VWPL,
especificação for concluída serão consideradas; no entanto, o cliente deve notar que para representar pontos de vista.
cada mudança posterior é uma extensão do escopo do software e, por conseguinte, pode
aumentar o custo e/ou alongar o prazo de entrega (Pressman, 2001).