Prévia do material em texto
Prova Impressa GABARITO | Avaliação Final (Objetiva) - Individual (Cod.:983184) Peso da Avaliação 4,00 Prova 90201850 Qtd. de Questões 10 Acertos/Erros 5/5 Nota 5,00 Generalização e especialização são processos opostos na orientação a objetos. Generalização é o processo de abstrair características comuns de várias classes para formar uma superclasse. Especialização, por outro lado, é a criação de subclasses específicas a partir de uma superclasse genérica. Esses conceitos ajudam a criar hierarquias claras e promovem a reutilização de código. Fonte: Universidade Estadual de Campinas. "Generalização e Herança". Disponível em: https://www.dca.fee.unicamp.br/cursos/POOCPP/node15.html. Acesso em: 20 jul. 2024. Sobre os conceitos de generalização e especialização na orientação a objetos, analise as afirmativas a seguir: I. Na generalização, uma classe genérica é dividida em subclasses mais específicas. II. Especialização envolve a criação de uma superclasse a partir de características comuns de várias subclasses. III. Generalização é o processo de identificar e extrair características comuns de várias classes para criar uma superclasse. IV. Generalização e especialização desempenham um papel na criação de hierarquias claras e promovem a reutilização de código. É correto o que se afirma em: A I, II, III e IV. B I, apenas. C III e IV, apenas. D I, II e III, apenas. E II e IV, apenas. VOLTAR A+ Alterar modo de visualização 1 Revisar Conteúdo do Livro 15/11/2024, 19:36 Avaliação Final (Objetiva) - Individual about:blank 1/8 Os diagramas na UML desempenham um papel fundamental na modelagem e na compreensão de sistemas de software. O Diagrama de Pacotes é uma ferramenta importante que permite agrupar elementos relacionados em unidades lógicas, facilitando a organização e a visualização da arquitetura de um sistema. Ele ajuda a gerenciar a complexidade do sistema, fornecendo uma visão estruturada dos diferentes componentes e seus relacionamentos. Isso é especialmente útil em sistemas grandes e complexos, onde a modularidade e a reutilização de componentes são essenciais para o desenvolvimento e a manutenção eficientes. Fonte: GUEDES, Gilleanes T. A. UML 2: Uma Abordagem Prática. São Paulo: Novatec Editora, 2018. Com base nas informações apresentadas, avalie as asserções a seguir e a relação proposta entre elas: I. O Diagrama de Pacotes facilita a organização e a visualização da arquitetura de um sistema. PORQUE II. O Diagrama de Pacotes é utilizado para agrupar elementos relacionados em unidades lógicas. A respeito dessas asserções, assinale a opção correta: A As asserções I e II são falsas. B A asserção I é uma proposição falsa e a II é uma proposição verdadeira. C As asserções I e II são verdadeiras, e a II é uma justificativa correta da I. D A asserção I é uma proposição verdadeira e a II é uma proposição falsa. E As asserções I e II são verdadeiras, mas a II não é uma justificativa correta da I. O diagrama de classes é um dos principais diagramas da UML (Unified Modeling Language) e é amplamente utilizado para representar a estrutura estática de um sistema. Ele mostra as classes do sistema, seus atributos, métodos e os relacionamentos entre elas. O objetivo do diagrama de classes é facilitar a compreensão e a comunicação do design do sistema, permitindo a modelagem de elementos do mundo real e seus comportamentos. 2 3 15/11/2024, 19:36 Avaliação Final (Objetiva) - Individual about:blank 2/8 Fonte: Covil do Dev. "Aprenda sobre Diagrama de Classe UML - Guia Completo". Disponível em: https://www.covildodev.com.br/artigo/diagrama-de-classe. Acesso em: 20 jul. 2024. Sobre o diagrama de classes, analise as afirmativas a seguir: I. O diagrama de classes mostra a estrutura estática do sistema. II. O diagrama de classes ajuda a comunicar o design do sistema. III. O diagrama de classes inclui a definição de classes, seus atributos e métodos. É correto o que se afirma em: A I, II e III. B III, apenas. C I e II, apenas. D II e III, apenas. E I, apenas. O diagrama de caso de uso da UML é uma ferramenta essencial na engenharia de software, utilizada para capturar e representar os requisitos funcionais de um sistema. Ele inclui elementos fundamentais como atores, casos de uso e associações, além de mecanismos adicionais como generalização/especialização, inclusão e extensão, que auxiliam na definição e organização do comportamento do sistema. Fonte: GUEDES, Gilleanes T. A. UML 2: Uma Abordagem Prática. São Paulo: Novatec Editora, 2018. Com base nas informações apresentadas, avalie as asserções a seguir e a relação proposta entre elas: I. O mecanismo de generalização/especialização permite organizar os atores ou casos de uso em hierarquias, representando relações de herança entre eles. PORQUE II. A inclusão é um mecanismo que permite que um caso de uso inclua outro caso de uso quando ambos compartilham uma parte comum de seu comportamento. A respeito dessas asserções, assinale a opção correta: 4 15/11/2024, 19:36 Avaliação Final (Objetiva) - Individual about:blank 3/8 A A asserção I é uma proposição falsa e a II é uma proposição verdadeira. B A asserção I é uma proposição verdadeira e a II é uma proposição falsa. C As asserções I e II são verdadeiras, mas a II não é uma justificativa correta da I. D As asserções I e II são falsas. E As asserções I e II são verdadeiras, e a II é uma justificativa correta da I. No desenvolvimento de software, coesão e acoplamento são dois princípios fundamentais de design que influenciam a qualidade e a manutenibilidade do software. A coesão refere-se ao grau em que os elementos dentro de um módulo estão relacionados e trabalham juntos para realizar uma única tarefa ou responsabilidade. Por outro lado, o acoplamento mede a dependência entre os módulos ou componentes de um sistema. Um acoplamento baixo é desejável, pois indica que os módulos são independentes e podem ser modificados com pouco impacto nos outros componentes do sistema. Fonte: Adaptado de: LEITE, T.; CARVALHO, T. Orientação a Objetos: Aprenda seus conceitos e suas aplicabilidades de forma efetiva. 1. ed. São Paulo: Casa do Código, 2016. Considerando o texto-base sobre coesão e acoplamento, analise as afirmativas a seguir: I. A coesão e o acoplamento são princípios fundamentais de design que influenciam a qualidade e a manutenibilidade do software. II. A coesão se refere ao grau em que os elementos dentro de um módulo estão relacionados e trabalham juntos para realizar uma única tarefa ou responsabilidade. III. Um acoplamento baixo é desejável, pois indica que os módulos são independentes e podem ser modificados com pouco impacto nos outros componentes do sistema. IV. Um alto grau de coesão é desejável em sistemas de software, pois facilita a manutenção e evolução do sistema, mantendo as responsabilidades dos módulos bem definidas e agrupadas. É correto o que se afirma em: A III e IV, apenas. B I, II, III e IV. C I, apenas. Revisar Conteúdo do Livro 5 15/11/2024, 19:36 Avaliação Final (Objetiva) - Individual about:blank 4/8 D II e IV, apenas. E I, II e III, apenas. Os diagramas de implantação na UML são utilizados para modelar a topologia física de um sistema. Eles mostram como os componentes de software são distribuídos em hardware, exibindo a configuração de execução, nós de hardware e os artefatos que neles residem. Este tipo de diagrama é essencial para entender a arquitetura de sistemas distribuídos e a interação entre diferentes partes de um sistema em tempo de execução. Fonte: BRAZ JUNIOR, Geraldo. Diagrama de componentes e implantação. Disponível em: http://www.deinf.ufma.br/~geraldo/dob/13.Componentes_Implantacao.pdf. Acesso em: 24 jul. 2024. Sobre o diagrama de implantação na UML, analise as afirmativas a seguir: I. O diagrama de implantação representa a hierarquia de classes em um sistema, detalhando as relações entre elas. II. O diagrama de implantação mostra a distribuição de componentesde software em hardware, incluindo a configuração de execução. III. O diagrama de implantação é utilizado para mapear programas que são executados em cada computador dentro da topologia do sistema. É correto o que se afirma em: A I, apenas. B II e III, apenas. C I, II e III. D III, apenas. E I e II, apenas. Nas boas práticas de uso da orientação a objetos descritas por Carvalho (2016), enfatiza-se a importância de cuidar dos métodos em uma classe, destacando a redução do tamanho, a eliminação da repetição de código e a gestão adequada dos parâmetros. De acordo com as orientações de Carvalho (2016), métodos menores e mais concisos são preferíveis, facilitando a compreensão e a manutenção 6 7 15/11/2024, 19:36 Avaliação Final (Objetiva) - Individual about:blank 5/8 do código. Evitar a passagem de muitos parâmetros de forma isolada também é recomendado, pois pode aumentar o acoplamento e dificultar futuras alterações. A organização adequada dos métodos é crucial para desenvolver sistemas mais claros e sustentáveis. Fonte: CARVALHO, Tiago Leite. Orientação a Objetos: Aprenda Seus Conceitos e Suas Aplicabilidades de Forma Efetiva. 1. ed. São Paulo: Casa do Código, 2016. Com base nas boas práticas de orientação a objetos descritas por Carvalho (2016), analise as afirmativas a seguir: I. Reduzir o tamanho dos métodos pode contribuir para uma melhor compreensão do código e facilitar sua manutenção ao longo do tempo. II. Evitar a repetição de código nos métodos é uma prática recomendada, pois reduz a redundância e promove uma melhor organização do código. III. Passar uma grande quantidade de parâmetros de forma isolada simultaneamente para os métodos é uma abordagem apropriada no contexto orientado a objetos. É correto o que se afirma em: A I, apenas. B III, apenas. C I, II e III. D II e III, apenas. E I e II, apenas. O diagrama de sequência concentra-se na ordem temporal em que as mensagens são trocadas entre os objetos envolvidos em um determinado processo. Ele especifica as condições que devem ser satisfeitas e os métodos que devem ser acionados entre os objetos envolvidos, bem como a ordem em que isso deve ocorrer durante o processo. Para interpretar esse diagrama é necessário conhecer sua notação. Fonte: DEVMEDIA. Artigo SQL Magazine 64 - Utilizando UML. Disponível em: https://www.devmedia.com.br/artigo-sql-magazine-64-utilizando-uml/12665. Acesso em: 4 abr. 2024. Quanto à notação utilizada no diagrama de sequência, analise as afirmativas a seguir: I. As timelines, ou linhas de vidas, fazem parte da dimensão horizontal do diagrama. II. O estado representa a situação ou momento no tempo de vida de um objeto, o qual pode passar por vários momentos ao longo de sua vida. III. Uma mensagem é representada por uma seta horizontal, do emissor para o receptor, com o nome e possíveis argumentos, ligando uma linha de vida a outra. É correto o que se afirma em: 8 15/11/2024, 19:36 Avaliação Final (Objetiva) - Individual about:blank 6/8 A I, apenas. B III, apenas. C I e II, apenas. D I, II e III. E II e III, apenas. A herança é um conceito fundamental na orientação a objetos que permite a criação de novas classes com base em classes existentes. As subclasses herdam atributos e métodos da superclasse, podendo também adicionar novos atributos e métodos ou modificar o comportamento herdado. Esse mecanismo promove a reutilização de código e a criação de hierarquias de classes que refletem relacionamentos do mundo real. Fonte: DevMedia. Herança: Programação Orientada a Objetos. Disponível em: https://www.devmedia.com.br/conceitos-e-exemplos-heranca-programacao-orientada-a-objetos-parte- 1/18579. Acesso em: 20 jul. 2024. Identifique qual das alternativas a seguir descreve o conceito de herança na orientação a objetos: A O mecanismo que permite a criação de novas classes com base em classes existentes, herdando seus atributos e métodos. B A organização dos dados em formato de tabela para facilitar o acesso e a modificação. C A definição de comportamentos dinâmicos que são executados em tempo de execução. D A interação entre objetos para realizar uma tarefa específica. E A capacidade de uma classe criar múltiplas instâncias de outras classes. Revisar Conteúdo do Livro 9 Revisar Conteúdo do Livro 15/11/2024, 19:36 Avaliação Final (Objetiva) - Individual about:blank 7/8 Em um sistema de gestão de uma escola, temos as classes "Professor" e "Disciplina". Cada professor ministra uma ou mais disciplinas, e cada disciplina é ministrada por apenas um professor. Fonte: CARVALHO, Tiago Leite. Orientação a Objetos: Aprenda Seus Conceitos e Suas Aplicabilidades de Forma Efetiva. 1. ed. São Paulo: Casa do Código, 2016. Identifique o tipo de associação existente entre as classes "Professor" e "Disciplina": A Herança. B Composição. C Polimorfismo. D Agregação. E Sobrescrita. 10 Revisar Conteúdo do Livro Imprimir 15/11/2024, 19:36 Avaliação Final (Objetiva) - Individual about:blank 8/8