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

Foram encontradas 1.170 questões

Q3835620 Engenharia de Software
No desenvolvimento de sistemas e arquitetura de software, o padrão de projeto "Observador" (Observer) é amplamente utilizado para gerenciar dependências entre objetos. Analise as afirmativas a seguir sobre Padrões de Projeto (Design Patterns) do Gamma et al. (GoF):

I.O padrão Observer define uma dependência um-para-muitos entre objetos, de modo que, quando um objeto muda de estado, todos os seus dependentes são notificados e atualizados automaticamente.
II.O padrão Singleton garante que uma classe tenha apenas uma instância e fornece um ponto de acesso global a ela, sendo recomendado para gerenciar recursos compartilhados como pools de conexão com banco de dados.
III.O padrão Estratégia (Strategy) permite definir uma família de algoritmos, encapsular cada um deles e torná-los intercambiáveis, permitindo que o algoritmo varie independentemente dos clientes que o utilizam.

Está correto o que se afirma em:
Alternativas
Q4261637 Engenharia de Software
O uso de orientação a objetos em sistemas onde há o uso de um SGDB (Sistema Gerenciador de Banco de Dados) é bastante comum. Há um conceito utilizado por diversos frameworks de desenvolvimento de software que facilita a integração entre o paradigma de orientação a objetos e bancos de dados. Qual é o nome desse conceito?
Alternativas
Q4240193 Engenharia de Software

Considere a seguinte Classe em Java:


public class Produto {

private String nome;

public String getNome ( ) {

return nome;

}

 public void setNome(String nome) {

this.nome = nome;

 }

}


Com base nessa classe, assinale a alternativa que representa corretamente a modelagem UML da classe Produto. 

Alternativas
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
Q3777173 Engenharia de Software
No projeto de gestão orçamentária, seguindo o Domain Driven Design (DDD), a entidade RequisicaoOrcamentaria contém uma coleção de itens detalhados (ItemOrcamento). Para garantir a integridade transacional e a consistência das regras de negócio, o acesso e a manipulação de qualquer ItemOrcamento só podem ocorrer através da entidade RequisicaoOrcamentaria.
Em termos de DDD, a entidade RequisicaoOrcamentaria é classificada como o
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
Q3753496 Engenharia de Software
Princípios de projeto são recomendações concretas que desenvolvedores de software devem seguir para atender às propriedades de coesão, acoplamento, ocultamento de informação e extensibilidade de um projeto. Considere o código a seguir:

class Financeiro {  void calculaImpostoDeRenda() {  // cálculo do imposto  }  void geraRelatorioPDF() {  // código para gerar PDF  } }


Segundo os princípios de projeto conhecidos como S.O.L.I.D., o código mencionado acima viola o princípio:
Alternativas
Q3729819 Engenharia de Software
O conceito do padrão de projeto aplicado a software fornece um meio de auxiliar os desenvolvedores a alavancar o conhecimento de outros arquitetos talentosos e experientes.
No livro “Design Patterns: Elements of Reusable Object-Oriented Software”, Erich Gamma, Richard Helm, Ralph Johnson e John Vlissides introduzem os princípios de padrões de projetos e fornecem um catálogo bastante utilizado por desenvolvedores de software. Os padrões são conhecidos como Padrões GoF (Gang of Four), em referência aos quatro autores do livro.
Imagem associada para resolução da questão
O diagrama de sequência acima ilustra as colaborações entre objetos que possibilitam implementar qual padrão GoF?
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
Respostas
41: B
42: C
43: A
44: E
45: C
46: C
47: E
48: C
49: E
50: C
51: D
52: C
53: B
54: D
55: B
56: D
57: E
58: C
59: D
60: D