Prévia do material em texto
Exercício 1 1) Ao instanciarmos um objeto de uma classe, criamos esses objetos na memória. Os objetos serão persistidos em algum banco de dados e por isso também precisam ser modelados de acordo com tais regras que estamos aprendendo. Para auxiliar nesse processo de modelagem de classe existe a Linguagem de Modelagem Unificada ou conforme mais utilizamos a sigla UML (Unified Modeling Language) que é uma ferramenta que auxilia na modelagem de sistemas orientados a objetos. A finalidade da UML é proporcionar uma padronização nos projetos de sistemas, abrangendo aspectos conceituais, como regras de negócios e artefatos concretos como as classes, escritas em linguagens de programação, esquemas de bando de dados e componentes de software reutilizáveis. A Linguagem UML, conforme Fowler (2004), comporta diversos diagrama. Sendo assim, observe a tabela a seguir e faça a associação do tipo de diagrama na coluna A com a descrição na coluna B. Exercício 1 COLUNA A COLUNA B I. Diagrama de Classes 1. demostra como na realidade as informações do objeto podem ficar armazenas na classe. II. Diagrama de Objetos 2. demonstra os componentes do software e seus relacionamentos, podem ser: bibliotecas, arquivos de ajuda, classes que podem ser anexadas ao software. III. Diagrama de Atividades 3. é o diagrama mais usado da Linguagem UML pois pode representar um conjunto de classes e seus relacionamentos. IV. Diagrama de Componentes 4. permite demonstrar a coleção de outros elementos de modelagem e diagramas, representar os subsistemas englobados por um sistema maior. V. Diagrama de Pacotes 5. Determina o fluxo de tarefas que podem ser executadas pelo software ou por um ator. . Exercício 1 Assinale a alternativa que apresenta a associação correta. Escolha uma: a. I – 3; II – 4; III – 2; IV – 1; V – 5. b. I – 3; II – 1; III – 4; IV – 2; V – 5. c. I – 5; II – 2; III – 4; IV – 1; V – 3. d. I – 5; II – 1; III – 1; IV – 2; V – 4. e. I – 3; II – 1; III – 5; IV – 2; V – 4. Exercício 2 2) Mizrahi (2008) afirma que na programação orientada a objetos podemos relacionar classes com outras classes através de hierarquias. Uma subclasse pode herdar as características de outra classe (neste caso seria a classe mãe ou superclasse). Na estrutura de herança, as classes compartilham as suas funções e características comuns e as subclasses podem receber outras particularidades exclusivas. Exercício 2 Considerando o contexto, avalie as afirmativas a seguir: I. As classes “Cardiologista” e “Anestesista” são filhas da superclasse “Médico”. V II. A classe “Anestesista” não contém nenhum atributo e método declarado, dessa maneira podemos afirmar que foi um erro do programador, pois obrigatoriamente essa classe filha teria que ter pelo menos um atributo ou método declarado. F – só terá algum atributo ou método a mais dependendo da situação real da modelagem III. A classe “Anestesista” está vazia, porém herda os atributos e os métodos da superclasse “Médico. V IV. A classe “Cardiologista” não herda os atributos e métodos da superclasse “Médico”, pois já tem seu próprio atributo e método. F – mesmo uma subclasse tendo seus próprios atributos e métodos, na relação de herança ela sempre herda os atributos e métodos da superclasse. Considerando o contexto apresentado, assinale a alternativa correta. a. Apenas as afirmativas I, II, e IV estão corretas. b. Apenas as afirmativas I e III estão corretas. c. Apenas as afirmativas II, III e IV estão corretas. d. Apenas as afirmativas I e II estão corretas. e. Apenas as afirmativas III e IV estão corretas. Exercício 3 3) Podemos agrupar as informações comuns de um objeto, surgindo então a classe. Uma classe pode ser classificada como uma entidade teórica usada para modelar um objeto. A classe deve ser exclusivamente criada para guardar informações de um determinado objeto. Uma classe é dividida em três partes: o nome da classe, os atributos e os seus métodos. Exercício 3 Observando a imagem do objeto carro, julgue as afirmativas a seguir em (V) Verdadeiras ou (F) Falsas. (V) ano, modelo e placa são atributos da classe Carro. (F) Carro é um método do objeto. Carro é uma Classe (V) andar e frear são partes do método da classe Carro. (F) os atributos da classe Carro são andar e frear. Andar e frear são métodos (V) Carro é um objeto e, ao agrupar suas informações, temos a classe Carro com seus atributos e métodos. (F) os métodos da classe Carro são: ano, modelo e placa. Ano, modelo e placa são atributos. Assinale a alternativa que apresenta a sequência CORRETA. a. V - V - F - V - F - F b. V - V - V - F - F - F c. V - F - V - F - V - F d. F - V - F - V - F – V e. F - F - V - F - V - V. Exercício 4 4) A Linguagem de Modelagem Unificada ou UML (Unified Modeling Language) é uma ferramenta que auxilia na modelagem de sistemas orientados a objetos. Marque a afirmativa correta sobre a UML: a) Serve para a programação somente de banco de dados. b) É utilizada como um SGBD pelo fato de permitir a orientação a objetos. c) Permite padronizar projetos de sistemas orientados a objetos e de banco de dados. d) É uma linguagem de programação orientada a objetos reutilizável. e) É utilizada somente para a criação do modelo lógico de banco de dados de um SGBD. Resposta comentada: a finalidade da UML é proporcionar uma padronização nos projetos de sistemas, abrangendo aspectos conceituais, como regras de negócios, e artefatos concretos, como as classes, escritas em linguagens de programação, esquemas de banco de dados e componentes de software reutilizáveis. Exercício 5 5) Os atributos ou campos são características de determinadas classes ou entidades. Eles devem ter nomes apropriados ao sentido do que vão armazenar e um tipo de dados que deverá ser declarado, podendo ser: inteiro, caractere, decimal, entre outros. Assinale a alternativa correta referente à diferença entre classes e entidades. Uma classe é somente um conjunto de campos, exatamente igual as entidades dos modelos conceituais de banco de dados. b) Uma das vantagens da classe é possuir métodos que podem manipular os seus atributos, já as entidades possuem o objetivo de armazenar as informações em seus atributos. c) As classes e as entidades possuem métodos que permitem, de forma moderada, a alteração de seus atributos. d) Uma entidade possui a vantagem de ter métodos que podem ser utilizados para modificar os atributos da própria tabela, algo que em classe ainda não é permitido. e) Uma vez criados os atributos em classes ou em entidades, não é possível alterar o conteúdo armazenado, isto é, assim que o atributo for criado, recebe um valor e não pode mais ser alterado. Exercício 5 Resposta comentada: as entidades ou as tabelas possuem como característica básica serem compostas por atributos, com o objetivo de armazenar as informações para posterior recuperação. Já as classes permitem o armazenamento (na memória RAM) de seus atributos, porém, nas classes existem os métodos que são funções que podem realizar operações com os atributos da classe. Exercício 6 6) Um exemplo prático da utilização de UML em um diagrama de entidade relacionamentos é a aplicação da generalização e especialização, que nada mais é do que usar o conceito de herança no modelo lógico do banco de dados. Assinale a alternativa correta que mostra os tipos de generalização e especialização. a) Duplo e Simples. b) Composto e Unitário. c) Duplo e Isolado. d) Total e Parcial. e) Composto e Simples. Resposta comentada: uma estrutura de generalização e especialização pode ser classificada em Total ou Parcial. A generalização e especialização Parcial indica que não é toda ocorrência da entidade generalizada que possui uma entidade especializada correspondente. Podemos ter uma generalização e especialização total quando, a cada ocorrência da entidade generalizada, existir obrigatoriamente a entidade especializada.