Sem resumo de edição
 
(19 revisões intermediárias por 2 usuários não estão sendo mostradas)
Linha 1: Linha 1:
= Introdução =
= Introdução =


Descrever a finalidade do sistema, ou seja, para que serve.
* A ferramenta de controle de versão tem como finalidade o gerenciamento de diferentes tipos de versões de um mesmo documento e consequentemente atuam no desenvolvimento do projeto, possibilitando a recuperação de arquivos perdidos através do registro de qualquer variação do documento. Este software se torna importante também no compartilhamento de arquivos, possibilitando que várias pessoas acessem o mesmo arquivo sem que alguém modifique ou sobreponha as alterações das outras pessoas.
 
* Alguns dos Controles de Versão disponíveis no mercado: Microsoft Visual SourceSafe (VSS), Rational ClearCase, Concurrent Version System (CVS), Subversion (SVN), Git, Mercurial .
 
*O Visual SourceSafe é um controle de versão criado pela Microsoft que permite que vários tipos de versões de um determinado arquivo trabalhem de maneira paralela, função esta extremamente benéfica e produtiva para o desenvolvimento de qualquer projeto. Suporta ramificações, compartilhamentos, mesclagens, e gerencia versões de arquivos. Este sistema também ajuda a proteger arquivos e rastrear versões anteriores de projetos. Este, além de fornecer várias ferramentas que permitem a manutenção e a segurança dos arquivos, pode ser integrado facilmente  com Visual Studio e outras ferramentas de desenvolvimento, como o Microsoft Access. Na atualidade a Microsoft tem recebido diversas críticas de desenvolvedores à respeito do Visual SourceSafe uma das mais importantes seria que este sistema não trabalha adequadamente com arquivos muito pesados e não seria viável usá-lo para grandes projetos, outra crítica seria a fragilidade e a não confiabilidade do produto por ficar corrompido e prejudicar os dados.
 
*Escolhemos este sistema pelo paradoxo entre o que foi proposto pela Microsoft de inúmeros benefícios e o grande déficit de funcionalidades questionadas pelos usuários.
<br>


= Funcionalidades =
= Funcionalidades =


Descrever as funções do software, ou seja, detalhes do que ele faz.
 
Exemplo:
* '''Envio e resgate de versões:''' A principal função do sistema de controle de versão é armazenar todo o histórico de desenvolvimento do documento, desde o primeiro envio até sua última versão. Isso permite que seja possível resgatar uma determinada versão de qualquer data mais antiga, evitando desperdício de tempo no desenvolvimento para desfazer alterações quando se toma algum rumo equivocado.
<br>
 
* Funcionalidades do Word:
* '''Histórico de envio:''' Muitas vezes, é possível acrescentar comentários no envio das alterações, o que facilita também uma possível análise do histórico. Geralmente o relatório com as versões e os comentários de cada envio são chamados de "histórico" ou "log", e uma análise deste relatório pode facilitar em muitos aspectos no desenvolvimento do produto.
** Edição de documentos
 
** Formatação de parágrafos
* '''Trabalho em equipe:''' Sistemas de controle de versão também são convenientes quando diversos desenvolvedores trabalham sobre o mesmo projeto simultaneamente, resolvendo eventuais conflitos entre as alterações. A maioria dos sistemas possui diversos recursos como ramificação e mesclagem de histórico para auxiliar nessas tarefas.
** Contagem de palavras
 
** Verificação gramatical
*''' Bloqueio de arquivo:''' Alguns sistemas permitem o bloqueio voluntário de qualquer arquivo. Alguns sistemas que suportam são o CVS e SVN (a partir da versão 1.2.0), por exemplo.
** Numeração de páginas
** Divisão em colunas
** Exportação para PDF
** Procura e alteração de palavras
** Etc
<br>
<br>


= Benefícios =
= Benefícios =


* Para quem usa, quais as vantagens que terá em usar
O controle de versão é fundamental para o desenvolvimento de software. Todos os ambientes de desenvolvimento modernos, tais como o Eclipse e o NetBeans, já possuem plugins para integração com algum sistema de controle de versão.
* O que a pessoa/profissional pode ganhar usando esta ferramenta
Os principais benefícios de se utilizar este CASE para rastrear as alterações feitas durante o desenvolvimento de software ou o desenvolvimento de um documento de texto qualquer são:
<br>
 
* '''Controle de Histórico:''' Facilidade em desfazer e possibilidade de analisar o histórico do desenvolvimento, ou seja, registra toda a evolução do projeto, cada alteração sobre cada arquivo. Com essas informações sabe-se quem fez o que, quando e onde. Além disso, permite reconstruir uma revisão específica do arquivo sempre que desejado e também, possui a facilidade no resgate de versões mais antigas e estáveis;
 
* '''Colaboração ou Trabalho em Equipe.''' O controle de versão possibilita que vários desenvolvedores trabalhem em paralelo sobre os mesmo arquivos sem que um sobrescreva o código de outro, o que traria reaparecimento de defeitos e perda de funcionalidades, minimizando assim o desgaste provocado por problemas com conflitos de edições. É possível que a implementação também tenha um controle sofisticado de acesso para cada usuário ou grupo de usuários.
 
* '''Variações no Projeto.''' Mantém linhas diferentes de evolução do mesmo projeto. Por exemplo, mantendo uma versão 1.0 enquanto a equipe prepara uma versão 2.0.
 
O '''VISUAL SOURCESAFE (VSS)''', é um sistema de controle de versões (SCV) que oferece ao usuário(pessoa/profissional) a grande vantagem de integrar com outras ferramentas Microsoft como o Visual Studio .NET. Podemos definir o VSS em 3 funções básicos de um SCV: centralização dos arquivos, gerenciamento de acesso e histórico das modificações.
 
O VSS funciona de maneira centralizada, ou seja, guardando todos seus arquivos em apenas um repositório. O VSS armazena todos os arquivos do repositório em uma pasta chamada DATA, com todos os arquivos criptografados e descaracterizados. O VSS deixa apenas uma pessoa alterar o arquivo por vez, ou seja, quando um usuário solicitar um arquivo para edição, este arquivo estará disponível para outros usuários apenas no modo somente leitura. O arquivo é liberado para escrita somente quando nenhum usuário estiver editando-o.


= Interface gráfica =
= Interface gráfica =


* Inserir uma imagem da interface gráfica do software.
* Figura: Arquivos Sourcesafe adicionados à pasta da solução
 
 
[[Arquivo:Sourcesafe.jpg]]
<br>
<br>


= Custos =
= Custos =
Há controles de versão os quais cobram taxa de aquisição e os que são free.
Os mais comuns de soluções livres são:
* Git, cuja licença é GNU GPLv2;
* Mercurial, Licença GPL v2;
* CVS, Licença GPL;
* Subeversion, Licença GNU LGPL.
<br>
Alguns que possuem valor de aquisição são:
* Microsoft Visual SourceSafe (VSS);
* ClearCase.
Entretanto, esses pagos, não foi possível encontrar tais valores.
<br>


= Fornecedor =
= Fornecedor =
* Microsoft Visual SourceSafe (VSS) – é um produto fornecido pela Microsoft
* Rational ClearCase - é um produto fornecido pela IBM para controle de versão.
<br>
= Sistema Operacional =
Os sistemas operacionais os quais os controladores de versão rodam variam entre eles, alguns rodam em todos (multi-plataforma), outros só em um sistema. Alguns exemplos são:
* CVS pode rodar qualquer sistema operacional.
* Git pode rodar no terminal POSIX
* Mercurial foi inicialmente escrito para rodar sobre Linux, mas foi portado para Windows, Mac OS X, e a maioria dos outros sistemas UNIX.
* Subversion roda em qualquer sistema operacional.
* Microsoft Visual SourceSafe (VSS) roda somente no Windows.
<br>
= Referências =
* http://www.knowdotnet.com/articles/removefromsourcesafe.html
* http://pt.wikipedia.org/wiki/Sistema_de_controle_de_vers%C3%A3o
* http://www.pronus.eng.br/artigos_tutoriais/gerencia_configuracao/conceitos_basicos_controle_versao_centralizado_e_distribuido.php
* http://www.macoratti.net/vss_vb.htm
* http://www.angusyoung.org/arquivos/.../sistemas_de_controle_de_versao.pdf

Edição atual tal como às 02h13min de 30 de março de 2011

Introdução

  • A ferramenta de controle de versão tem como finalidade o gerenciamento de diferentes tipos de versões de um mesmo documento e consequentemente atuam no desenvolvimento do projeto, possibilitando a recuperação de arquivos perdidos através do registro de qualquer variação do documento. Este software se torna importante também no compartilhamento de arquivos, possibilitando que várias pessoas acessem o mesmo arquivo sem que alguém modifique ou sobreponha as alterações das outras pessoas.
  • Alguns dos Controles de Versão disponíveis no mercado: Microsoft Visual SourceSafe (VSS), Rational ClearCase, Concurrent Version System (CVS), Subversion (SVN), Git, Mercurial .
  • O Visual SourceSafe é um controle de versão criado pela Microsoft que permite que vários tipos de versões de um determinado arquivo trabalhem de maneira paralela, função esta extremamente benéfica e produtiva para o desenvolvimento de qualquer projeto. Suporta ramificações, compartilhamentos, mesclagens, e gerencia versões de arquivos. Este sistema também ajuda a proteger arquivos e rastrear versões anteriores de projetos. Este, além de fornecer várias ferramentas que permitem a manutenção e a segurança dos arquivos, pode ser integrado facilmente com Visual Studio e outras ferramentas de desenvolvimento, como o Microsoft Access. Na atualidade a Microsoft tem recebido diversas críticas de desenvolvedores à respeito do Visual SourceSafe uma das mais importantes seria que este sistema não trabalha adequadamente com arquivos muito pesados e não seria viável usá-lo para grandes projetos, outra crítica seria a fragilidade e a não confiabilidade do produto por ficar corrompido e prejudicar os dados.
  • Escolhemos este sistema pelo paradoxo entre o que foi proposto pela Microsoft de inúmeros benefícios e o grande déficit de funcionalidades questionadas pelos usuários.


Funcionalidades

  • Envio e resgate de versões: A principal função do sistema de controle de versão é armazenar todo o histórico de desenvolvimento do documento, desde o primeiro envio até sua última versão. Isso permite que seja possível resgatar uma determinada versão de qualquer data mais antiga, evitando desperdício de tempo no desenvolvimento para desfazer alterações quando se toma algum rumo equivocado.
  • Histórico de envio: Muitas vezes, é possível acrescentar comentários no envio das alterações, o que facilita também uma possível análise do histórico. Geralmente o relatório com as versões e os comentários de cada envio são chamados de "histórico" ou "log", e uma análise deste relatório pode facilitar em muitos aspectos no desenvolvimento do produto.
  • Trabalho em equipe: Sistemas de controle de versão também são convenientes quando diversos desenvolvedores trabalham sobre o mesmo projeto simultaneamente, resolvendo eventuais conflitos entre as alterações. A maioria dos sistemas possui diversos recursos como ramificação e mesclagem de histórico para auxiliar nessas tarefas.
  • Bloqueio de arquivo: Alguns sistemas permitem o bloqueio voluntário de qualquer arquivo. Alguns sistemas que suportam são o CVS e SVN (a partir da versão 1.2.0), por exemplo.


Benefícios

O controle de versão é fundamental para o desenvolvimento de software. Todos os ambientes de desenvolvimento modernos, tais como o Eclipse e o NetBeans, já possuem plugins para integração com algum sistema de controle de versão. Os principais benefícios de se utilizar este CASE para rastrear as alterações feitas durante o desenvolvimento de software ou o desenvolvimento de um documento de texto qualquer são:

  • Controle de Histórico: Facilidade em desfazer e possibilidade de analisar o histórico do desenvolvimento, ou seja, registra toda a evolução do projeto, cada alteração sobre cada arquivo. Com essas informações sabe-se quem fez o que, quando e onde. Além disso, permite reconstruir uma revisão específica do arquivo sempre que desejado e também, possui a facilidade no resgate de versões mais antigas e estáveis;
  • Colaboração ou Trabalho em Equipe. O controle de versão possibilita que vários desenvolvedores trabalhem em paralelo sobre os mesmo arquivos sem que um sobrescreva o código de outro, o que traria reaparecimento de defeitos e perda de funcionalidades, minimizando assim o desgaste provocado por problemas com conflitos de edições. É possível que a implementação também tenha um controle sofisticado de acesso para cada usuário ou grupo de usuários.
  • Variações no Projeto. Mantém linhas diferentes de evolução do mesmo projeto. Por exemplo, mantendo uma versão 1.0 enquanto a equipe prepara uma versão 2.0.

O VISUAL SOURCESAFE (VSS), é um sistema de controle de versões (SCV) que oferece ao usuário(pessoa/profissional) a grande vantagem de integrar com outras ferramentas Microsoft como o Visual Studio .NET. Podemos definir o VSS em 3 funções básicos de um SCV: centralização dos arquivos, gerenciamento de acesso e histórico das modificações.

O VSS funciona de maneira centralizada, ou seja, guardando todos seus arquivos em apenas um repositório. O VSS armazena todos os arquivos do repositório em uma pasta chamada DATA, com todos os arquivos criptografados e descaracterizados. O VSS deixa apenas uma pessoa alterar o arquivo por vez, ou seja, quando um usuário solicitar um arquivo para edição, este arquivo estará disponível para outros usuários apenas no modo somente leitura. O arquivo é liberado para escrita somente quando nenhum usuário estiver editando-o.

Interface gráfica

  • Figura: Arquivos Sourcesafe adicionados à pasta da solução



Custos

Há controles de versão os quais cobram taxa de aquisição e os que são free.

Os mais comuns de soluções livres são:

  • Git, cuja licença é GNU GPLv2;
  • Mercurial, Licença GPL v2;
  • CVS, Licença GPL;
  • Subeversion, Licença GNU LGPL.


Alguns que possuem valor de aquisição são:

  • Microsoft Visual SourceSafe (VSS);
  • ClearCase.

Entretanto, esses pagos, não foi possível encontrar tais valores.

Fornecedor

  • Microsoft Visual SourceSafe (VSS) – é um produto fornecido pela Microsoft
  • Rational ClearCase - é um produto fornecido pela IBM para controle de versão.


Sistema Operacional

Os sistemas operacionais os quais os controladores de versão rodam variam entre eles, alguns rodam em todos (multi-plataforma), outros só em um sistema. Alguns exemplos são:

  • CVS pode rodar qualquer sistema operacional.
  • Git pode rodar no terminal POSIX
  • Mercurial foi inicialmente escrito para rodar sobre Linux, mas foi portado para Windows, Mac OS X, e a maioria dos outros sistemas UNIX.
  • Subversion roda em qualquer sistema operacional.
  • Microsoft Visual SourceSafe (VSS) roda somente no Windows.


Referências