• Nenhum resultado encontrado

Importância do Rastreamento de Requisitos

Durante nossa pesquisa identificamos vários fatores que justificam o estudo e importância do rastreamento de requisitos. A seguir identificamos alguns dos fatores:

1. Qualidade de software;

2. Melhoria contínua de um processo;

3. Análise de impacto e implementação de uma proposta de mudança; 4. Manutenção de software;

5. Melhoria do acompanhamento do progresso de um projeto.

A seguir explicaremos cada um dos fatores.

1) Qualidade de software. A área de qualidade de software tem-se caracterizado pelo estudo e proposta de normas (ISO [ISO-9003]) e modelos de qualidade (CMM [Paulk, 1993]), que, se aplicadas corretamente, poderiam contribuir para obter um software com maior qualidade. O rastreamento de requisitos é uma das atividades exigidas no nível 2 do CMM (Capability Maturity Model forSoftware). Uma das contribuições do rastreamento de requisitos para a gerência de requisitos e a qualidade de software é contribuir com a manutenção e integridade de um sistema de informação composto dos relacionamentos estabelecidos entre vários elementos do processo de software. Esse sistema de informação permite que os requisitos do

sistema estejam consistem com suas implementações e com os documentos nos quais são referenciados.

2) Melhoria contínua de um processo. Se considerarmos o conjunto de relacionamentos estabelecidos entre diferentes elementos do processo de software, então poderia ser possível responder algumas perguntas que contribuiriam para a melhoria de um processo de software. Por exemplo, consideremos que foram estabelecidos relacionamentos entre as tarefas do cronograma do projeto, documento de requisitos e documentação do projeto, então algumas das seguintes perguntas poderiam ser respondidas:

a) Por que um projeto foi bem sucedido ou mal sucedido?

A inspeção dos relacionamentos entre tarefa e requisitos pode indicar como os requisitos dos clientes foram distribuídos no decorrer de um projeto .

b) Quais foram os artefatos produzidos por cada programador?

Uma alocação de recursos humanos para uma tarefa pode ser enriquecida com o estabelecimento de relacionamentos entre pessoas e artefatos. Desta forma, identificaremos as pessoas responsáveis por cada um dos artefatos. Essa informação é importante para selecionar a pessoa mais apropriada para dar manu tenção a um sistema.

c) Quem foi o responsável por um determinado subsistema ?

De forma análoga ao item anterior, relacionamentos entre pessoas e artefatos ajudam a selecionar as pessoas mais apropriadas para dar manutenção a um sistema.

d) Quais foram os requisitos alocados nos diferentes subsistemas?

Se foram estabelecidos relacionamentos entre requisitos e subsistemas, então uma inspeção desses relacionamentos pode identificar os subsistemas que implementam os requisitos do projeto. Isto é útil quando desejamos reusar um subsistema no desenvolvimento de um outro sistema .

Essas e outras perguntas podem ser formuladas em um determinado momento em que os profissionais que participaram de um projeto não trabalham mais na organização. Além disso, se o rastreamento não foi realizado, então muito tempo e dinheiro serão gastos na manutenção porque o software será observado como uma caixa preta em lugar de um conjunto de relacionamentos que identificam os programas nos quais requisitos foram implementados. Tradicionalmente, determinar os efeitos colaterais das mudanças no software tem sido realizado através de uma inspeção do código fonte e revisão da documentação. Isso pode funcionar de forma eficiente para pequenos sistemas, mas não para os grandes.

3) Análise de impacto e implementação de uma proposta de mudança. É sabido que no decorrer do processo de desenvolvimento, os clientes do sistema compreendem melhor alguns dos benefícios do sistema desejado. Isso os leva a formular ou reformular requisitos através das propostas de mudança. O uso do rastreamento em um projeto pode contribuir para conhecer e argumentar a decisão de aceitar ou rejeitar uma proposta de mudança. Por exemplo, uma proposta de mudança pode propor a inclusão de novos campos de informação para o gerenciamento dos clientes, mas a análise de impacto pode determinar que diagramas, programas, relatórios, interface, tabelas e código SQL (Structu re Query Language) precisam ser modificados. Com base na análise de impacto, o gerente poderá fazer uma estimativa de tempo e custo mais confiável e realística;

4) Manutenção de software. Se um erro é detectado na execução de um sistema, então o erro deveria ser identificado, fixado, e as razões da sua causa, elicitadas. Se o rastreamento de requisitos estabeleceu relacionamentos entre requisitos e programas, então existe uma alta probabilidade de identificar e corrigir o erro porque identificaremos o programa que implementa o requisito que apresenta problemas. Como afirmado por [Palmer, 1997], um dos benefícios do rastreamento de requisitos é reduzir o tempo e custo da manutenção de um sistema;

5) Melhoria do acompanhamento do progresso de um projeto. Se o profissional do rastreamento de requisitos acompanha e registra os relacionamentos das tarefas com os artefatos e os requisitos do sistema, então existe uma grande probabilidade de obter informações mais realísticas do verdadeiro progresso do sistema.

Diante dos fatores que justificam o estudo e importância do rastreamento de requisitos, é possível afirmar que o rastreamento é um fator crucial para várias atividades do processo de desenvolvimento porque fornece um conjunto de relacionamentos entre requisitos e artefatos que facilitam o trabalho das outras atividades. Por exemplo, a manutenção de um sistema com centenas de requisitos poderia ser realizada sem empregar rastreamento, porém, o custo para identificar os artefatos afetados pela introdução de uma mudança pode ser alto.

Uma organização que deseja empregar boas práticas de engenharia de software deve considerar a possibilidade de incluir a atividade de rastreamento de requisitos dentro das suas atividades de desenvolvimento. Para isso, é necessário que o rastreamento seja visto como uma atividade tão importante como as outras atividades de desenvolvimento, mesmo que o custo do investimento no rastreamento de requisitos não tenha um retorno imediato. O recomendável será sempre rastrear durante o processo de desenvolvimento, e não depois, ou apenas quando existir um problema ou proposta de uma mudança.

A seguir identificaremos e explicaremos alguns dos obstáculos encontrados no rastreamento de requisitos.

2.3 Obstáculos Encontrados no Rastreamento de