Neomind
  • Português
    • English
    • Español
  • Início
  • Assuntos
    • Casos de Sucesso
    • Design
    • Documentos/ECM
    • Fusion Platform
    • Inovação & TI
    • A Neomind
    • Materiais Educativos
    • Processos/BPM
    • Webinars
  • Sugira conteúdos
  • A Neomind
Neomind
  • Português
    • English
    • Español
  • Início
  • Assuntos
    • Casos de Sucesso
    • Design
    • Documentos/ECM
    • Fusion Platform
    • Inovação & TI
    • A Neomind
    • Materiais Educativos
    • Processos/BPM
    • Webinars
  • Sugira conteúdos
  • A Neomind
  • Follow us

O que é e por que sua empresa deve utilizar um sistema de SCM?

Por Fabrício Winter11/06/2018 em Inovação & TI, Deixe um comentário
SCM (Source Code Management)

Nos últimos dias a Microsoft anunciou que irá comprar a empresa GitHub, companhia que hospeda e desenvolve o software Git SCM, por 7 bilhões de dólares. Mas, você sabe o que é um sistema SCM?

O SCM, ou Sistema de Controle de Código Fonte (do inglês Source Code Management), é um padrão utilizado por desenvolvedores de software para agilizar a criação e distribuição de códigos. A ideia do sistema é evitar a utilização de meios físicos (como CD ou até mesmo pen drive) para a distribuição dos fontes em desenvolvimento.


As vantagens de utilizar um sistema SCM

Uma das principais vantagens dos sistemas SCM é o controle de versões (SVC/CVS ou Source Version Control), que permite a visualização do histórico das alterações efetuadas no código, possibilitando, assim, encontrar quando um determinado problema foi resolvido e o que foi alterado para o resolver.

Os sistemas de SVC guardam os fontes separados por “tags” e “branches”. Os tags representam versões onde o código foi enviado para produção e branches onde o mesmo está em ativo desenvolvimento.

Normalmente, códigos guardados em tags não devem ser alterados, pois representam uma versão oficial do software naquele momento. Durante o processo de desenvolvimento, os fontes são enviados para as branches, que depois são juntadas (operação conhecida como merge) e viram uma tag.
Outra vantagem é sua flexibilidade, podendo operar utilizando regras de negócio (como filtros e restrições) ou até mesmo integrar outros sistemas externos, como um sistema de Integração Contínua (CI) ou um sistema de gestão de chamados/helpdesk.


Implementações disponíveis no mercado

O padrão SCM possui diversas implementações que foram desenvolvidas ao longo dos anos por diferentes pessoas e empresas, cada uma para resolver um determinado problema que ocorria durante o desenvolvimento dos softwares principais.

Alguns dos sistemas de controle de versão mais utilizados são:
• Subversion (ou SVN) – Desenvolvido pela Apache Software em 2000 (empresa criadora do Tomcat, servidor web utilizado por diversos sistemas WEB), inicialmente para substituir e melhorar o sistema CVS (Concurrent Versions System) que está em desuso.
• Git – Criado por Linus Torvalds (criador do Kernel Linux), em 2005. Foi desenvolvido para substituir o sistema BitKeeper que era utilizado para o controle de fontes do Linux na época, pois o mesmo havia sido privatizado. Atualmente, é o sistema mais famoso de controle de versão, sendo utilizado por milhares de empresas ao redor do mundo.
• Mercurial (ou Hg) – Criado por Matt Mackall em 2005 para ser uma alternativa ao BitKeeper, podendo ser utilizado por outros projetos open-source da época, como o próprio Linux.
• Team Foundation Server (TFS) – Desenvolvido pela Microsoft em 2005 para atender sua demanda interna (e externa) de controle de fontes, o sistema guarda os códigos em nuvem e é ligado diretamente com um sistema de Integração Contínua também desenvolvido pela empresa.


Por que utilizar um sistema SCM?

A guarda dos fontes é algo importante tanto para desenvolvedores de software quanto para empresas que possuem sistemas internos e customizações, uma vez que:
• Organiza o armazenamento dos fontes, evitando discrepâncias de código (por exemplo: entre máquinas de dois desenvolvedores) e
• Atua como backup ativo caso a máquina do desenvolvedor venha a falhar.

Os sistemas de SCM também permitem a restauração e verificação de versões anteriores, fato que pode auxiliar na resolução de problemas de maneira eficaz (através da “desatualização” ou até mesmo por auxiliar a encontrar as alterações realizadas), assim, reduzindo o tempo off-line dos serviços em produção.

Acima de tudo, os sistemas de SCM mantém os fontes organizados, já que separam diferentes versões do mesmo produto em diferentes “tags” e “branches”, possibilitando a rápida consulta e análise do progresso das alterações.


Neomind

Aqui na Neomind nós utilizamos o Subversion (SVN) e o GIT como ferramentas de controle de fontes, pois atendem de maneira eficiente a nossa demanda interna. A Neomind também oferece serviços de guarda dos fontes e customizações para seus clientes com processo de build e integração com testes automatizados. Para saber mais, entre em contato.


InovaçãoTecnologia
Share on FacebookShare on Twitter

Fabrício Winter

Com quatro anos de experiência na área de programação, integra a equipe de manutenção da Neomind, é técnico em Informática pela Unisociesc/Tupy e acadêmico de Engenharia da Computação pela mesma instituição.

Deixe um comentário Cancelar resposta

Mais conteúdos

Benefícios do Cloud Computing para sua empresa

O que sua empresa tem a ganhar com Cloud Computing?

Por Amanda Limas21/01/2021Deixe um comentário
5 tendências tecnológicas para 2021

5 tendências tecnológicas para 2021

Por Alini Laube21/12/2020Deixe um comentário
Metodologia MASP: impulsione a qualidade em solução de problemas

Metodologia MASP: impulsione a qualidade em solução de problemas

Por Natália Lie Suzuki10/12/2020Deixe um comentário
Erros cometidos pelas empresas na implementação de um sistema de gestão

Erros cometidos pelas empresas na implementação de um sistema de gestão

Por Leonardo Kons21/07/2020Deixe um comentário

Leia também

  • Nidec GA: 60% de agilidade nos processos com Fusion Platform
  • Como uma solução de gestão pode ajudar empresas do agronegócio?
  • Green BPM: tenha uma Gestão por Processos de Negócio verde
  • Já ouviu falar em BPM “inteligente”? Conheça o iBPM
  • O que sua empresa tem a ganhar com Cloud Computing?

Neomind

© 2020 Neomind. Todos os direitos reservados.