Neomind
  • Início
  • Assuntos
    • Casos de Sucesso
    • Design
    • Documentos/ECM
    • Fusion Platform
    • Inovação & TI
    • A Neomind
    • Materiais Educativos
    • Processos/BPM
    • Webinars
  • A Neomind
  • Materiais Gratuitos
  • Contato
  • Português
    • Inglês
Neomind
  • Início
  • Assuntos
    • Casos de Sucesso
    • Design
    • Documentos/ECM
    • Fusion Platform
    • Inovação & TI
    • A Neomind
    • Materiais Educativos
    • Processos/BPM
    • Webinars
  • A Neomind
  • Materiais Gratuitos
  • Contato
  • Português
    • Inglês
  • Siga-nos

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

Postagens relacionadas

Capa Artigo No-code

No-code: entenda o que é e suas vantagens

Por Felipe Borba17/03/2025Deixe um comentário
Capa Artigo Assinatura Híbrida

Assinatura híbrida: o que é e como funciona

Por Felipe Borba26/02/2025Deixe um comentário
capa-neomind-agile-trands

Neomind marcará presença no Agile Trends 2025, maior evento de agilidade no Brasil

Por Felipe Borba08/01/2025Deixe um comentário
capa-Hiperautomação BPM RPA e IA

Hiperautomação: BPM, RPA e IA

Por Felipe Borba08/01/2025Deixe um comentário

Leia também

  • DMN: o que é Decision Model and Notation
  • No-code: entenda o que é e suas vantagens
  • Como a tipologia documental do Fusion Platform ajuda na gestão dos seus documentos
  • Assinatura híbrida: o que é e como funciona
  • Redesenho de processos em 4 passos

  • Empresa
  • Consultoria
  • Conteúdos
  • Suporte e Atendimento

© 2022 Neomind. Todos os direitos reservados.