Questões de Concurso Sobre engenharia de software
Foram encontradas 14.896 questões
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.
Considerando o excerto, assinale a alternativa que indica a opção CORRETA sobre a atualização do fork remoto a partir do próprio pai:
class Financeiro { void calculaImpostoDeRenda() { // cálculo do imposto } void geraRelatorioPDF() { // código para gerar PDF } }
Segundo os princípios de projeto conhecidos como S.O.L.I.D., o código mencionado acima viola o princípio:
Adaptado de VALENTE, Marco Túlio. Engenharia de software moderna: princípios e práticas para desenvolvimento de software com produtividade. Rio de Janeiro, 2020.
Considere a situação na qual, apesar de estar implementado em uma classe A, um método f possui mais dependências para elementos de uma classe B. Isso provoca uma diminuição da coesão da classe A e um aumento no acoplamento entre A e B.
A refatoração, com maior potencial para melhorar a coesão e acoplamento do sistema na situação acima, é
Uma equipe de desenvolvimento está adotando pipelines de Integração Contínua (CI) para aprimorar suas entregas e reduzir falhas em produção. Considerando esse contexto, analise as afirmações a seguir sobre práticas e conceitos relacionados ao uso de pipelines de CI. Classifique cada uma como verdadeira (V) ou falsa (F):
( ) O uso de pipelines CI garante que não existam falhas em produção, já que todos os testes automatizados foram aprovados antes da transição.
( ) A prática de build once, deploy many busca assegurar a consistência entre os ambientes de desenvolvimento, homologação (staging) e produção.
( ) A execução de testes de unidade e de testes de integração no pipeline é considerada uma prática recomendada no contexto DevOps.
( ) A execução paralela de jobs em CI reduz o tempo total de processamento, mas pode introduzir variações nos resultados quando existem dependências mal gerenciadas entre as etapas.
( ) A CI inclui a configuração e a implantação de um aplicativo em um pipeline de produção, dispensando a compilação e o teste.
Assinale a alternativa CORRETA:
I.A avaliação somativa é realizada por meio de um sistema de classificação automática que executa o programa do aluno com um conjunto de casos de teste, atribuindo uma nota quantitativa com base nos resultados.
II.A avaliação formativa, por sua vez, concentra-se em fornecer feedback durante o processo de desenvolvimento, oferecendo aos alunos informações sobre casos de teste que falharam e estatísticas de desempenho para auto-monitoramento, mas geralmente carece de mecanismos para apoiar o aprendizado antes da avaliação final.
III.A análise do código-fonte em uma avaliação automática abrange múltiplos aspectos, incluindo a sintaxe, a semântica (o comportamento do programa), a eficiência (uso de recursos) e a manutenibilidade (clareza e organização do código).
Assinale a alternativa correta:
I – O controle é complexo. II – A colaboração é eficiente. III – O desenvolvimento das aplicações é prolongado. IV – A portabilidade entre ambientes é fácil.
Assinale a alternativa CORRETA sobre características da ferramenta Docker compose:
“(...) É 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:
Com base nessa situação hipotética, e considerando os princípios da metodologia Scrum, assinale a opção correta.
Essa figura representa uma ferramenta conhecida por Diagrama de:
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.
Sendo X o vetor de dados originais, e X′ o vetor de dados normalizados, assinale a alternativa que descreve corretamente uma normalização válida.
Considerando o nó inicial e seus filhos, assinale a alternativa correta quanto ao resultado que reflete a equação do ganho.
Com base no grafo apresentado, assinale a alternativa que indica a complexidade ciclomática correta.
Assinale a alternativa que descreve corretamente uma função de Atenção (Attention).
“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 é
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.