Você está na página 1de 18

Recebido em: 15/03/09

Aprovado em: 07/05/10

Avaliao de uma ferramenta de


controle de verses de software com
o modelo de avaliao OPENBRR
Angela Maria Alves (CTI) - angela.alves@cti.gov.br
Universidade Fedederal de Lavras Caixa Postal 3037, CEP 37200-000, Lavras-MG, fone: (55) 35-3829-1122 / 1502
Ciniro Aparecido Leite Nametala (UFLA) - ciniro@gmail.com
Madison Delano Tobal da Paz (UFLA) - madison.paz@gmail.com
Maria Henrica Ruiter Kanamori (UFLA) - lukanamori@yahoo.com
Rodrigo Cardoso Mesquita (UFLA) - rcardosom@hotmail.com

Resumo
Este artigo tem como objetivo apresentar um caso de utilizao de um modelo aberto que padroniza o
processo de avaliao de produtos de software livre / cdigo aberto. Para expor as caractersticas do modelo
utilizou-se um caso de avaliao dos pontos fortes e fracos de um sistema de controle de verses de grande
utilizao no meio corporativo de desenvolvimento de software: o Subversion. O texto apresenta tambm as
caractersticas do processo Configuration Management do modelo CMMI V1.1 que trata das boas prticas
relacionadas a gerencia de configurao.
Palavras-chave: Avaliao; Software Livre; OPENBRR; Controle de Verso
Abstract
The purpose of this study is to present a case of using an open model that standardizes the process of evaluation of free open source software products . The model was used for the assessment of the strengths and
weaknesses for a version control system used for software development: the Subversion. O text also presents
the characteristics of the configuration management process from the CMMI V1.1 model.
Keywords: Assessment, open source, OPENBRR, configuration management.

GEPROS. Gesto da Produo, Operaes e Sistemas Ano 5, n 3, Jul-Set/2010, p. 149-165

Avaliao de uma ferramenta de controle de verses de software


com o modelo de avaliao OPENBRR

150

1. INTRODUO
Gerenciar uma equipe de desenvolvedores de software uma tarefa que demanda um esforo incomensurvel por parte das lideranas que se responsabilizam pela organizao dos trabalhos a serem
desempenhados. Os desafios comeam quando se tenta conciliar, de acordo com as peculiaridades de
cada indivduo, os vrios pensamentos, as culturas e as distintas formas de realizar uma mesma atividade. O problema se agrava na medida em que cada vez mais pessoas dessa equipe de desenvolvimento
necessitam trabalhar, simultaneamente, em um mesmo projeto, dentro de um mesmo mdulo, e at em
um mesmo arquivo de cdigo fonte a ser editado.
As alteraes devem ser controladas para que o trabalho de um desenvolvedor no seja prejudicado pelas modificaes indevidas introduzidas no cdigo compartilhado, por parte de outro profissional
tambm envolvido no projeto. Para evitar tal problema, foram desenvolvidos sistemas que, alm de
gerenciar o controle de mudanas no cdigo-fonte, permitem que as verses utilizveis desse software
possam ser disponibilizadas e estendidas para futuras mudanas ou incrementos. Esses sistemas so os
chamados Sistemas de Controle de Verses, ou VCS, do ingls Versions Control Systems.
Dentre os diversos Sistemas de Controle de Verses disponveis, h opes comerciais, como o
SourceSafe, da Microsoft, e o ClearCase, da IBM. H tambm opes de software livre, como o Concurrent Version Systems, o CVS, e o seu sucessor, o Subversion, tambm conhecido por SVN. Esse ltimo,
bastante utilizado por desenvolvedores nas comunidades de software livre atuais, foi lanado em 2004,
incorporando alm das tradicionais caractersticas de concorrncia do seu predecessor, o CVS, inovaes que o tornram bastante eficiente no dia a dia dos desenvolvedores, como um tratamento mais eficiente de arquivos binrios, mudanas no protocolo que permitem o envio bidirecional das diferenas
nos arquivos, atomicidade nas operaes de commit, entre outras.
Escolher uma dessas alternativas para implantar o controle de verses exige que sejam ponderados os pontos positivos e negativos de cada opo para que a escolha atenda s expectativas da equipe
de desenvolvimento. Essa anlise no pode ser feita revelia ou subjetivamente, de acordo com as preferncias individuais de quem est analisando. Da a necessidade de criao de um modelo de avaliao
aberto e padronizado que seja amplamente utilizado, sem controvrsias, possibilitando aos usurios do
software livre compartilhar os resultados das avaliaes. Um modelo padronizado permite um entendimento unificado dos resultados conseguidos nas avaliaes. Sendo ele aberto, promove a confiana no
processo de avaliao, assegurando sua flexibilidade para mudanas vindouras.
Nesse contexto, o SpikeSource, o Centro para Investigao de Software Livre na Carniege Mellon
West e a Intel Corporation desenvolveram um modelo de levantamento para a avaliao de preparo
para negcios, do ingls Open Business Readness Rating, ou OpenBRR, que permite aos profissionais
da rea de gesto tomar as decises concernentes ao melhor aplicativo de software livre a ser utilizado
em determinado projeto (BRR, 2005). Tambm permite que os usurios enviem suas avaliaes para a
comunidade de software livre, realimentando o repositrio de informaes, num crescente aprendizado
possibilitado por esse feedback.

esse modelo que ser utilizado na avaliao do Subversion, comprovando ou no sua eficincia
no controle de verso dos softwares livres desenvolvidos, de acordo com as pontuaes consideradas
pelo referido modelo OpenBRR.
O presente artigo dividido em seis sees em sua totalidade. A primeira essa introduo ao tema. A segunda seo aborda as caractersticas inerentes ao desenvolvimento distribudo e a importncia do controle de verses para o sucesso nos projetos que envolvam compartilhamento de cdigo. Na
terceira seo a ferramenta Subversion apresentada, explicitando-se as razes de sua adoo. A quarta
seo expe a fundamentao terica do modelo de avaliao OpenBRR, para na quinta seo ser aplicada ao SVN, sendo o mote desse trabalho. Finalmente, na ltima seo, ser apresentada a concluso
deste artigo, conforme a apreciao dos autores acerca das constataes levantadas na seo anterior.

2. DESENVOLVIMENTO DISTRIBUDO E CONTROLE DE VERSES


No processo Configuration Management (CM) do modelo CMMI V1.1 (CMMI, 2002) encontramos as boas prticas relacionadas com a gerencia de configurao.
O objetivo da gerncia de configurao, rea de processo de suporte, estabelecer e manter a integridade dos produtos de trabalho usando a identificao de configurao, controle de configurao,
contagem de status de configurao, e auditorias de configurao. Esta gesto permite que o desenvolvimento seja feito por recursos distribudos nos diversos continentes, facilitando, assim, montar a
equipe de desenvolvedores com os melhores especialistas.
Nesta rea de processo tm-se trs (3) metas especficas (tambm conhecidas por Specific Gold
(SG)) e para cada meta teremos as praticas especficas (tambm conhecidas por Specific Pratices (SP)) e
finalmente tm-se as sub-prticas respectivamente (tambm conhecidas por Subpractices).
A seguir sero relacionados por meta especfica, as prticas especificas e as sub-prticas respectivamente.
SG1: Estabelea baselines onde os baselines dos produtos de trabalho identificados so
estabelecidos.
SP-1.1: Identifique os itens de configurao.
1. Selecione os itens de configurao e os produtos de trabalho que os compem baseado em um
critrio documentado.
2. Defina identificadores nicos para os itens de configurao.
3. Especifique as caractersticas importantes de cada item de configurao (autor, tipo, linguagem de
programao).
4. Especifique quando cada item de configurao colocado sob gerenciamento de configurao.
5. Identifique a pessoa responsvel (owner) por cada item de configurao.

GEPROS. Gesto da Produo, Operaes e Sistemas Ano 5, n 3, Jul-Set/2010, p. 149-165

Angela Maria Alves / Ciniro Aparecido Leite Nametala / Madison Delano Tobal da Paz
Maria Henrica Ruiter Kanamori / Rodrigo Cardoso Mesquita

151

GEPROS. Gesto da Produo, Operaes e Sistemas Ano 5, n 3, Jul-Set/2010, p. 149-165

Avaliao de uma ferramenta de controle de verses de software


com o modelo de avaliao OPENBRR

SP-1.2: Estabelea um sistema de gerenciamento de configuraes.


1. Estabelea um mecanismo para gerenciar os mltiplos nveis de controle do gerenciamento de
configuraes.
2. Armazene e recupere os itens de configurao do sistema de gerenciamento de configuraes.
3. Compartilhe e transfira itens de configurao entre nveis de controle dentro do sistema de gerenciamento de configuraes.
4. Armazene e recupere verses arquivadas de itens de configurao.
5. Armazene, atualize e recupere os registros de gerenciamento de configurao.
6. Crie relatrios de gerenciamento de configuraes extrados do sistema de gerenciamento de configuraes.
7. Preserve o contedo do sistema de gerenciamento de configuraes.
8. Revise a estrutura de gerenciamento de configuraes conforme necessrio.
SP-1.3: Crie ou libere os baselines.
1. Obtenha autorizao do CCB (Comit de Controle de Configuraes) antes de criar e liberar baselines de itens de configurao.
2. Crie ou libere baselines apenas para itens de configurao existentes no sistema de CM.
SG2: Acompanhe e controle mudanas quando houver modificaes nos produtos de trabalho
sob a gerncia de configuraes.
SP-2.1: Acompanhe as requisies de mudanas.
1. Inicie e grave requisies de mudanas na base de dados de requisies de mudanas.
2. Analise o impacto das mudanas e consertos propostos nas requisies de mudanas.
3. Revise as requisies de mudanas que sero endereadas no prximo baseline.
4. Acompanhe o status das requisies de mudanas at o fechamento.
SP-2.2: Controle os Itens de Configurao.
1. Controle as mudanas nos itens de configurao durante a vida do produto.
2. Obtenha a autorizao apropriada antes de inserir um item de configurao alterado no Sistema
de CM.
3. Check in e Check out dos itens de Configurao do Sistema de CM para incorporar as mudanas
de maneira que se mantenha a correo e integridade dos itens de configurao.
4. Realize revises para garantir que as mudanas no causaram efeitos indesejveis nos baselines.
5. Registre as mudanas dos itens de configuraes e as razes para as mudanas conforme apropriado.

152

Angela Maria Alves / Ciniro Aparecido Leite Nametala / Madison Delano Tobal da Paz
Maria Henrica Ruiter Kanamori / Rodrigo Cardoso Mesquita

SG3: Estabelea Integridade onde a integridade dos baselines estabelecida e mantida.


SP-3.1: Estabelea registros de Gerenciamento de Configurao.

2. Garanta que os relevantes stakeholders tenham acesso e conhecimento sobre o status dos itens de
configurao.
3. Especifique a ltima verso dos baselines.
4. Identifique as verses dos Itens de Configurao que constituem um baselines particular.
5. Descreva as diferenas entre baselines sucessivos.
6. Revise o status e a histria de cada item de configurao conforme necessrio.
SP-3.2: Realize Auditorias de Configurao.
1. Avalie a integridade dos baselines.
2. Confirme que os registros de configurao identificam corretamente as configuraes dos Itens de
configurao.
3. Revise a estrutura e a integridade dos itens no sistema de CM.
4. Confirme se os Itens no sistema de CM esto completos e corretos.
5. Confirme a conformidade com os padres e procedimentos de CM aplicveis.
6. Acompanhe itens de ao oriundos de auditorias at o fechamento.

3. A FERRAMENTA SUBVERSION
Anteriormente ao Subversion (SVN), o Concurrent Version System (CVS) foi amplamente utilizado
em todo o mundo. Sua premissa era ser um software livre para suportar o desenvolvimento em grandes
redes distribudas, o que o tornou muito popular.
Muitos usurios encontraram limitaes no CVS, pois ele no possui um controle adequado em
operaes como mover ou renomear arquivos e controle de diretrios; tarefa complementar, dentre
muitas outras, que o SVN possui suporte nativo. O SVN foi desenvolvido para ser o sucessor do CVS.
Robusto e com o desenvolvimento totalmente planejado pela CollabNet Inc1 e por especialistas no CVS,
foi construdo para funcionar de forma semelhante ao CVS para que os antigos usurios migrassem ao
novo sistema com relativa facilidade. Nasceu ento uma ferramenta que cada vez mais utilizada tanto
no mundo do software livre quanto em ambientes corporativos: o Subversion.

GEPROS. Gesto da Produo, Operaes e Sistemas Ano 5, n 3, Jul-Set/2010, p. 149-165

1. Registre as aes de CM em detalhes suficientes para que o contedo e status de cada item de configurao so conhecidos e verses anteriores possam ser recuperadas.

1 Empresa que desenvolve e comercializa software para a colaborao distribuda a nvel mundial entre as organizaes de desenvolvimento de software. Seu site oficial o http://www.collab.net.

153

GEPROS. Gesto da Produo, Operaes e Sistemas Ano 5, n 3, Jul-Set/2010, p. 149-165

Avaliao de uma ferramenta de controle de verses de software


com o modelo de avaliao OPENBRR

154

3.1. A Histria do Subversion


No incio de 2000, a CollabNet, Inc. comeou a procurar desenvolvedores para escrever um substituto para o CVS. CollabNet oferece um pacote de software chamado Source Cast, no qual um componente de controle de verso. Embora o Source Cast usasse o CVS como seu controle de verso inicial,
as limitaes do CVS foram bvias no comeo, e a CollabNet percebeu que teria de encontrar algum
produto com mais recursos. Mesmo assim, o CVS acabou tornando-se um padro no mundo open source porque no existia nada superior, ao menos no em uma licena livre. Por causa disso, a CollabNet
decidiu escrever um novo sistema de controle de verso do zero, aproveitando as ideias do CVS, mas
sem os bugs e falta de recursos.
Em fevereiro de 2000, eles contataram Karl Fogel, o autor de Desenvolvimento Open Source com
CVS (FORGEL, 2007), e perguntaram-lhe se gostaria de trabalhar neste novo projeto. Coincidentemente nessa poca, Karl j estava discutindo um projeto para um novo sistema de controle de verso com
seu amigo Jim Blandy. Em 1995, os dois comearam a Cyclic Software, uma empresa que provia contratos de suporte a CVS, e embora mais tarde eles tenham vendido o negcio, eles ainda utilizavam o CVS
todos os dias em seus empregos. Sua frustrao com o CVS levou Jim a pensar com cuidado em melhores maneiras de gerenciar verses, e ele no s criou o nome Subversion, mas tambm o projeto bsico
do repositrio de arquivos. Quando a CollabNet entrou em contato, Karl imediatamente concordou em
trabalhar no projeto, e Jim tornou-se seu auxiliar. A CollabNet contratou Karl e Ben Collins-Sussman,
e detalhou o projeto iniciado em maio. Com a ajuda de know-how de alguns bons produtos de Brian
Behlendorf e Jason Robbins da CollabNet, e Greg Stein (desenvolvedor independente ativo no processo
de especificao do WebDAV/DeltaV), o Subversion rapidamente atraiu a comunidade de desenvolvedores. Veio a tona que muitas pessoas tiveram a mesma frustrao com o CVS, e deram boas-vindas
chance de finalmente fazerem algo quanto a isso.
A equipe do projeto original focou em algumas metas simples. Eles no queriam desenvolver uma
nova metodologia de controle de verso, eles queriam apenas consertar o CVS. Decidiram que o Subversion deveria ter os mesmos recursos que o CVS, e preservar o mesmo modelo de desenvolvimento, mas
no duplicar as falhas bvias do sistema anterior. E mesmo no sendo necessrio ser um substituto, o novo
sistema deveria ser similar para que qualquer usurio CVS pudesse fazer a migrao com pouco esforo.
Depois de quatorze meses de desenvolvimento, o Subversion se tornou auto-hospedvel em 31
de agosto de 2001. Isto quer dizer que os desenvolvedores pararam de utilizar o CVS para gerenciar o
cdigo do sistema em desenvolvimento e passaram a utilizar o prprio Subversion.
A licena de copyright da CollabNet totalmente compatvel com a linhas de software livre Debian.
Em outras palavras, todos podem modificar, baixar e redistribuir o Subversion; no preciso permisso
da CollabNet ou de ningum para isso.

Angela Maria Alves / Ciniro Aparecido Leite Nametala / Madison Delano Tobal da Paz
Maria Henrica Ruiter Kanamori / Rodrigo Cardoso Mesquita

O Subversion um sistema de controle de verso livre desenvolvido pela CollabNet Inc. em 2001,
com vistas a substituir o CVS. Isso quer dizer que ele gerencia arquivos e diretrios no decorrer do
tempo. Possui um repositrio semelhante a um servidor de arquivos comum, exceto pelo fato de lembrar cada mudana feita nos arquivos e diretrios. Isto permite recuperar antigas verses dos dados ou
examinar a histria de mudanas de qualquer alterao. Como analogia, muitos entendem o controle
de verso como uma espcie de mquina do tempo, em que se torna possvel voltar a informao a
praticamente qualquer ponto de mudana do passado.
possvel acessar o repositrio atravs de redes drasticamente distribudas, o que permite que
seja utilizado por pessoas em diferentes computadores com um desempenho muito bom. H suporte
para pessoas modificarem e gerenciarem o mesmo conjunto de dados de modo colaborativo, sendo
que o SVN consegue gerenciar alm das alteraes, os conflitos eventuais de edio que podem ocorrer
quando mais de um usurio altera o mesmo contedo do repositrio. O trabalho desenvolve-se mais
rpido pelo simples fato do controle de modificaes estar disponvel. E por o trabalho estar com verses enumeradas, no h temor quanto ao prejuzo de qualidade por perda de contedo se algo est
incorreto s retornar a um ponto anterior.
Alguns controles de verses so tambm sistemas de gerenciamento de configurao (SCM). Estes
sistemas so especificamente desenvolvidos para gerenciar rvores de cdigo fonte, e tm muitos recursos especficos para o desenvolvimento de software tais como a compreenso nativa de linguagens de
programao, ou a disponibilizao de ferramentas para compilar o software. O Subversion, por muito
tempo, no foi um desses sistemas. Ele foi construdo inicialmente como um sistema geral que pode ser
usado para gerenciar qualquer coleo de arquivos. Para voc, aqueles arquivos podem ser cdigo-fonte
para outros, alguma coisa da lista de itens da loja ou uma lista de downloads.
Recentemente, a CollabNet lanou a verso 1.5 do Subversion, integrada a um conjunto de outros
softwares, com recursos de um SCM completo.
Claramente o SVN uma alternativa excelente para desenvolvedores que querem gerenciar cdigo
fonte, pois alm de gerenciar os arquivos do repositrio e ter um controle de concorrncia superior a
muitos sistemas comerciais, possui custo zero.
Assim, de acordo com os argumentos acima, e com a escolha do software definida, a prxima
etapa conhecer o modelo de avaliao que ser utilizado para comprovar sua eficincia na prtica. A
prxima seo aborda o modelo adotado neste artigo.

GEPROS. Gesto da Produo, Operaes e Sistemas Ano 5, n 3, Jul-Set/2010, p. 149-165

3.2. Definio do Subversion

155

GEPROS. Gesto da Produo, Operaes e Sistemas Ano 5, n 3, Jul-Set/2010, p. 149-165

Avaliao de uma ferramenta de controle de verses de software


com o modelo de avaliao OPENBRR

156

4. MODELO DE AVALIAO OPENBRR


Criado pela Universidade Carnegie Mellon, o modelo OpenBRR, do ingls Open Business Readiness Rating, aberto e segue um padro avaliativo que visa avaliar qualquer tipo de sistema de software
de maneira formal, alm de agilizar os processos de adoo de software livre e propor um modelo conceitual para anlise com base nos propsitos do cliente. Este modelo tem tido uma crescente adoo devido s caractersticas de padronizao que ele oferece. Isso se deve ao fato de que o modelo possui uma
linguagem comum que traz nivelamento de entendimento nos resultados gerados. O modelo OpenBRR
agrega vrias caractersticas benficas e, por ser aberto, auxilia na expanso, mudanas e melhorias na
avaliaes possivelmente feitas pelos usurios, resultando em grande confiana no processo de avaliao devido transparncia das mtricas empregadas (BRR, 2005).
Este modelo possibilita que os riscos de utilizao de um software possam ser diminudos quando
na adoo do mesmo, visto que o OpenBRR permite que a avaliao de um sistema pode ser compartilhada e padronizada dentro de uma mesma linguagem. Segundo Moraes (2008), o OpenBRR se
torna atraente, tambm, para os desenvolvedores de Software Livre em relao melhoria dos pontos
fracos identificados atravs da avaliao.
Baseado em quatro etapas o modelo OpenBRR permite que atravs de cada fase o software seja
avaliado passo-a-passo. Sendo estas:
A primeira fase consiste em uma avaliao para escolher o grupo de pacotes de software a ser avaliado, dentre alguns candidatos selecionados previamente, atendendo aos requisitos do cliente.
Na segunda fase do modelo feita uma organizao das mtricas e categorias que sero utilizadas na avaliao na medida em que prioridades so determinadas.
A terceira fase caracterizada pela coleta e processamento dos dados observados.
A quarta fase a adaptao dos dados para o OpenBRR (BRR, 2005).
A figura 1 abaixo ilustra o modelo OpenBRR e suas quatro etapas.

Angela Maria Alves / Ciniro Aparecido Leite Nametala / Madison Delano Tobal da Paz
Maria Henrica Ruiter Kanamori / Rodrigo Cardoso Mesquita

Modelo de avaliao de preparo para negcios

Mtricas
Normalizadas
Mtricas
Normalizadas
Mtricas
Normalizadas

Mtricas
Normalizadas

Fator de peso da
orientao funcional
distribuio de 100%

Funcionalidade

20%

Qualidade

40%

Suporte

10%

Comunidade

15%

Adoo

10%

...

...

Usabilidade

10%

BRR
Nota de 1 a 5
5 - Excelente
4 - Muito bom
3 - Aceitvel
2 - Pobre
1 - Inaceitvel

Fator de peso do ndice


da categoria
distribuio de 100%
por categoria

Figura 1 Etapas do Modelo de Avaliao.


Fonte: OpenBRR (BRR, 2005)

A prxima seo aprofunda o modelo aplicando seus conceitos na avaliao do software de controle de verso escolhido, o Subversion.

GEPROS. Gesto da Produo, Operaes e Sistemas Ano 5, n 3, Jul-Set/2010, p. 149-165

Mtricas
Normalizadas
(compilados, derivados, projetados)

Dados do projeto de software livre

ndice de 1 a 5
por categoria

157

GEPROS. Gesto da Produo, Operaes e Sistemas Ano 5, n 3, Jul-Set/2010, p. 149-165

Avaliao de uma ferramenta de controle de verses de software


com o modelo de avaliao OPENBRR

5. AVALIAO DO SUBVERSION USANDO O OPENBRR


Adaptando o modelo OpenBRR s necessidades de avaliao proposta neste artigo, no foi utilizada a primeira fase do modelo, definida como avaliao rpida dos pacotes de software com vistas
escolha dos softwares que sero analisados. Isso se deve ao fato de que o software a ser avaliado j foi
escolhido, conforme os argumentos expostos nas sees anteriores.
Iniciando a segunda fase, intitulada definio de mtricas e categorias, prope-se a utilizao de
mtricas que correspondam s propriedades mensurveis, quantitativas e qualitativas, do software.
importante considerar que as mtricas qualitativas devero ser normalizadas para que produzam dados
mensurveis, conforme Moraes (2008).
Baseando-se no trabalho de Moraes (2008), foram utilizadas doze categorias de levantamento,
mostradas na tabela 1. O documento OpenBRR aconselha que sejam avaliadas no mximo sete categorias. Aps a enumerao das categorias, o modelo orienta que seja atribudo um percentual de importncia a cada categoria escolhida para anlise totalizando 100% na soma entre elas (BRR, 2005). As
categorias no utilizadas na avaliao esto marcadas com um sinal de astersco (*).
Com o levantamento das categorias realizado, segue-se para a terceira fase do modelo OpenBRR,
denominada de coletas de dados e resultados, onde houve a deliberao das mtricas, sugeridas pelo
modelo, em cada categoria levantada e escolhida. As tabelas de 2 a 7 mostram, respectivamente, as categorias usabilidade, performance, segurana, qualidade, escalabilidade e documentao, e suas mtricas
relacionadas com os pesos definidos a elas e s suas sub-categorias.
A tabela preenchida nos campos Escore sem peso, atribuindo-se notas de 1 a 5, variando de
acordo com a caracterstica de cada mtrica aplicada, atravs das consideraes j definidas pelo modelo OpenBRR2. Conforme essas mtricas sejam pontuadas, a totalizao da categoria ponderada em
conformidade com os pesos previamente definidos para cada mtrica, gerando o valor final por categoria, denominado Escore com peso. As seguintes tabelas apresentam os resultados encontrados.

2 Os dados que serviram de base para a pontuao foram obtidos no prprio stio do Subversion, na rea que relata
as mudanas advindas em cada verso: http://svn.collab.net/repos/svn/trunk/CHANGES

158

Angela Maria Alves / Ciniro Aparecido Leite Nametala / Madison Delano Tobal da Paz
Maria Henrica Ruiter Kanamori / Rodrigo Cardoso Mesquita

Tabela 1 Categorias escolhidas e com os pesos atribudos.


Tecnologia avaliada
Nome do Componente: Subversion

Modo de Uso: Uso regular


Posio

Categoria

Peso

Funcionalidade

025,00%

Usabilidade

015,00%

Qualidade

015,00%

Segurana

015,00%

Performance

010,00%

Escalabilidade

010,00%

Arquitetura*

000,00%

Suporte*

000,00%

Documentao

010,00%

10

Adoo*

000,00%

11

Comunidade*

000,00%

12

Profissionalismo*

000,00%
Peso Total

Fonte: BRR (2005).

100,00%

GEPROS. Gesto da Produo, Operaes e Sistemas Ano 5, n 3, Jul-Set/2010, p. 149-165

Tipo do Componente: Controle de Verses

159

GEPROS. Gesto da Produo, Operaes e Sistemas Ano 5, n 3, Jul-Set/2010, p. 149-165

Avaliao de uma ferramenta de controle de verses de software


com o modelo de avaliao OPENBRR

160

Tabela 2 Categoria Usabilidade e suas mtricas


Ttulo da Categoria

Peso

Escore
sem peso

Escore
com peso

Usabilidade

15,00%

4,5

0,675

Dados obtidos

Peso

Escore
sem peso

Escore
com peso

Simples e Intuitivo

50,00%

2,5

Dados obtidos

Peso

Escore
sem peso

Escore
com peso

20 minutos

25,00%

Dados obtidos

Peso

Escore
sem peso

Escore
com peso

10 minutos

25,00%

Ttulo da Categoria

Peso

Escore
sem peso

Escore
com peso

Performance

10,00%

0,4

Nome da Mtrica
Experincia do usurio final
Nome da Mtrica
Tempo para configurar os
pr-requisitos para instalar o
pacote de software livre
Nome da Mtrica
Tempo para a instalao /
configurao mais comum

Tabela 3 Categoria Performance e suas mtricas

Nome da Mtrica
Teste de desempenho e
relatrios de Benchmark
Nome da Mtrica
Ajuste de desempenho
e configurao

Dados obtidos

Peso

Escore
sem peso

Escore
com peso

Sim

50,00%

1,5

Dados obtidos

Peso

Escore
sem peso

Escore
com peso

Sim, algum

50,00%

2,5

Angela Maria Alves / Ciniro Aparecido Leite Nametala / Madison Delano Tobal da Paz
Maria Henrica Ruiter Kanamori / Rodrigo Cardoso Mesquita

Tabela 4 Categoria Segurana e suas mtricas


Peso

Segurana

15,00%
Escore
sem peso

Escore
sem peso
4,2
Escore
com peso

Nome da Mtrica

Dados obtidos

Peso

Nmero de vulnerabilidades nos


ltimos 6 meses que so moderados ou
extremamente crticas

60,00%

Nome da Mtrica

Dados obtidos

Peso

Escore
sem peso

Escore
com peso

0,00%

Nmero de vulnerabilidades
de segurana ainda abertas
(sem patches)
Nome da Mtrica

Dados obtidos

Peso

Escore
sem peso

Escore
com peso

H informaes (pgina na web, wiki,


etc) dedicadas segurana?

Sim

40,00%

1,2

Escore
com peso
0,63

Tabela 5 Categoria Qualidade e suas mtricas

15,00%
Escore
sem peso

Escore
sem peso
3,8
Escore
com peso

25,00%

0,25

Dados
obtidos

Peso

Escore
sem peso

Escore
com peso

10,00%

0,3

Escore
sem peso
5
Escore
sem peso

Escore
com peso
1,5
Escore
com peso

1,5

Escore
sem peso
5
Escore
sem peso
0

Escore
com peso
0,25
Escore
com peso
0

Ttulo da Categoria

Peso

Qualidade
Nome da Mtrica

Dados
obtidos

Peso

Nmero de verses menores


nos ltimos 12 meses

Nome da Mtrica
Nmero de verses de ponto/patches
nos ltimos 12 meses
Nome da Mtrica
Nmero de bugs abertos nos ltimos 6 meses
Nome da Mtrica
Nmero de bugs concertados nos ltimos 6 meses
(comparados com o nmero de bugs abertos)
Nome da Mtrica
Nmero de bugs P1 / crticos abertos
Nome da Mtrica
Mdia de idade dos bugs P1 nos ltimos 6 meses

Dados
obtidos
4
Dados
obtidos

30,00%

90%

30,00%

Dados
obtidos
0
Dados
obtidos

Peso

Peso

Peso
5,00%
Peso
0,00%

Escore
com peso
0,57

GEPROS. Gesto da Produo, Operaes e Sistemas Ano 5, n 3, Jul-Set/2010, p. 149-165

Ttulo da Categoria

161

GEPROS. Gesto da Produo, Operaes e Sistemas Ano 5, n 3, Jul-Set/2010, p. 149-165

Avaliao de uma ferramenta de controle de verses de software


com o modelo de avaliao OPENBRR

162

Tabela 6 Categoria Escalabilidade e suas mtricas


Ttulo da Categoria

Peso

Escore
sem peso

Escore
com peso

Escalabilidade

10,00%

0,5

Nome da Mtrica

Dados obtidos

Peso

Escore
sem peso

Escore
com peso

Distribuio de
Referncia

http://subversion.tigris.org/

50,00%

2,5

Nome da Mtrica

Dados obtidos

Peso

Escore
sem peso

Escore
com peso

Projetado para
escalabilidade

Sim, extensivo

50,00%

2,5

Ttulo da Categoria

Peso

Escore
sem peso

Escore
com peso

Documentao

10,00%

0,5

Tabela 7 Categoria Documentao e suas mtricas

Nome da Mtrica

Dados obtidos

Peso

Escore
sem peso

Escore
com peso

Existncia de vrias
documentaes

Possui at livros
on-line

70,00%

3,5

Nome da Mtrica

Dados obtidos

Peso

Escore
sem peso

Escore
com peso

Framework para as
contribuies dos usurios

Pessoas podem
contribuir

30,00%

1,5

Angela Maria Alves / Ciniro Aparecido Leite Nametala / Madison Delano Tobal da Paz
Maria Henrica Ruiter Kanamori / Rodrigo Cardoso Mesquita

Tabela 8 Categoria Funcionalidade e suas mtricas.


Tecnologia Avaliada
Ttulo da Categoria

Pontuao

Funcionalidade

Source
http://subversion.tigris.org/
Funcionalidades-padro

Peso

Pontuao

Guia para o processo de Configurao

Planejamento para a Configurao

Plano de Gerenciamento de Configurao

-2

Identificando itens a serem controlados

Item de configurao de software

Verso de software

Baseline

Aquisio de itens de configurao

Documentao

Processo de requisio de mudana

Implementao das mudanas

Desvios e Renncias

-1

Gerenciamento do Processo de Configurao

Identificao da Configurao do Software

Controle de configurao de Software

Contabilizao do Status do Software


Informao do Status de Configurao do Software
Relatrio de Status de Configurao do Software

Funcionalidades Extra

Peso

Pontuao

Versionamento de Diretrios

Histrico de verses reais

Commits atmicos

Versionamento de Metadados

Escolha de rede em camadas

Manuseio consistente de dados

Branching e Tagging eficientes

Possibilidade de hackeamento

Fonte: IEEE (2004); SUSSMAN (2004)

Peso Total

Pontuao Total

Percentual

33

39

118,18%

GEPROS. Gesto da Produo, Operaes e Sistemas Ano 5, n 3, Jul-Set/2010, p. 149-165

Nome do Componente: Subversion

163

GEPROS. Gesto da Produo, Operaes e Sistemas Ano 5, n 3, Jul-Set/2010, p. 149-165

Avaliao de uma ferramenta de controle de verses de software


com o modelo de avaliao OPENBRR

A categoria funcionalidade distintamente pontuada pelo modelo OpenBRR, com relao s


demais categorias. Conforme Moraes ( 2008), as funcionalidades esperadas no Subversion foram definidas baseadas no captulo sete do IEEE (IEEE, 2004) no que tange a Gerncia de Configurao e tambm
pelas informaes colhidas em Sussman (2004).
Utilizando o template 3 do modelo de avaliao, foram determinados os conjuntos de recursos
esperados, nomeados pelo modelo de funcionalidades-padro. Uma pontuao para cada uma das funcionalidades-padro e extras, de 1 a 3 foram estabelecidas: o valor 1 significa irrelevante, o valor 2,
pouco importante e o valor 3, muito importante. Caso a funcionalidade-padro no fosse encontrada,
o valor do ndice negativo ao campo da nota da funcionalidade seria atribudo. Para cada funcionalidade extra encontrada no Subversion foi adicionada o ndice de importncia a ela e 0, caso no estivesse
presente na ferramenta.
De acordo com (BRR, 2005), a nota final da categoria funcionalidade composta da diviso da
soma cumulativa das notas obtidas pelo total de pontos que poderiam ser obtidos somente com o conjunto de funcionalidades-padro. O intervalo da nota que o software poderia assumir est entre porcentagens menores do que 0% ou maiores do que 100%. Este intervalo foi normalizado, em cinco notas
(de 1 a 5) dependendo da faixa em que a nota esteja inserida, para compor a nota final da categoria. A
tabela 8 mostra os resultados das atribuies de pontos na referida categoria.
Somando-se cada uma das pontuaes obtidas nas sete categorias, chega-se a uma marca de 4,525,
que uma pontuao considervel, segundo o modelo BRR. Assim, chega-se efetivamente etapa final
do modelo OpenBRR, definida como concluses atravs da traduo dos dados, onde a pontuao
pode ser utilizada para comparaes com outras ferramentas tambm avaliadas por esse modelo aberto. Na prxima seo, evidenciam-se as reflexes e resultados da referida anlise do software de controle
de verses, o Subversion, concluindo o presente artigo.

6. CONCLUSES
O desenvolvimento distribudo de produtos de software, dada a sua complexidade crescente, exige
dos gestores a utilizao de mtodos e ferramentas que auxiliem no processo de armazenamento, controle de modificaes no cdigo fonte compartilhado, nas verses dos sistemas disponibilizados e na
gesto e distribuio de todos os documentos do produto e do projeto, permitindo no somente a maior
eficincia nas atualizaes subsequentes, como tambm evitando retrabalho ocasionado por alteraes
acidentais indevidas em cdigos j funcionais existentes. Escolher uma alternativa de controle de verses dentre as diversas opes existentes uma tarefa crucial para o sucesso do projeto. Para tanto, foi
apresentado, no artigo, um modelo aberto e padronizado de avaliao de produtos de software livre ou
de cdigo aberto, o OpenBRR, aplicado na avaliao da viabilidade de utilizao do Subversion, sistema
de controle de verses substituto do CVS, em projetos que demandam a distribuio no desenvolvi-

3 O modelo de pontuao pode ser acessado em http://www.openbrr.org/wiki/index.php/Downloads

164

mento. De acordo com a avaliao feita no software, aps meticulosa anlise dos dados, fica confirmada
a alta marca final obtida com a soma das categorias escolhidas, chegando-se a um valor de 4,525. Isso
confirma o pensamento inicial dos autores do artigo de que o Subversion uma ferramenta que prov
ganhos de produtividade no gerenciamento de verses de software em desenvolvimento, permitindo
um trabalho distribudo seguro e eficaz, ainda mais sendo uma plataforma livre.
Ressalta-se, ainda, que a avaliao realizada neste artigo no contempla o estudo de todos os requisitos possveis do Subversion. Foram usadas as mtricas sugeridas pelo modelo OpenBRR, porm
elas podem ser redefinidas de acordo com o interesse de quem vai utilizar o software. Assim, determinados aspectos podem no ter sido observados de acordo com a necessidade em particular de outros
avaliadores que pretendero adotar o SVN.
Pelo exposto, a comprovada eficcia do Subversion nos critrios definidos na avaliao pelo modelo OpenBRR corrobora com o j aclamado sucesso desse sistema de controle de verses nas comunidades de software livre e nas corporaes privadas. Porm, fica evidente a necessidade de manuteno
de um repositrio com informaes mais completas e diversificadas, que atendam s diferentes necessidades de cada utilizador do modelo, segundo seus critrios especficos.

7. REFERNCIAS BIBLIOGRFICAS
BRR. Business Readiness Rating Whitepaper. Modelo de Levantamento para Avaliao de Preparo para
Negcios: uma proposta de padres abertos para facilitar a avaliao e adoo de solues de software
livre. BRR 2005 RFC-1. Traduo por Alexandre Rocha Lima e Marcondes. Disponvel em: <http://www.
openbrr.org/wiki/images/5/59/BRR_whitepaper_2005RFC1-pt-BR.pdf>. Acesso em 15 de julho de 2008.
FOGEL, K.; BARR, M. Open Source Development with CVS 3rd edition. Ed. Coriolis, 2007. USA. Disponvel em: < http://cvsbook.red-bean.com/OSDevWithCVS_3E.pdf>. Acesso em 17 de julho de 2008.
IEEE. Computer Society. Software Engineering Body of Knowledge (SWEBOK).EUA: Angela Burgess,
2004. Disponvel em: <http://www.swebok.org>. Acesso em 20 de julho de 2008.
MORAES, A. C. R. Avaliao de Ferramentas Livres de Apoio Gesto de Requisitos e Testes Utilizando o Modelo de Avaliao OpenBRR. Departamento de Cincias da Computao, Universidade
Federal de Lavras UFLA. Lavras, MG, Brasil: (s.n.), 2008. Disponvel em: <http://www.esl.nteufla.
com/moodle/mod/resource/view.php?id=208>. Acesso em 16 de julho de 2008.
SEI. CMMI. The Capability Maturity Model for Software. Version 1.1- CMU/SEI-2002-TR-012, Maro de 2002. Disponvel em: < http://www.sei.cmu.edu >. Acesso em 23 de julho de 2008.
SUSSMAN, B. C.; FITZPATRICK, B. W.; PILATO, C. M. Version Control with Subversion: for Subversion 1.4 (Compiled from R2866). Ed. OReilly, 2004, USA. Disponvel em: <http://svnbook.red-bean.com/en/1.4/svn-book.pdf>. Acesso em 14 de julho de 2008.

GEPROS. Gesto da Produo, Operaes e Sistemas Ano 5, n 3, Jul-Set/2010, p. 149-165

Angela Maria Alves / Ciniro Aparecido Leite Nametala / Madison Delano Tobal da Paz
Maria Henrica Ruiter Kanamori / Rodrigo Cardoso Mesquita

165