Técnicas de Modelação de Dados - WordPress.com · As operações ou métodos são um conceito...

Post on 13-Aug-2020

4 views 0 download

Transcript of Técnicas de Modelação de Dados - WordPress.com · As operações ou métodos são um conceito...

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

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.

Classes

• Uma classe representa uma coleção de elementos, acerca dosquais é necessário guardar informação no sistema.

Classe EntidadeEquivalente

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.

Representação de Classes

Nome da Classe

Zona de atributos

Zona das operações ou métodos

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.

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.

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..*

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).

Relações representadas por classes associativas

• O relacionamento foi transformado numa classe associativa.

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

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.

Relações representadas por classes associativas

Classe associativa resultante do problema anterior:

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.

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.

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.

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.