Artigo Engenharia de Software 13 - Rastreabilidade

Artigo da Revista Engenharia de Software edição 13.

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.

 

 

Requisitos"

[...] continue lendo...

Artigos relacionados