Buscar

Atividade 2 - Práticas de Engenharia de Software

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 6 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 6 páginas

Prévia do material em texto

1 - A orientação a objetos é um paradigma que possui diversas características, e uma delas é - 
conhecida como polimorfismo. No polimorfismo, temos um grande envolvimento em relação à 
comunicação entre os objetos, o comportamento do método e algumas outras características. Dessa 
forma, analise o diagrama de classes a seguir: 
 
Considerando o exposto acima, assinale a opção correta acerca do método calcularSalario(). 
(A) Diferentes mensagens para esse método serão interpretadas de maneira única. 
(B) Uma única chamada a esse método pode proporcionar a ocorrência de diferentes 
comportamentos. 
(C) O referido método na classe contratado-CLT é uma generalização desse mesmo método na classe 
funcionário. 
(D) O comportamento desse método, quando da sua chamada, já será definido em sua programação. 
(E) O programador escolhe polimorficamente a forma de calcular o salário de um funcionário, de 
acordo com a forma de contratação deste. 
Resposta correta. A alternativa está correta, pois verificamos a presença de polimorfismo e 
porque o método calcularSalario() é herdado pelas demais classes; na classe “filha” há um 
comportamento polimórfico, ou seja, diferente do comportamento do “pai”. É o mesmo método, 
porém com funcionalidades diferentes. 
2 - Entre os conceitos fundamentais existentes na Programação Orientada a Objetos (POO), temos a 
existência de elementos básicos, como o polimorfismo, a herança, o encapsulamento e a abstração. 
Um desses elementos da Orientação a Objetos é o polimorfismo. 
Considerando o exposto acima e relacionando ao conceito de polimorfismo, assinale a alternativa 
correta. 
(A) Refere-se à propriedade de somente tornar visíveis as informações importantes para o contexto 
da aplicação, enquanto as demais ficam disponíveis somente no escopo da classe. 
(B) Com o polimorfismo, é possível a criação de métodos em que os parâmetros são sempre 
passados por cópia, independentemente de serem tipos primitivos ou objetos. 
(C) O polimorfismo restringe que os tipos das variáveis que armazenam um determinado objeto 
sejam explicitamente do mesmo tipo do objeto, não permitindo generalizações. 
(D) Com o polimorfismo, é possível que uma variável de um tipo mais genérico (abstrato) referencie 
um objeto de um tipo mais específico na sua hierarquia de classes. 
(E) Permite que referências de tipos de classes mais abstratas representem o comportamento das 
classes concretas. 
Resposta correta: A alternativa está correta, pois no polimorfismo a classe pai pode ser uma 
classe abstrata, que por herança nos filhos implementa de modo concreto diferentes 
comportamentos associados à classe pai (abstrata). É uma variação fenotípica separada em classes 
bem-definidas. 
 
3 - O Diagrama de Classes faz parte da linguagem de modelagem UML e está entre os mais utilizados 
e úteis, pois mapeiam de forma clara determinadas estruturas. Além disso, define a forma de 
relação entre as classes de um projeto. Sobre seu uso prático, analise o Diagrama de Classes a seguir 
e assinale a alternativa correta 
 
(A) Existe um método chamado conectar que possui característica de ser público. 
(B) Há uma relação de 1..* entre a classe Pedido e ItemPedido que permite que existam vários 
Pedidos. 
(C) Há uma relação de agregação entre as classes ItemPedido e a classe Produto. 
(D) Há uma relação de agregação indireta entre a classe Pedido e a classe Produto. 
(E) Existe uma relação de composição entre a classe Pedido e a classe ItemPedido. 
Resposta correta. A alternativa está correta, porque o relacionamento entre Produto e 
ItemPedido é de composição, uma dependência forte, não há produtos em pedido sem item. Assim, 
o ItemPedido está contido na classe Pedido. Para a inclusão de um pedido em uma nota fiscal, por 
exemplo, é necessário que nesse pedido haja itens e, para isso, é importante a classe ItemPedido. 
 
4 - A linguagem UML não é só formada por diagramas. Diversos conceitos são inseridos e devem ser 
entendidos. Ao utilizar a UML 2.0, por exemplo, é necessário se atentar ao fato de que os atributos e 
operadores de uma classe possuem propriedades de visibilidade, que de uma forma ou de outra irão 
interferir no projeto como um todo. 
Considerando as informações expostas, assinale a alternativa que contém a aplicação correta do 
conceito de escopo de visibilidade: 
(A) Privado (private) aplica-se a sistemas. 
(B) Pacote (package) aplica-se a sistemas. 
(C) Público (public) aplica-se a classes 
(D) Privado (private) aplica-se a pacotes. 
(E) Protegido (protected) aplica-se a árvores de herança. 
 
Resposta correta: A alternativa está correta, porque a visibilidade protegida é visível 
somente à classe e aos filhos dela de modo hierárquico. Entre as formas de visibilidade, podemos 
citar os tipos private, public, protect, default, static e diversos outros que podem aparecer em 
algumas linguagens de programação. 
 
5 - Na UML existem diferentes tipos de diagramas na busca da definição de diferentes pontos de um 
projeto de software. Temos diagramas que demonstram a relação existente entre objetos e também 
os que demonstram o fluxo das atividades existentes. Sendo assim, analise o diagrama a seguir: 
 
Considerando o diagrama acima, assinale a alternativa correta que descreve seu tipo. 
(A) Diagrama de casos de uso. 
(B) Diagrama de sequência. 
(C) Diagrama de objetos. 
(D) Diagrama de classes. 
(E) Diagrama de atividades. 
Resposta correta. Diagrama de sequência, porque é um diagrama com organização temporal 
dos objetos e toda a comunicação e troca de mensagens. Esse diagrama apresenta a sequência de 
processos num programa de computador, representado essa informação de maneira simples e 
lógica, o que possibilita qualquer pessoa envolvida no projeto de entender o funcionamento. 
6 - No diagrama de classes UML (Unified Modeling Language), ou linguagem de modelagem 
unificada, existem formas diferentes entre si de relacionar elementos como classes e objetos. 
Podemos citar formas de relacionamento como composição, herança e outros. 
Considerando o exposto acima, a composição se difere da agregação porque: 
(A) na agregação, o ciclo de vida dos objetos associados não depende do contêiner. 
(B) na composição, os objetos associados compartilham seus métodos e atributos, formando um 
único objeto. 
(C) na composição, os objetos associados são da mesma classe. 
(D) somente a composição permite associação opcional entre as classes. 
(E) a agregação não admite associação reflexiva sobre uma classe. 
Resposta correta: A alternativa está correta, porque a agregação faz jus ao próprio nome, ou 
seja, ela agrega, soma, adiciona uma característica numa relação independente, na composição há 
dependência e é obrigatória. A agregação é uma das principais características da programação 
orientada a objetos. 
7 - Um diagrama de classes faz parte da linguagem de modelagem unificada, conhecida mais 
popularmente como UML. Esse diagrama possui diversas características importantes, como a 
indicação de atributos, métodos, relacionamentos e outros. Sobre diagrama de classes e o conceito 
de herança em orientação a objetos, analise a figura a seguir: 
 
Considerando o exposto acima, a respeito do diagrama apresentado, assinale a alternativa correta. 
(A) O atributo área é protegido (protected). 
(B) O atributo altura da classe Quadrilátero possui nível de acesso protegido. 
(C) O método área da classe Retângulo é privado. 
(D) A classe Quadrilátero é uma classe derivada da classe Retângulo. 
(E) A classe Retângulo não possui um método getLargura. 
Resposta correta: A alternativa está correta, pois é visível e nítido que o método getLargura 
pertence à Classe: Quadrilátero. A classe retângulo estende à classe quadrilátero. Assim, quando se 
tem um retângulo quadrilátero, não é necessário se ter a obtenção de largura nas duas classes, já 
que um estende o outro. 
 
8 - A UML é uma linguagem demodelagem unificada e que possui diversos diagramas, cada um com 
uma finalidade diferente para uma modelagem mais adequada de um software. É preciso entender 
o funcionamento de cada um para que os diagramas possam ser construídos de forma adequada. 
Entre os diagramas da UML, um deles destaca-se pelas seguintes características: 
Indica as comunicações dinâmicas dos objetos durante a execução de uma determinada tarefa. Além 
disso, mostra o momento em que as mensagens são trocadas para executar essa tarefa. Pode-se 
utilizar o diagrama para mostrar as interações em um caso de uso ou em um cenário de um sistema 
de Software. 
Considerando o exposto acima, assinale a alternativa que contenha o diagrama UML que apresenta 
as características apresentadas. 
(A) Diagrama de Sequência. 
(B) Diagrama de Casos de Uso. 
(C) Diagrama de Objetos. 
(D) Diagrama de Estado. 
(E) Diagrama de Classes. 
Resposta correta. A alternativa está correta, pois o Diagrama de Sequência é o diagrama 
responsável pela comunicação dinâmica dos objetos e na execução da tarefa mostra a ordem 
temporal das interações. É muito utilizado para representar as interações entre os objetos e é 
construído a partir do Diagrama de Casos de Uso. 
9 - A Programação Orientada a Objetos (POO) possui uma estrutura com pelo menos três elementos-
base, quatro para alguns autores. Em programação orientada a objetos, um desses elementos-base 
é conhecido como técnica de programação, que mantém ocultos detalhes internos do 
funcionamento dos métodos (funções) de uma classe. Assinale a alternativa correta sobre o 
elemento-base descrito no texto. 
(A) Polimorfismo. 
(B) Abstração. 
(C) Encapsulamento. 
(D) Generalização. 
(E) Herança. 
Resposta correta. A alternativa está correta, porque é a técnica chamada de 
encapsulamento que oculta detalhes internos do funcionamento dos métodos. O encapsulamento é 
um dos elementos básicos da orientação a objetos, juntamente com Herança, Polimorfismo e 
Abstração. 
10 - A UML (Unified Modeling Language) possui diversos tipos de diagramas que visam definir 
pontos de um projeto de software. Cada diagrama possui características específicas e que devem ser 
compreendidas. Podemos citar o diagrama utilizado para representar a interação entre os objetos 
por meio dos seus métodos e sua ordem de execução. 
Considerando o exposto acima, podemos afirmar corretamente que esse diagrama é chamado de: 
(A) Diagrama de Objetos. 
(B) Diagrama de Sequência. 
(C) Diagrama de Atividades. 
(D) Diagrama de Classes. 
(E) Diagrama de Máquina de Estados. 
Resposta correta: A alternativa está correta, pois, analisando as informações expostas, o 
diagrama que melhor se adequa é o diagrama de Sequência, que mostra interação temporal de 
objetos, ou seja, cada método pode conversar com outro seguindo uma lógica e uma ordem 
cronológica.

Continue navegando