No processo de desenvolvimento de software, são feitas alte...

Próximas questões
Com base no mesmo assunto
Q3993891 Engenharia de Software
No processo de desenvolvimento de software, são feitas alterações no projeto, tanto para implementar melhorias e funcionalidades, quanto para corrigir bugs e aprimorar a experiência do usuário. O controle de versão consiste, basicamente, em um sistema que permite registrar alterações feitas no desenvolvimento do software. A esse respeito, julgue os itens a seguir.
I Subversion, GIT e Mercurial são ferramentas de controle de versão que armazenam todo o histórico do sistema.
II As ferramentas de controle de versão permitem aos desenvolvedores envolvidos em um único projeto alterar o software e se informar acerca das atualizações efetuadas pela equipe.
III O controle de versão pode ocorrer no modelo centralizado (SCVc), em que um único repositório central é utilizado pela equipe para a comunicação, e no modelo distribuído (SCVd), em que cada desenvolvedor tem seu próprio repositório na área de trabalho.
Assinale a opção correta.  
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Gabarito: D

Fundamento decisivo: A questão se decide pela identificação correta das características dos sistemas de controle de versão: eles registram o histórico de mudanças, apoiam a colaboração entre desenvolvedores e podem operar em modelo centralizado ou distribuído. Como os itens I, II e III correspondem a esses conceitos, a alternativa correta é a que afirma que todos estão certos.

Tema central: controle de versão
Análise das alternativas
A
Errada
Está errada porque exclui o item III. Esse item descreve corretamente a oposição entre controle de versão centralizado, com repositório central único para a equipe, e distribuído, com repositório local por desenvolvedor.
B
Errada
Está errada porque exclui o item II. O item II está correto ao atribuir às ferramentas de controle de versão a função de permitir alterações no projeto e acompanhamento das atualizações realizadas pela equipe.
C
Errada
Está errada porque exclui o item I. O item I é aceitável no contexto da questão, pois Subversion, Git e Mercurial são ferramentas de controle de versão que registram o histórico de alterações dos artefatos versionados.
D
Certa
A alternativa D está correta porque os três itens estão compatíveis com os conceitos usuais de sistemas de controle de versão. No item I, Subversion, Git e Mercurial são ferramentas de controle de versão, e a expressão sobre armazenar histórico deve ser entendida como histórico de versões e alterações dos artefatos controlados. No item II, essas ferramentas viabilizam trabalho colaborativo e dão visibilidade às mudanças da equipe por meio de commits, revisões, logs e atualizações. No item III, a classificação também está correta: no modelo centralizado há um repositório central compartilhado; no distribuído, cada desenvolvedor mantém seu próprio repositório local.
Pegadinha da questão
A confusão real era interpretar 'histórico' como histórico de execução do software, quando o sentido pertinente é histórico de versões, e tratar Subversion como se não se encaixasse na afirmação por ser centralizado, quando o item apenas fala em registro de histórico de mudanças.
Dica para questões semelhantes
  • Quando a questão falar em 'histórico' no contexto de controle de versão, leia como histórico de versões e alterações dos artefatos controlados.
  • Diferencie modelo centralizado e distribuído pelo critério do repositório: central único compartilhado versus repositório local por desenvolvedor.
  • Se o item atribuir ao controle de versão colaboração e rastreabilidade de mudanças, isso está alinhado à função típica dessas ferramentas.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo