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

Foram encontradas 1.179 questões

Q4038040 Engenharia de Software
Considere os dois diagramas UML a seguir, referentes ao design pattern (padrão de projeto) Composite (composto) e assinale a alternativa que completa correta e respectivamente as três lacunas, considerando sua ordem numérica destacada no texto.

Imagem associada para resolução da questão


O padrão Composite, assim como outros padrões, é baseado fortemente no conceito de (1)__________________, o que pode ser observado em sua estrutura, em que a classe principal do padrão (classe Composite) é uma especialização de uma classe existente e não é a única especialização dessa classe. Além disso, um segundo conceito importante no padrão Composite, assim como em outros padrões, é (2)__________________, o que se observa na uniformidade das assinaturas de métodos invocados no segundo diagrama. Um terceiro conceito relevante nesse padrão, assim como em outros, é (3)__________________, observável no segundo diagrama, quando uma responsabilidade atribuída à instância de Composite – método ‘method1()’ – é repartida com instâncias agregadas da classe Leaf.
Alternativas
Q4038039 Engenharia de Software

Considere os quatro diagramas UML a seguir.



Imagem associada para resolução da questão



Assinale a alternativa que identifica corretamente os tipos de diagrama, considerando sua ordem numérica destacada na imagem.

Alternativas
Q4038030 Engenharia de Software
Considere as seguintes descrições, correspondentes ao conteúdo da seção “intenção” do catálogo de design patterns (padrões de projeto), e assinale a alternativa que completa correta e respectivamente as três lacunas, considerando sua ordem numérica destacada no texto.

1. _______________: incorpora responsabilidades adicionais a um objeto dinamicamente. Esse padrão fornece uma alternativa flexível à produção de subclasses para estender a funcionalidade.
2. _______________: provê um substituto ou espaço reservado a outro objeto, para controlar o acesso a este.
3. _______________: fornece uma interface unificada para um conjunto de interfaces em um subsistema. Esse padrão define uma interface de nível mais alto, que torna o subsistema mais fácil de usar.
Alternativas
Q4033738 Engenharia de Software
O teste unitário atua na base do controle de qualidade de software, focando na verificação de componentes individuais, como métodos e classes de objetos. A respeito das técnicas e dos desafios associados ao projeto de testes unitários para sistemas orientados a objetos, assinale a alternativa INCORRETA.
Alternativas
Q4033736 Engenharia de Software

A modelagem de sistemas orientados a objetos permite visualizar a arquitetura do software sob diferentes perspectivas, facilitando a comunicação e a documentação técnica. Com base nas categorias clássicas de modelos de sistemas (interação, estrutural e comportamental) e no uso dos diagramas da UML, analise as assertivas abaixo:



I. Modelos de interação representam a comunicação entre o sistema e seu ambiente operacional ou entre os componentes internos do próprio sistema. O Diagrama de Sequência pertence a essa categoria, tendo como objetivo modelar a ordem cronológica das trocas de mensagens entre os objetos instanciados para a execução de um cenário específico.


II. Modelos estruturais descrevem a organização estática do software e a estrutura dos dados que serão processados pela aplicação. O Diagrama de Classes pertence a essa categoria, sendo o seu objetivo primordial representar graficamente as relações entre os dados, os desvios condicionais e o paralelismo das operações lógicas executadas pelos módulos do sistema.


III. Modelos comportamentais ilustram o comportamento dinâmico do sistema durante a sua execução. O Diagrama de Atividades enquadra-se nessa classificação, possuindo como objetivo detalhar o fluxo de controle de um processo de negócio ou computacional, evidenciando a sequência de ações, os desvios condicionais e o paralelismo das operações.



Quais estão corretas?

Alternativas
Q4033735 Engenharia de Software

A modelagem orientada a objetos utilizando a Unified Modeling Language (UML) é uma ferramenta essencial na fase de análise e projeto de Software. O Diagrama de Classes, em particular, estabelece a estrutura estática do sistema por meio de classes, seus atributos, operações e os relacionamentos entre os objetos. Sobre as características, o nível de detalhamento e a semântica dos relacionamentos nesse diagrama, analise as assertivas abaixo e assinale V, se verdadeiras, ou F, se falsas.



( ) Para evitar os conflitos de interpretação entre os requisitos do cliente e o código que será efetivamente implementado pelos desenvolvedores, o nível de detalhamento do diagrama de classes (incluindo visibilidade de atributos, tipos de dados rigorosos e assinaturas completas de métodos) deve ser mantido invariavelmente alto desde as fases iniciais da modelagem conceitual.


( ) Na UML, o relacionamento de agregação estabelece um vínculo semântico restrito no qual ocorre uma coincidência de tempo de vida entre os objetos modelados. Nesse tipo de associação, se o objeto contêiner (o “todo”) for destruído da memória, as instâncias exclusivas que formam as suas “partes” também deverão obrigatoriamente ser destruídas, visto que não podem existir de forma independente no sistema.


( ) A relação de generalização permite a modelagem de herança estrutural e comportamental. Na construção do diagrama de classes UML, é totalmente válido modelar uma classe filha com herança múltipla (recebendo características de múltiplas superclasses), ainda que a equipe de desenvolvimento vá implementar o sistema em uma linguagem que não suporta herança múltipla de classes nativamente, como a linguagem Java.



A ordem correta de preenchimento dos parênteses, de cima para baixo, é:

Alternativas
Q4032622 Engenharia de Software

Na análise orientada a objetos, a UML (Unified Modeling Language) organiza seus diagramas em duas grandes categorias: diagramas estruturais, que representam a estrutura estática do sistema, e diagramas comportamentais, que descrevem o comportamento dinâmico do sistema ao longo do tempo. Com base nessa classificação, relacione corretamente os termos da Coluna 1 às suas finalidades, presentes na Coluna 2:



Coluna 1:
(1) Diagramas estruturais.
(2) Diagramas comportamentais.

Coluna 2:
(  ) Diagrama de casos de uso
(  ) Diagrama de atividades
(  ) Diagrama de pacotes
(  ) Diagrama de objetos
(  ) Diagrama de estado
(  ) Diagrama de classes

Qual alternativa preenche, CORRETAMENTE, de cima para baixo, os parênteses acima?

Alternativas
Q4032101 Engenharia de Software

No contexto do desenvolvimento de um sistema orientado a objetos em Java, um Analista de Sistemas está projetando um módulo para gerenciamento de operações em uma agência de fomento. Durante a implementação, cada entidade do sistema, como beneficiários e operações financeiras, é criada a partir de uma estrutura que define atributos e métodos, passando a possuir valores próprios e comportamentos específicos que podem ser executados ao longo do sistema. Considerando os conceitos fundamentais da orientação a objetos, assinale a alternativa que representa CORRETAMENTE essas instâncias criadas a partir de classes.

Alternativas
Q4030724 Engenharia de Software

Analise o seguinte diagrama de Classes UML e assinale a alternativa correta.

Imagem associada para resolução da questão

Alternativas
Q4030573 Engenharia de Software
Durante a expansão de suas linhas de crédito, o comitê de tecnologia de uma agência de fomento reprovou a arquitetura do novo sistema operacional. A alegação técnica era que a modelagem proposta tratava "Cliente", "Financiamento" e "Garantia" apenas como repositórios passivos de informações submetidos a processos externos, engessando o sistema. Para solucionar a falha estrutural, o comitê determinou a adoção de uma abordagem na qual essas instâncias fossem tratadas de forma independente, reunindo em si mesmas tanto as características específicas quanto os comportamentos a elas associados, facilitando a reutilização em futuros projetos. Considerando a teoria sobre a modelagem e o projeto de soluções de tecnologia, assinale a alternativa que apresenta a conceituação COR RETA da metodologia exigida para essa reestruturação:
Alternativas
Q4029423 Engenharia de Software

Considere o diagrama de classes apresentado:


Imagem associada para resolução da questão


No diagrama apresentado, a classe BancoChain define o método processRequest(bankName: String) e possui o atributo next, que referencia outro objeto da mesma classe. As classes BancoA, BancoB, BancoC e BancoD herdam de BancoChain e podem especializar o comportamento desse método. Com base na estrutura representada no diagrama, assinale a alternativa correta.

Alternativas
Q3992111 Engenharia de Software
Uma equipe de desenvolvimento de um tribunal está revisando a arquitetura de um sistema processual eletrônico que, ao longo dos anos, incorporou módulos escritos sob diferentes estilos de programação. Parte do código foi construída com forte uso de classes e encapsulamento; outro módulo adota funções puras e evita estados compartilhados; há ainda rotinas baseadas em regras declarativas para validação normativa. Durante a análise técnica, discutiu-se a aderência desses trechos aos respectivos paradigmas de programação e seus impactos sobre manutenibilidade, acoplamento e previsibilidade de comportamento. Baseado nos fundamentos teóricos dos paradigmas de programação, assinale a alternativa CORRETA.
Alternativas
Q3976397 Engenharia de Software
Um desenvolvedor de sistemas bancários, ao criar um aplicativo, definiu várias classes (Email, conta_bancária, cliente e casa) com seus métodos, porém só uma delas apresenta uma alta coesão, ou seja, contém elementos que estão intimamente relacionados entre si e unidos por sua finalidade. Dentre as classes encontradas, a que tem alta coesão é a:
Alternativas
Q3976375 Engenharia de Software
Um desenvolvedor de software vai utilizar um padrão de projeto GoF. Esse padrão será do tipo que implementa mecanismos de criação de objetos, incrementando a flexibilidade e reutilização de código já existente. No caso, um exemplo desse padrão, escrito em C#, é visto abaixo:
Imagem associada para resolução da questão
Esse padrão é o: 
Alternativas
Q3973773 Engenharia de Software
Durante o projeto de um sistema orientado a objetos, uma equipe de desenvolvimento identificou que determinados problemas de projeto se repetem em diferentes partes do sistema. A equipe busca uma forma de lidar com essas situações recorrentes, para aumentar a manutenibilidade e a flexibilidade do software, sem comprometer as decisões de análise e modelagem já realizadas.

Nesse cenário, a ação mais adequada a ser adotada pela equipe é 
Alternativas
Q3940734 Engenharia de Software

Padrões de Projeto (Design Patterns) são soluções reutilizáveis para problemas comuns no design de software.



O padrão “Singleton” pertence a qual categoria de padrões de projeto?

Alternativas
Q3939098 Engenharia de Software
Padrões de Projeto (Design Patterns) são soluções reutilizáveis para problemas recorrentes no design de software. O padrão de projeto Observer (também chamado de Event Handler e de Publish–Subscribe) é amplamente utilizado em sistemas de software orientados a objetos, permitindo que objetos (observadores) sejam notificados automaticamente quando o estado de outro objeto (sujeito) muda. Uma característica essencial desse padrão de projeto é que ele  
Alternativas
Q3939094 Engenharia de Software
Em análise e projeto orientado a objetos, o conceito de herança de classes torna possível utilizar uma instância de uma subclasse no lugar de uma instância da classe base, desde que 
Alternativas
Q3939093 Engenharia de Software
Uma Interface Gráfica de Usuário (GUI) é composta por diferentes tipos de objetos de interação, tais como botões, caixas de texto, formulários e janelas. Apesar de suas diferenças, esses objetos definem uma mesma operação, “desabilitar ()”, que torna o objeto inativo na GUI, independentemente do tipo do objeto. Qual princípio de análise e projeto orientado a objetos é aplicado para que diferentes tipos de objeto definam uma mesma operação que produz efeitos específicos para cada tipo de objeto? 
Alternativas
Q3937666 Engenharia de Software
Identifique abaixo as afirmativas verdadeiras ( V ) e falsas ( F ) sobre os princípios de design de software SOLID e as metodologias de desenvolvimento.

( ) O Princípio da Responsabilidade Única (SRP) afirma que uma classe deve ter apenas um motivo para mudar.
( ) O Princípio Aberto/Fechado (OCP) afirma que as entidades de software devem ser abertas para extensão, mas fechadas para modificação.
( ) TDD (Test-Driven Development) é uma abordagem que escreve testes APÓS o código de produção.
( ) BDD (Behavior-Driven Development) foca em descrever o comportamento esperado do sistema a partir da perspectiva do usuário.
( ) GRASP é um conjunto de padrões de design orientado a objetos.

Assinale a alternativa que indica a sequência correta, de cima para baixo.
Alternativas
Respostas
21: A
22: E
23: A
24: C
25: C
26: B
27: D
28: B
29: C
30: E
31: D
32: B
33: B
34: C
35: A
36: C
37: B
38: A
39: B
40: B