Académique Documents
Professionnel Documents
Culture Documents
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.
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.
Angela Maria Alves / Ciniro Aparecido Leite Nametala / Madison Delano Tobal da Paz
Maria Henrica Ruiter Kanamori / Rodrigo Cardoso Mesquita
151
152
Angela Maria Alves / Ciniro Aparecido Leite Nametala / Madison Delano Tobal da Paz
Maria Henrica Ruiter Kanamori / Rodrigo Cardoso Mesquita
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.
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
154
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.
155
156
Angela Maria Alves / Ciniro Aparecido Leite Nametala / Madison Delano Tobal da Paz
Maria Henrica Ruiter Kanamori / Rodrigo Cardoso Mesquita
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
A prxima seo aprofunda o modelo aplicando seus conceitos na avaliao do software de controle de verso escolhido, o Subversion.
Mtricas
Normalizadas
(compilados, derivados, projetados)
ndice de 1 a 5
por categoria
157
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
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
100,00%
159
160
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
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
Segurana
15,00%
Escore
sem peso
Escore
sem peso
4,2
Escore
com peso
Nome da Mtrica
Dados obtidos
Peso
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
Sim
40,00%
1,2
Escore
com peso
0,63
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
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
Ttulo da Categoria
161
162
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
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
Pontuao
Funcionalidade
Source
http://subversion.tigris.org/
Funcionalidades-padro
Peso
Pontuao
-2
Verso de software
Baseline
Documentao
Desvios e Renncias
-1
Funcionalidades Extra
Peso
Pontuao
Versionamento de Diretrios
Commits atmicos
Versionamento de Metadados
Possibilidade de hackeamento
Peso Total
Pontuao Total
Percentual
33
39
118,18%
163
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-
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.
Angela Maria Alves / Ciniro Aparecido Leite Nametala / Madison Delano Tobal da Paz
Maria Henrica Ruiter Kanamori / Rodrigo Cardoso Mesquita
165