Melhor visualizado em
   IE 5.0 1024 x 786
Gerência de Configuração
Home >> Gerência de Configuração>> Ferramentas
Home Objetivos Gerência Configuração Links Equipe
SubTópicos
  » Normas e Padrões
  » Templates
  » Ferramentas
   

Ferramentas


Existe no mercado uma grande variedade de opções, desde ferramentas muito simples controladores de versões até as mais sofisticadas com capacidades para builds, emissão de relatórios, etc.

 

Critérios para avaliar uma ferramenta de Gerência de Configuração

Uma ferramenta de GCS pode ser avaliada segundo muitos critérios. Cabe ao avaliador adotar aqueles critérios que julgar mais adequados a uma situação em particular e a cada critério escolhido associar um peso relativo. Na literatura encontram-se diversas abordagens e categorização para estes critérios, mas que, de forma geral, são equivalentes. Nos subitens seguintes é apresentado um conjunto resumido de critérios baseado na publicação [BUR 96].


Suporte a equipe de desenvolvimento

Análise das funcionalidades das ferramentas aplicadas ao desenvolvimento de projetos de uma equipe de programadores conectados a uma rede local. Deve ser observado o processo de gerenciamento das distintas áreas de trabalho de cada desenvolvedor, o processo de desenvolvimento paralelo, bem como a visualização gráfica do controle de versões aplicada a projetos que possuem várias ramificações; isto é, diferentes caminhos variantes de desenvolvimento.


Suporte a desenvolvimento remoto
Análise das funcionalidades aplicadas a projetos com diversos sites de acesso remoto, realidade que se faz presente no trabalho de equipes que se distribuem em diferentes áreas geográficas, em que cada membro realiza uma atividade, e a integração do trabalho do grupo é feita continuamente.


Suporte a configurações
Observa-se a capacidade da ferramenta ligada a identificação de distintas versões de arquivos que compõem uma distribuição e recuperação da mesma. É analisado o impacto de uma dada alteração, através da estrutura hierárquica do projeto que o software deve permitir exibir; além dos aspectos de rastreabilidade, que tornam possível o estabelecimento de relações entre distintos ICs, e seus arquivos de histórico de modificações.


Suporte a gerência de mudanças
A habilidade de prover o rastreamento de modificações, gerando relatórios de acompanhamento, de forma a permitir uma visão precisa, em tempo real, do estado das modificações.


Suporte de “build” e de distribuição de produto
Análise das funcionalidades ligadas ao “build”, à geração de uma determinada versão de um produto e à recuperação de uma distribuição anterior e modificação da mesma.


Suporte de processo
Análise da capacidade de manter um efetivo controle do desenvolvimento, dando suporte à aplicação de políticas, implementando o conceito de ciclo de vida, estabelecendo autoridades de acesso a funções de acordo com os papéis dos diversos integrantes do projeto e registrando os históricos e os estados dos diversos objetos envolvidos no desenvolvimento sob controle da ferramenta.


Usabilidade
Deve ser observado se a documentação se mostra acessível e prática, além da existência de um eficiente sistema de auxílio on-line, o nível de integração da ferramenta ao sistema operacional em uso e a facilidade de acesso às informações controladas pela mesma.


Facilidade de “set-up”
Análise da facilidade de, a partir da sua aquisição, colocar a ferramenta em operação, englobando: a instalação, a parametrização da ferramenta, a capacitação de pessoal e a integração no processo de GCS previamente definido.


Personalização
Avaliação da capacidade de personalização da ferramenta, de modo a atender as necessidades específicas de um usuário no que diz respeito a aspectos de modelos de formulários e relatórios, políticas específicas de desenvolvimento, dentre outros.

Classificação das ferramentas de GCS

Susan Dart (Dart, S.; “Not All Tools Are Equal” - http://www.spgnet.com/ADT/oct96/fe1002.htm 1996) de uma forma simplificada, classifica as ferramentas de Gerência de Configuração em grupos de acordo com as suas características funcionais, de modo a auxiliar no momento da aquisição de uma destas ferramentas. A figura abaixo ilustra a classificação.

Ferramentas de controle de versões
A ferramenta de controle de versões é uma ferramenta fundamental para permitir o desenvolvimento e manutenção de software em um ambiente cooperativo, onde várias pessoas poderão alterar o mesmo código, eventualmente no mesmo momento.


Ferramentas orientadas ao desenvolvedor
Nesta categoria encontram-se ferramentas que, além de suportarem controle de versões, oferecem suporte ao trabalho em equipe, facilitando principalmente desenvolvimento concorrente, isto é, desenvolvedores trabalhando ao mesmo tempo sobre o mesmo conjunto de arquivos. Têm como característica principal integrarem-se no ambiente de desenvolvimento.


Ferramentas orientadas a processo
Ferramentas que suportam controle de versões e parte das funcionalidades das ferramentas orientadas ao desenvolvedor, mas cujo ponto forte é a automatização do gerenciamento do ciclo de vida dos objetos envolvidos no desenvolvimento. De maneira geral, as ferramentas desta categoria também fornecem uma abordagem integrada à gerência de mudanças e ao rastreamento de correção de defeitos.

 

Principais Ferramentas

Software de Controle de Versões
Uma das ferramentas mais utilizadas no mundo dos softwares livre e open source e que já foi utilizada em projetos de grande porte, tendo sido aprovada pelos usuários é o CVS – Concurrent Versions System.
Essa solução conta com o uso de um servidor CVS e de versões cliente que são instaladas nas máquinas dos usuários. Existem versões clientes para vários sistemas operacionais, como o Windows e o Linux.
Qualquer tipo de arquivo pode ser controlado pelo CVS.
Ela dispõe das funcionalidades básicas de qualquer ferramenta de controle de versões, como o check-in, check-out, lock, unlock, edit e merge, entre outras.
Outras ferramentas de controle de versões é o WinCVS e o Microsoft Source Safe – esta última, comercial.


Software de Controle de Mudanças
Uma das principais soluções para o controle de mudanças é o Bugzilla, um software free que controla basicamente bugs (erros encontrados em softwares). No entanto, ele pode ser utilizado para controlar também as mudanças ou novas solicitações de software demandadas pelos usuários.
Esta ferramenta é poderosa e estável, em uso em centenas de projetos e empresas no mundo todo: NASA, AOL/TW, Redhat, Conectiva, CNet, Mozilla, Gnome.
O Bugzila é software livre. Pode ser customizado para sua necessidade. Este software está em contínuo desenvolvimento, e funcionalidade nova e interessante é adicionada diariamente.
Tem suporte excelente via email, news, e online via IRC (#mozwebtools).


Implantação das Ferramentas e Fluxo de Trabalho
As ferramentas podem ser modificadas em virtude de necessidades específicas, assim como podem ser criados scripts para a automação de tarefas como o cumprimento de políticas (ex.: Checar se o desenvolvedor informa o número da requisição de mudança em um check-in, scripts de auditoria e geração automática de release notes). A ferramenta ANT é muito adotada para a geração destes scripts e também é open source. O ANT é multiplataforma e pode ser utilizado também para a geração de código.
Abaixo são demonstrados dois fluxos de trabalho (Workflow) utilizando o Bugzilla, CVS e ANT:


Fluxo 1


Fluxo 2

 

Gerência de Configuração ® - Atualizado em 06/09/2004




 
 
 
     
 

Gerência de Configuração