Questões de Concurso Comentadas sobre engenharia de software

Foram encontradas 13.252 questões

Q3753113 Engenharia de Software
Considere o seguinte excerto:

“(...) É uma prática de software que exige commits frequentes de códigos para um repositório compartilhado. Fazer commits de códigos com frequência detecta erros com mais antecedência e reduz a quantidade de código necessária para depuração quando os desenvolvedores chegam à origem de um erro. As atualizações frequentes de código também facilitam o merge de alterações dos integrantes de uma equipe de desenvolvimento de software. Assim, os desenvolvedores podem se dedicar mais à gravação de códigos e se preocupar menos com erros de depuração ou conflitos de merge.”

Fonte: GITHUB. Documentação do GitHub: versão em português brasileiro. Disponível em: https://docs.github.com/pt. Acesso em: 22 jul. 2025.

Assinale a alternativa que indica CORRETAMENTE o conceito descrito:
Alternativas
Q3748916 Engenharia de Software
Uma empresa está desenvolvendo um sistema de gestão para certo representante comercial. O projeto adota práticas ágeis e utiliza o framework React no front‑end, integrando‑se a uma API construída em Node.js. Durante o desenvolvimento, um dos desenvolvedores do time de front‑end alterou componentes da interface diretamente no código principal do repositório remoto. As modificações causaram conflitos e comprometeram partes da aplicação que estavam sendo testadas por outros membros da equipe. Além disso, esse desenvolvedor teve dificuldades para entender a estrutura do React, tentando manipular o DOM diretamente, em vez de adotar outras estratégias.
Ainda a respeito da situação hipotética apresentada, assinale a opção que apresenta a prática correta de versionamento que o desenvolvedor deveria ter adotado para evitar conflitos no código.
Alternativas
Q3748914 Engenharia de Software
Uma empresa está desenvolvendo um sistema utilizando a metodologia Scrum. O projeto está no meio da sprint 3, com duração de duas semanas. Durante esse período, um desenvolvedor percebeu que uma das interfaces planejadas não está mais em conformidade com as novas diretrizes do cliente e decide contatá‑lo diretamente para realizar as alterações no requisito antes do fim da sprint. Ao saber disso, o Scrum Master intervém e explica ao desenvolvedor que o procedimento adotado não está em conformidade com o framework Scrum, pois compromete a organização e a estabilidade da sprint.
Com base nessa situação hipotética, e considerando os princípios da metodologia Scrum, assinale a opção correta.  
Alternativas
Q3748909 Engenharia de Software
Assinale a opção que apresenta o modelo de computação em nuvem que oferece um ambiente completo para o desenvolvimento de software, incluindo sistemas operacionais, bancos de dados, linguagens de programação, frameworks, bibliotecas e ferramentas de automação.  
Alternativas
Q3729845 Engenharia de Software
Durante a análise de um sistema, foram observados diversos problemas de usabilidade que impactam negativamente a experiência do usuário. Entre os problemas identificados, destacam-se:

1 - Os usuários frequentemente relatam dificuldade para encontrar funcionalidades importantes, devido a menus pouco claros e labels ambíguos.
2 - Quando ocorre um erro, o sistema apresenta mensagens genéricas, que não ajudam o usuário a compreender o problema ou a corrigi-lo.
3 - Diferentes telas apresentam estilos de botões, cores e nomenclaturas distintos, gerando confusão.
4 - Algumas telas exibem muitos elementos ao mesmo tempo, tornando difícil a identificação do que é prioritário.
5 - Ações importantes não geram feedback imediato, deixando o usuário incerto sobre o resultado da operação.

Assinale a alternativa que relaciona corretamente os problemas listados à respectiva heurística de Nielsen violada.
Alternativas
Q3729834 Engenharia de Software
Em seu livro “Engenharia de Software” (2011), Sommerville escreve:

“O teste é destinado a mostrar que um programa faz o que é proposto a fazer e para descobrir os defeitos do programa antes do uso. Quando se testa o software, o programa é executado usando dados fictícios. Os resultados do teste são verificados à procura de erros, anomalias ou informações sobre os atributos não funcionais do programa.”
Fonte: SOMMERVILLE, I. Engenharia de Software. 9. ed. São Paulo: Pearson Prentice Hall, 2011. p. 144.

Tendo em vista os processos relacionados a teste no desenvolvimento de software, assinale V (verdadeiro) ou F (falso) em cada afirmativa a seguir.
( ) Os testes de desenvolvimento incluem testes unitários, nos quais se testam objetos e métodos específicos; testes de componentes, nos quais se testam diversos grupos de objetos; e testes de sistema, nos quais se testam sistemas parciais ou completos.
( ) O teste de aceitação é um processo de teste no qual a equipe decide se o software é bom o suficiente para ser implantado e usado em seu ambiente operacional.
( ) O desenvolvimento dirigido a testes é uma abordagem de desenvolvimento na qual os testes são escritos antes do código que será testado.

A sequência correta é
Alternativas
Q3729832 Engenharia de Software
Segundo Sommerville, o gerenciamento de versão é o processo de acompanhamento de diferentes versões de componentes de software ou itens de configuração e os sistemas em que esses componentes são usados. Ele também envolve a garantia de que as mudanças feitas por diferentes desenvolvedores para essas versões não interfiram umas nas outras.
Fonte: SOMMERVILLE, I. Engenharia de Software. 9. ed. São Paulo, Person Prentice Hall, 2011.

O Git é um sistema de controle de versão, criado em 2005 por Linus Torvalds, bastante utilizado em projetos de desenvolvimento de software. Considere que um desenvolvedor deseja ver o histórico de commits em formato gráfico simplificado no terminal para identificar a linha de tempo e os branches e assinale a alternativa que descreve o comando a ser utilizado.
Alternativas
Q3729831 Engenharia de Software
Um processo de desenvolvimento de software que utilize a UML como linguagem de suporte à modelagem envolve a criação de diversos documentos, os quais podem ser textuais ou gráficos e são chamados de artefatos. Os artefatos gráficos podem ser definidos por meio de diagramas UML (Unified Modeling Language). A partir disso, observe os objetivos a seguir.

A - Descrever os tipos de objetos presentes no sistema e os vários tipos de relacionamentos estáticos existentes entre eles.
B - Representar como grupos de objetos colaboram em algum comportamento, isto é, as mensagens trocadas entre os objetos.
C - Exibir uma “fotografia” do sistema em certo momento, demonstrando as ligações formadas entre objetos conforme interagem e de acordo com os valores dos seus atributos.
D - Mostrar as ações e decisões que ocorrem enquanto uma dada função é executada.

Assinale a alternativa que associa corretamente o objetivo ao tipo de diagrama correspondente.
Alternativas
Q3729827 Engenharia de Software
Em seu livro “Engenharia de Software”, Roger Pressam escreve:
“Em essência, métodos ágeis se desenvolveram em um esforço para sanar fraquezas reais e perceptíveis da engenharia de software convencional. O desenvolvimento ágil oferece benefícios importantes, no entanto, não é indicado para todos os projetos, produtos, pessoas e situações.”
Fonte: PRESSMAN, R. S. Engenharia de Software: uma abordagem profissional. 7. ed. Porto Alegre: AMGH, 2011. p. 82.

Com base na literatura de Processos de Software, assinale V (verdadeiro) ou F (falso) em cada afirmativa a seguir.
( ) O Product Owner é um facilitador que organiza reuniões diárias, controla o backlog de trabalho, registra decisões, mede o progresso comparado ao backlog e se comunica com os clientes e a gerência externa à equipe.
( ) Um preceito fundamental dos métodos ágeis é que você deve projetar para mudar, ou seja, deve antecipar futuras alterações do software e projetá-lo para que essas mudanças possam ser facilmente implementadas.
( ) Métodos ágeis normalmente contam com contratos nos quais o cliente paga pelo esforço necessário para o desenvolvimento do sistema, e não pelo desenvolvimento de um determinado conjunto de requisitos (escopo fixo), diferentemente de processos planejados.

A sequência correta é
Alternativas
Q3729824 Engenharia de Software
Redes Neurais Artificiais podem aproximar qualquer função contínua com erro arbitrariamente pequeno. São estruturas base para as diversas aplicações em Inteligência Artificial, especialmente em Deep Learning e mostram seu verdadeiro potencial quando a quantidade de dados é abundante. Porém, há problemas comuns a serem observados ao treinar os modelos. Observe as alternativas a seguir e marque a que corresponde a um possível problema com redes neurais.
Alternativas
Q3729818 Engenharia de Software
O método de validação cruzada pode ser usado em vez de fazer uma separação do conjunto em treino e teste (subamostragem aleatória). Tal método separa um conjunto em k dobras, fazendo com que ____. Assim, esse método se torna útil para conjuntos de dados ____, pois a escassez de dados rotulados ____.
Assinale a alternativa que completa corretamente as lacunas.
Alternativas
Q3724371 Engenharia de Software
Sobre Métodos Ágeis, relacione os elementos da Coluna A com suas características na Coluna B:
Coluna A
1. Scrum 2. Kanban 3. XP (Extreme Programming) 4. Sprint
Coluna B a. Quadro visual para acompanhamento do fluxo de trabalho.
b. Framework ágil que trabalha com papéis como Product Owner e Scrum Master.
c. Ciclo de iteração de tempo fixo em um projeto ágil.
d. Metodologia que enfatiza práticas como programação em par e integração contínua.
Qual das alternativas relaciona corretamente os métodos ágeis às suas características?
Alternativas
Q3724366 Engenharia de Software
Analise as sentenças sobre o Git.
I. O Git é um sistema de controle de versão centralizado, semelhante ao SVN, em que todas as alterações são registradas em um servidor único.
II. O Git permite rastrear mudanças em arquivos de texto, como códigos-fonte.
III. O comando git commit é utilizado para criar um novo repositório vazio.
IV. O comando git clone é usado para copiar um repositório existente.
É correto o que se afirma apenas em: 
Alternativas
Q3723303 Engenharia de Software
Durante a modelagem de um sistema de controle acadêmico para uma instituição de ensino, um professor orientou seus alunos a utilizarem o modelo entidade-relacionamento estendido (EER) para representar conceitos como generalização, especialização e herança entre entidades. Ao converter esse modelo para um diagrama de classes UML, é necessário identificar corretamente a notação usada para representar relações hierárquicas de herança, em que subclasses herdam atributos e comportamentos da superclasse. Nesse contexto, a representação correta do relacionamento de herança é dada por:
Alternativas
Q3712983 Engenharia de Software
O estudo de viabilidade de soluções tecnológicas é uma etapa fundamental no processo de planejamento e desenvolvimento de sistemas, pois permite avaliar os impactos e a adequação de uma solução antes de sua implementação. Sobre esse tema, assinale a alternativa correta.
Alternativas
Q3712975 Engenharia de Software
Durante a entrega de um novo módulo do sistema, o analista precisa produzir documentação voltada ao usuário final. Segundo as boas práticas de documentação técnica, o manual deve:
Alternativas
Q3710935 Engenharia de Software
Considerando que a tecnologia deve ser utilizada como ferramenta pedagógica capaz de favorecer o desenvolvimento de competências e habilidades para a atuação na sociedade do conhecimento, o professor de informática precisa selecionar criticamente os recursos digitais em sua prática. Nesse contexto, assinale a alternativa que apresenta corretamente a definição de simulações como recurso didático:
Alternativas
Q3710932 Engenharia de Software
Em gamificação, é correto afirmar que:
Alternativas
Q3710931 Engenharia de Software
Analise as afirmações sobre o Pensamento Computacional e sua aplicação em diferentes contextos. Registre V, para verdadeiras, e F, para falsas:

(__)O reconhecimento de padrões identifica similaridades entre problemas e permite a adaptação de soluções já utilizadas.
(__)A decomposição consiste em reunir diferentes problemas em um único bloco, facilitando a análise detalhada de cada parte.
(__)Algoritmos são aplicados em ambientes digitais, não sendo úteis em tarefas do cotidiano.
(__)O Pensamento Computacional na educação favorece o desenvolvimento de habilidades como criatividade e inovação.
(__)A abstração envolve detalhar todos os aspectos de um problema, sem priorizar os elementos essenciais.

Assinale a alternativa que apresenta a sequência correta:
Alternativas
Ano: 2025 Banca: INEP Órgão: PND Prova: INEP - 2025 - PND - COMPUTAÇÃO - Licenciatura |
Q3708908 Engenharia de Software
O processo de desenvolvimento de software é uma atividade realizada por e para pessoas. Assim, as pessoas são o elemento essencial em todas as fases do processo, uma vez que os produtos de software têm impacto direto na vida do seu público-alvo. Os princípios de Diversidade, Equidade e Inclusão (DEI) funcionam em conjunto e sua integração ao longo de todo o processo de desenvolvimento de software aumenta o desempenho da equipe, melhora a qualidade e a relevância do produto de software para um público-alvo diversificado.

MARQUES, A. B. et al. Grandes desafios para diversidade, equidade e

inclusão (DEI) no Desenvolvimento de Software. Workshop sobre

Aspectos Sociais, Humanos e Econômicos de

Software. SBC, 2024 (adaptado).
Com base nos princípios DEI, qual ação atende aos requisitos de acessibilidade durante o desenvolvimento de software?
Alternativas
Respostas
841: C
842: D
843: B
844: B
845: E
846: C
847: E
848: A
849: E
850: A
851: A
852: E
853: B
854: D
855: A
856: D
857: A
858: C
859: E
860: A