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

Foram encontradas 1.170 questões

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
Ano: 2024 Banca: INEP Órgão: INEP Prova: INEP - 2024 - INEP - Computação |
Q4149040 Engenharia de Software
A imagem a seguir apresenta um diagrama de classes UML que descreve as relações entre quatro classes: Classe A, Classe B, Classe C e Classe D.

Q33.png (313×124)

Com base na notação UML para as ligações apresentadas no diagrama, assinale a opção que apresenta corretamente o significado das relações entre as classes.
Alternativas
Q3669892 Engenharia de Software

Na notação do diagrama de classes da UML representada abaixo, pode-se afirmar que: 


Imagem associada para resolução da questão

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
Q3515205 Engenharia de Software

O seguinte diagrama de classes UML representa um trecho da modelagem de um sistema de agenda de contatos.


Q47.png (335×102)


De acordo com esse modelo, uma possível representação de um recurso do tipo Pessoa no formato JSON, utilizado em uma API RESTful, é:

Alternativas
Q3497000 Engenharia de Software
O princípio SOLID conhecido como Substituição de Liskov estabelece que
Alternativas
Q3455674 Engenharia de Software

Considere o diagrama de classe UML a seguir:

Imagem associada para resolução da questão

Nesse diagrama, a classe X não pode ser instanciada, mas pode ser uma classe Pai de outras (tais como as classes Filhos Y e Z). Isso faz com que as classes X, Y e Z sejam consideradas, respectivamente, classes do tipo:

Alternativas
Q3455669 Engenharia de Software

Observe a seguinte representação de um Diagrama de Classes UML: 

Imagem associada para resolução da questão

Nesse diagrama, as classes CINF1, CINF2 e CINF3 são Filhos da classe Pai CSUP. Considerando esse quadro, o método ConstroiC(), existente em todas as classes, pode ser considerado, dentro da ideia de Orientação a Objeto, como um tipo de aplicação de:

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
101: E
102: C
103: D
104: A
105: D
106: A
107: A
108: A
109: C
110: C
111: A
112: D
113: A
114: A
115: E
116: E
117: A
118: A
119: D
120: C