Esse artigo faz parte da revista Engenharia de Software 13 edição especial. Clique aqui para ler todos os artigos desta edição

Projeto

Rastreabilidade

Definições Iniciais

 

De que se trata o artigo: Neste artigo será apresentada uma revisão dos principais métodos existentes para lidar com o conceito de rastreabilidade: matrizes de rastreabilidade e métodos de recuperação automática de estruturas de rastreabilidade. A seguir, serão apresentadas técnicas de rastreabilidade alternativas para o rastreamento de requisitos não funcionais, baseadas em cenários, e considerações sobre a granularidade da rastreabilidade para torná-la mais gerenciável e menos custosa. Por fim, será apresentada uma definição formal da rastreabilidade, identificando as operações básicas sobre elos e artefatos.

 

Para que serve: Rastreabilidade é um conceito que pode ser considerado chave em projetos de desenvolvimento de software. Este artigo trata de seus principais conceitos.

 

Em que situação o tema é útil: Para aqueles que pretendem ter um maior controle sobre os artefatos gerados ao longo do desenvolvimento facilitando sua manutenção e análise de impacto a partir de solicitações de alteração.

 

 

Neste artigo será apresentada uma revisão dos principais métodos existentes para lidar com o conceito de rastreabilidade: matrizes de rastreabilidade e métodos de recuperação automática de estruturas de rastreabilidade. A seguir, serão apresentadas técnicas de rastreabilidade alternativas para o rastreamento de requisitos não funcionais, baseadas em cenários, e considerações sobre a granularidade da rastreabilidade para torná-la mais gerenciável e menos custosa. Por fim, será apresentada uma definição formal da rastreabilidade, identificando as operações básicas sobre elos e artefatos.

Matrizes de Rastreabilidade

Matrizes de rastreabilidade são geralmente utilizadas para exibir os relacionamentos entre a elicitação de requisitos e a representação destes requisitos em um método particular da engenharia de software. Mesmo em projetos pequenos ou de tamanho moderado, o estabelecimento de elos de rastreabilidade, entre artefatos-chave e modelos, continua sendo uma tarefa desafiadora e cara [1]. Um dos possíveis motivos é que não há forma padronizada de armazenar ou representar elos de rastreabilidade. Tradicionalmente, eles são armazenados em uma matriz e representados como grafos.

Em termos da álgebra linear, elas exibem o mapeamento entre fonte e alvo. Tais mapeamentos são apresentados em um tipo especial de matriz, chamada de matriz de dependência, que representa a relação de dependência entre elementos da fonte e do alvo (fonte x alvo). Nas linhas, ficam os elementos fonte, e nas colunas, os elementos alvo. Nesta matriz, uma célula com o valor 1 denota que o elemento fonte (na linha) é mapeado para o elemento alvo (na coluna). Reciprocamente, isto significa que o elemento alvo depende do elemento fonte [2].

Em sua forma mais simples, a rastreabilidade se manifesta em tabelas cruzadas, nas quais os elementos de um projeto são relacionados aos requisitos que satisfazem [3]. Nesta matriz, elementos-fonte são mapeados para elementos-alvo. A Tabela 1 [2] apresenta o mapeamento do elemento-fonte f1 para os elementos-alvo a1, a3 e a4, o que indica que a1, a3 e a4 dependem de f1. Analogamente, pode-se dizer que f1 dá origem a a1, a3 e a4.

Esta representação permite visualizar, por exemplo, que vários requisitos são implementados por uma mesma classe, permitindo que a intersecção entre classes responsáveis pela satisfação de um requisito seja não-vazia (ou seja, n classes podem ser comuns entre dois ou mais requisitos). Além disso, é possível visualizar as várias classes que podem ser necessárias para a implementação de um requisito. [4]. É possível representar a tabela graficamente, conforme a Figura 1 [4].

 

 

 

Alvos

a1

a2

a3

a4

 

Fontes

f1

1

0

1

1

f2

0

1

0

0

f3

0

0

1

0

Tabela 1. Exemplo de dependência entre elementos

 

Figura 1. Representação gráfica da matriz de rastreabilidade

 

Elos de rastreabilidade são geralmente estabelecidos pelo relacionamento explícito entre dois artefatos, armazenando-os em tabelas, bancos de dados, ou ferramentas de gerenciamento de requisitos [5], e esta ainda é a prática atual [6]. Existem diversos modelos de rastreabilidade que diferem nos tipos de artefatos que rastreiam. Porém, a maioria dos projetos não utiliza um método sistemático de rastreamento, mas delega, para determinados indivíduos, a atividade de realizar um rastreamento ad hoc, quando for necessário [7].

Formalmente, as estruturas tradicionais de rastreabilidade são criadas seguindo a definição Elo(a,a). Uma matriz de rastreabilidade (MR) é formada pelo conjunto {Elo(a,a)|a e a são artefatos, em qualquer nível de abstração (eg. caso de uso, especificação de requisitos, diagrama de classe, código fonte de uma linguagem específica, etc. } [8].

Cada artefato possui um nível de abstração, que pode ser mais ou menos completo do que os outros, e apresenta diferentes pontos de vista sobre as necessidades do sistema. As relações entre estes, do menos completo para o mais completo, até a implementação, deve ser mantida para garantir que a estrutura de rastreabilidade permita:

1.      O mapeamento dos requisitos para um modelo posterior, até o código fonte, garantindo que a satisfação dos requisitos esteja atribuída a componentes do sistema (Forward from Requirements);

2.      O Mapeamento de um modelo qualquer de volta para os requisitos, evitando o gold-plating (Backward to Requirements);

 

Grande parte das propostas de rastreabilidade possui estas características, no entanto, algumas suportam o rastreamento somente vertical (relacionamentos entre artefatos no mesmo nível de abstração), outras somente o horizontal (relacionamentos entre artefatos em níveis diferentes de abstração). Para exemplificar a utilização de matrizes no rastreamento vertical, considere as seguintes regras de negócio (doravante denominados simplesmente como requisitos, por simplicidade):

R1 “Todo cliente tem uma conta, com um determinado limite de crédito”;

R2 “O limite de crédito de qualquer conta está restrito a um determinado valor, estabelecido segundo a lei federal XYZ”;

R3 “A verificação do limite de crédito é realizada de acordo com os seguintes critérios...”;

R4 “Universitários têm limite de R$ 200,00, invariavelmente”.

 

Não é necessário muito esforço de interpretação para perceber que os requisitos estão de fato relacionados, pois tratam de interesses comuns, formando a possível matriz de rastreabilidade, representada pela Tabela 2.

 

 

...

Quer ler esse conteúdo completo? Tenha acesso completo