SIGERAR: Uma Ferramenta para Gerenciamento de Requisitos José Inácio De Grande, Luiz Eduardo G. Martins Programa de Mestrado em Ciência da Computação Faculdade de Ciências Exatas e da Natureza UNIMEP - Universidade Metodista de Piracicaba {ji-grande@uol.com.br lgmartin@unimep.br } Resumo Atualmente, a utilização da Engenharia de Requisitos é um dos caminhos mais seguros para se obter qualidade no desenvolvimento e manutenção de sistemas de software, pois esta prática diminui sensivelmente os erros, falhas e ambigüidades do produto final a ser entregue. Com o passar do tempo, mudanças ocorrem nos requisitos devido a diversos fatores como erros, inconsistências, problemas organizacionais, evolução do conhecimento dos stakeholders 1 , alterações legais, etc., exigindo um grande esforço das empresas para o controle e gerenciamento dos mesmos. A proposta deste trabalho é apresentar uma ferramenta automatizada para gerenciamento de requisitos, chamada SIGERAR. A ferramenta coleta, armazena e mantêm os requisitos, gerenciando as mudanças e promovendo rastreabilidade entre os requisitos e entre os documentos de requisitos. A contribuição deste trabalho é oferecer aos desenvolvedores de Software uma ferramenta de gerenciamento de requisitos, de uso livre e fácil instalação, configuração e operação, aderente a todo o ciclo de vida do software, proporcionando controle e análise de riscos, impactos e custos de mudanças nos requisitos. Palavras-Chave: Engenharia de Requisitos, Gerenciamento de Requisitos, Ferramenta Automatizada, Rastreabilidade. 1. Introdução O processo de Engenharia de Requisitos tem como principais objetivos a aquisição de conhecimentos das regras de negócios e verificação das necessidades do cliente, de forma a obter uma especificação não ambígua e completa dos requisitos de software, com o intuito de minimizar os erros, inadequações e falhas no produto final a ser entregue ao cliente. O Gerenciamento de Requisitos é o processo de compreender e controlar as mudanças que ocorrem nos 1 “O termo stakeholder é utilizado para se referir a qualquer pessoa que terá alguma influência direta ou indireta sobre os requisitos do sistema” [6]. requisitos, por força da evolução dos mesmos, refletindo as alterações que sofrem ao longo do tempo, no ambiente do sistema e nos objetivos da organização [7]. Além da Análise e Especificação, o Gerenciamento de Requisitos é de fundamental importância no processo da Engenharia de Requisitos, pois organiza o controle das mudanças, permitindo subsídios para a análise de impacto e custos em tempo e dinheiro, que estas trarão para a organização. Este trabalho tem por objetivo apresentar uma ferramenta automatizada para documentação e gerenciamento de requisitos, durante todo o ciclo de vida do software. A ferramenta tem capacidade para coletar, armazenar e manter os requisitos acordados entre os stakeholders, gerenciar as mudanças ocorridas nos requisitos, em razão de sua natural evolução e rastrear os relacionamentos entre requisitos e entre documentos de requisitos. A motivação para a escolha do tema advém da escassez de ferramentas brasileiras disponíveis no mercado para gerenciamento de requisitos e das dificuldades que uma ferramenta internacional pode trazer, como: custos de aquisição, custos de treinamento, dificuldades dos stakeholders com línguas estrangeiras, falta de representantes no Brasil, falta de especialistas do produto no mercado, entre outros. A contribuição deste trabalho é oferecer à comunidade de Engenharia de Software uma ferramenta de uso livre e fácil instalação, configuração e operação para documentação e gerenciamento de requisitos. A ferramenta apresentada conta com muitos dos recursos disponíveis nas ferramentas comerciais conhecidas, como controle de acesso e permissões, controle de versões (históricos), glossários, notificações e fórum de discussões, entre outros, e apresenta alguns pontos diferenciais. Um importante diferencial da ferramenta é o tratamento da rastreabilidade dos requisitos no processo de alteração, onde a ferramenta não somente demonstra os requisitos dependentes da modificação do requisito origem, mas exige que os responsáveis pelos requisitos (origem e dependentes) analisem e atribuam valores de risco, importância, impacto, prioridade e custo de cada um dos requisitos envolvidos. É importante ressaltar que um requisito dependente também tem sua própria matriz de dependência, assim sendo, temos que dar a ele o tratamento como se requisito origem fosse (efeito recursivo), tratando todos os seus dependentes até que o ciclo se feche. Desta