Questão nº 45
Questão de Tecnologia da Informação · FGV ALEP 2024 (nº 45)
Uma das ferramentas mais importantes no processo de desenvolvimento de software é o repositório de gestão de configuração de software utilizado. Ele oferece um conjunto de estruturas e mecanismos que auxiliam a equipe de desenvolvimento a gerenciar as modificações experimentadas por um software.
Em termos de características, em um repositório de gestão de configuração é fundamental
- Aacompanhar e manter as dependências entre os elementos de dados sob sua guarda. (alternativa correta)
- Bcompatibilizar as estruturas de padrões de projetos GoF e GRASP ao longo do desenvolvimento do software.
- Cdemandar um sistema de banco de dados externo para salvar documentos relacionados ao software.
- Dimplantar métodos ágeis de levantamento de requisitos, como o QFD (Quality Function Deployement).
- Ereprogramar o software baseado no histórico de mudanças a partir da última versão salva.
Resposta comentada
Gabarito Alternativa A
Um repositório de gestão de configuração de software é como uma biblioteca inteligente para o código e outros arquivos de um projeto de software. Ele guarda todas as versões, controla quem mudou o quê e ajuda a equipe a trabalhar junta sem sobrescrever o trabalho um do outro.
- (A) Correta: Acompanhar e manter as dependências entre os elementos de dados (como arquivos de código, bibliotecas, configurações) é fundamental para um repositório de SCM. Isso permite que a equipe entenda o impacto das mudanças, evite quebrar funcionalidades e garanta que todas as partes necessárias estejam presentes para construir ou executar o software corretamente. Se um arquivo de código depende de outro, o repositório precisa saber disso para gerenciar as versões e integrações.
- (B) Incorreta: Padrões de projeto (como GoF e GRASP) são conceitos de design e arquitetura de software. Embora importantes para o desenvolvimento, a compatibilização desses padrões não é uma característica intrínseca ou função do repositório de gestão de configuração em si. O repositório armazena o código que implementa esses padrões, mas não os gerencia ou compatibiliza diretamente. Armadilha da banca: Esta alternativa é tentadora porque menciona conceitos importantes de engenharia de software, mas eles se referem ao design do software, não às características do repositório que o armazena.
- (C) Incorreta: Embora muitos sistemas de gestão de configuração utilizem bancos de dados (internos ou externos) para armazenar metadados e até mesmo os arquivos, "demandar um sistema de banco de dados externo para salvar documentos relacionados ao software" não é uma característica fundamental e universal de todo repositório. Alguns podem ter armazenamento integrado ou usar sistemas de arquivos avançados.
- (D) Incorreta: QFD (Quality Function Deployment) é uma técnica de levantamento de requisitos e planejamento da qualidade, parte da fase de análise do desenvolvimento de software. Não é uma característica ou função do repositório de gestão de configuração, que lida com o controle das versões do software após os requisitos serem levantados.
- (E) Incorreta: "Reprogramar o software baseado no histórico de mudanças" é uma ação que um desenvolvedor pode realizar utilizando as informações do repositório (como reverter para uma versão anterior ou criar um novo branch), mas não é uma característica ou função intrínseca do repositório em si. O repositório armazena o histórico, mas não reprograma o software.
Fonte: FGV ALEP 2024 Analista Legislativo - Desenvolvedor de Sistemas (Caderno Tipo 1). Reproduzida para fins de estudo.