Prévia do material em texto
PRÁTICAS DE ENGENHARIA DE SOFTWARE A2 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: Fonte: Elaborada pelo autor. Considerando o exposto acima, assinale a opção correta acerca do método calcularSalario(). 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- 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. Fonte: Elaborado pelo autor. 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. 3- 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: Fonte: Elaborada pelo autor. Considerando o diagrama acima, assinale a alternativa correta que descreve seu tipo. 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. 4- 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. 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 5- 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: 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. 6- 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. 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. 7- A Programação Orientada a Objetos (POO) possui uma estrutura com pelo menos três elementos-base. Podemos citar os elementos como sendo a herança, o polimorfismo e o encapsulamento. São elementos essenciais e cujo conceito todo programador deve conhecer. Considerando o exposto acima, assinale a alternativa que define o conceito de herança. Resposta correta: A alternativa está correta, pois herança é o princípio que permite o compartilhamento de atributos e métodos numa hierarquia entre superclasses e subclasses. Assim, uma classe B pode herdar atributos ou métodos de uma classe A, quando elas estiverem relacionadas/associadas. 8- Um diagrama de classe pode representar a forma como um sistema vai se comportar através de métodos, atributos e relacionamentos. A verificação de cada método ou atributo deve ser rigoroso para que estes não fiquem repetitivos, fazendo com que o intuito da orientação a objetos seja desconfigurado. Considere a figura a seguir. Fonte: Elaborada pelo autor. Considerando o exposto acima e os fundamentos da Orientação a Objetos, assinale a alternativa correta. Resposta correta: A alternativa está correta, pois é verdadeira porque explica o comportamento polimórfico do método aplicarValor() relacionado à forma de calcular os juros. Deve-se analisar o formato da relação (setas ou não), juntamente de em que direção a relação é indicada. 9- A UML (Unified Modeling Language) é uma linguagem de modelagem orientada a objetos. Os três relacionamentos mais importantes são as dependências, as generalizações e as associações. Um analista iniciou um projeto usando a UML e modelou a empresa e seus departamentos, numa forma simples de agregação todo- parte, conforme o ilustrado: Fonte: Elaborada pelo autor. Considerando o exposto acima, podemos afirmar que a agregação é um tipo especial de: 10- Dentro da linguagem orientada a objeto, temos definições que são de suma importância. Entre elas, temos uma definição em que contém a representação de dados, atributos, métodos, rotina que o processam, assim como representa um conjunto de similaridade. Considerando o exposto acima, o conceito refere-se a: Resposta correta: A alternativa está correta, pois a classe contém dados “atributos” e rotinas “métodos” com um conjunto de objetos similares. Também é chamado de gabarito para a definição de objetos. Além de listar os atributos, a classe também mostra qual o comportamento dos objetos presentes na classe, como suas funcionalidades podem ser aplicadas.