Você está na página 1de 11

Rastreabilidade de requisitos atravs da web

Fernando dos Santos (FURB)


fds@inf.furb.br
Karly Schubert Vargas (FURB)
karly@inf.furb.br
Christian Rogrio Cmara de Abreu (FURB)
crca@inf.furb.br
Resumo. O presente artigo apresenta uma ferramenta para o gerenciamento de requisitos via
web, cuja nfase est no uso de matrizes de rastreabilidade como forma de implementar ligaes
entre requisitos de software. A atravs destas ligaes possvel apresentar ao analista as
conseqncias de uma alterao ou excluso de requisitos no projeto.
Palavras-chave: Gerenciamento de Requisitos, Rastreabilidade.
1 Introduo
O software de computadores tornou-se uma fora motora. o motor que dirige a tomada de
deciso nos negcios. Serve de base moderna investigao cientfica e s solues de problemas
de engenharia. um fator chave que diferencia os produtos e servios modernos. Est embutido
em sistemas de todas as naturezas: de transportes, mdicos, de telecomunicaes, militares, de
processos industriais, de produtos de escritrio,... a lista quase sem fim (Pressman, 2002, p.3).
A tendncia um crescimento ainda maior, pois a busca de melhorias no desenvolvimento de
produtos e servios vem exigindo um grau cada vez maior de automao. Devido a isto o
desenvolvimento de software tem se tornado mais complexo por atingir reas que demandam de
um conhecimento mais aprofundado.
Com este aumento da complexidade dos projetos de software, tornou-se imprescindvel um
completo acompanhamento e planejamento de todas as etapas do projeto, como forma de garantir
que o software atenda as necessidades levantadas.
Dentro das diversas reas da engenharia de software, destaca-se a rea de engenharia de
requisitos que Sommerville (2003) define como o processo de descobrir, analisar, documentar e
verificar as funes e restries de um sistema. Esta etapa de fundamental importncia, pois faz
o levantamento dos objetivos do projeto, descrevendo quais as funes que o software dever
possuir, bem como as restries de cada funo. Caso ocorra algum problema nesta etapa, falhas
iro ocorrer durante o desenvolvimento do software.
Mas existe uma dificuldade para este acompanhamento quando as equipes de
desenvolvimento e os analistas possuem uma distncia geogrfica que os separa. Pois uma
alterao tem que ser vista por todos os envolvidos no momento em que ocorre para que seja
mantida a consistncia das informaes. Para ajudar nisso, surge internet como forma de
interligar todas as pessoas envolvidas no projeto do software.
Este artigo tem por objetivo apresentar uma ferramenta para o gerenciamento de requisitos
com o diferencial de que sua utilizao feita via web, possibilitando que equipes alocadas em
locais diferentes possam ter sempre a sua disposio, informaes atualizadas. Alm disto, a
ferramenta oferece flexibilidade para a confeco das matrizes de rastreabilidade, e permite a
visualizao do impacto das alteraes de determinados requisitos sobre os requisitos do projeto.


2 Requisitos de Software
2.1 Requisitos
Segundo Peters (2001) um requisito de software uma descrio dos principais recursos de
um produto de software, seu fluxo de informaes, comportamento e atributos. Em suma, um
requisito de software fornece uma estrutura bsica para o desenvolvimento do produto de software.
Os requisitos mostram as caractersticas que o cliente deseja no produto final,. Definem os
critrios de aceitao de um produto, e so captados na fase de elicitao do projeto, onde so
levantadas todas as necessidades do sistema. Seu levantamento deve ser feito de forma bastante
cuidadosa, consultando a todas as pessoas que estaro envolvidas no uso do produto final. Com
isso possvel evitar vrios problemas posteriores ao desenvolvimento do software.
Porm, mesmo que seu levantamento seja feito de forma cuidadosa, um problema comum a
instabilidade dos requisitos, uma vez que os mesmos sofrem alteraes no decorrer do
desenvolvimento. Aqui entra a importncia de haver uma ferramenta que permita uma
manipulao destes requisitos, podendo haver um controle de quais so os requisitos atuais, quem
responsvel pelo requisito e quais os seus atributos.
Os requisitos podem ser agrupados em trs principais tipos, sendo que sua nomenclatura varia
de acordo com o autor (Peters, 2001):
a) Funcional (aes principais): Descreve as atividades do sistema, o que ele deve fazer.
b) Comportamental (atividades de controle): Descreve a hierarquia das funes e
atividades do sistema, faz o controle do sistema.
c) No-Comportamental (atributos): Descreve as regras de funcionamento e condies
necessrias para a execuo de algumas funes. Trata tambm da garantia da
qualidade.
Independente de sua classificao, um requisito possui atributos que definem as
caractersticas do requisito. Os atributos especificam a prioridade, o status do requisito e seu autor,
entre outras informaes.
Mas no basta somente possuir a descrio dos requisitos, preciso criar ligaes entre eles.
Estas ligaes permitem a anlise do grau de influncia que uma alterao pode causar no restante
do projeto. Aqui entra a rastreabilidade dos requisitos.
2.2 Rastreabilidade
Existem muitas relaes entre requisitos e outros requisitos entre os requisitos e o projeto do
sistema. H tambm elos entre os requisitos e as razes bsicas da proposio desses requisitos.
(Sommerville, 2003, p. 120). Uma parte crtica do gerenciamento de alteraes a avaliao do
impacto da mudana no restante do sistema. Se a mudana proposta enquanto os requisitos esto
sendo desenvolvidos, deve ser identificado como a alterao afeta outros requisitos. Se a alterao
proposta enquanto o sistema est em implementao, o impacto de alterao envolve verificar
como a alterao afeta os requisitos, o design do sistema e sua implementao. Se a alterao
proposta depois que o sistema foi colocado em operao, deve haver tambm uma verificao
adicional a fim de identificar como todos os stakeholders do sistema podem ser afetados pela
alterao.
Marquioni (2004) define alguns tipos de rastreabilidade, mostrados na tabela 1.




Tipo de rastreabilidade Descrio
Requisitos Fontes Link do requisito s pessoas ou documentos que
especificaram o requisito.
Requisitos Razo Link do requisito com uma descrio de porque foi
especificado. Pode ser uma destilao de informaes de vrias
fontes.
Requisitos Requisitos Link do requisito com outros requisitos que sejam, de
alguma maneira, dependentes dele. Deve ser um link de mo
dupla (depende e dependente de).
Requisitos Arquitetura Link do requisito com os subsistemas onde estes requisitos
esto implementados. Particularmente importante se os
subsistemas estiverem sendo desenvolvidos por subcontratados
diferentes.
Requisitos Design Link do requisito com hardware ou componentes de
software especficos no sistema que so usados para
implementar o requisito.
Requisitos Interface Link do requisito com as interfaces de sistemas externos
que sero usados na proviso dos requisitos.
Tabela 1: Tipos de rastreabilidade
Para facilitar este rastreamento de requisitos, freqentemente so utilizadas tabelas de
rastreabilidade, que criam associaes entre os requisitos. Uma forma de visualizao grfica
desta rastreabilidade uma matriz de rastreabilidade, que mostra a ligao entre os requisitos,
onde a linha dependente da coluna e a coluna depende da linha. Est matriz demonstra de que
forma um requisito influencia em outro, possibilitando uma anlise do impacto de uma alterao
do requisito.
Na ferramenta desenvolvida, foi implementado a rastreabilidade do tipo Requisito-Requisito,
e utilizada como forma de visualizao a matriz de rastreabilidade, com a utilizao de flechas
indicando a direo da dependncia.
A tabela 2 apresenta um exemplo de uma matriz de rastreabilidade retirada do artigo de
Marquioni (2004).

R1 R2 R3 R4 R5 R6
R1

X X

R2

X X
R3

X X

R4

X

R5

X
R6

Tabela 2: Matriz de rastreabilidade
No exemplo, R1 dependente de R3 e R4; R2 dependente de R5 e R6, etc. Se for proposta
uma alterao no requisito R4, a leitura da coluna R4 aponta que R1 e R3 dependem de R4. Deve
ser avaliado com isso o impacto em R1 e R3 com relao alterao proposta a R4.


O volume de dados que sero controlados pela matriz significativo, por isso este tipo de
controle no recomendado para um projeto muito grande, nestes casos deve optar-se por outra
forma de visualizao, como uma lista de rastreabilidade (Marquioni, 2004).
3 Desenvolvimento da Ferramenta
A ferramenta desenvolvida, denominada Requisite Online, prope-se a auxiliar analistas de
sistema no gerenciamento de requisitos de projetos de software.
Para isto, a ferramenta permite o cadastramento de projetos de software. Em cada projeto,
devem ser cadastrados os requisitos do mesmo. Estes requisitos so agrupados de acordo com seus
tipos (por exemplo: requisitos funcionais, requisitos no funcionais, ...), tipos estes que tambm
so cadastrados pelo analista. Tambm possvel montar diversas matrizes de rastreabilidade para
um mesmo projeto, sendo estas matrizes definidas em funo dos tipos de requisitos. A ferramenta
tambm disponibiliza ao analista um relatrio com as informaes cadastradas no projeto
(requisitos e matrizes).
Na figura 1 apresentado o diagrama de casos de uso com a representao das
funcionalidades do sistema, e na seqncia, um descritivo das mesmas.
Requisitos
Montar mat riz
Projetos
Tipo de requi sito
Efeitos alteraes
Anali sta
Vi sual izar Relat ri o

Figura 1: Diagrama de casos de uso
Projetos: Este um caso de uso secundrio e trata do cadastro de um novo projeto.
Tipo de requisito: Este um caso de uso secundrio e trata do cadastro dos tipos de requisitos
(funcionais, no funcionais, regras de negcio, etc.). O cadastro de tipos de requisitos pode ser
feito de duas formas: a primeira o cadastro de um tipo geral, que ser utilizado em todos os
projetos; a segunda forma o cadastro de um tipo de requisito especfico para um projeto.
Requisitos: Este um caso de uso secundrio, e s ocorre aps o caso de uso Projetos. Trata
do cadastro dos requisitos do projeto de software e seus atributos.
Montar matriz: Para este caso acontecer necessrio que tenham ocorrido os seguintes casos
de uso: Projetos, Requisitos, Tipo de requisito. Trata da montagem da matriz de rastreabilidade,


feita com base nos requisitos cadastrados. O analista define quais tipos de requisitos iro compor a
rastreabilidade, em seguida define a dependncia entre os requisitos. A matriz pode ser visualizada
aps sua confeco. O analista pode montar quantas matrizes achar necessrio.
Efeitos alteraes: Este caso s acontece aps a ocorrncia do caso de uso Montar matriz.
Com a matriz de rastreabilidade montada, o analista pode simular alteraes nos requisitos e
verificar suas conseqncias.
Visualizar Relatrio: Este caso s ocorre aps o caso de uso Projetos. Neste caso o analista
pode visualizar e imprimir as informaes sobre o projeto, sendo elas: nome, requisitos e
matriz(es) de rastreabilidade do projeto.
3.1 Ferramentas Utilizadas
Para o desenvolvimento da ferramenta, foi utilizada a linguagem de programao PHP em
conjunto com JavaScript. Para persistncia dos dados, utilizou-se o sistema gerenciador de banco
de dados MySQL.
3.1.1 PHP
Soares (2001) afirma que PHP uma combinao de linguagem de programao e servidor
de aplicaes. Voc pode programar em PHP como em qualquer outra linguagem, definindo
variveis, criando funes, realizando loops, enfim tudo o que necessrio no mundo da
programao. Mas o que realmente difere PHP das outras linguagens de programao a sua
capacidade de interagir com o mundo WEB, transformando pginas estticas em verdadeiras
fontes de informao.
As caractersticas que foram observadas para a escolha da linguagem de programao so
apresentadas por Soares (2001), dentre as quais cita-se que o PHP roda no servidor, portvel,
possui cdigo nativo para muitos bancos de dados, entre eles o MySQL e pode ser embutido no
HTML.
3.1.2 MySQL
Conforme Soares (2001), o MySQL um gerenciador de banco de dados mais utilizado no
mundo Linux, seno for o mais utilizado, pois uma ferramenta muito poderosa, segura e fcil de
utilizar. Alm disto, o MySQL gratuito.[...] Uma das vantagens do MySQL a sua
disponibilizao em vrias plataformas.
Os fatores determinantes na escolha do MySQL para persistncia dos dados foram a sua
gratuidade e facilidade de uso. A gratuidade garante que nenhum custo precise ser criado ou
mantido para utilizao do sistema, e a facilidade de uso permitiu que o desenvolvimento se desse
de forma consistente e rpida.
3.1.3 JavaScript
De acordo com Feather et al (1997), JavaScript uma linguagem de script (ou roteiro)
orientada a objetos, usada para desenvolver aplicaes clientes e para Intranets/Internet. Recebe
comandos de uma pgina HTML e, em resposta, pode executar uma ao diferente.
No desenvolvimento desta ferramenta, JavaScript foi utilizado para validaes em campos de
entrada de dados e tambm para exibio de dilogos de confirmao, quando necessrio.


3.2 Implementao
Na figura 2, temos o diagrama entidade-relacionamento das entidades desenvolvidas para a
persistncia dos dados e implementao da ferramenta.

AGREGA
POSSUI
REQ_DESTINO REQ_ORIGEM
PROPOE
COMPOSICAO_LINHAS COMPOSICAO_COLUNAS
TIPO_COLUNAS TIPO_LINHAS
PERTENCE
REVISA
PARTICIPA
REVISADO
DEFINE
REQUISITO
CD_REQUISITO
DS_REQUISITO
DIFICULDADE
ESTABILIDADE
NM_REQUISITO
PRIORIDADE
STATUS
<pi > N5
TXT1024
TXT
TXT
TXT
TXT
TXT
<M>
<M>
REQUISITO_PK <pi >
PROJETO
CD_PROJETO
DS_PROJETO
DT_INICIO
DT_FIM
<pi > N5
TXT512
D
D
<M>
<M>
<M>
<M>
PROJETO_PK <pi >
TIPO_REQUISITO_PROJETO
CD_TIPO_REQ
DS_TIPO_REQ
<pi > I
VA100
<M>
<M>
TIPO_REQUISITO_PK <pi>
RELACIONAMENTO
MATRIZ
CD_MATRIZ
DS_MATRIZ
<pi > I
VA100
<M>
<M>
MATRIZ_PK <pi >
TIPO_REQ_LINHAS_MATIZ TIPO_REQ_COLUNAS_MATRIZ
TP_REQUISITO_SISTEMA
CD_REQ
DS_TIPO_REQ
<pi > I
VA100
<M>
TP_REQUISITO_SISTEMA_PK <pi >
AUTOR
CD_AUTOR
NM_AUTOR
<pi > I
TXT
<M>
AUTOR_PK <pi >
REVISAO
CD_REVISAO
ETIQUETA
DS_REVISAO
DT_REVISAO
HR_REVISAO
<pi > I
TXT
TXT
D
T
<M>
REVISAO_PK <pi >

Figura 2: Diagrama entidade-relacionamento da ferramenta desenvolvida.
Para cada projeto cadastrado, armazenado na entidade PROJETO, seu nome, sua data de
inicio, e sua data de concluso.
Um projeto agrega vrios requisitos, e estes so mantidos na entidade REQUISITO. Cada
requisito composto dos seguintes atributos: nome, autor (do requisito e revises), prioridade
(nvel de importncia do requisito), status (estado em que o requisito se apresenta), dificuldade
(dificuldade no desenvolvimento do requisito), estabilidade (estabilidade que apresenta o requisito
em relao ao projeto), descrio e revises (alteraes efetuadas no requisito, se houverem).


Cada requisito cadastrado agrupado em um determinado tipo de requisito. Um projeto pode
apresentar vrios tipos de requisitos, e estes so armazenados na entidade
TIPO_REQUISITO_PROJETO. O analista tem ainda a possibilidade de cadastrar no sistema os
tipos de requisitos que o mesmo considera padro para todo novo projeto (criando tipos de
requisitos globais). Estes tipos so salvos na entidade TP_REQUISITO_SISTEMA, e a cada novo
projeto criado o sistema realiza a insero automtica destes tipos de requisitos no novo projeto.
Para um projeto, o analista pode propor/montar diversas matrizes de rastreabilidade. Para
cada nova matriz criada uma entrada na entidade MATRIZ. Estas matrizes so montadas em
funo dos tipos de requisitos que so selecionados para suas linhas e para suas colunas (por
exemplo, requisitos funcionais versus requisitos no funcionais). Estes tipos, so armazenados nas
entidades TIPO_REQ_LINHAS_MATRIZ e TIPO_REQ_COLUNAS_MATRIZ,
respectivamente. A implementao de matrizes de rastreabilidade desta maneira, alm de permitir
grande flexibilidade ao analista possibilitando a construo de diversas matrizes de rastreabilidade,
elimina a necessidade de que cada novo requisito seja adicionado manualmente na(s) matriz(es),
pois a mesma relaciona tipos de requisitos, e no simplesmente requisitos.
4 O Requisite Online
A ferramenta desenvolvida acessada atravs de um browser, sendo necessrio que o usurio
esteja conectado a internet durante o uso da ferramenta. O usurio, depois de conectado a
ferramenta, pode navegar pelo browser e executar todas as funes do sistema. Aps realizar todas
as suas tarefas, o usurio pode desconectar-se da ferramenta apenas fechando o browser. O
Requisite Online est disponvel na internet, no seguinte endereo:
http://campeche.inf.furb.br/phps/crca/requisitos/conteudo.
4.1 Comeando seu uso
A figura 3 mostra a tela inicial, que vista pelo usurio assim que o mesmo abre a
ferramenta.

Figura 3: Tela inicial
Nesta tela, o analista cria um novo projeto e define tipos de requisitos globais para os
projetos. Os tipos de requisitos globais sero inseridos automaticamente em todo novo projeto. A


grande vantagem do uso destes tipos de requisitos globais, que isto torna possvel padronizar os
tipos de requisitos de todos os novos projetos desenvolvidos.
Para iniciar um novo projeto o analista deve selecionar Novo Projeto, informando um nome
e a data de inicializao do mesmo, aps este passo o projeto ser criado na rea de Projetos
Cadastrados, podendo ser iniciada sua manipulao.
4.2 Principais Funcionalidades
Nas sees a seguir, sero apresentadas as principais funcionalidades da ferramenta e de que
forma elas podem ser utilizadas.
4.2.1 Cadastro de requisitos
O primeiro passo de um projeto o cadastro dos requisitos. Estes requisitos devem
representar as necessidades do software que esta sendo gerenciado. Cada requisito possui um tipo
especfico, tendo o analista a possibilidade de cadastrar os tipos que considerar necessrio, no
sendo limitado aos tipos apresentados por Peters (2001). A figura 4 Apresenta a tela para o
cadastro do requisito. solicitado um nome para o mesmo, o autor do requisito, a prioridade, o
status do desenvolvimento, o grau de dificuldade, a estabilidade, e uma descrio completa do
requisito. A tela a mesma para todo novo requisito, independente de tipo.

Figura 4: Cadastro de requisito
4.2.2 Matriz de Rastreabilidade
A forma escolhida para gerenciar os requisitos nesta ferramenta foi o uso de matriz de
rastreabilidade, onde o analista cria ligaes entre os requisitos. O tipo de rastreamento utilizado


o de requisitos-requisitos, ou seja, vnculo do requisito com outros requisitos que sejam, de alguma
forma dependentes dele (Marquioni, 2004).
O sistema gera uma matriz de rastreabilidade simples, que permite registrar as dependncias
entre os requisitos. Na primeira linha e coluna desta matriz so dispostos os nomes dos requisitos.
A dependncia entre os requisitos registrada com um clique na clula de interseco dos
requisitos. Para visualizao das dependncias, so utilizadas setas que indicam qual(is) o(s)
requisito(s) que dependem de um requisito e quais o(s) requisito(s) que so dependentes deste
requisito. A leitura da dependncia deve ser feita em funo da direo da seta. Por exemplo, se a
seta parte do requisito A e aponta para o requisito B, l-se que o requisito B dependente do
requisito A. Devido a visualizao da rastreabilidade ser feita com matriz de rastreabilidade, deve-
se somente gerenciar projetos com um nmero pequeno de requisitos, recomendvel no mximo
250. (Marquioni, 2004).
A figura 5A mostra o processo para a criao de uma matriz. necessrio um nome e quais
tipos de requisitos sero rastreados. Os requisitos dos tipos escolhidos so automaticamente
includos na matriz de rastreabilidade.
A figura 5B mostra a matriz que o analista pode criar, com o relacionamento entre os
requisitos. Depois de montada, possvel realizar simulaes com a matriz para verificar o efeito
de alterao de requisitos.
(A)
(B)
Figura 5: Montando Matriz de rastreabilidade
A figura 6 mostra a utilizao prtica da matriz de rastreabilidade. Trata-se da possibilidade
de verificar os efeitos de alteraes em requisito(s). Para isto, o analista seleciona, a partir da lista
de requisitos que compem uma matriz, quais destes requisitos sero alterados (figura 6A). Em
seguida, o sistema apresenta a visualizao, na forma de matriz, dos impactos (em outros
requisitos) que a alterao ir causar. Estes impactos so indicados com cores, onde a coluna/linha
do requisito alterado colorida de amarelo, e a coluna/linha do requisito dependente do alterado
colorida de vermelho. A clula de interseco entre os requisitos colorida de laranja (figura 6B).


(A)
(B)
Figura 6: Simulao de alterao de requisito
5 Concluses
A linguagem PHP alm de ser de fcil manipulao mostrou-se bastante eficiente e eficaz no
que diz respeito ao tempo de resposta nas requisies ao banco de dados.
O gerenciamento de requisitos poder ser realizado remotamente, ou seja, o analista no
depende de sua estao de trabalho para executar as atividades que necessita, no havendo
portanto, limitaes geogrficas para uma equipe de desenvolvimento. Alm da vantagem de ser
independente de plataforma.
A ferramenta desenvolvida possui algumas vantagens em relao a outras ferramentas
disponveis no mercado. Uma delas o fato de sua utilizao ser via web, proporcionando uma
maior agilidade no gerenciamento dos requisitos. Outra vantagem o fato de que possvel
construir diversas matrizes de rastreabilidade, e suas linhas e colunas no ficam restritas a um
nico tipo de requisito, podendo assim, rastrear diferentes tipos de requisitos em uma nica matriz,
o que no permitido na ferramenta Rational RequisitePro. Com a construo de diversas matrizes
de rastreabilidade, surge a possibilidade de gerenciar um nmero maior de requisitos, superando o
limite de 250 requisitos por projeto.
O uso de uma ferramenta para o gerenciamento dos requisitos auxilia o analista na
organizao e controle dos requisitos. Porm fundamental lembrar a importncia da etapa de
elicitao dos requisitos pois, em nada adianta uma boa ferramenta de gerenciamento se os
requisitos no forem captados de forma correta, refletindo todas as funes que o sistema deve
realizar.


Referncias
FEATHER, Stephen; CASSADY-DORION, Luke. JavaScript em exemplos. So Paulo : Makron
Books, 1997. xxv, 357 p.
MARQUIONI, Eduardo. Os processos tpicos da engenharia de requisitos parte 5, So Paulo,
2004. Disponvel em <http://www.choose.com.br/infochoose/artigos/45art03.htm>. Acessado em
8 de julho de 2004.
PETERS, James F; PEDRYCZ, Witold. Engenharia de software : teoria e prtica. Rio de Janeiro:
Campus, 2001. xvii, 602 p.
PRESSMAN, Roger S. Engenharia de software. 5.ed. So Paulo : McGraw-Hill, 2002. xxvii,
843 p.
SOARES, Walace. MySQL : conceitos e aplicaes. So Paulo : rica, 2001. 294 p.
SOMMERVILLE, Ian. Engenharia de software. 6.ed. So Paulo : Addison Wesley, 2003. xiv,
592 p.

Você também pode gostar