Questões de Concurso Sobre engenharia de software

Foram encontradas 14.770 questões

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
Q4088618 Engenharia de Software
No cronograma de implementação de um novo portal do cidadão, o Auditor identifica duas tarefas: “A - Configurar Servidores” (4 dias) e “B - Desenvolver Front-end” (6 dias). Ambas começam no dia 1. A tarefa “C - Testes Integrados” (2 dias) só pode começar após A e B terminarem.
Assinale a opção que indica a folga da tarefa A e a tarefa que pertence ao Caminho Crítico desse projeto.
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
Q4088604 Engenharia de Software
O TCE-SC está a implementar um assistente virtual para auxiliar os auditores na consulta de normas jurídicas complexas. Para evitar alucinações do modelo de linguagem (LLM) e garantir que as respostas sejam baseadas estritamente no repositório de resoluções do Tribunal, a equipe técnica optou pela arquitetura Retrieval-Augmented Generation (RAG).
No fluxo de funcionamento de um sistema RAG, o papel fundamental do Vector Database é
Alternativas
Q4088601 Engenharia de Software
Uma equipe de desenvolvimento do Tribunal utiliza Scrum e está no meio de uma Sprint de duas semanas. O Diretor de TI solicita a inclusão imediata de uma funcionalidade crítica que não foi planejada.
De acordo com o Guia Scrum, a conduta do Scrum Master deve ser
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
Q4086254 Engenharia de Software
No processo de garantia da qualidade de software, as atividades de verificação e validação possuem objetivos distintos no ciclo de desenvolvimento. A respeito das características associadas a essas atividades, assinale a alternativa INCORRETA.
Alternativas
Q4086252 Engenharia de Software
A atividade de testes é essencial para a garantia da qualidade de software, sendo aplicada em diferentes níveis e com objetivos distintos ao longo do ciclo de desenvolvimento. Considerando os diversos tipos de testes de software, informe se é verdadeiro (V) ou falso (F) o que se afirma a seguir e assinale a alternativa com a sequência correta.

( ) O teste unitário tem por finalidade avaliar o sistema completo e integrado, verificando sua conformidade com os requisitos especificados.
( ) O teste de integração tem como objetivo identificar falhas na comunicação e na interação entre módulos ou componentes do sistema.
( ) O teste de regressão é realizado após modificações no sistema, com o propósito de verificar se funcionalidades previamente implementadas continuam operando corretamente.
( ) O teste caixa branca fundamenta-se na análise da estrutura interna do código, considerando fluxos lógicos, decisões e caminhos de execução. 
Alternativas
Q4086249 Engenharia de Software
A reengenharia é um processo aplicado a sistemas já existentes com o propósito de compreendê-los e aprimorá-los, podendo envolver diferentes atividades técnicas ao longo de sua execução. Durante esse processo, há uma etapa específica em que o programa é analisado e as informações são extraídas a partir dele. Isso ajuda a documentar sua organização e funcionalidade. Essa etapa é denominada 
Alternativas
Q4082535 Engenharia de Software

Em relação à ética em inteligência artificial (IA), julgue o item subsecutivo. 


No âmbito da ética aplicada à inteligência artificial, a transparência efetiva transcende a simples abertura do código-fonte, exigindo que os fundamentos lógicos das decisões automatizadas sejam apresentados de forma compreensível para seres humanos, de modo a permitir a identificação de preconceitos e a possibilidade de revisão das conclusões da máquina.

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
Q4071620 Engenharia de Software
Considere a seguinte situação hipotética:
Uma universidade possui um sistema acadêmico desenvolvido em PHP com framework próprio. Atualmente, o deploy é feito manualmente via FTP (File Transfer Protocol) para o servidor de produção. Em períodos de matrícula, erros de publicação causam indisponibilidade do sistema. A equipe decidiu implementar um pipeline de CI/CD (Integração Contínua/Implantação Contínua). O repositório está no GitLab e os servidores utilizam Linux. É obrigatório garantir: versionamento rastreável, execução automática de testes antes do deploy e controle formal sobre liberações para produção.

Assinale a alternativa que atende de forma CORRETA aos requisitos técnicos e de governança para o novo processo de deploy:
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
Respostas
281: C
282: E
283: B
284: B
285: A
286: C
287: B
288: A
289: C
290: B
291: E
292: A
293: C
294: C
295: B
296: B
297: B
298: B
299: B
300: D