Este é um post disponível para assinantes MVPou para quem possui Créditos DevMedia. Clique aqui para saber mais!
Controle de versões do código no NetBeans - Revista easy Java Magazine 8
Este artigo aborda o uso do controle de versão no desenvolvimento de software. Além da conceituação pertinente a este processo, a utilização de uma ferramenta que subsidie esta atividade é apresentada. O Subversion, integrado ao NetBeans, propic
[Artigo disponível no Leitor Digital DevMedia. Clique aqui para acessá-lo]
> Clique aqui para ler todos os artigos da Easy Java Magazine 8
O controle de versão de software é uma das características da Gerência de Configuração (GC). De acordo com o MPS.BR (Melhoria do Processo do Software Brasileiro), o propósito da GC é estabelecer e manter a integridade de todos os produtos de trabalho, de um processo ou projeto e disponibilizá-los a todos os envolvidos. A GC busca minimizar os problemas no processo de desenvolvimento de software como, por exemplo, a falta de rastreabilidade das alterações dos arquivos fontes, a perda (ou recuperação) dos mesmos em caso de exclusão local ou no repositório, e ainda o controle de alterações simultâneas nesses arquivos.
A GC define um item de configuração como um artefato a ser gerenciado por ele. Esses artefatos podem ser documentos de requisitos, código-fonte ou modelos de análise e projeto, dentre outros. O processo para o controle de versão é composto por um software instalado em uma máquina caracterizada como servidor e um aplicativo cliente no computador do programador para acessar os dados deste servidor. O servidor possibilita gerenciar uma estrutura de diretórios onde os artefatos estarão armazenados, mantendo, a partir da sua primeira versão, todas as demais de cada artefato. Este servidor permite que os usuários (programadores) possam fazer uma cópia do repositório para seu computador através de aplicativos clientes. Um aplicativo cliente é um software que tem por objetivo realizar a comunicação com o servidor, sendo ele o responsável por enviar os comandos para o servidor e processar as informações retornadas. Este processo possibilita a criação de novos artefatos ou a realização de alterações nos existentes, para posterior envio ao repositório (Figura 1).
O objetivo principal de um sistema para controle de versão é gerenciar diferentes versões de um documento qualquer (não apenas código fonte) durante o seu desenvolvimento, possibilitando a edição colaborativa e o compartilhamento de dados (SVNBook). Deste modo é possível armazenar, em um repositório, qualquer tipo de arquivo. Para esta atividade existem diversas ferramentas que atendem a esta demanda, entre elas:
·
Gratuitas:
SVN (Subversion), CVS (Concurrent Version System), Mercurial e GIT
(Global
Information Tracker);
·
Comerciais: SourceSafe da Microsoft, ClearCase
da IBM, entre outros.
De acordo com André Felipe
Dias (ver Referências),
os sistemas mais conhecidos e utilizados na maioria dos projetos de software
livre são: CVS, utilizado durante muitos anos, porém, devido a algumas
limitações tem sido substituído por outras ferramentas; e o Subversion, conhecido por SVN, tem sido o mais utilizado atualmente,
pois atende de forma plena os comandos e recursos oferecidos pelo CVS, seu
antecessor, cobrindo inclusive as antigas limitações deste.
Para que um sistema de controle
de versão possa efetivamente atender a seu objetivo, ele precisa resolver dois
dos principais problemas no compartilhamento de informação: como o sistema irá
permitir que os usuários compartilhem informações, e como prevenir e gerenciar os
conflitos dessas alterações?
Este é um post disponível para assinantes MVPou para quem possui Créditos DevMedia. Clique aqui para saber mais!




