Login | Register
My pages Projects Community openCollabNet
Suporte à Engenharia de Requisitos no Desenvolvimento Distribuído de Software

Suporte à Engenharia de Requisitos no Desenvolvimento Distribuído de Software

Processo Tradicional para Engenharia de Requisitos


Essa seção é apresentada para que seja possível, para aqueles que não tem conhecimento sobre o processo de engenharia de requisitos, uma melhor avaliação da proposta de processo desse trabalho em conjunto com o protótipo desenvolvido.

Processo Genérico

Engenharia de requisitos (ER) é o processo de descoberta de funcionalidades e restrições de um sistema, identificando stakeholders e suas necessidades e documentando essas descobertas de uma forma que possibilite a análise, comunicação e uma implementação futura (Nuseibeh e Easterbrook, 2000).

Segundo (Kotonya e Sommerville, 1998) os processos de engenharia de requisitos são influenciados por fatores pessoais, sociais e organizacionais porque eles sempre irão envolver stakeholders com conhecimentos distintos e objetivos pessoais e organizacionais também distintos.

A definição de um processo é uma atividade complexa, que envolve especificar atividades, artefatos e papéis em um alto nível de detalhe. No entanto, algumas macro-atividades são conhecidas como essenciais no processo de engenharia de requisitos (Kotonya e Sommerville, 1998):

•  Elicitação de requisitos: é a atividade relacionada com a identificação dos requisitos do sistema a partir de consulta a documentos do domínio, representantes dos grupos de usuários e de pesquisas sobre o mesmo domínio do problema. Um dos principais problemas está no fato que o ambiente organizacional no qual a análise está inserida está em constante mudança, dessa forma a importância de determinado requisito pode variar, novos requisitos podem ser considerados, novos usuários podem ser inseridos, entre outras alterações.

•  Análise de requisitos e negociação : os requisitos são analisados detalhadamente e os representantes dos grupos de stakeholders devem negociá-los de forma a chegarem a um consenso. Esta fase é necessária, pois divergências são inevitáveis devido a limitações como orçamento, prazo, a inconsistências oriundas de informações fornecidas por diferentes fontes e às diferentes perspectivas de cada um dos grupos de stakeholders ;

•  Documentação de requisitos - os requisitos são documentados e formalizados em um documento de requisitos, cujo entendimento deverá ser comum a todos os representantes dos usuários;

•  Validação de requisitos - Deve haver uma cuidadosa avaliação dos requisitos, com ênfase em sua consistência e completude. Nessa atividade devem-se identificar possíveis problemas nos requisitos antes que o documento produzido sirva de base para o desenvolvimento do sistema.

Geralmente não há uma fronteira bem definida entre essas atividades e algumas delas ocorrem de forma paralela. Além disso, o gerenciamento de requisitos é uma atividade que ocorre durante todo o processo. Através do gerenciamento, pode-se controlar a rationale (ou razão) dos requisitos, através da evolução destes, além da possibilidade de realizar o rastreamento, que é uma atividade muito importante para verificar impactos de mudanças em requisitos consolidados.

Referências

KOTONYA, G. e SOMMERVILLE, I. "Requirements Engineering: Processes and Techniques". John Wiley & Sons Ltda, ISBN: 0-471-97208-8, 1998

NUSEIBEH, B. e EASTERBROOK, S. "Requirements Engineering: A Roadmap". The Future of Software Engineering, Anthony Finkelstein, pp.37-46, ACM Press, 2000