Buscar

PBD apostila capitulo05 ModelagemOO

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 9 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 9 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 9, do total de 9 páginas

Prévia do material em texto

Unidade 5: Modelos de Dados Orientados a Objetos 
 
5.1 Primeiras Palavras 
O objetivo desta unidade é apresentar os conceitos básicos de 
Modelagem de Dados Orientada a Objetos. Além disso, aqui 
será apresentado como usar o Diagrama de Classes para 
representar o Modelo de Dados. 
 
5.2 Problematizando o tema 
O que é Orientação a Objetos? Como modelar um banco de 
dados usando diagramas UML? 
 
5.3 UML (Linguagem de Modelagem Unificada) e o 
Diagrama de Classes 
 
A UML é uma linguagem de símbolos visuais usada para 
modelar sistemas computacionais por meio do paradigma de 
Orientação a Objetos. 
 
O Diagrama de Classes corresponde a representação dos 
dados manipulados e armazenados pelos programas de acordo 
com os conceitos de Orientação a Objetos. A notação do 
Diagrama de classes é fortemente baseada no Diagramas 
Entidade-Relacionamento. Deve-se observar que o Diagrama 
de Classes, privilegia a descrição segundo o paradigma 
Orientado a Objetos. Na UML, uma classe possui a notação de 
um retângulo dividido em três partes (ver figura 5.1): 
 Nome da Classe; 
 Atributos da Classe; 
 Métodos da Classe; 
 
Figura 5.1. Exemplo de uma classe. 
 
Os atributos e as operações e os detalhamento dos mesmos 
podem não ser fornecidos inicialmente. Eles podem ser 
adicionados após um maior entendimento do sistema. 
Os atributos podem ainda ser divididos em atributos simples e 
atributos compostos e atributos multivalorados conforme a 
figura 5.2. 
 
 Figura 5.2. Notação de atributos simples, composto e 
multivalorado. 
 
5.4 Generalização 
A generalização indica relacionamentos de herança de classes. 
A figura 5.2 apresenta um exemplo de herança de classes. 
 
Figura 5.2. Exemplo de generalização. 
 
 
5.5 Associação 
Uma associação é uma linha cheia entre duas classes. É usada 
para representar uma propriedade (atributo) da classe. A figura 
5.3 ilustra uma associação. 
 
 
 
Figura 5.3. Ilustração de uma associação. 
 
A multiplicidade de uma associação indica quantos objetos 
podem participar da mesma. No exemplo, um livro é escrito por 
uma ou mais pessoas. Uma pessoa pode escrever zero ou 
mais livros. Quando oculta a multiplicidade é 1..1. 
 
Podem existir papeis na associação. O papel é geralmente 
mapeado como atributo. No exemplo da figura 5.4, autor é 
atributo da classe livro. Mas cuidado! Se fizermos uma analogia 
com o modelo relacional, o autor é um atributo do 
relacionamento escrito por. 
 
Figura 5.4. Ilustração de uma associação com papéis. 
 
Uma classe pode associar-se com ela própria, caracterizando 
uma associação unária, ou reflexiva, conforme ilustrado na 
figura 5.6. 
 
 
Figura 5.5. Ilustração de uma associação unária (ou reflexiva). 
 
5.6 Navegabilidade 
A navegabilidade descreve como as associações devem ser 
navegadas. A navegabilidade pode ser: 
 unidirecional: só é possível navegar em uma direção. Por 
exemplo, a partir de um Funcionário pode-se determinar o 
Departamento para o qual ele trabalha, mas o inverso não é 
possível. Um exemplo de navegabilidade unidirecional é 
apresentado na figura 5.6. 
 bidirecional: navega-se em ambas as direções. Um 
exemplo de navegabilidade unidirecional é apresentado na 
figura 5.7. 
 
Figura 5.6. Exemplo de navegabilidade unidirecional. 
 
 
Figura 5.7. Exemplo de navegabilidade bidirecional. 
 
5.7 Classes Associativas 
Uma classe associativa é usada para modelar a informação 
que surge a partir da associação de outras classes. Um 
exemplo de classe associativa é ilustrado na figura 5.8. 
 
Figura 5.8. Exemplo de classe associativa (Matrícula). 
 
Uma classe associativa é usada quando o conceito pertence ao 
relacionamento existente entre as classes. No entanto, as 
classes associativas podem ser substituídas por classes 
normais. Vale observar que a notação da figura 5.8 é 
completamente equivalente à notação da figura 5.9. Ao fazer a 
substituição é necessário ficar atento às cardinalidades 
definidas. 
 
 
Figura 5.9. Classe associativa Matrícula (figura 5.8) substituída 
por classe normal. 
As figuras 5.10 e 5.11 apresentam exemplos de classes 
associativas. 
 
Figura 5.10. Exemplo de classe associativa em uma 
associação unária. 
 
 
Figura 5.11. Exemplo de classe associativa.. 
 
 
É possível adicionar comentários e/ou restrições para as 
associações. A figura 5.12 mostra um exemplo de cometário 
 
Figura 5.12. Exemplo de comentário. 
 
 
5.8 Relacionamentos Especiais 
A UML também define que alguns tipos de associação que 
possuem um significado adicional como a composição e a 
agregação. 
 
Composição 
A composição é uma associação que indica um relacionamento 
PARTE-TODO. Exemplos 
 Mão (todo) – Dedos (parte) 
 Polígono (todo) – Vértices (parte) 
 Tabuleiro (todo) – Casas (parte) 
A composição é indicada com um losango cheio na classe que 
representa o todo. A figura 5.13 ilustra um exemplo de 
composição: 
 
Figura 5.12. Ilustração do relacionamento composição. 
 
Algumas regas devem ser obedecidas para se definir uma 
composição 
1 – Um objeto da classe PARTE deve “pertencer” a um 
e somente um objeto da classe TODO 
2 – O objeto da classe TODO é totalmente responsável 
pela criação e remoção de seus objetos partes. 
A figura 5.13 mostra um exemplo de composição. Observe que 
não é preciso marcar a multiplicidade do lado da classe TODO 
pois esta será sempre 1..1 
 
Figura 5.13. Exemplo de um relacionamento composição. 
 
Agregação 
A agregação é também uma associação que representa um 
relacionamento PARTE-TODO, porém de maneira mais 
relaxada: não são aplicadas regras como na Composição. 
Não tem praticamente nenhum valor semântico adicional com 
relação às associações simples. Por isso, não é indicado usá-
la. A figura 5.14 mostra um exemplo da notação de agregação. 
 
Figura 5.14. Exemplo de um relacionamento composição. 
 
5.9 Correspondência DER para Diagrama de Classes 
 
Ao realizar o mapeamento do Diagrama ER para o Diagrama 
de Classes tem-se que as entidades e relacionamentos são 
representados por meio de classes. Os relacionamentos são 
mapeados para associações. 
 
O diagrama de classes deve ser feito em três etapas: 
 Incluir somente o nome das entidades (nome das classes); 
 Incluir os atributos; 
 Incluir as operações das classes. As operações não fazem 
parte do MER. 
 
A figura 5.15 mostra um exemplo de Diagrama ER. A figura 
5.16 mostra o correspondente mapeamento para Diagrama de 
classes. 
 
 
Figura 5.15. Exemplo de um Diagrama ER. 
 
 
 
 
Figura 5.16. Mapeamento corresponde do diagrama ER da 
figura 5.15 para o diagrama de classes UML. 
 
5.10 Estudos complementares 
Consultar o livro Grady Boch, James Rumbaugh, Ivar 
Jacobson, UML Guia do Usuário, Editora Campus, 2000 para 
maior detalhes da UML.

Outros materiais