Escolar Documentos
Profissional Documentos
Cultura Documentos
Modelagem Conceitual
Vtor E. Silva Souza
(vitorsouza@inf.ufes.br)
http://www.inf.ufes.br/~ vitorsouza
Departamento de Informtica
Centro Tecnolgico
Universidade Federal do Esprito Santo
Crditos
Algumas
informaes
foram
re8radas
e
adaptadas
dos
slides
do
livro
Projeto
de
Banco
de
Dados
de
Carlos
A
Heuser;
Maio 2014
Modelos
Maneira
de
projetar,
comunicar,
documentar,
etc.
solues
computacionais;
Diversos
nveis,
por
exemplo:
Ontologias
(modelos
genricos,
de
domnio);
Requisitos
(foco
em
um
problema);
Projeto
/
arquitetura
(foco
em
uma
soluo).
Essenciais
para
o
desenvolvimento
de
soaware;
Assim
como
o
desenvolvimento,
tambm
seguem
os
paradigmas
(estruturado,
OO,
etc.).
Maio
2014
Desenvolvimento
de
sistemas
Uma biblioteca: livros, autores,
usurios, funcionrios, ...
Descrio da
soluo
Validao
Verificao
Descrio do
problema
Correteza
Correspondncia
Problema
Sistema
Maio
2014
Modelo
conceitual
Modelo
lgico
Projeto
fsico
Quais os elementos de
informao devero
fazer parte do banco de
dados?
Diagramas da UML
de
Casos
de
Uso;
de
Classes;
de
Objetos;
de
Estrutura
Composta;
de
Sequncia;
de
Comunicao;
de
Estados;
de
A8vidades;
de
Componentes;
Maio 2014
de
Implantao;
de
Pacotes;
de
Interface
Geral;
de
Tempo.
A
abordagem
En8dade-Relacionamento
Conceitos
centrais:
En8dade;
Relacionamento;
Diagrama entidade-relacionamento
Atributo;
Generalizao
/
especializao;
Diagrama ER
En8dade
associa8va.
preo
n
Produto
descrio
cdigo
Maio
2014
Tipo de
produto
descrio
cdigo
En8dade:
conceito
Conjunto
de
objetos
da
realidade
modelada
sobre
os
quais
deseja-se
manter
informaes
no
banco
de
dados;
Exemplos:
Em
um
sistema
de
informaes
industriais:
produtos,
8pos
de
produtos,
vendas,
compras,
etc.;
Em
um
sistema
de
contas
correntes:
clientes,
contas
correntes,
cheques,
agncias,
etc.;
Em
um
sistema
de
marcao
de
reunies:
funcionrios,
salas,
reunies,
agendamentos,
etc.
Maio 2014
10
Entidade
representao
En8dade:
representao
diagram
PESSOA
A
en8dade
(conceito)
estabelece
um
conjunto
de
en8dades
ou
classe
de
objetos;
Os
elementos
desse
conjunto
so
chamados
de
instncias,
ocorrncias
ou
objetos.
Maio
2014
11
En8dade:
propriedades
A
en8dade
sozinha
pouco
informa;
Precisamos
saber
suas
propriedades;
Em
um
modelo
ER,
so
representadas
por:
Relacionamentos;
Atributos;
Generalizaes
/
especializaes.
Maio 2014
12
DEPARTAMENTO
LOTAO
EMPREGADO
Relacionamento
Maio 2014
13
Diagrama
de
ocorrncias
p1
p4
p2
p1,d1
d1
Maio
2014
p7
p6
p2,d1 p4,d2
d2
p8
p5
p5,d3
d3
entidade
EMPREGADO
relacionamento
LOTAO
entidade
DEPARTAMENTO
Carlos A. Heuser
p3
14
Auto-relacionamento
PESSOA
marido
esposa
CASAMENTO
Maio 2014
Carlos A. Heuser
Papis
15
Auto-relacionamento
diagrama
de ocorrncias
Auto-relacionamento:
diag.
de
ocorrncias
p3
p7
p1
p2
esposa
marido
p8
p6
PESSOA
p4
p5
marido
marido
esposa
esposa
p1,p3
p6,p8
Carlos A. Heuser
Maio
2014
Carlos A. Heuser
CASAMENTO
16
24
Cardinalidade
Nmero
de
ocorrncias
de
uma
en8dade
que
podem
estar
associadas
atravs
de
um
relacionamento;
Cardinalidade
mxima
no
DERentre
Em
bancos
de
dados
simples,
no
se
d
is8ngue
valores
>
1,
representando-os
simplesmente
como
n:
1-1
(um
para
um);
Relacionamentos
1-N
(um
para
muitos);
binrios
N-N
(muitos
para
muitos).
LOTAO
DEPARTAMENTO
1
Maio
2014
EMPREGADO
17
Cardinalidade:
exemplos
ALUNO
ENGENHEIRO
EMPREGADO
INSCRIO
ALOCAO
ALOCAO
CURSO
PROJETO
MESA
Carlos A. Heuser
Maio
2014
18
Cardinalidade:
exemplos
Relacionamentos
1:1
Relacionamentos
n:n
EMPREGADO
supervisor supervisionado
1
n
SUPERVISO
1
marido
A. Heuser
1
esposa
CASAMENTO
Maio 2014
composto
n
componente
n
COMPOSIO
Carlos A. Heuser
PRODUTO
PESSOA
19
Relacionamento
ternrio
DISTRIBUIDOR
CIDADE
PRODUTO
Maio
2014
Carlos A. Heuser
DISTRIBUIO
20
Cardinalidade
mnima
Nmero
mnimo
de
ocorrncias
de
en8dade
que
so
associadas
a
uma
ocorrncia
de
uma
en8dade
atravs
de
um
relacionamento;
Em
bancos
de
dados
simples,
so
consideradas
apenas
2
cardinalidades
mnimas:
0
(zero):
associao
opcional;
1
(um):
associao
obrigatria.
Maio 2014
21
Cardinalidade
mnima
e1
e3
EMPREGADO
e4
e2
(0,1)
e1,m1
ALOCAO
e3,m6
e4,m4
(1,1)
MESA
m4
m1
m2
Maio 2014
m3
m5
m6
Carlos A. Heuser
e2,m2
22
Exemplo
PR-REQUIS
liberada
liberadora
(0,n)
DEPARTAMENTO
RESPONSVEL
(0,n)
(1,1)
(0,n)
DISCIPLINA
(0,n)
DISC-CURSO
(0,n)
ALUNO
(0,n)
INSCRIO
(1,1)
CURSO
Carlos A. Heuser
Maio
2014
23
Atributo
Atributo
Dado
ou
informao
que
associado
a
cada
ocorrncia
(instncia)
de
uma
en8dade
ou
de
um
relacionamento;
Atributo
com cardinalidade
Dado ou informao que associad
Cardinalidades:
ocorrncia de uma entidade ou
Mnima:
0
(opcional)
ou
1
(obrigatrio);
relacionamento
Mxima:
1
(mono-valorado)
ou
n
(mul8valorado).
PROJETO
CLIENTE
telefone (0,n)
cdigo
nome
Maio
2014
atributo
obrigatrio
Banco
de
Dados
-
Modelagem
Conceitual
tipo
cdigo
nome
24
Atributo
em
relacionamento
Atributo
ENGENHEIRO
Cdigo
(1,n)
(0,n)
em relacionamento
1:n
ATUAO
Nome
Funo
PROJETO
Cdigo Ttulo
(0,1)
FINANCEIRA
(0,n)
FINANCIAMENTO
taxa de juros
A. Heuser
Maio
2014
VENDA
Carlos A. Heuser
n de parcelas
25
Atributo identificador
Conjunto
de
propriedades
(atributos,
relacionamentos)
Atributo
identificador
de
uma
en8dade
cujos
valores
servem
para
dis8nguir
uma
ocorrncia
(instncia)
da
en8dade
das
demais;
Cada
en8dade
deve
ter
um
iden8cador;
cdigo
nome
PESSOA
cdigo
endereo
nome
PESSOA
endereo
capacidade
nmero do corredor
PRATELEIRA
capacidade nmero da prateleira
nmero do corredor
PRATELEIRA
daConceitual
prateleira
Maio
2014
Banco
dnmero
e
Dados
-
Modelagem
26
nome
EMPREGADO
(1,1)
(0,n)
DEPENDENTE
entidade fraca
Relacionamento
identificador
Heuser
Maio
2014
Entidade
fraca
Carlos A. Heuser
cdigo
nmero de
seqncia nome
27
cdigo
(1,1)
EMPRESA
nmero da
empresa
(1,1)
(0,n)
FILIAL
Maio
2014
nmero da
filial
Banco
de
Dados
-
Modelagem
Conceitual
cdigo +
nmero da
empresa +
nmero da
filial
60
Carlos A. Heuser
(0,n)
cdigo +
nmero da
empresa
28
MDICO
(1,n)
CONSULTA
(0,n)
PACIENTE
Heuser
Maio 2014
Carlos A. Heuser
data/hora
29
Generalizao
/
especializao
Permite
Generalizao/especializao
atribuir
propriedades
par8culares
a
um
subconjunto
das
ocorrncias
(especializadas)
de
uma
en8dade
genrica:
(1,1)
(0,n)
FILIAL
nome
cdigo
CLIENTE
Smbolo da
generalizao /
especializao
Entidade
especializada
(herda
propriedades)
Maio
2014
Entidade
genrica
PESSOA
FSICA
CIC
sexo
PESSOA
JURDICA
CGC
tipo de
organizao
30
Maio 2014
31
32
Maio 2014
33
Maio 2014
34
Maio 2014
35
36
Maio 2014
37
Maio 2014
Cor;
#
Nmero;
Abrir Porta;
Fechar Porta;
Arquiteto.
15
45
70
38
Maio 2014
39
Mecanismos
de
estruturao
OO
Objetos
relacionam-se
uns
com
os
outros;
preciso
modelar
esta
complexidade
e
estruturar
as
classes;
Mecanismos
propostos:
Associao;
Composio;
Herana.
Maio 2014
40
Co de Guarda
Habitantes
Classe: Pessoa
Maio
2014
Classe: Casa
Banco
de
Dados
-
Modelagem
Conceitual
41
Classe: Cachorro
41
Maio 2014
Estudante
Nome
Universitario
EstudanteEnsinoMedio
Matrcula
Srie
EstudanteGraduacao
EstudanteMestrado
Curso
Orientador
42
Herana
Nome
Atributos
Operaes
Associao (e
suas cardinalidades)
Agregao
Classe
43
Representao
de
classes
Representao
em UML
Nome da Classe
<Lista de atributos>
<Lista de operaes>
44
Herana (inheritance)
Maio 2014
Generalizao
Especializao
45
46
Pacotes
(packages)
Podem
ser
usados
para
organizar
diversos
8pos
de
elementos
de
modelos,
inclusive
diagramas
inteiros;
Muito
u8lizados
para
organizar
classes
em
mdulos,
da
mesma
forma
que
ser
feito
em
Java/C++;
possvel
representar
relao
de
dependncia
entre
pacotes:
Maio 2014
47
Associaes
(associa8ons)
Relacionamento
entre
classes
representado
por
associaes,
agregaes
e
composies;
Associaes
podem
indicar
cardinalidade
(cardinality):
Objetos da ClasseA podem se
relacionar com no mnimo zero e no
mximo trs objetos da ClasseB.
Um e somente um.
Maio 2014
48
Papis
(roles)
Indicam
o
papel
que
a
classe
desempenha
na
associao
(so
usados
substan8vos);
opcional,
usado
quando
melhora
o
entendimento
do
modelo;
Sintaxe:
<escopo>
<nome>.
Maio 2014
49
Maio 2014
50
Relacionamentos
recursivos
Perfeitamente
legais;
Geralmente
pedem
denio
de
papis.
Maio 2014
51
Associaes
n-rias
Associaes
entre
trs
ou
mais
classes;
Extremamente
raras,
muitas
vezes
as
ferramentas
CASE
nem
do
suporte;
Podem
ser
subs8tudas
por
uma
nova
classe
e
N
associaes.
Maio 2014
52
Agregao
e
composio
Representam
associaes
todo-parte;
Adicionam
um
losango
sintaxe,
na
extremidade
da
classe
que
representa
o
todo:
Maio 2014
53
Atributos
(aOributes)
Atributos
so
informaes
de
estado
(propriedades)
para
o
qual
cada
objeto
em
uma
classe
tem
seu
valor;
Muito
similares
s
associaes:
Como
atributos
tm
um
8po,
podemos
considerar
que
so
associaes
com
um
8po;
Para
8pos
primi8vos
denimos
atributos,
do
contrrio
modelamos
uma
associao;
Em
l8ma
instncia,
associaes
e
atributos
so
implementados
da
mesma
forma;
Atributos
e
associaes
denem
uma
classe.
Maio 2014
54
Especicao
de
atributos
Escolha
um
nome
com
signicado;
Siga
um
padro
de
nomenclatura;
Inclua-o
na
modelagem
de
classes:
Maio 2014
55
Maio 2014
56
O
modelo
conceitual
Representa
os
elementos
do
mundo
real;
Desconsidera
preocupaes
tecnolgicas
(ex.:
8pos
dos
dados):
Maio 2014
57
Maio 2014
58
Maio 2014
59
h*p://nemo.inf.ufes.br/
Maio 2014
60