Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
diagrama-classes definição para curso professional
1. 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
2. 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 de
relacionamentos.
3. Classes
• Uma classe representa uma coleção de elementos, acerca dos
quais é necessário guardar informação no sistema.
Classe Entidade
Equivalente
4. Atributos
• Tal como uma entidade no modelo ER, uma classe é constituída
por atributos.
• Atributo: é uma característica ou propriedade de uma entidade
ou classe. Ex.: nome, morada, telefone, etc.
• Todos os atributos têm domínio, que corresponde ao conjunto de
valores que esse atributo pode assumir. Ex.: string, data, numérico,
etc.
6. 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.
7. 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.
8. Grau do relacionamento
Nos diagramas de classes, por vezes, tomam-se os dois indicativos da
quantidade máxima para dizer (à maneira dos diagramas ER) se o
relacionamento é do tipo:
1:1 (um para um),
1:M (um para muitos) ou
M:N (muitos para muitos)
Notação nos diagramas de classes:
1:1 0..1 --- 1..1 ou 1..1 --- 1..1
1:M 0..1 --- 0..* ou 1..1 --- 0..*
M:N 0..* -- 0..* ou 1..* --- 1..*
9. 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).
10. Relações representadas por classes associativas
• O relacionamento foi transformado numa classe associativa.
11. Relações representadas por classes associativas
Em casos como este, poderíamos considerar,
logo à partida, Encomenda como uma
Entidade/Classe. O diagrama 1 representa uma
alternativa ao diagrama do diapositivo anterior.
Diagrama 1
Contudo, uma encomenda pode ter mais do
que um artigo! O Diagrama 2 representada esta
situação!
Diagrama 2
12. Relações representadas por classes associativas
Há situações em que não faz sentido converter a classe associativa numa
classe.
Consideremos, por exemplo, a parte do SI de uma empresa em análise
que representa os funcionários e os diferentes departamentos em que
eles trabalham.
Problema: interessa registar as datas de entrada e de saída de cada
funcionário em relação a cada departamento por onde passa.
14. 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.
15. 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.
16. Agregação simples
Numa agregação (simples ou fraca), um objeto de uma classe pertence
a um objeto de outra classe, mas este último não tem exclusividade de
posse sobre o primeiro.
Exemplo:
Um sistema de uma empresa regista os dados dos seus empregados
como: código, Nome, Data_Nasc e Endereço.
Os analistas, verificam que há endereços que são partilhados por mais do
que um empregado (caso de pais, filhos, conjugues, etc.).
Endereço pode, então, ser considerado uma classe de agregação, em
relação à classe Empregado.
17. Agregação forte ou composição
No caso da agregação forte ou composição, temos a situação em que um
objeto de uma classe pertence, com exclusividade, a um objeto de outra
classe.
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.