Questões de Concurso Sobre engenharia de software

Foram encontradas 14.463 questões

Q4089732 Engenharia de Software
Durante a análise de um módulo de autenticação, a equipe identificou trechos de código com responsabilidades misturadas, nomes pouco descritivos, funções extensas e duplicidade de regras de validação. O tech lead decidiu que as melhorias deveriam ocorrer sem alterar o comportamento externo do software, garantindo que o módulo permanecesse funcional durante as modificações. A equipe de testes já possui uma suíte ampla e automatizada para detectar qualquer desvio. Considerando boas práticas de refatoração, assinale a alternativa que apresenta a abordagem que se alinha ao objetivo descrito. 
Alternativas
Q4089731 Engenharia de Software
A respeito do Test-Driven Development (TDD), informe se é verdadeiro (V) ou falso (F) o que se afirma a seguir e assinale a alternativa com a sequência correta.
(  ) O TDD segue um ciclo curto que envolve escrever um teste, fazê-lo falhar e implementar o código mínimo.
(  ) No TDD, os testes podem ser utilizados como documentação viva do comportamento esperado do código.
(  ) O TDD recomenda que o desenvolvedor escreva apenas o código suficiente para fazer o teste passar.
(  ) A utilização de TDD elimina totalmente a necessidade de testes automatizados adicionais no projeto. 
Alternativas
Q4089730 Engenharia de Software
No processo de análise e verificação de requisitos, diversos critérios podem ser utilizados para avaliar a qualidade do conteúdo registrado. Considerando esse contexto, assinale a alternativa que NÃO corresponde a uma verificação adequada de requisitos. 
Alternativas
Q4089729 Engenharia de Software
Durante o desenvolvimento de um novo módulo de atendimento interno, a equipe de TI precisa identificar como os usuários realizam suas atividades diárias, quais informações consultam e quais dificuldades enfrentam ao usar o sistema atual. O analista responsável opta por observar diretamente o ambiente de trabalho para compreender o fluxo real das operações. Com base no exposto, assinale a alternativa que apresenta a técnica de levantamento que está sendo utilizada. 
Alternativas
Q4089726 Engenharia de Software
Durante a manutenção de um sistema acadêmico interno, a equipe de TI de uma instituição federal identificou inconsistências em regras de negócio relacionadas ao cálculo de carga horária dos alunos. Para organizar o trabalho e reduzir retrabalhos, o coordenador solicitou que o time adotasse um método estruturado para registrar, discutir e documentar as atividades necessárias, assegurando que todos compreendessem o fluxo de trabalho e as ações a serem executadas. Considerando práticas reconhecidas de engenharia de software, o método que atende a essa necessidade é  
Alternativas
Q4089725 Engenharia de Software
Uma equipe responsável pela manutenção de um sistema legado precisa realizar alterações em módulos altamente acoplados, nos quais pequenas modificações geram efeitos inesperados em componentes não relacionados. Considerando métodos e práticas da engenharia de software, qual abordagem contribui para reduzir esse comportamento e favorecer ciclos de manutenção mais previsíveis? 
Alternativas
Q4089424 Engenharia de Software
No desenvolvimento de suas atividades como técnico de tecnologia da informação no IFCE, você está auxiliando na manutenção de um sistema acadêmico versionado com a ferramenta Git. Durante a atualização do repositório local, surge a necessidade de buscar as alterações existentes no repositório remoto, apenas para verificar o que foi modificado por outros membros da equipe, sem realizar a mesclagem (merge) automática dessas alterações na branch local.
Diante dessa situação, qual comando do Git deve ser utilizado?
Alternativas
Q4088847 Engenharia de Software
O TCE-SC desenvolveu um modelo de IA para detectar fraudes em licitações. Durante o treinamento, o modelo apresentou 99% de acerto na base de dados histórica, mas, ao ser aplicado em dados novos de 2026, a precisão caiu para 55%.
Esse fenômeno técnico, no qual o modelo decora os dados de treinamento mas falha em generalizar para dados novos, é conhecido como 
Alternativas
Q4088621 Engenharia de Software
Durante uma auditoria técnica em um projeto de desenvolvimento de software público, o auditor observa que a equipe de desenvolvimento está ignorando sistematicamente a Definition of Done (DoD) para cumprir o prazo de uma Sprint, sob orientação do Product Owner. O incremento foi movido para o status Concluído, mas não possui testes de integração nem documentação técnica.
Sob a ótica do Guia Scrum e da governança de software, a consequência direta dessa prática para o Tribunal de Contas e para a qualidade do produto é
Alternativas
Q4088611 Engenharia de Software
Na fase de análise de um novo sistema de gestão de pessoal, o auditor precisa validar as interações entre os atores e o sistema, identificando os limites da aplicação.
O diagrama da UML 2 mais indicado para representar as funcionalidades do sistema sob a perspectiva dos atores é o 
Alternativas
Q4088608 Engenharia de Software
O Tribunal adotou o Test-Driven Development (TDD) para garantir a qualidade do código nos sistemas de cálculo de pensões. Um auditor está revisando o processo de desenvolvimento e quer validar se a equipe segue o ciclo padrão do TDD.
A sequência correta de passos no ciclo Red-Green-Refactor do TDD é:
Alternativas
Q4088596 Engenharia de Software
Durante a auditoria de um contrato de desenvolvimento de software mensurado por Pontos de Função (PF), o Auditor percebe que a contagem incluiu Arquivos Lógicos Internos (ALI) para tabelas que são apenas referenciadas para consulta, mas mantidas por outro sistema externo.
De acordo com o manual de contagem do International Function Point Users Group (IFPUG), essa funcionalidade deve ser classificada como 
Alternativas
Q4086771 Engenharia de Software
O TCE-SC desenvolveu um modelo de IA para detectar fraudes em licitações. Durante o treinamento, o modelo apresentou 99% de acerto na base de dados histórica, mas, ao ser aplicado em dados novos de 2026, a precisão caiu para 55%.

Esse fenômeno técnico, no qual o modelo decora os dados de treinamento mas falha em generalizar para dados novos, é conhecido como
Alternativas
Q4071629 Engenharia de Software
Scrum é um método ágil, iterativo e incremental para gerenciamento de projetos (SCHWABER E SUTHERLAND, 2020). Sobre o framework Scrum, avalie as seguintes assertivas:

I. São artefatos do Scrum o Backlog do produto, o Backlog da Sprint, o incremento e os testes de unidade.
II. São eventos do Scrum a Sprint, o planejamento da Sprint, as reuniões diárias, a revisão da Sprint e a retrospectiva da Sprint.
III. São pilares do Scrum a transparência, a inspeção e o compromisso.
IV. O Scrum é um método ágil voltado para projetos de desenvolvimento de software, e inclui um conjunto de práticas de programação como testes de unidade e design incremental.

Assinale a alternativa que contém apenas as afirmações CORRETAS.
Alternativas
Q4071628 Engenharia de Software

Code Smells são indicadores de código de baixa qualidade, isto é, código difícil de manter, entender, modificar ou testar (Valente, 2020). Avalie o trecho de código a seguir (em linguagem JAVA). 


Imagem associada para resolução da questão


Assinale a alternativa que representa o code smell melhor caracterizado no trecho de código. 

Alternativas
Q4071626 Engenharia de Software
Princípios de projeto são recomendações mais concretas que desenvolvedores de software podem seguir para garantir maior qualidade em propriedades esperadas de projeto, como integridade conceitual, ocultamento de informação, coesão e acoplamento.

Sobre os princípios S.O.L.I.D., selecione a alternativa INCORRETA.
Alternativas
Q4071611 Engenharia de Software
Considere a seguinte situação hipotética:
Uma equipe de desenvolvimento mantém um sistema corporativo, utilizando Git e pipelines CI/CD automatizados. O pipeline é definido em um arquivo YAML versionado no próprio repositório e contém as seguintes etapas: 
Imagem associada para resolução da questão
Fonte: dados do elaborador Durante o desenvolvimento, a equipe decide integrar um branch de funcionalidades (feature/login) no branch principal (main). Existem dois caminhos possíveis:
1. git merge feature/login : cria um commit de merge, preservando o histórico do branch de funcionalidades.
2. git rebase main feature/login : reaplica os commits do branch de funcionalidades sobre o branch main, criando um histórico linear.

Com base nesse cenário e nos conceitos de DevOps, CI/CD e controle de versão com Git, analise as afirmativas a seguir:
I. A configuração apresentada no arquivo YAML caracteriza um pipeline de integração contínua, pois alterações integradas ao repositório podem acionar automaticamente as etapas de build e testes, ainda que o deploy dependa de aprovação manual.
II. O uso de git merge preserva o histórico completo do branch de funcionalidades, incluindo divergências e commits paralelos, mas pode gerar múltiplos commits de merge que poluem o histórico. 
III. O uso de git rebase permite criar um histórico linear ao reaplicar commits sobre outro branch, porém essa operação reescreve o histórico dos commits, podendo causar inconsistências, caso o branch já tenha sido compartilhado com outros desenvolvedores.
IV. A configuração when: manual no job de deploy indica que a etapa de implantação depende de intervenção humana, caracterizando um processo típico de Continuous Deployment, e não de Continuous Delivery.
V. Definir pipelines CI/CD em arquivos YAML versionados no próprio repositório permite que o processo de automação seja rastreável e auditável, o que possibilita o controle de versões também sobre as mudanças no pipeline.

Assinale a alternativa CORRETA:
Alternativas
Q4071610 Engenharia de Software
Considere a seguinte situação hipotética:

Uma equipe de desenvolvimento adotou práticas de DevOps em um sistema corporativo. O fluxo definido estabelece que todo o código é versionado em Git, e que a cada push para o repositório remoto é executado automaticamente um pipeline de CI/CD.
Nesse pipeline são realizadas etapas de build, testes automatizados e análise estática de código. Caso todas as etapas sejam concluídas com sucesso, o artefato gerado é automaticamente implantado em ambiente de homologação.
Com base nos conceitos de integração contínua, entrega contínua e automação de pipelines, analise as afirmativas a seguir.

I. A integração contínua (continuous delivery) consiste na prática de integrar alterações de código com frequência em um repositório compartilhado, em que builds e testes automatizados são executados para detectar falhas precocemente no processo de desenvolvimento.
II. A entrega contínua (continuous delivery) pressupõe que o sistema esteja sempre em um estado potencialmente implantável em produção, embora a liberação final para produção dependa de uma aprovação manual.
III. Em pipelines de CI/CD, ferramentas como GitHub Actions e GitLab CI/CD permitem definir workflows ou pipelines automatizados por meio de arquivos de configuração versionados no próprio repositório do projeto.
IV. A cultura DevOps enfatiza a automação de processos de build, teste e deploy, reduzindo a necessidade de interação entre equipes de desenvolvimento e operações ao longo do ciclo de entrega de software.

Assinale a alternativa CORRETA:
Alternativas
Q4067463 Engenharia de Software
Uma Secretaria Estadual é submetida a forte fiscalização de órgãos de auditoria externa, com exigência simultânea de conformidade legal, previsibilidade institucional e entrega incremental de software. Adotando Scrum alinhado ao Guia de Prática Ágil do PMI, o mecanismo que permite conciliar governança formal e adaptação contínua sem descaracterizar o framework é a
Alternativas
Q4065622 Engenharia de Software
No ciclo de vida de desenvolvimento de software na Administração Pública, o Analista de Sistemas atua como um facilitador entre as necessidades governamentais e a implementação técnica.
Ao elaborar a documentação técnica para orientar a equipe de programadores, é fundamental que o analista:
Alternativas
Respostas
21: E
22: A
23: C
24: D
25: A
26: C
27: E
28: B
29: B
30: C
31: B
32: B
33: B
34: B
35: B
36: B
37: B
38: D
39: A
40: D