![Page 1: Técnicas de Modelação de Dados - WordPress.com · As operações ou métodos são um conceito que deriva da POO. Na prática da modelação de dados a parte das operações ou](https://reader034.vdocuments.net/reader034/viewer/2022050609/5fb08b5656857f79a7628cc6/html5/thumbnails/1.jpg)
Técnicas de Modelação de Dados
Diagrama de Classes
Curso Profissional Técnico de Gestão e Programação de Sistemas de Informáticos
Programação e Sistemas de Informação
Módulo 13 – Técnicas de Modelação de Dados
Professora: Sandra Soares
![Page 2: Técnicas de Modelação de Dados - WordPress.com · As operações ou métodos são um conceito que deriva da POO. Na prática da modelação de dados a parte das operações ou](https://reader034.vdocuments.net/reader034/viewer/2022050609/5fb08b5656857f79a7628cc6/html5/thumbnails/2.jpg)
Diagramas de Classes
O diagrama de classes:
• é uma evolução dos diagramas ER;
• apresenta elementos dos diagramas ER com conceitos da POO;
• é constituídos por um conjunto de classes interligadas através derelacionamentos.
![Page 3: Técnicas de Modelação de Dados - WordPress.com · As operações ou métodos são um conceito que deriva da POO. Na prática da modelação de dados a parte das operações ou](https://reader034.vdocuments.net/reader034/viewer/2022050609/5fb08b5656857f79a7628cc6/html5/thumbnails/3.jpg)
Classes
• Uma classe representa uma coleção de elementos, acerca dosquais é necessário guardar informação no sistema.
Classe EntidadeEquivalente
![Page 4: Técnicas de Modelação de Dados - WordPress.com · As operações ou métodos são um conceito que deriva da POO. Na prática da modelação de dados a parte das operações ou](https://reader034.vdocuments.net/reader034/viewer/2022050609/5fb08b5656857f79a7628cc6/html5/thumbnails/4.jpg)
Atributos
• Tal como uma entidade no modelo ER, uma classe é constituídapor atributos.
• Atributo: é uma característica ou propriedade de uma entidadeou classe. Ex.: nome, morada, telefone, etc.
• Todos os atributos têm domínio, que corresponde ao conjunto devalores que esse atributo pode assumir. Ex.: string, data, numérico,etc.
![Page 5: Técnicas de Modelação de Dados - WordPress.com · As operações ou métodos são um conceito que deriva da POO. Na prática da modelação de dados a parte das operações ou](https://reader034.vdocuments.net/reader034/viewer/2022050609/5fb08b5656857f79a7628cc6/html5/thumbnails/5.jpg)
Representação de Classes
Nome da Classe
Zona de atributos
Zona das operações ou métodos
![Page 6: Técnicas de Modelação de Dados - WordPress.com · As operações ou métodos são um conceito que deriva da POO. Na prática da modelação de dados a parte das operações ou](https://reader034.vdocuments.net/reader034/viewer/2022050609/5fb08b5656857f79a7628cc6/html5/thumbnails/6.jpg)
Operações ou métodos
As operações ou métodos são um conceito que deriva da POO.
Na prática da modelação de dados a parte das operações ou métodos é
opcional, porque o que está em causa é modelar as estruturas de dados e
os seus relacionamentos.
![Page 7: Técnicas de Modelação de Dados - WordPress.com · As operações ou métodos são um conceito que deriva da POO. Na prática da modelação de dados a parte das operações ou](https://reader034.vdocuments.net/reader034/viewer/2022050609/5fb08b5656857f79a7628cc6/html5/thumbnails/7.jpg)
Relacionamentos entre classes
À semelhança dos diagramas ER, classificam-se os relacionamento entre
classes nos diagramas de classes quanto ao número de classes envolvidas.
Assim, temos:
• Relacionamentos unários ou reflexivos;
• Relacionamentos binários;
• Relacionamentos ternários ou se ordem superior.
![Page 8: Técnicas de Modelação de Dados - WordPress.com · As operações ou métodos são um conceito que deriva da POO. Na prática da modelação de dados a parte das operações ou](https://reader034.vdocuments.net/reader034/viewer/2022050609/5fb08b5656857f79a7628cc6/html5/thumbnails/8.jpg)
Grau do relacionamento
Nos diagramas de classes, por vezes, tomam-se os dois indicativos daquantidade máxima para dizer (à maneira dos diagramas ER) se orelacionamento é do tipo:
1:1 (um para um),1:M (um para muitos) ouM:N (muitos para muitos)
Notação nos diagramas de classes:
1:1 0..1 --- 1..1 ou 1..1 --- 1..11:M 0..1 --- 0..* ou 1..1 --- 0..*M:N 0..* -- 0..* ou 1..* --- 1..*
![Page 9: Técnicas de Modelação de Dados - WordPress.com · As operações ou métodos são um conceito que deriva da POO. Na prática da modelação de dados a parte das operações ou](https://reader034.vdocuments.net/reader034/viewer/2022050609/5fb08b5656857f79a7628cc6/html5/thumbnails/9.jpg)
Relações representadas por classes associativas
• Este diagrama traduz que um Cliente pode encomendar 0 ou muitos artigos e um artigo pode ser encomendado por 0 ou muitos clientes.
• Mas interessa-nos representar dados relativos à encomenda como a data da encomenda e o valor total.
• Encomenda transforma-se, assim, numa classe (classe associativa).
![Page 10: Técnicas de Modelação de Dados - WordPress.com · As operações ou métodos são um conceito que deriva da POO. Na prática da modelação de dados a parte das operações ou](https://reader034.vdocuments.net/reader034/viewer/2022050609/5fb08b5656857f79a7628cc6/html5/thumbnails/10.jpg)
Relações representadas por classes associativas
• O relacionamento foi transformado numa classe associativa.
![Page 11: Técnicas de Modelação de Dados - WordPress.com · As operações ou métodos são um conceito que deriva da POO. Na prática da modelação de dados a parte das operações ou](https://reader034.vdocuments.net/reader034/viewer/2022050609/5fb08b5656857f79a7628cc6/html5/thumbnails/11.jpg)
Relações representadas por classes associativas
Em casos como este, poderíamos considerar,logo à partida, Encomenda como umaEntidade/Classe. O diagrama 1 representa umaalternativa ao diagrama do diapositivo anterior.
Diagrama 1
Contudo, uma encomenda pode ter mais doque um artigo! O Diagrama 2 representada estasituação!
Diagrama 2
![Page 12: Técnicas de Modelação de Dados - WordPress.com · As operações ou métodos são um conceito que deriva da POO. Na prática da modelação de dados a parte das operações ou](https://reader034.vdocuments.net/reader034/viewer/2022050609/5fb08b5656857f79a7628cc6/html5/thumbnails/12.jpg)
Relações representadas por classes associativas
Há situações em que não faz sentido converter a classe associativa numaclasse.
Consideremos, por exemplo, a parte do SI de uma empresa em análiseque representa os funcionários e os diferentes departamentos em queeles trabalham.
Problema: interessa registar as datas de entrada e de saída de cadafuncionário em relação a cada departamento por onde passa.
![Page 13: Técnicas de Modelação de Dados - WordPress.com · As operações ou métodos são um conceito que deriva da POO. Na prática da modelação de dados a parte das operações ou](https://reader034.vdocuments.net/reader034/viewer/2022050609/5fb08b5656857f79a7628cc6/html5/thumbnails/13.jpg)
Relações representadas por classes associativas
Classe associativa resultante do problema anterior:
![Page 14: Técnicas de Modelação de Dados - WordPress.com · As operações ou métodos são um conceito que deriva da POO. Na prática da modelação de dados a parte das operações ou](https://reader034.vdocuments.net/reader034/viewer/2022050609/5fb08b5656857f79a7628cc6/html5/thumbnails/14.jpg)
Generalizações e especializações
Exemplo de uma generalização (classe Cliente) com duas especializações (Cliente_individual e Cliente_Empresa).
O conceito de herança é aplicado neste caso.
![Page 15: Técnicas de Modelação de Dados - WordPress.com · As operações ou métodos são um conceito que deriva da POO. Na prática da modelação de dados a parte das operações ou](https://reader034.vdocuments.net/reader034/viewer/2022050609/5fb08b5656857f79a7628cc6/html5/thumbnails/15.jpg)
Agregações e composições
Uma outra situação especial que surge nos relacionamentos entre duas classes é aquela em que uma classe corresponde a uma parte de um todo que é a outra classe.
• A estas situações dá-se o nome genérico de agregação, mas distinguem-se dois tipo:
• Agregação fraca/simples ou somente agregação;
• Agregação forte ou composição.
![Page 16: Técnicas de Modelação de Dados - WordPress.com · As operações ou métodos são um conceito que deriva da POO. Na prática da modelação de dados a parte das operações ou](https://reader034.vdocuments.net/reader034/viewer/2022050609/5fb08b5656857f79a7628cc6/html5/thumbnails/16.jpg)
Agregação simples
Numa agregação (simples ou fraca), um objeto de uma classe pertencea um objeto de outra classe, mas este último não tem exclusividade deposse sobre o primeiro.
Exemplo:
Um sistema de uma empresa regista os dados dos seus empregadoscomo: código, Nome, Data_Nasc e Endereço.
Os analistas, verificam que há endereços que são partilhados por mais doque um empregado (caso de pais, filhos, conjugues, etc.).
Endereço pode, então, ser considerado uma classe de agregação, emrelação à classe Empregado.
![Page 17: Técnicas de Modelação de Dados - WordPress.com · As operações ou métodos são um conceito que deriva da POO. Na prática da modelação de dados a parte das operações ou](https://reader034.vdocuments.net/reader034/viewer/2022050609/5fb08b5656857f79a7628cc6/html5/thumbnails/17.jpg)
Agregação forte ou composição
No caso da agregação forte ou composição, temos a situação em que umobjeto de uma classe pertence, com exclusividade, a um objeto de outraclasse.
Consideremos de novo a classe Encomenda!
Analisando detalhadamente:
Uma Encomenda pode conter vários produtos e um produto pode ser encomendado várias vezes!
Nestes casos, é habitual criar-se uma classe de composição, por exemplo, Item_Encomenda, que fica agregada à classe Encomenda.
Neste caso, uma encomenda pode
conter um ou vários itens;
cada item pertence a uma
única encomenda.