Olá pessoal,
Esta dica falará de algo extremamente importante no desenvolvimento de software que é o controle de versões, porém é difícil falar diretamente de controle de versões, sem citar o contexto no qual o mesmo está inserido que é o de Gerência de Configuração, mais conhecido como GC.
Como o foco deste artigo é a parte prática de configuração, definição e uso de ferramentas de controle de versões, eu apenas comentarei resumidamente sobre GC.
Gerência de Configuração
A Gerência de Configuração é um dos processos de apoio mais importantes do desenvolvimento de software. Podemos dizer resumidamente que o processo de Gerência de Configuração visa controlar a evolução dos Itens de Configuração, mais conhecidos como IC. Um projeto de desenvolvimento de software possui diversos IC, podemos citar, por exemplo, os documentos de requisitos, os modelos de projeto e é claro o código fonte do projeto.
Com um processo de GC eficiente estabelecido na empresa, é possível responder a velhas perguntas como:
- “Quem alterou esta rotina?”
- “Quem modificou este requisito?”
- “Por que o software parou de funcionar”.
Resolvemos também um problema comum quando não se há GC que é a perda de código fonte, quando um programador acidentalmente sobrepõe o que foi desenvolvido por outro, pois estava trabalhando em uma versão desatualizada do fonte.
A gerência de configuração se apóia em três pontos fundamentais que são:
Controle de Versões
É parte mais importante da GC, apoia as demais atividades. Com o controle de versões garantimos a identificação e o gerenciamento dos IC, possibilitando acesso a todo histórico de alterações dos mesmos. Com este histórico podemos voltar a uma versão anterior facilmente. Oferece também a possibilidade de criação de linhas paralelas de desenvolvimento.
É exatamente do controle de versões que este artigo falará, nós veremos na prática tudo isso que foi dito acima.
Controle de Mudanças
Oferece o controle das mudanças realizadas nos IC. Antes de uma mudança ser realizada ela tem que ser solicitada, avaliada e aprovada, é aí que entra o controle de mudanças, é a parte que controla as solicitações de mudanças nos IC.
Integração Contínua
É uma prática que prega que todo o trabalho de uma equipe de desenvolvimento de software seja freqüentemente integrado, onde cada integração dá origem a um novo build (gerado de forma automática) no qual são executados testes também de forma automatizada.
Na próxima diga vamos direto a prática. Veremos como instalar e configurar um servidor Subversion e estações clientes com o TortoiseSVN.
Abraços e até a próxima Quick Tip.