12
1 Modelagem Conceitual Orientada a Objetos Fernanda Baião UNIRIO Material parcialmente extraído a partir das notas de aula de Maria Luiza M. Campos, Arnaldo Vieira e Maria Cláudia Cavalcanti 2 Classes e Tipos Classe : conjunto de objetos descritos pelo mesmo conjunto de propriedades. Tipo : conjunto de propriedades que descreve os objetos de uma classe. Os objetos da classe Empregado podem ser representados por diferentes tipos, isto é, por diferentes conjuntos de propriedades: Tipo 1: (Matrícula, Nome, Endereço) Tipo 2: (CPF, Nome, Endereço, Telefone, Lotação) 3 Classe x Tipo x Instância ... o tipo Mulher Nome duas instâncias da classe Mulher M. Esteves 20 S. Paulo L. Rocha 16 Rio de Janeiro Idade Cidade A Classe Mulher

Modelagem Conceitual Orientada a Objetos - uniriotec.brfernanda.baiao/FundBD/AulasPDF/02 - 3... · 1 Modelagem Conceitual Orientada a Objetos Fernanda Baião UNIRIO Material parcialmente

  • Upload
    doandat

  • View
    223

  • Download
    0

Embed Size (px)

Citation preview

1

Modelagem ConceitualOrientada a Objetos

Fernanda BaiãoUNIRIO

Material parcialmente extraído a partir das notas de aula de Maria Luiza M. Campos, Arnaldo Vieira e Maria Cláudia Cavalcanti

2

Classes e Tipos

Classe: conjunto de objetos descritos pelo mesmo conjunto de propriedades.Tipo: conjunto de propriedades que descreve os objetos de uma classe.

Os objetos da classe Empregado podem ser representados por diferentes tipos, isto é, por diferentes conjuntos de propriedades:

Tipo 1: (Matrícula, Nome, Endereço)Tipo 2: (CPF, Nome, Endereço, Telefone, Lotação)

3

Classe x Tipo x Instância ...

o tipoMulher

Nome

duas instânciasda classe

Mulher

M. Esteves20

S. Paulo

L. Rocha16Rio de Janeiro

Idade

Cidade

A Classe Mulher

4

Mecanismo de AbstraçãoProcesso mental que seleciona algumas propriedades de um conjunto de objetos e exclui outras irrelevantes em um dado contexto. Def. do Michaelis: Velocípede de

duas rodas iguais, movido a pedal .

a figura de uma bibicleta é uma representação dessa abstração ! O texto com uma definição de dicionário também é.

o conceito de bicicleta

5

Abstração por ClassificaçãoDefine um conceito abstrato (CLASSE), a partir de uma coleção de OBJETOS do mundo real, caracterizados por propriedades comuns.Estabelece um relacionamento “é membro de”, entre a classe e seus objetos.

o conceito de bicicleta define a classe cujos membros compartilham uma série de propriedades comuns a todas as bicicletas do universo.

o conceito de bicicleta define a classe cujos membros compartilham uma série de propriedades comuns a todas as bicicletas do universo.

6

Abstração por Classificação

Por exemplo: definida a classe BICICLETA através do mecanismo de abstração por classificação, pode-se dizer que

a bicicleta vermelha da Bia, a bicicleta verde do Dudu e a bicicleta azul da Lulu são membros desta classe.

BICICLETA

É membro de

7

Diferentes Classificações de um Objeto

Mesa preta Mesa amarela Cadeira preta Cadeira amarela

MOBÍLIA AMARELAMOBÍLIA PRETA

MESA CADEIRA

8

Abstração por AgregaçãoDefine uma nova classe a partir de um conjunto de outras classes que representam suas partes componentes.

objetos são agregações de objetos de outras classesOs objetos incluídos em uma agregação representam as partes componentes do objeto da nova classe.Estabelece um relacionamento “é parte de” entre a nova classe e seus membros.

a classe bicicleta pode ser definida através do conjunto de componentes roda , pedal e guidon

a classe bicicleta pode ser definida através do conjunto de componentes roda , pedal e guidon

9

Exemplo

...

BICICLETA

RODA PEDAL GUIDON

...

é_membro_de

é_membro_de

é_parte_de

10

Abstração por Agregação

BICICLETABICICLETA

GUIDONRODA PEDAL

As classes RODA, PEDAL e GUIDON são partes da classe BICICLETA

Os objetos das classes RODA, PEDAL e GUIDON podem ser compartilhados?

Se um objeto bicicleta é formado por uma roda, um pedal e um guidon, podemos dizer que temos uma bicicleta?

é_parte_de

11

Abstração por GeneralizaçãoDefine uma nova classe, a partir da abstração das diferenças entre os objetos de duas ou mais classes.

cada classe participante é um subconjunto da nova classe.As propriedades da classe mais genérica são compartilhadas pelas classes mais específicas

a classe veículo é uma generalização das classes bicicleta e carro..

a classe veículo é uma generalização das classes bicicleta e carro..

a classe pessoa é uma generalização das classes homem e mulher.a classe pessoa é uma generalização das classes homem e mulher.

12

Cobertura de Generalizações

ESTUDANTE

MULHERHOMEMBICICLETA

AUTOMÓVEL

JOGADORDE TÊNIS

JOGADORDE FUTEBOL

total, exclusiva (t,e)

parcial, inclusiva (p,i)

parcial, exclusiva (p,e)

total, inclusiva (t,i)ESPORTISTAS DO CLUBE

PESSOA VEÍCULO

MESTRADO GRADUAÇÃO

13

Mais exemplos de Parcial inclusiva...

PROFESSOR ENGENHEIRO

PROFISSÕES ou PROFISSIONAIS?

ALUNOSCOMP.

ALUNOSHOMENS

ALUNOS DA UNIVERSIDADEPOR CURSO OU POR SEXO?

14

Associação Binária ...estabelece um mapeamento entre os elementos de duas classes.

utiliza é uma associação binária entre as classes pessoa e apartamento.possui é uma outra associação binária entre as classes pessoa e apartamento.dirige é uma associação binária entre as classes pessoa e automóvel.

15

Associação BináriaUTILIZA

PESSOA

POSSUI

APARTAMENTO

p1

p2

p3

a1

a2

a3

a4

p1

p2

p3

a1

a2

a3

a4

PESSOA APARTAMENTO PESSOA APARTAMENTO

utiliza possui

16

CardinalidadeSeja a associação binária A entre as classes C1 e C2:

a cardinalidade mínima de C1/C2 em A é definida como o número mínimo de mapeamentos nos quais cada elemento de C1/C2 pode participar.

a cardinalidade máxima de C1/C2 em A é definida como o número máximo de mapeamentos nos quais cada elemento de C1/C2 pode participar.

17

Cardinalidade Mínima

se assumirmos que cada pessoa utiliza pelo menos um apartamento:min-card (pessoa, utiliza) = 1.

se assumirmos que alguns apartamentos podem não ser habitados:min-card (apartamento, utiliza) = 0.

se assumirmos que todo apartamento tem pelo menos um proprietário:min-card (apartamento, possui) = 1.

se assumirmos que algumas pessoas não possuem apartamentos:min-card (pessoa, possui) = 0.

p1

p2

p3

a1

a2

a3

a4

PESSOA APARTAMENTO

utiliza

p1

p2

p3

a1

a2

a3

a4

PESSOA APARTAMENTO

possui

18

Cardinalidade Máximase assumirmos que uma pessoa pode utilizar vários apartamentos:max-card (pessoa, utiliza) = n.

se assumirmos que um apartamento pode ter vários habitantes:max-card (apartamento, utiliza) = n.

se assumirmos que uma pessoa pode possuir vários apartamentos:max-card (pessoa, possui) = n.

se assumirmos que um apartamento só pode ter um único proprietário:max-card (apartamento, possui) = 1.

p1

p2

p3

a1

a2

a3

a4

PESSOA APARTAMENTO

utiliza

p1

p2

p3

a1

a2

a3

a4

PESSOA APARTAMENTO

possui

19

Cardinalidade Máxima

max-card (C1, A) = 1

max-card (C2, A) = 1

max-card (C2, A) = n

max-card (C1, A) = n

A

C1 C2

um-para-um

muitos-para-um

um-para-muitos

muitos-para-muitos

C1C2

20

Cardinalidade

um-para-um

C1 C2

um-para-muitos

C1 C2

muitos-para-um

C1 C2

muitos-para-muitos

C1 C2

1:1 1:n

m:1 m:n

21

Associação n-ária ...estabelece um mapeamento entre os elementos de três ou mais classes.

SESSÃO

DISCIPLINA SALADIA

sessão é uma associação ternária entre as classes disciplina, dia e sala.

22

Cardinalidade

Seja a associação n-ária A entre as classesC1, C2, …, Cn :

a cardinalidade mínima de Ci em A é definida como o número mínimo de mapeamentos nos quais cada elemento de Ci pode participar.

a cardinalidade máxima de Ci em A é definida como o número máximo de mapeamentos nos quais cada elemento de Ci pode participar.

23

Cardinalidadese assumirmos que cada dia da semana pode ter nenhuma ou muitas sessões de aula:min-card (dia, sessão) = 0max-card (dia, sessão) = ncard (dia, sessão) = (0, n)

se assumirmos que cada disciplina pode ter de uma a três sessões por semana:card (disciplina, sessão) = (1, 3)

se assumirmos que cada sala de aula comporta no máximo 40 sessões por semana:

card (sala, sessão) = (0, 40)

24

Associação n-áriaFEN110

FEN300

D501

D530

SEGTERQUAQUISEX

DISCIPLINASALA

DIA

(1,3)

(0,n)

(0,40)

25

Modelagem Conceitual e a Representação de Conhecimento

Objetivo das técnicas de RCDesenvolver conceitos para a modelagem mais precisa de um domínio de conhecimento• Classificação• Identificação• Especialização e Generalização• Agregação e Associação

Criação de uma ontologia

26

Ontologia“Descrição das estruturas e dos

relacionamentos que são possíveis na realidade, por meio de algum vocabulário comum”

“Meio para descrever o conhecimento de uma certa comunidade sobre a realidade”

27

Ontologia“A especificação de uma

conceitualização”Conceitualização

Conjunto de conceitos utilizados para representar a realidade

EspecificaçãoLinguagem e termos do vocabulário

28

OntologiaTécnicas possíveis para especificação [Elmasri, Navathe]

ThesaurusTaxonomiaEsquema de banco de dadosTeoria lógica

29

ExercícioDiscuta qual o papel das ontologias na modelagem conceitual de dados

30

Projeto de Banco de Dados

PROJETO FÍSICO

Mundo real

COLETA E ANÁLISE DAS NECESSIDADES

Requisitos do Banco de Dados

Esquema Conceitual

Esquema Lógico

Esquema Interno

Independentedo SGBD

Dependentedo SGBD

PROJETO LÓGICO

PROJETO CONCEITUAL

31

Projeto ConceitualFoco nos dados e em seus inter-relacionamentos.Independente do SGBD utilizado.Produz um esquema mais estável do que o esquema lógico.Mais fácil de ser entendido pelos usuários. Livre de considerações de eficiência e armazenamento.

32

Projeto LógicoFoco nos dados e em seus interrelacionamentos, mas ....Sujeito às restrições do SGBD utilizado.Produz um esquema sujeito a eventuais reestruturações, para garantir a eficiência das consultas.Fácil de ser entendido pelos usuários.

33

Projeto FísicoFoco nos requisitos de desempenho:

tempo de resposta: p.ex., 95% das transações devem ser processadas em até 2 segundos.throughput: número médio de transações/segundo.utilização de espaço.

Define estruturas de armazenamento e caminhos de acesso.

34

Refs BibliográficasConceptual Database Design

Batini, Ceri e NavatheBenjamin/Cummings Pub. Co.

35

Artigo para discussãoGonzalo Génova, Juan Llorens, Paloma Martínez, “Semantics of the Minimum Multiplicity in Ternary Associations in UML”, Proceedings of the 4th International Conference on The Unified Modeling Language, Modeling Languages, Concepts, and Tools, 2001. Lecture Notes In Computer Science 2185, pp. 329 - 341

http://www.lsi.upc.edu/~xpi/material/SemanticsOfMinimumMutiplicity.pdf