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

Foram encontradas 1.069 questões

Q3274671 Engenharia de Software

Considerando as linguagens de programação e a análise orientada a objetos (AOO), julgue o item a seguir.


O diagrama de estados, na AOO, é utilizado para modelar a estrutura estática de um sistema, mostrando classes, atributos, métodos e relacionamentos entre as classes.

Alternativas
Q3261634 Engenharia de Software
Uma aplicação de gerenciamento de pagamentos precisa oferecer suporte a diferentes métodos, como boleto, cartão de crédito e Pix. Para isso, a classe pagamento foi projetada com um método abstrato chamado processarPagamento(), que deve ser implementado de maneira específica por cada classe correspondente a um tipo de pagamento. Essa abordagem foi escolhida para aproveitar os conceitos de encapsulamento e interfaces na orientação a objetos. Nesse contexto, qual é a principal vantagem proporcionada pelo uso desses conceitos em relação à expansão e manutenção do sistema?
Alternativas
Q3255760 Engenharia de Software
O padrão de design Controller, parte do conjunto GRASP, tem como objetivo atribuir responsabilidades relacionadas ao processamento de entrada a uma única entidade. Acerca do padrão Controller, marque (V), para as afirmativas verdadeiras, e (F), para as falsas.

(__) O Controller é responsável por mediar a interação entre a interface do usuário e o modelo de domínio, centralizando a lógica de entrada em um único ponto.
(__) A implementação do padrão Controller em sistemas grandes pode levar a um aumento do acoplamento, comprometendo a modularidade do design.
(__) O padrão Controller é útil para evitar que a lógica de entrada fique espalhada pela interface de usuário, contribuindo para um design mais coeso.
(__) A aplicação incorreta do padrão Controller pode resultar em classes excessivamente carregadas, comprometendo a manutenibilidade do sistema.

A sequência está correta em: 
Alternativas
Q3255747 Engenharia de Software
O Princípio da Responsabilidade Única (SRP), um dos pilares do SOLID, foca em garantir que cada classe ou módulo tenha apenas um motivo para mudar, facilitando a manutenção e a escalabilidade do código. Sobre o SRP, analise as afirmativas a seguir.

I. Uma classe que implementa o Princípio da Responsabilidade Única pode conter múltiplas funcionalidades relacionadas, desde que estejam dentro do mesmo domínio e compartilhem a mesma lógica.
II. A aplicação do Princípio da Responsabilidade Única contribui para a redução do acoplamento entre classes, tornando o código mais modular e flexível a alterações.
III. O Princípio da Responsabilidade Única é particularmente importante em sistemas de grande escala, pois separa responsabilidades de forma a evitar impactos significativos em mudanças futuras.

Está correto o que se afirma em:
Alternativas
Q3221379 Engenharia de Software
Sobre orientação a objetos podemos afirmar que:

I - Por meio do recurso de herança, uma classe pode ser especializada.
II - É possível criar novas classes (filhas) a partir de uma classe já existente (mãe), reaproveitando seus atributos e operações.
III - Na relação de classes do tipo mãe-filha, chamamos a classe mãe de superclasse e as classes filhas de subclasses.
Alternativas
Q3208397 Engenharia de Software

Julgue o item que se segue, a respeito de desenvolvimento de projetos digitais. 


A letra O do acrônimo SOLID corresponde ao princípio da responsabilidade única. 

Alternativas
Q3183768 Engenharia de Software

A engenharia de software foi criada para substituir a “arte de programação”, dando, assim, maior segurança de sucesso e terminalidade ao desenvolvimento de sistemas. Com base nessa informação, julgue o item a seguir.


A análise orientada a objetos (OOA) tem como objetivo identificar e definir os objetos principais do sistema, suas responsabilidades e suas interações, utilizando conceitos como encapsulamento, herança e polimorfismo para modelar o sistema de forma modular e reutilizável. 

Alternativas
Q4197624 Engenharia de Software
Considere um sistema de gerenciamento de uma escola com três classes principais: Aluno, Professor e Disciplina. Cada aluno pode estar matriculado em várias disciplinas, e uma disciplina pode ter vários alunos matriculados. Cada disciplina é ministrada por um único professor. Com base nesse cenário, analise as assertivas e assinale a alternativa correta.
I. Existe uma associação entre Aluno e Disciplina, pois um aluno pode estar matriculado em várias disciplinas.
II. Não há um relacionamento de composição nesse cenário, pois a destruição de uma classe (por exemplo, a exclusão de um aluno) não implica necessariamente a destruição de outra classe (por exemplo, a disciplina).
III. O relacionamento de agregação poderia ser aplicado ao cenário entre Disciplina e Professor, indicando que um Professor é parte de uma disciplina, mas a existência independente de ambos é permitida.
IV. Neste cenário, as classes Aluno, Professor e Disciplina são entidades independentes e não estão relacionadas por uma relação de herança. 
Alternativas
Ano: 2024 Banca: INEP Órgão: INEP Prova: INEP - 2024 - INEP - Computação |
Q4149043 Engenharia de Software
Modelagem orientada a objetos (OO) é uma metodologia de desenvolvimento de software que visa representar elementos do mundo real no contexto computacional. Pensando nisso, uma empresa está desenvolvendo um sistema de gerenciamento para uma biblioteca e tem o objetivo de, nesse sistema, modelar objetos como livro, usuário, empréstimo e bibliotecário. Portanto, a classe livro deve ter atributos como título, autor e ISBN registrados, enquanto a classe usuário deve ter atributos como nome e número de identificação. Por sua vez, o empréstimo deve registrar informações sobre o livro emprestado, o usuário que o emprestou e a data de devolução, e a classe bibliotecário informações sobre o processo de empréstimo e devolução de livros.

Com base nos dados apresentados, assinale a opção que reflete a aplicação correta dos princípios da modelagem OO no contexto do sistema de gerenciamento da biblioteca, considerando a relação entre as abordagens didático-pedagógicas e os conhecimentos teórico-práticos da área.
Alternativas
Q3551330 Engenharia de Software
Os padrões de projeto são soluções comprovadas para problemas comuns no desenvolvimento de um software, oferecendo formas reutilizáveis e eficientes para desenvolver sistemas. Dentre os padrões estabelecidos pelo GoF (Gang of Four), há uma classificação em padrões criacionais, estruturais e comportamentais. Nesse contexto, o
Alternativas
Q3541435 Engenharia de Software
Analise as seguintes afirmações sobre padrões de projeto comportamentais:

I – O padrão de projeto Chain of Responsiblity tem a intenção de evitar o acoplamento do remetente de uma solicitação ao seu receptor, ao dar a mais de um objeto a oportunidade de tratar a solicitação, e encadear os objetos receptores, passando a solicitação ao longo da cadeia até que um objeto a trate.
II – O padrão de projeto Strategy tem a intenção de, sem violar o encapsulamento, capturar e externalizar um estado interno de um objeto, de maneira que o objeto possa ser restaurado para esse estado mais tarde.
III – O padrão de projeto Interpreter tem a intenção de fornecer um meio de acessar sequencialmente os elementos de um objeto agregado, sem expor a sua representação subjacente.

GAMMA, E.; HELM, R.; JOHNSON, R.; VLISSIDES, J. Padrões de Projetos – Soluções Reutilizáveis, Editora Bookman, 2000.

Assinale a alternativa correta, conforme Gamma et al. (2000):
Alternativas
Q3541434 Engenharia de Software
Analise as seguintes afirmações sobre padrões de projeto de criação:

I – O padrão de projeto Abstract Factory tem a intenção de definir uma interface para criar um objeto, mas deixar as subclasses decidirem que classe instanciar. Este padrão permite adiar a instanciação para subclasses.
II – O padrão de projeto Singleton tem como intenção garantir que uma classe tenha somente uma instância e fornecer um ponto global de acesso para a mesma.
III – O padrão de projeto Factory Method tem a intenção de fornecer uma interface para criação de famílias de objetos relacionados ou dependentes sem especificar suas classes concretas.

GAMMA, E.; HELM, R.; JOHNSON, R.; VLISSIDES, J. Padrões de Projetos – Soluções Reutilizáveis, Editora Bookman, 2000.


Assinale a alternativa CORRETA, conforme Gamma et al. (2000):
Alternativas
Q3539008 Engenharia de Software
Em um projeto de desenvolvimento de software orientado a objetos, qual das seguintes alternativas melhor descreve o papel do diagrama de classes no processo de modelagem?
Alternativas
Q3497000 Engenharia de Software
O princípio SOLID conhecido como Substituição de Liskov estabelece que
Alternativas
Q3451107 Engenharia de Software
Você, como analista de informática da Sanepar, está desenvolvendo um sistema que gerencia o acesso a dados confidenciais, como consumo de água dos clientes. Para garantir que apenas usuários autorizados acessem esses dados, você precisa utilizar um padrão de projeto estrutural que controle esse acesso.

Diante dessa incumbência, qual padrão de projeto estrutural você deve usar para agir como um substituto ou representante dos objetos reais, garantindo o controle de acesso?
Alternativas
Q3449899 Engenharia de Software

Analise as sentenças abaixo, baseadas na obra de Sommerville a respeito de herança:


(SOMMERVILLE, Ian. Engenharia de Software. 9 ed. São Paulo: Pearson Prentice Hall, 2011, p. 148, 250 a 251)


I - O problema com a herança na programação orientada a objetos é que o código associado com um objeto não está concentrado em um só lugar, dificultando a compreensão do comportamento do objeto e possibilitando que se ignorem erros de programação.


II - A herança, quando combinada com ligações dinâmicas, pode causar problemas de timing em tempo de execução. Diferentes instâncias de um método podem ser vinculadas a uma chamada, dependendo dos tipos de parâmetros e, por consequência, diferentes quantidades de tempo serão despendidas na busca pela instância do método correto.


III - Herança faz testes de classes de objeto mais complicados, já que a operação que é herdada pode fazer suposições sobre outras operações e atributos. Essas operações podem não ser válidas em algumas subclasses que herdam a operação. Portanto, é necessário testar a operação herdada em todos os contextos de uso.


Estão CORRETAS a(s) afirmação(ões):

Alternativas
Q3331024 Engenharia de Software
Os padrões de projeto conhecidos como GoF (Gang of Four) podem ser classificados em três categorias: padrões de criação, padrões estruturais e padrões comportamentais. Neste contexto, é correto afirmar que os padrões:
Alternativas
Q3329097 Engenharia de Software
O paradigma orientado a objetos define alguns princípios básicos que devem ser seguidos. A propriedade de implementar dados e procedimentos correlacionados em uma mesma entidade recebe o nome de:
Alternativas
Q3309171 Engenharia de Software
Os padrões de projeto são soluções comprovadas para problemas comuns de design de software, oferecendo diretrizes e abordagens para criar código bem estruturado e de fácil manutenção. Com base nisso, assinalar a alternativa que preenche as lacunas abaixo CORRETAMENTE com padrões de projeto.

O _______ permite atribuir responsabilidades adicionais a um objeto dinamicamente, facilitando o tratamento de objetos de diferentes classes de forma uniforme. Já o ______ fornece um objeto representante ou um marcador de outro objeto para controlar o acesso ao mesmo. 
Alternativas
Q3124286 Engenharia de Software
Considerando os princípios da Programação Orientada a Objetos (POO), como herança e polimorfismo, analise o seguinte código em Java: 

class Legislacao { public void aplicar() { System.out.println("Legislação aplicada"); } } class LeiComplementar extends Legislacao { @Override public void aplicar() { System.out.println("Lei Complementar aplicada"); } } class LeiOrdinaria extends Legislacao { @Override public void aplicar() { System.out.println("Lei Ordinária aplicada"); } } public class Teste { public static void main(String[] args) { Legislacao minhaLei = new LeiComplementar(); Legislacao outraLei = new LeiOrdinaria(); minhaLei = outraLei; minhaLei.aplicar(); } }

Assinale a alternativa que mostra a saída da execução desse código:
Alternativas
Respostas
81: E
82: D
83: D
84: B
85: E
86: E
87: C
88: D
89: A
90: A
91: A
92: C
93: C
94: D
95: E
96: E
97: A
98: A
99: D
100: C