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

Foram encontradas 1.153 questões

Q4126655 Engenharia de Software
No contexto da orientação a objetos, o Princípio da Segregação de Interface (Interface Segregation Principle) estabelece:
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
Q4092971 Engenharia de Software
No contexto de Engenharia de Software, o padrão de projeto Proxy é um padrão estrutural que atua como um intermediário entre o cliente e o objeto real. Ele é comumente utilizado em situações como controle de acesso, lazy loading (carregamento preguiçoso), contagem de referências, proteção de objetos sensíveis e proxies remotos (quando o objeto real reside em outra máquina ou processo). Assinale a alternativa que apresenta a descrição correta do padrão de projeto Proxy:
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
Q4058158 Engenharia de Software
 A programação moderna utiliza paradigmas que buscam aproximar a representação do software aos conceitos do mundo real, facilitando a reutilização e a manutenção do código. Considerando os princípios da Programação Orientada a Objetos e o uso de sistemas de controle de versão, analise as afirmativas a seguir:

I.O polimorfismo permite que objetos de diferentes classes derivadas sejam tratados como objetos de uma classe base comum, respondendo de formas distintas à mesma chamada de método.
II.O encapsulamento é a técnica que consiste em expor todos os atributos internos de uma classe como variáveis públicas para permitir o acesso direto e irrestrito por qualquer módulo do sistema.
III.No sistema de versionamento Git, o comando de envio é utilizado para transferir as alterações confirmadas do repositório local para um repositório remoto compartilhado.

Está correto o que se afirma em: 
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
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
Q4032101 Engenharia de Software

No contexto do desenvolvimento de um sistema orientado a objetos em Java, um Analista de Sistemas está projetando um módulo para gerenciamento de operações em uma agência de fomento. Durante a implementação, cada entidade do sistema, como beneficiários e operações financeiras, é criada a partir de uma estrutura que define atributos e métodos, passando a possuir valores próprios e comportamentos específicos que podem ser executados ao longo do sistema. Considerando os conceitos fundamentais da orientação a objetos, assinale a alternativa que representa CORRETAMENTE essas instâncias criadas a partir de classes.

Alternativas
Q4030724 Engenharia de Software

Analise o seguinte diagrama de Classes UML e assinale a alternativa correta.

Imagem associada para resolução da questão

Alternativas
Q4030573 Engenharia de Software
Durante a expansão de suas linhas de crédito, o comitê de tecnologia de uma agência de fomento reprovou a arquitetura do novo sistema operacional. A alegação técnica era que a modelagem proposta tratava "Cliente", "Financiamento" e "Garantia" apenas como repositórios passivos de informações submetidos a processos externos, engessando o sistema. Para solucionar a falha estrutural, o comitê determinou a adoção de uma abordagem na qual essas instâncias fossem tratadas de forma independente, reunindo em si mesmas tanto as características específicas quanto os comportamentos a elas associados, facilitando a reutilização em futuros projetos. Considerando a teoria sobre a modelagem e o projeto de soluções de tecnologia, assinale a alternativa que apresenta a conceituação COR RETA da metodologia exigida para essa reestruturação:
Alternativas
Q4029423 Engenharia de Software

Considere o diagrama de classes apresentado:


Imagem associada para resolução da questão


No diagrama apresentado, a classe BancoChain define o método processRequest(bankName: String) e possui o atributo next, que referencia outro objeto da mesma classe. As classes BancoA, BancoB, BancoC e BancoD herdam de BancoChain e podem especializar o comportamento desse método. Com base na estrutura representada no diagrama, assinale a alternativa correta.

Alternativas
Q3992111 Engenharia de Software
Uma equipe de desenvolvimento de um tribunal está revisando a arquitetura de um sistema processual eletrônico que, ao longo dos anos, incorporou módulos escritos sob diferentes estilos de programação. Parte do código foi construída com forte uso de classes e encapsulamento; outro módulo adota funções puras e evita estados compartilhados; há ainda rotinas baseadas em regras declarativas para validação normativa. Durante a análise técnica, discutiu-se a aderência desses trechos aos respectivos paradigmas de programação e seus impactos sobre manutenibilidade, acoplamento e previsibilidade de comportamento. Baseado nos fundamentos teóricos dos paradigmas de programação, assinale a alternativa CORRETA.
Alternativas
Q3976397 Engenharia de Software
Um desenvolvedor de sistemas bancários, ao criar um aplicativo, definiu várias classes (Email, conta_bancária, cliente e casa) com seus métodos, porém só uma delas apresenta uma alta coesão, ou seja, contém elementos que estão intimamente relacionados entre si e unidos por sua finalidade. Dentre as classes encontradas, a que tem alta coesão é a:
Alternativas
Q3976375 Engenharia de Software
Um desenvolvedor de software vai utilizar um padrão de projeto GoF. Esse padrão será do tipo que implementa mecanismos de criação de objetos, incrementando a flexibilidade e reutilização de código já existente. No caso, um exemplo desse padrão, escrito em C#, é visto abaixo:
Imagem associada para resolução da questão
Esse padrão é o: 
Alternativas
Q3973773 Engenharia de Software
Durante o projeto de um sistema orientado a objetos, uma equipe de desenvolvimento identificou que determinados problemas de projeto se repetem em diferentes partes do sistema. A equipe busca uma forma de lidar com essas situações recorrentes, para aumentar a manutenibilidade e a flexibilidade do software, sem comprometer as decisões de análise e modelagem já realizadas.

Nesse cenário, a ação mais adequada a ser adotada pela equipe é 
Alternativas
Respostas
1: C
2: A
3: C
4: B
5: C
6: B
7: A
8: A
9: C
10: C
11: B
12: D
13: B
14: C
15: E
16: D
17: B
18: B
19: C
20: A