De que se trata o artigo: Este artigo apresenta alguns aspectos teóricos associados à engenharia de requisitos, e em particular, à manipulação da matriz de rastreabilidade. Além disso, também serão discutidos alguns aspectos associados à gestão de mudanças.

Em que situação o tema útil: Gerir mudanças é uma atividade fundamental em projetos de desenvolvimento de software. É natural que os requisitos mudem e evoluam ao longo do tempo. Cabe à equipe de desenvolvimento gerenciar isto da melhor forma com intuito de minimizar impactos negativos no andamento do projeto.

Resumo DevMan: Este artigo trata do assunto gestão de mudanças. Este assunto será analisado sob a perspectiva da engenharia de requisitos. Assim, inicialmente são apresentados conceitos importantes para o entendimento do assunto como: engenharia de requisitos, gerência de requisitos, matriz de rastreabilidade e gestão de mudanças. Ao final, é apresentada uma abordagem que pode ser utilizada nas atividades de gestão de mudanças com o objetivo de priorizar e avaliar as mudanças solicitadas por clientes nos requisitos.

A crescente busca pela qualidade de um produto exige cada vez mais que as empresas fabricantes de software busquem um processo ou um modelo no qual se siga uma metodologia de trabalho de conhecimento de todos os envolvidos. Neste contexto, diversas empresas optam por processos que contribuam no gerenciamento de mudanças. O objetivo do controle de mudanças é assegurar que as alterações feitas em um projeto sejam consistentes e passíveis de mensurar o impacto que irão gerar.

No mercado, existem diversas ferramentas que contemplam as fases de elaboração e desenvolvimento de um sistema, auxiliando inclusive a implantação e uso de processos de software bem definidos.

Comumente percebe-se que dentro da área de informática as empresas encontram dificuldades em gerir o processo de mudança em virtude de fatores como a velocidade e dinâmica com que elas ocorrem. As mudanças no software são feitas em resposta a solicitações de modificação de requisitos de um projeto e isso deve ser feito de maneira que a estrutura fundamental já existente permaneça estável.

Sommerville afirma que 65% da manutenção de um sistema está relacionada à implementação de novos requisitos, 18% na modificação de requisitos já existentes e 17% na correção de defeitos de um sistema. Desta maneira, a manutenção pode ser considerada como uma extensão do processo de desenvolvimento de software, com atividades associadas às de especificação, projeto, implementação e testes.

Neste sentido, dentro do processo de manutenção, Pressman afirma que um dos problemas clássicos associados à manutenção é a dificuldade em se rastrear a evolução do software, uma vez que as mudanças não estão devidamente documentadas. Já Borges defende que para se obter o controle e estabilidade de requisitos, durante o projeto de desenvolvimento, é necessário acompanhar quantitativamente as alterações em requisitos. Isto permite mensurar o tamanho das alterações, em termos de esforço empregado na manutenção dos artefatos.

Considerando este contexto, este artigo apresenta alguns aspectos teóricos associados à engenharia de requisitos, e em particular, à manipulação da matriz de rastreabilidade. Além disso, também serão discutidos alguns aspectos associados à gestão de mudanças.

Alguns fundamentos

Nesta seção discutiremos alguns fundamentos teóricos importantes ao estudarmos o assunto gestão de mudanças no contexto da engenharia de requisitos. Para isso, descreveremos inicialmente as fases de um processo de desenvolvimento de software e a gerência de requisitos. Em seguida, são explicados os benefícios da gestão de mudanças em um projeto, mostrando os estágios em que ela deve ser executada. Feito isto, apresentaremos o conceito e as funcionalidades da rastreabilidade de requisitos e artefatos. Por fim, apresentamos a metodologia AHP, enfatizando o seu funcionamento e como pode ser aplicada.

Processos de desenvolvimento de software

Um processo de software pode ser definido como sendo uma série de atividades e resultados que possui como finalidade gerar um produto de software. Os processos de softwares são complexos e devem seguir uma série de procedimentos a fim de garantir um produto que atenda as diversas necessidades do cliente. Neste sentido, existem diversos processos que têm como características comuns as seguintes fases:

  • especificação: é onde ocorre a definição das funcionalidades do software, indicando inclusive, as suas restrições;
  • projeto e implementação de software: nesta etapa é onde ocorre o desenvolvimento do software, atendendo a especificação anteriormente descrita;
  • validação do software: o software necessita ser validado, garantindo que ele atenda as necessidades do cliente;
  • ...
    Quer ler esse conteúdo completo? Tenha acesso completo