Questões de Concurso Comentadas sobre engenharia de software

Foram encontradas 13.121 questões

Q4207795 Engenharia de Software
A Linguagem de Modelagem Unificada (UML) é um padrão amplamente consolidado para a especificação, visualização e documentação de sistemas de software. Considerando a notação e os propósitos dos principais diagramas da UML, analise as afirmativas abaixo:

I. Os diagramas de sequência têm como objetivo primordial representar a estrutura estática dos dados, exibindo entidades, seus respectivos atributos e os relacionamentos de associação entre elas.
II. Embora não exista na UML um diagrama dedicado exclusivamente à modelagem física de bancos de dados, o diagrama de classes é frequentemente utilizado para modelar estruturas de dados e suas relações.
III. Na notação de um diagrama de classes, uma classe é representada por um retângulo, o qual pode ser subdividido em compartimentos para especificar seus atributos e operações.

Das afirmativas acima, qual(is) está(ão) correta(s)? 
Alternativas
Q4206174 Engenharia de Software
Uma equipe está desenvolvendo um sistema para uma empresa de design. Em uma mesma classe chamada Cliente, foram colocados métodos para calcular descontos do plano, gerar relatórios na tela e salvar dados no banco. Durante a manutenção, a equipe percebeu que alterações na forma de armazenamento acabavam impactando regras de negócio e vice-versa.

Assinale a afirmativa INCORRETA
Alternativas
Q4206173 Engenharia de Software
Uma empresa decidiu desenvolver um sistema crítico para controle de estoque. Inicialmente, pensou em utilizar o modelo cascata, mas percebeu que os requisitos ainda não estavam completamente definidos e poderiam mudar durante o projeto. O gerente de TI convocou a equipe para discutir qual modelo de pro cesso seria mais adequado.

Considere as afirmações, avaliando quais são verdadeiras e quais são falsas. 

(_) O modelo cascata é mais adequado quando os requisitos do sistema estão bem definidos e são estáveis desde o início do projeto.

(_) Em contextos em que os requisitos mudam frequentemente, modelos iterativos ou incrementais tendem a ser mais apropriados que o modelo cascata.

(_) O modelo cascata é altamente recomendado para projetos em que os requisitos são incertos, pois permite revisões constantes em qualquer fase anterior do processo.

(_) Em contextos em que os requisitos mudam frequentemente, modelos iterativos ou incrementais tendem a ser mais apropriados que o modelo cascata.  

A sequência CORRETA, de cima para baixo, é 
Alternativas
Q4202929 Engenharia de Software

A respeito de análise e projeto de sistemas, julgue os próximos itens.



I A delimitação de contextos de negócio é compatível com o domain-driven design.


II O isolamento do núcleo da aplicação por meio de portas e adaptadores é compatível com a arquitetura hexagonal.


III A atribuição de responsabilidades com alto acoplamento e baixa coesão é compatível com os princípios GRASP.



Assinale a opção correta.

Alternativas
Q4202927 Engenharia de Software

    Uma equipe de desenvolvimento mantém um sistema corporativo já estável em produção, mas necessita prepará-lo para operar em outro ambiente computacional e para compartilhar funcionalidades com outros sistemas da organização. Na análise dos atributos de qualidade, o gerente observou que essas necessidades estão associadas à capacidade do sistema de adaptação e aproveitamento em novos contextos.


Conforme os fatores de qualidade definidos por McCall, é correto afirmar que as necessidades descritas na situação hipotética precedente se relacionam 

Alternativas
Q4202321 Engenharia de Software
O clustering (agrupamento) é uma técnica de aprendizado de máquina usada para agrupar objetos, dados e observações com base em semelhanças e padrões, sendo classificada como um tipo de aprendizado:
Alternativas
Q4195766 Engenharia de Software
O desenvolvimento de sistemas modernos exige a escolha de metodologias que permitam a entrega de valor contínuo e a adaptação rápida às mudanças de requisitos institucionais. Considerando as características do framework Scrum e as fases do ciclo de vida de desenvolvimento de sistemas, analise as afirmativas a seguir:
I.No Scrum, a reunião diária (Daily Scrum) é um evento de quinze minutos destinado à equipe para sincronizar atividades e identificar impedimentos.
II.O Product Backlog é uma lista ordenada de tudo o que pode ser necessário no produto, sendo a única fonte de requisitos para qualquer alteração a ser feita.
III.O modelo em Cascata (Waterfall) permite o retorno sistemático à fase de requisitos após a conclusão da fase de testes sem qualquer impacto no cronograma inicial.
Está correto o que se afirma em: 
Alternativas
Q4195764 Engenharia de Software
A Programação Orientada a Objetos (POO) utiliza conceitos que visam a reutilização de código e o isolamento de responsabilidades entre as entidades do sistema. Acerca dos pilares da orientação a objetos e do controle de versões, registre V, para as afirmativas verdadeiras, e F, para as falsas:
(__)O encapsulamento protege os atributos de um objeto, permitindo o acesso a eles apenas através de métodos públicos definidos na classe.
(__)A herança permite que uma classe filha herde comportamentos e atributos de uma classe mãe, promovendo o reaproveitamento de lógica.
(__)O Git é um sistema de controle de versão centralizado que impede que os desenvolvedores possuam uma cópia local do histórico do projeto.
(__)O polimorfismo permite que uma mesma operação seja executada de diferentes formas por objetos de classes distintas que compartilham um ancestral.
Após análise, assinale a alternativa que apresenta a sequência correta dos itens acima, de cima para baixo:
Alternativas
Q4193542 Engenharia de Software
No contexto de ferramentas de desenvolvimento e infraestrutura de aplicações, é comum o uso de controle de versão com Git, de práticas de integração e versionamento de código, de servidores web para disponibilização de aplicações, de sistemas de gerenciamento de conteúdo (CMS) para administração de portais e de containers para virtualização leve de ambientes. Sobre esse assunto, analise as asserções.

I. O Git é uma ferramenta de controle de versão que permite registrar alterações feitas em arquivos, manter histórico de revisões e apoiar o versionamento de código em projetos de desenvolvimento.
II. Sistemas de gerenciamento de conteúdo (CMS), como Drupal ou equivalentes, são voltados à administração de conteúdo e de estruturas de publicação em portais e sítios eletrônicos.
III. Servidores web como Apache HTTP Server e Nginx têm como função principal substituir sistemas de controle de versão no armazenamento e na organização do código-fonte de aplicações.
IV. Containers, em plataformas como Docker, operam com a mesma arquitetura de virtualização de uma máquina virtual tradicional, incluindo a execução de um sistema operacional completo por instância.

Assinale a alternativa que apresenta apenas asserções corretas. 
Alternativas
Q4193530 Engenharia de Software
A convergência entre a inteligência artificial (IA) e as plataformas de integração tem sido fundamental para a automação de processos e a agilidade no desenvolvimento de soluções. Diante desse cenário, analise as asserções.

I. O MCP (Model Context Protocol) estabelece um padrão aberto de modelo capaz de sugerir trechos de código e funções completas. O MCP atua de forma consultiva na resolução de dúvidas e no suporte a fluxos rotineiros, como a geração de testes unitários, a depuração de sistemas e a análise de perfil.
II. O protocolo MCP (Model Context Protocol) é um padrão aberto que permite que os modelos de IA interajam com ferramentas e serviços externos por meio de uma interface unificada, proporcionando otimização do desenvolvimento de sistemas e na automação de fluxos de trabalho.
III. O MCP (Model Context Protocol) estabelece um padrão de segurança e conformidade para o desenvolvimento de LLMs (modelos de linguagem de grande porte), assegurando a interoperabilidade técnica para a integração desses modelos em cenários de alta complexidade.
IV. Agentes de IA acoplados à IDE (Integrated Development Environment) transformam requisitos de alto nível, descritos em linguagem natural, em ações concretas na base de código. O agente orquestra desde o planejamento e edição de scripts até a execução de comandos de terminal e integração de ferramentas.

Assinale a alternativa que apresenta apenas asserções corretas. 
Alternativas
Q4193138 Engenharia de Software
As interfaces funcionam como contratos que definem quais comportamentos uma classe deve apresentar, sem especificar como eles serão realizados. Considerando o papel e o funcionamento das interfaces no desenvolvimento de sistemas, analise as afirmativas a seguir:

I.Uma classe pode implementar múltiplas interfaces, permitindo que ela assuma diferentes papéis ou comportamentos dentro do software.
II.Interfaces definem contratos de comportamento por meio da declaração de métodos, sem estabelecer a implementação concreta das operações.
III.O uso de interfaces é indicado para garantir o baixo acoplamento entre os componentes, permitindo a substituição de implementações com facilidade.

Está CORRETO o que se afirma em: 
Alternativas
Q4186161 Engenharia de Software
Dentro de uma abordagem DevOps, qual ferramenta podemos usar, respectivamente, para:

1) Orquestração de falhas, dimensionamento automático conforme a demanda e governança em todos os clusters;
2) Padronização dos ambientes locais, em que cada desenvolvedor executa a mesma imagem;
3) Inicialização das dependências reais de serviço por execução de teste, sem bancos de dados compartilhados e sem estado obsoleto.
4) Inicialização das dependências reais de serviço por execução de teste e sem bancos de dados compartilhados e sem estado obsoleto.

Marque a alternativa que representa, respectivamente, as ferramentas que podem ser usadas para cada um dos casos apresentados anteriormente:
Alternativas
Q4186137 Engenharia de Software
Sobre o desenvolvimento ágil de software, marque a alternativa INCORRETA:
Alternativas
Q4186045 Engenharia de Software
 Considere as afirmações abaixo referentes a UML (Unified Modeling Language), em seguida, assinale a alternativa correta.

I. A UML estabelece o processo formal de desenvolvimento de software, definindo etapas necessárias para análise, projeto e implementação.

PORQUE

II. A UML inclui diferentes tipos de diagramas que permitem representar tanto a estrutura quanto o comportamento de um sistema.
Alternativas
Ano: 2026 Banca: DEPSEC Órgão: UNIFAP Prova: DEPSEC - 2026 - UNIFAP - Arquivista |
Q4185817 Engenharia de Software
A universidade vai contratar um sistema para gestão documental, mas a equipe técnica avisa que não basta o sistema “funcionar”; ele precisa ter capacidade de armazenamento, obedecer à legislação, ser interoperável e manter disponibilidade adequada para uso contínuo.
Essas exigências se enquadram como:
Alternativas
Ano: 2026 Banca: IBADE Órgão: CRO - MA Prova: IBADE - 2026 - CRO - MA - Advogado |
Q4185715 Engenharia de Software
Assinale a alternativa correta sobre software livre. 
Alternativas
Q4181915 Engenharia de Software
O Processo Unificado é uma tentativa de aproveitar muitos dos melhores recursos e características dos modelos tradicionais de processo de software. Ele reconhece a importância da comunicação e de métodos racionalizados para descrever a visão do cliente sobre um sistema. Não obstante, mesmo sem abandonar suas atividades clássicas (concepção, elaboração, construção e transição), é possível acrescentar também uma camada serial, agregando-se a filosofia “serial para o que é amplo” e “iterativa para o que é particular”. Com isso, o modelo pode ser enriquecido com muitos dos melhores princípios do desenvolvimento ágil de software, resultando em:
Alternativas
Q4181866 Engenharia de Software
Em uma equipe responsável por evoluir uma aplicação corporativa crítica, foram adotadas práticas de Scrum, XP, Domain-Driven Design, Test-Driven Development, testes automatizados com NUnit e versionamento de código-fonte. Durante uma retrospectiva, discutiu-se a relação entre incremento de produto, testes automatizados, integração de alterações e modelagem do domínio de negócio. Nesse contexto, analise as sentenças a seguir:

I- Em ferramentas de teste como NUnit, testes unitários substituem a necessidade de versionamento de código-fonte, pois a rastreabilidade das alterações passa a ser garantida exclusivamente pelo histórico de execução dos testes.

II- Em TDD, a sequência clássica envolve escrever inicialmente um teste automatizado que falha, implementar o código mínimo para fazê-lo passar e, em seguida, refatorar preservando o comportamento verificado pelos testes.

III- No Domain-Driven Design, a adoção de uma linguagem ubíqua dispensa a delimitação de bounded contexts, pois um único vocabulário de domínio deve ser compartilhado integralmente por todos os módulos, subsistemas e equipes da organização.

IV- No Scrum, o incremento produzido ao final de uma Sprint deve estar potencialmente utilizável quando atende à Definition of Done, mas isso não significa que cada incremento precise ser obrigatoriamente implantado em produção ao término de toda Sprint.



Analisadas as sentenças, estão CORRETAS apenas:
Alternativas
Q4181865 Engenharia de Software
Em um projeto de substituição de um sistema legado, a equipe de análise decidiu utilizar UML para documentar diferentes perspectivas do sistema. Durante a modelagem, foram produzidos diagramas de casos de uso para comunicação com áreas demandantes, diagramas de classes para estruturar entidades e responsabilidades do domínio, diagramas de sequência para detalhar interações temporais entre objetos e diagramas de atividades para representar fluxos de trabalho com decisões, paralelismos e condições de execução. Conforme o enunciado, analise as sentenças a seguir:

I- A UML não define um único diagrama capaz de representar integralmente todos os aspectos de um sistema de software, de modo que diferentes tipos de diagramas podem ser empregados para modelar perspectivas estruturais e comportamentais distintas do sistema.
PORQUE
II- O diagrama de classes é classificado como diagrama comportamental, pois seu objetivo principal é representar a ordem temporal das mensagens trocadas entre objetos durante a execução de um cenário de uso.


Analisadas as sentenças, é CORRETO afirmar que: 
Alternativas
Q4181864 Engenharia de Software
Em um projeto de modernização de um sistema institucional, a equipe de TI recebeu demandas de diferentes áreas usuárias. Parte das solicitações descrevia funcionalidades esperadas, como emissão de relatórios parametrizados e integração com serviços externos, enquanto outra parte descrevia restrições, como tempo máximo de resposta, rastreabilidade das operações, disponibilidade mínima e compatibilidade com determinados navegadores. Durante a revisão do plano de qualidade, também se discutiu a diferença entre verificar se os artefatos foram construídos conforme as especificações e validar se o produto atende às necessidades reais dos usuários. Acerca do tema, assinale a alternativa CORRETA.
Alternativas
Respostas
101: E
102: D
103: D
104: D
105: E
106: B
107: D
108: A
109: D
110: C
111: D
112: B
113: E
114: D
115: B
116: A
117: B
118: D
119: C
120: A