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

Foram encontradas 1.049 questões

Q3986714 Engenharia de Software
Um desenvolvedor da Prefeitura Municipal de Joinville está trabalhando em um sistema de geração de relatórios. Ele precisa de uma solução que permita criar diferentes tipos de relatórios (PDF, HTML, Excel) utilizando o mesmo processo de construção, mas com representações finais distintas. Para isso, busca um padrão de projeto criacional que possibilite separar a construção de um objeto da sua representação final, permitindo que o mesmo processo possa gerar diferentes versões do produto. Qual padrão de projeto atende a essa necessidade?
Alternativas
Q3986314 Engenharia de Software
Um analista de tecnologia da informação do IFPB está desenvolvendo um sistema informatizado que será utilizado por diversos setores da instituição. Durante a implementação, ele identifica que há uma classe que deve garantir que apenas uma instância seja criada em toda a aplicação, fornecendo um ponto de acesso global a essa instância.
Considerando os padrões de projeto (Design Patterns), é correto afirmar que o padrão criacional utilizado nessa situação foi o 
Alternativas
Q3779528 Engenharia de Software

Um módulo de relatórios da Assembleia foi projetado de modo que, sempre que um novo formato de relatório é necessário, o código da classe GeradorDeRelatorio precisa ser modificado para incluir a nova lógica de exportação.


Assinale o princípio SOLID está sendo violado por esse design, e a técnica ideal de design seria ideal para corrigi-lo

Alternativas
Q3777154 Engenharia de Software
Na fase inicial da Análise Orientada a Objetos (AOO) para desenvolver um sistema de gestão de Atos Administrativos, o Analista de Sistemas está lendo o documento de requisitos. Os requisitos descrevem que um Ato é criado, enviado para Assinatura Eletrônica pelo Diretor, e posteriormente é publicado no Diário Oficial.
Os seguintes termos destacados são os candidatos mais fortes a se tornarem as Classes principais no modelo do sistema: 
Alternativas
Q3777153 Engenharia de Software
Em um sistema de controle de tramitação de proposições, a classe Proposicao contém a lógica para manipular o atributo situacao. O acesso direto ao atributo é impedido (privado), e todas as modificações são feitas por métodos públicos como avancarSituacao() e reverterSituacao(), que contêm validações de regras de negócio.
A restrição de acesso direto aos dados (situacao) e a concentração da lógica de validação dentro da própria classe Proposicao são exemplos, respectivamente, de
Alternativas
Q3777151 Engenharia de Software
O Analista de Sistemas está revisando um código que trata de licitações. Existe uma classe base Licitacao com um método iniciar(). Uma subclasse LicitacaoPresencial sobrescreve o método iniciar() com sucesso. No entanto, outra subclasse, LicitacaoEletronica, sobrescreve o método iniciar() mas, em certas condições, lança uma exceção de Processo Inválido que não está presente na assinatura do método da classe base Licitacao.
O seguinte princípio SOLID está sendo violado pela classe LicitacaoEletronica, quebrando a expectativa de que um objeto da subclasse possa ser substituído por um objeto da superclasse sem alterar a corretude do programa: 
Alternativas
Q3777150 Engenharia de Software
Em um sistema de folha de pagamento da Assembleia, o Analista de Sistemas está modelando a hierarquia de funcionários. A classe base Pessoa contém atributos comuns como nome e cpf. A classe Funcionario herda de Pessoa e possui o método calcularRemuneracaoMensal(). No entanto, a forma de cálculo varia radicalmente entre subtipos como Efetivo e Comissionado, e a classe Funcionario por si só nunca deve ser instanciada, servindo apenas como um contrato para as classes filhas.
O conceito de Orientação a Objetos aplicado à classe Funcionario para impedir sua instanciação direta, ao mesmo tempo em que impõe a obrigatoriedade de implementação do método calcularRemuneracaoMensal() nas suas subclasses é o(a)
Alternativas
Q3723303 Engenharia de Software
Durante a modelagem de um sistema de controle acadêmico para uma instituição de ensino, um professor orientou seus alunos a utilizarem o modelo entidade-relacionamento estendido (EER) para representar conceitos como generalização, especialização e herança entre entidades. Ao converter esse modelo para um diagrama de classes UML, é necessário identificar corretamente a notação usada para representar relações hierárquicas de herança, em que subclasses herdam atributos e comportamentos da superclasse. Nesse contexto, a representação correta do relacionamento de herança é dada por:
Alternativas
Q3707486 Engenharia de Software
Em um sistema de e-commerce, um desenvolvedor precisa criar módulos que realizem pagamento por cartão, boleto e PIX. Ele deseja que a adição de novos métodos de pagamento no futuro seja feita sem alterar o código existente, garantindo baixo acoplamento e alta extensibilidade. Qual princípio de desenvolvimento orientado a objetos deve-se orientar a implementação?
Alternativas
Q3696874 Engenharia de Software
Assinale a alternativa que corresponde a um padrão de projeto (Design Pattern) cujo objetivo é atuar como um hub central para gerenciar toda a lógica de acesso a dados de um aplicativo, abstraindo os detalhes de armazenamento e recuperação de dados do restante do aplicativo. 
Alternativas
Q3689621 Engenharia de Software
Uma empresa está criando um sistema de composição de interfaces gráficas, onde elementos como janelas, botões e painéis podem conter outros elementos, formando uma estrutura hierárquica. É necessário que todos os elementos, independentemente de serem simples ou compostos, sejam tratados de maneira uniforme pelo cliente.

Neste contexto, o padrão de projeto mais indicado é o
Alternativas
Q3674697 Engenharia de Software
Os padrões de criação abstraem o processo de instanciação, auxiliando o sistema a se tornar independente de como seus objetos são criados, compostos e representados. São exemplos de padrões de projeto de criação: 
Alternativas
Q3661870 Engenharia de Software
Sobre o desenvolvimento orientado a objetos, analise as afirmações:

I. A coesão refere-se ao grau em que os elementos de um módulo pertencem juntos.
II. O acoplamento forte entre classes é sempre desejável para um bom design orientado a objetos.
III. O princípio da responsabilidade única afirma que uma classe deve ter apenas uma razão para mudar.
IV. A composição é sempre preferível à herança em todos os cenários de design orientado a objetos.

Assinale a alternativa que contenha APENAS as afirmações corretas. 
Alternativas
Q3660471 Engenharia de Software
Os princípios GRASP (General Responsibility Assignment Software Patterns) são padrões de design de software orientados a objetos que servem como diretrizes para a atribuição de responsabilidades a classes e objetos.
Dentre os princípios GRASP podemos identificar os seguintes:
Alternativas
Q3658554 Engenharia de Software
O paradigma da orientação a objetos visualiza um sistema de software como uma coleção de agentes 31. interconectados chamados objetos. É pela interação entre objetos que uma tarefa computacional é realizada. Um dos principais conceitos do paradigma da orientação a objetos é a abstração, que é um processo mental pelo qual nós seres humanos nos atemos aos aspectos mais importantes (relevantes) de alguma coisa, a0 mesmo tempo que ignoramos os aspectos menos importantes. A abstração é um principio básico da orientação a objetos e sua aplicação pode ser vista como base para outros conceitos, tais como: Encapsulamento, Polimorfismo, Generalização e Composição. 
Adaptado de Eduardo Bezerra, Princípios de Análise e Projeto de Sistemas Com UML, 2 Edição, Editora Elsevier, Rio de Janeiro, 2007. 
Em relação aos conceitos da orientação a objetos, avalie as seguintes afirmações:
I. Na generalização, classes semelhantes são agrupadas em uma hierarquia. Cada classe em um nível de hierarquia herda as características e comportamentos das classes as quais está nos níveis abaixo dela.
Il. O polimorfismo indica a capacidade de abstrair varias implementações diferentes em uma única interface.
Ill. A composição permite que sejam criados objetos a partir da reunião de outros objetos.
IV. Segundo o mecanismo do encapsulamento, a implementação do método que o objeto requisitado usa para realizar a operação precisa ser conhecida dos objetos requisitantes.

Assinale a alternativa que apresenta APENAS as afirmações corretas. 
Alternativas
Q3641760 Engenharia de Software
Em determinado projeto de software orientado a objetos, um desenvolvedor deve implementar um sistema que proteja partes do código de variações e mudanças frequentes em outros componentes, mantendo um baixo acoplamento entre as classes. Ao mesmo tempo, deseja-se que módulos de alto nível não dependam diretamente de módulos de baixo nível, mas que ambos dependam de abstrações.
Nessa situação, o princípio de SOLID e o princípio de GRASP que atendem adequadamente aos requisitos mencionados são, respectivamente, 
Alternativas
Q3636847 Engenharia de Software
A construção de um diagrama de classes UML é uma etapa fundamental na análise e projeto de sistemas orientados a objetos, visando representar a estrutura estática do sistema. Esse processo deve seguir uma sequência lógica para garantir que as classes, atributos, métodos e relacionamentos sejam adequadamente identificados e modelados. Considerando esse contexto, assinale a alternativa que apresenta a ordem correta para a elaboração de um diagrama de classes UML típico. 
Alternativas
Q3636605 Engenharia de Software
Em sistema crítico do Banco Central do Brasil, deseja-se reduzir acoplamento e aumentar flexibilidade do design OO, respeitando o Princípio da Substituição de Liskov (Liskov Substitution Principle - LSP). Assinale a alternativa que segue o LSP corretamente. 
Alternativas
Q3636592 Engenharia de Software
Em um módulo de faturamento eletrônico de um órgão federal, busca-se alta manutenibilidade e testabilidade segundo as boas práticas de projetos em 00. Considerando esse contexto, assinale a alternativa correta sobre a coesão e o acoplamento.
Alternativas
Q3635937 Engenharia de Software
Na orientação a objetos, há os conceitos de coesão e acoplamento de classes. Sobre o tema, analise as assertivas abaixo e assinale a alternativa correta.

I. Quanto maior a dependência entre duas classes, maior será a coesão delas.
II. Aumentar o acoplamento entre classes é uma das boas práticas da orientação a objetos.
III. Forte acoplamento significa que uma classe deve ter uma única responsabilidade.
Alternativas
Respostas
21: E
22: C
23: C
24: C
25: E
26: C
27: D
28: D
29: B
30: D
31: E
32: C
33: D
34: D
35: B
36: C
37: E
38: B
39: A
40: B