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

Foram encontradas 1.179 questões

Q3922600 Engenharia de Software
Durante a evolução de um sistema corporativo orientado a objetos, a equipe de desenvolvimento identificou dificuldades na substituição de componentes e na realização de testes unitários, devido ao forte acoplamento entre classes centrais e implementações específicas. Para mitigar esse problema, decidiu-se adotar práticas alinhadas aos princípios SOLID.
Nesse contexto, uma abordagem coerente com o Princípio da Inversão de Dependência (Dependency Inversion Principle – DIP) é:
Alternativas
Q3916984 Engenharia de Software
Uma equipe de projeto de TI está trabalhando com o desenvolvimento de aplicações e utiliza, para isso, padrões de projeto. A figura a seguir representa a estrutura arquitetural de padrão de projeto utilizado por essa equipe.


                                                            Imagem associada para resolução da questão
Fonte: Gamma, E; Helm, R.; Johnson, R. e Vlissides, J. (2000). “Padrões de Projeto: soluções reutilizáveis de software orientado a objetos”. 1. Ed, Bookman.


A utilização desse padrão é ideal para uma situação em que:
Alternativas
Q3885111 Engenharia de Software
A equipe de desenvolvimento precisa criar um mecanismo para garantir que o sistema de cache de documentos legislativos tenha apenas uma única instância ativa em toda a aplicação, de modo que todas as requisições acessem o mesmo recurso compartilhado, evitando inconsistência de dados.
O Padrão de Projeto da classificação GoF mais apropriado para resolver esse problema, restringindo a instanciação de uma classe a um único objeto, é o(a)
Alternativas
Q3882864 Engenharia de Software
Um Engenheiro da Computação atua como um consultor sênior em um projeto de lei que exige o desenvolvimento de um sistema de inteligência artificial para prever o impacto fiscal de novas emendas constitucionais. O projeto é de alto risco, alta visibilidade política e tem requisitos evolutivos.
Esse Engenheiro está revisando um módulo que viola o princípio de Responsabilidade Única (SRP) do SOLID. O módulo ManipuladorDeVotos é responsável por persistir o voto e por gerar o relatório estatístico do voto.
Assinale a afirmativa correta em relação ao efeito arquitetural primário da violação do SRP nesse cenário.
Alternativas
Q3881434 Engenharia de Software
Assumindo que a Assembleia Legislativa do Estado de Goiás irá iniciar um processo de modernização onde há a necessidade de atualizar sistemas administrativos e legislativos, adotar tecnologias mais seguras e eficientes e fortalecer a capacidade técnica interna para desenvolver e manter soluções digitais alinhadas às demandas de transparência, interoperabilidade e gestão pública. Com relação ao desenvolvimento de sistemas, assinale (V) para a afirmativa verdadeira e (F) para a falsa.

( ) A modularização de um sistema é importante apenas na fase de desenvolvimento.
( ) Sistemas desenvolvidos hoje são frequentemente adaptáveis às necessidades específicas de empresas, conectando-se com filiais, parceiros e fornecedores.
( ) A programação estruturada se concentra em dividir a lógica de programação em funções, enquanto a programação orientada a objetos foca na criação de módulos independentes somente.
( ) A abstração em programação orientada a objetos permite ignorar detalhes desnecessários e focar em funcionalidades essenciais, promovendo soluções mais eficientes.

As afirmativas são, respectivamente,
Alternativas
Q3866616 Engenharia de Software
Em um sistema corporativo desenvolvido em Java, decisões arquiteturais influenciam diretamente a manutenibilidade e a evolução do software. Aspectos relacionados ao funcionamento da JVM, à aplicação de padrões de projeto, aos princípios do SOLID, bem como à coesão, ao acoplamento e à modelagem UML, devem ser considerados. Diante desse cenário, assinale a alternativa correta: 
Alternativas
Q3850297 Engenharia de Software
Durante uma análise de código para um sistema bancário, o perito identificou um problema de projeto conhecido como “Fragile Base Class Problem”, típico em hierarquias de herança.
Esse problema geralmente ocorre quando
Alternativas
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
Respostas
41: C
42: A
43: D
44: C
45: A
46: A
47: B
48: B
49: C
50: A
51: E
52: C
53: C
54: E
55: C
56: E
57: C
58: D
59: C
60: B