Questões de Concurso Sobre orientação a objetos em engenharia de software

Foram encontradas 1.170 questões

Q4232595 Engenharia de Software
 Em um Diagrama de Classes da UML, há uma associação do tipo todo-parte entre as classes DEPARTAMENTO (todo) e FUNCIONARIO (parte). Se uma instância da classe DEPARTAMENTO for removida do sistema, os objetos da classe FUNCIONARIO, que estavam associados, continuam existindo de forma independente. Como é conhecido esse tipo de associação? 
Alternativas
Q4222407 Engenharia de Software
Durante a revisão de código do módulo de cálculo de rotas e planos de voo de aeronaves, um engenheiro de software percebeu que a classe GerenciadorVoo possuía mais de 5.000 linhas de código, realizando desde a leitura de arquivos de configuração até a impressão de relatórios e conexão direta com o banco de dados de radares.
O cenário descrito apresenta sérios problemas relacionados aos conceitos fundamentais de orientação a objetos e engenharia de software estrutural.
Assinale a opção que identifica o diagnóstico técnico dessa classe e a recomendação de boas práticas de projeto aplicável.
Alternativas
Q4209718 Engenharia de Software
Durante a modelagem de uma plataforma distribuída de pagamentos, certa equipe de arquitetura avaliou diagramas UML relacionados a casos de uso, diagramas de sequência e relacionamentos estruturais entre objetos do domínio. Na revisão técnica, foram analisados:

• Relacionamentos entre casos de uso;
• Fragmentos combinados em diagramas de sequência;
• Composição entre objetos; e
• Navegabilidade e acoplamento entre classes.

Em relação à especificação UML e aos conceitos de modelagem orientada a objetos, assinale a afirmativa correta.
Alternativas
Q4199162 Engenharia de Software
Acerca dos padrões XML, JSON e do modelo UML, julgue o item.
No mapeamento de consistência entre diagramas de sequência e diagramas de classes da UML, mensagens de chamada podem corresponder a operações declaradas nas classes receptoras; mensagens de retorno, por sua vez, não constituem operações independentes e, portanto, não exigem declaração formal como operações no diagrama de classes.
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
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
Q4185108 Engenharia de Software
Considerando os diagramas e suas funções na UML 2, julgue os itens subsequentes. 
Diagramas de pacotes modelam a estrutura hierárquica dos grupos de classes no sistema em tempo de compilação. 
Alternativas
Q4126264 Engenharia de Software
Os padrões de projeto têm como finalidade permitir um adequado desenvolvimento de projetos de software, sendo, tradicionalmente, divididos nas seguintes três grandes categorias:
Alternativas
Q4092986 Engenharia de Software
No contexto de Engenharia de Software, o padrão de projeto Bridge (Ponte) é utilizado para estruturar sistemas orientados a objetos. Analise as assertivas a seguir:

I.O padrão Bridge desacopla a abstração de sua implementação por meio de composição, permitindo que ambas evoluam independentemente.
II.O padrão Bridge tem como finalidade principal adaptar interfaces incompatíveis, permitindo a interoperabilidade entre classes distintas.
III.O padrão Bridge exige, obrigatoriamente, que a implementação seja definida como uma classe concreta única, impedindo variações na hierarquia de implementação.

É correto o que se afirma em: 
Alternativas
Ano: 2026 Banca: IESES Órgão: CRMV - SC Prova: IESES - 2026 - CRMV - SC - Analista de TI |
Q4090491 Engenharia de Software
No paradigma de orientação a objetos, assinale a alternativa correta. 
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
Q4041490 Engenharia de Software
 O modelo de classes de Análise da Modelagem Orientada a Objetos representa os objetos que o sistema irá manipular, as operações que serão aplicadas a esses objetos, além das relações entre os objetos e as colaborações que ocorrem entre as classes. Uma classe é uma abstração de itens que representam as coisas importantes para os usuários, modelando elementos que fazem parte do seu cotidiano. Com isso, é possível facilitar a compreensão, resultando em validações de modelo mais ágeis. Uma classe bem estruturada tem como requisitos: 
Alternativas
Q4038040 Engenharia de Software
Considere os dois diagramas UML a seguir, referentes ao design pattern (padrão de projeto) Composite (composto) e assinale a alternativa que completa correta e respectivamente as três lacunas, considerando sua ordem numérica destacada no texto.

Imagem associada para resolução da questão


O padrão Composite, assim como outros padrões, é baseado fortemente no conceito de (1)__________________, o que pode ser observado em sua estrutura, em que a classe principal do padrão (classe Composite) é uma especialização de uma classe existente e não é a única especialização dessa classe. Além disso, um segundo conceito importante no padrão Composite, assim como em outros padrões, é (2)__________________, o que se observa na uniformidade das assinaturas de métodos invocados no segundo diagrama. Um terceiro conceito relevante nesse padrão, assim como em outros, é (3)__________________, observável no segundo diagrama, quando uma responsabilidade atribuída à instância de Composite – método ‘method1()’ – é repartida com instâncias agregadas da classe Leaf.
Alternativas
Q4038039 Engenharia de Software

Considere os quatro diagramas UML a seguir.



Imagem associada para resolução da questão



Assinale a alternativa que identifica corretamente os tipos de diagrama, considerando sua ordem numérica destacada na imagem.

Alternativas
Q4038030 Engenharia de Software
Considere as seguintes descrições, correspondentes ao conteúdo da seção “intenção” do catálogo de design patterns (padrões de projeto), e assinale a alternativa que completa correta e respectivamente as três lacunas, considerando sua ordem numérica destacada no texto.

1. _______________: incorpora responsabilidades adicionais a um objeto dinamicamente. Esse padrão fornece uma alternativa flexível à produção de subclasses para estender a funcionalidade.
2. _______________: provê um substituto ou espaço reservado a outro objeto, para controlar o acesso a este.
3. _______________: fornece uma interface unificada para um conjunto de interfaces em um subsistema. Esse padrão define uma interface de nível mais alto, que torna o subsistema mais fácil de usar.
Alternativas
Q4033738 Engenharia de Software
O teste unitário atua na base do controle de qualidade de software, focando na verificação de componentes individuais, como métodos e classes de objetos. A respeito das técnicas e dos desafios associados ao projeto de testes unitários para sistemas orientados a objetos, assinale a alternativa INCORRETA.
Alternativas
Q4033736 Engenharia de Software

A modelagem de sistemas orientados a objetos permite visualizar a arquitetura do software sob diferentes perspectivas, facilitando a comunicação e a documentação técnica. Com base nas categorias clássicas de modelos de sistemas (interação, estrutural e comportamental) e no uso dos diagramas da UML, analise as assertivas abaixo:



I. Modelos de interação representam a comunicação entre o sistema e seu ambiente operacional ou entre os componentes internos do próprio sistema. O Diagrama de Sequência pertence a essa categoria, tendo como objetivo modelar a ordem cronológica das trocas de mensagens entre os objetos instanciados para a execução de um cenário específico.


II. Modelos estruturais descrevem a organização estática do software e a estrutura dos dados que serão processados pela aplicação. O Diagrama de Classes pertence a essa categoria, sendo o seu objetivo primordial representar graficamente as relações entre os dados, os desvios condicionais e o paralelismo das operações lógicas executadas pelos módulos do sistema.


III. Modelos comportamentais ilustram o comportamento dinâmico do sistema durante a sua execução. O Diagrama de Atividades enquadra-se nessa classificação, possuindo como objetivo detalhar o fluxo de controle de um processo de negócio ou computacional, evidenciando a sequência de ações, os desvios condicionais e o paralelismo das operações.



Quais estão corretas?

Alternativas
Q4033735 Engenharia de Software

A modelagem orientada a objetos utilizando a Unified Modeling Language (UML) é uma ferramenta essencial na fase de análise e projeto de Software. O Diagrama de Classes, em particular, estabelece a estrutura estática do sistema por meio de classes, seus atributos, operações e os relacionamentos entre os objetos. Sobre as características, o nível de detalhamento e a semântica dos relacionamentos nesse diagrama, analise as assertivas abaixo e assinale V, se verdadeiras, ou F, se falsas.



( ) Para evitar os conflitos de interpretação entre os requisitos do cliente e o código que será efetivamente implementado pelos desenvolvedores, o nível de detalhamento do diagrama de classes (incluindo visibilidade de atributos, tipos de dados rigorosos e assinaturas completas de métodos) deve ser mantido invariavelmente alto desde as fases iniciais da modelagem conceitual.


( ) Na UML, o relacionamento de agregação estabelece um vínculo semântico restrito no qual ocorre uma coincidência de tempo de vida entre os objetos modelados. Nesse tipo de associação, se o objeto contêiner (o “todo”) for destruído da memória, as instâncias exclusivas que formam as suas “partes” também deverão obrigatoriamente ser destruídas, visto que não podem existir de forma independente no sistema.


( ) A relação de generalização permite a modelagem de herança estrutural e comportamental. Na construção do diagrama de classes UML, é totalmente válido modelar uma classe filha com herança múltipla (recebendo características de múltiplas superclasses), ainda que a equipe de desenvolvimento vá implementar o sistema em uma linguagem que não suporta herança múltipla de classes nativamente, como a linguagem Java.



A ordem correta de preenchimento dos parênteses, de cima para baixo, é:

Alternativas
Q4032622 Engenharia de Software

Na análise orientada a objetos, a UML (Unified Modeling Language) organiza seus diagramas em duas grandes categorias: diagramas estruturais, que representam a estrutura estática do sistema, e diagramas comportamentais, que descrevem o comportamento dinâmico do sistema ao longo do tempo. Com base nessa classificação, relacione corretamente os termos da Coluna 1 às suas finalidades, presentes na Coluna 2:



Coluna 1:
(1) Diagramas estruturais.
(2) Diagramas comportamentais.

Coluna 2:
(  ) Diagrama de casos de uso
(  ) Diagrama de atividades
(  ) Diagrama de pacotes
(  ) Diagrama de objetos
(  ) Diagrama de estado
(  ) Diagrama de classes

Qual alternativa preenche, CORRETAMENTE, de cima para baixo, os parênteses acima?

Alternativas
Respostas
1: A
2: B
3: D
4: C
5: A
6: D
7: C
8: B
9: A
10: A
11: B
12: B
13: B
14: A
15: E
16: A
17: C
18: C
19: B
20: D