Pular para o conteúdo principal

Questão de Engenharia de Software — Ferramentas de Desenvolvimento de Software — FUNDATEC 2025

Engenharia de SoftwareFerramentas de Desenvolvimento de Software
Código
qg474848
Banca
FUNDATEC
Órgão
PROCERGS
Ano
2025
Nível
Superior
Cargo
Analista em Computação / Ênfase em Análise de Sistemas / Gerência de Projetos de TI
Qual é a principal vantagem de um sistema de controle de versão distribuído como o Git em comparação a um sistema centralizado como o SVN?
  1. AÉ mais rápido para fazer o download inicial do repositório (checkout).
  2. BO controle de acesso a branches é mais simples e centralizado.
  3. CA fusão (merge) de branches é sempre automática e livre de conflitos.
  4. DO armazenamento de arquivos binários é mais eficiente.
  5. ECada desenvolvedor possui uma cópia completa do histórico do repositório, permitindo commits e outras operações offline.
Revelar gabarito e comentário

GabaritoE — Cada desenvolvedor possui uma cópia completa do histórico do repositório, permitindo commits e outras operações offline.

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Engenharia de Software – Controle de Versão

Gabarito: letra E. A principal vantagem de um sistema distribuído como o Git sobre um centralizado como o SVN é que cada desenvolvedor possui uma cópia completa do histórico do repositório, permitindo commits e outras operações offline. Essa característica decorre do modelo distribuído, onde cada clone local contém todo o histórico, ao contrário do SVN que depende de conexão com o servidor central para a maioria das operações.

A questão testa o entendimento das diferenças fundamentais entre arquiteturas de controle de versão. O Git é distribuído, enquanto o SVN é centralizado. A resposta correta (E) capta exatamente o que torna um sistema distribuído superior em termos de autonomia e resiliência.

Controle de versão
  • 1Centralizado (SVN)
    • Histórico no servidor
    • Depende de conexão
    • Checkout baixa só a versão atual
  • 2Distribuído (Git)
    • Cópia completa do histórico
    • Operações offline
    • Clone baixa todo o repositório
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

Embora o Git possa ser otimizado, o download inicial (clone) de um repositório distribuído não é necessariamente mais rápido que um checkout centralizado; na verdade, o clone baixa todo o histórico, o que pode ser mais lento. A principal vantagem não é a velocidade do checkout.

Alternativa B — ❌ Incorreta

O Git oferece controle de branches flexível, mas não mais simples ou centralizado. Pelo contrário, o gerenciamento de branches é descentralizado e cada desenvolvedor gerencia seus próprios branches localmente antes de compartilhar.

Alternativa C — ❌ Incorreta

A fusão (merge) no Git não é sempre automática nem livre de conflitos. Conflitos ocorrem quando alterações concorrentes afetam as mesmas linhas de código, exigindo resolução manual. A afirmação é uma generalização incorreta.

Alternativa D — ❌ Incorreta

O armazenamento de arquivos binários no Git não é mais eficiente que em sistemas centralizados; na verdade, o Git pode ter desempenho pior com binários grandes, pois armazena snapshots completos de cada versão.

Alternativa E — ✅ Correta ⟵ GABARITO

Conforme explicado, cada desenvolvedor possui uma cópia completa do repositório, incluindo todo o histórico. Isso permite trabalhar offline, fazer commits locais e sincronizar posteriormente com o servidor remoto. Essa é a essência dos sistemas de controle de versão distribuídos.

Gabarito: letra E

Link permanente: /questoes/qg474848