Baixe o app para aproveitar ainda mais
Prévia do material em texto
Usuário RODRIGO NOGUEIRA FURTADO Curso GRA1655 PRÁTICAS DE ENGENHARIA DE SOFTWARE PTA - 202010.ead-4068.11 Teste ATIVIDADE 2 (A2) Iniciado 16/06/20 19:17 Enviado 21/06/20 13:20 Status Completada Resultado da tentativa 6 em 10 pontos Tempo decorrido 114 horas, 2 minutos Resultados exibidos Respostas enviadas, Respostas corretas, Comentários ● Pergunta 1 ● 1 em 1 pontos ● Um diagrama de classes possui diversos componentes que devem ser bem analisados, como classes, atributos, relacionamentos, associações e outros. Todos esses elementos são indicados através de símbolos específicos, que, de vez em quando, confundem diversos programadores. Dessa forma, analise a imagem com os símbolos a seguir: Fonte: Elaborado pelo autor. Considerando o exposto acima, a respeito do diagrama de classes, verifica-se que os símbolos representam, respectivamente: Resposta Selecionada: herança, agregação e composição. Resposta Correta: herança, agregação e composição. Feedback da respo sta: Resposta correta: A alternativa está incorreta pois temos como representação gráfica da generalização a seta fechada sem preenchimento. Já para a agregação, a representação gráfica é o losango fechado sem preenchimento. Por fim, temos que a representação gráfica da composição é o losango fechado com preenchimento. ● Pergunta 2 ● 1 em 1 pontos ● 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 Selecion ada: 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: O programador escolhe polimorficamente a forma de calcular o salário de um funcionário, de acordo com a forma de contratação deste. Feedback da respo sta: 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. ● Pergunta 3 ● 1 em 1 pontos ● 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 Selecion ada: Princípio que permite que classes compartilhem atributos e métodos, através de uma hierarquia. Resposta Correta: Princípio que permite que classes compartilhem atributos e métodos, através de uma hierarquia. Feedback da respo sta: 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. ● Pergunta 4 ● 1 em 1 pontos ● 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: Resposta Selecionada: Associaç ão. Resposta Correta: Associaçã o. Feedback da respo sta: Resposta correta: A alternativa está correta, pois podemos verificar na figura a existência de agregação, que é um tipo especial de associação, uma espécie de relacionamento entre classes. Com essa associação, tenta-se mostrar que as informações do objeto precisam ser complementadas com informações que estão em outros objetos. ● Pergunta 5 ● 0 em 1 pontos ● A UML está relacionada com o paradigma orientado a objetos. Diversos conceitos da Orientação a Objetos são aplicados na linguagem de modelagem unificada. Dessa forma, com a UML, podemos exemplificar situações a partir de diagramas específicos. Dentro da orientação a objetos, temos pilares importantes e que devem ser compreendidos. A partir do apresentado, analise as asserções a seguir e a relação proposta entre elas. I - Os pilares da Orientação a Objetos são: abstração, encapsulamento, herança e polimorfismo. Porque: II - A orientação a objetos simula situações da vida real. A seguir, assinale a alternativa correta. Resposta Selecion ada: As duas asserções são proposições verdadeiras, e a segunda não é uma justificativa da primeira. Resposta Correta: As duas asserções são proposições verdadeiras, e a segunda é uma justificativa da primeira. Feedback da respo sta: Sua resposta está incorreta: A alternativa está incorreta, pois as duas asserções são verdadeiras, sendo que a II justifica a I. Com o surgimento da orientação a objetos, cada vez mais problemas do mundo real podem ser analisados e resolvidos, isso porque conceitos importantes se tornaram essenciais, como os pilares citados. ● Pergunta 6 ● 1 em 1 pontos ● A UML é uma linguagem de modelagem 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. Resposta Selecionada: Diagrama de Sequência. Resposta Correta: Diagrama de Sequência. Feedback da respo sta: 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. ● Pergunta 7 ● 0 em 1 pontos ● 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 Seleciona da: Há uma relação de agregação entre as classes ItemPedido e a classe Produto. Resposta Correta: Existe uma relação de composição entre a classe Pedido e a classe ItemPedido. Feedback da respo sta: Sua resposta está incorreta. A alternativa está incorreta, porque a associação é 1..* para pedido item, um pedido pode ter vários itense não o oposto, por isso é incorreta a alternativa inverte. Podemos reparar no diagrama que não é uma relação de agregação e de sim composição. Podemos analisar também que não existe uma agregação nem direta nem indireta, e sim uma composição. E, por fim, no diagrama, há um método conectar( ) que é um método privado e não público. ● Pergunta 8 ● 1 em 1 pontos ● 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 Seleciona da: na agregação, o ciclo de vida dos objetos associados não depende do contêiner. Resposta Correta: na agregação, o ciclo de vida dos objetos associados não depende do contêiner. Feedback da respo sta: 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. ● Pergunta 9 ● 0 em 1 pontos ● 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 Selecionada: Diagrama de classes. Resposta Correta: Diagrama de sequência. Feedback da respo sta: Sua resposta está incorreta: A alternativa está incorreta, pois o diagrama de atividades é responsável por organizar a sequência das tarefas. O diagrama de casos de uso é o responsável pelas interações entre atores e casos de uso. O Diagrama de Classes exibe as classes com seu conjunto de atributos e métodos. ● Pergunta 10 ● 0 em 1 pontos ● 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: Fonte: Elaborada pelo autor. Considerando o exposto acima, a respeito do diagrama apresentado, assinale a alternativa correta. Resposta Selecionada: O método área da classe Retângulo é privado. Resposta Correta: A classe Retângulo não possui um método getLargura. Feedback da respo sta: Sua resposta está incorreta: A alternativa está incorreta, pois o atributo altura na classe quadrilátero é protegido(# - protected). Área não é método, mas sim atributo, e a visibilidade é privada. Temos uma inversão de valores, assim, é o inverso, a classe retângulo deriva (é filha) da classe quadrilátero. O atributo área é privado (-), e não protegido(#).
Compartilhar