Diante da necessidade existente em todas as empresas para controlar seu acervo de softwares e garantir que os fontes e executáveis correspondem as versões liberadas e corrigidas, garantindo o desenvolvimento equilibrado e controlado de novos aplicativos o mercado oferece diversas ferramentas, o objetivo deste capitulo é apresentar algumas soluções de softwares para gerenciamento de versões e demonstrar algumas de suas utilidades, não está no escopo deste trabalho a comparação destas ferramentas, sendo que o foco são as ferramentas open-source.
Podemos acompanhar o pensamento de PRESSMAN (2006):, para nos ajudar a escolher uma ferramenta de apoio a gestão de configuração de software:
Controle de versão combina procedimentos e ferramentas para gerir diferentes versões de objetos de configuração, que são criados durante o processo de software. Um sistema de controle de versão implementa ou está diretamente integrado com quatro capacidades principais: (1) um banco de dados de projeto (repositório) que guarda todos os objetos de configuração relevantes; (2) uma capacidade de gestão de versãoque guarda todas as versões de um objeto de configuração (ou permite que qualquer versão seja construída usando diferenças de versões anteriores); (3) uma facilidade de construir que permite ao engenheiro de software coletar todos os objetos de configuração relevantes e construir uma versão específica do software.[...]. (PRESSMAN, 2006, p. 608).
PRESSMAN (2006) ainda comenta que os sistemas do controle de versão e controle de modificação podem implementar a capacidade de acompanhamento de tópicos, veja:
[…] sistema de controle de versão e controle de modificação frequentemente implementam uma capacidade deacompanhamento de tópicos (também chamado de bugs) que permite à equipe registrar e acompanhar o estado de todos os tópicos importantes associados a cada objeto de configuração. (PRESSMAN, 2006. p 608).
Muitas das ferramentas disponíveis no mercado poderão incluir ou não esta facilidade de rastreabilidade, porém como veremos mais a frente haverá a possibilidade de utilizar as ferramentas em conjunto, sem prejuízo para a gerência de configuração de software.
As ferramentas de controle de versão foram evoluindo ao longo de muitas décadas. Em termos simples existem 3 gerações de ferramentas:
|