in1008 – projeto conceitual de bd

57
CIn/UFPE – IN1008 – PCBD - Prof. Robson Fidalgo UML for Design and Modeling 1

Upload: zarita

Post on 04-Jan-2016

20 views

Category:

Documents


4 download

DESCRIPTION

IN1008 – Projeto Conceitual de BD. UML for Design and Modeling Desenho e Modelagem de dados usando UML Por: Erick Araújo Gomes [email protected]. Roteiro. Motivação Objetivo Principais Conceitos Envolvidos Estado da Arte Abordagem Prática Referências. Motivação. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IN1008 – PCBD - Prof. Robson Fidalgo UML for Design and Modeling 1

Page 2: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IN1008 – PCBD - Prof. Robson Fidalgo UML for Design and Modeling 2

IN1008 – Projeto Conceitual de BD

UML for Design and Modeling

Desenho e Modelagem de dados usando UML

Por:

Erick Araújo [email protected]

Page 3: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IN1008 – PCBD - Prof. Robson Fidalgo UML for Design and Modeling 3

• Motivação

• Objetivo

• Principais Conceitos Envolvidos

• Estado da Arte

• Abordagem Prática

• Referências

Roteiro

Page 4: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IN1008 – PCBD - Prof. Robson Fidalgo UML for Design and Modeling 4

• Abstrair os modelos existentes e trabalhar sobre a meta-definição de modelos específicos permitem atender novos domínios de problemas;

• Mecanismos de extensibilidade e modularização são cada vez mais exigidos para atender domínios e dialetos tão dinâmicos e específicos;

• A histórico evolutivo da especificação UML procura criar mecanismos de extensibilidade para atender requisitos de domínios específicos;

• Por que não explorar as capacidades introduzidas na UML, com o uso de perfis (profiles), para atendimento das necessidades de modelagem de dados;

Motivação

Page 5: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IN1008 – PCBD - Prof. Robson Fidalgo UML for Design and Modeling 5

Roteiro

• Motivação

• Objetivo

• Principais Conceitos Envolvidos

• Estado da Arte

• Abordagem Prática

• Referências

Page 6: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IN1008 – PCBD - Prof. Robson Fidalgo UML for Design and Modeling 6

• Apresentar o contexto evolutivo da UML;

• Apresentar a arquitetura da UML;

• Apresentar a UML e suas capacidades;

• Metamodelos e Perfis no contexto da UML;

• Apresentar o Perfil UML voltado à modelagem de dados;

• Apresentar uma proposta de mapeamento Conceitual x Lógico;

• Apresentar uma ferramenta de modelagem adaptada o Perfil UML para modelagem de dados.

Objetivos

Page 7: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IN1008 – PCBD - Prof. Robson Fidalgo UML for Design and Modeling 7

Roteiro

• Motivação

• Objetivo

• Conceitos Envolvidos

• Estado da Arte

• Abordagem Prática

• Referências

Page 8: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IN1008 – PCBD - Prof. Robson Fidalgo UML for Design and Modeling 8

Principais conceitos envolvidos [1][5]

• MetaModelagem – técnica de criação de metamodelos.

• Modelagem – arte e ciência de criar modelos de uma determinada realidade.

• MetaModelo - modelos que descrevem artefatos e as regras para um modelo.

• Modelo – consiste na interpretação de um dado domínio do problema (fragmento do mundo real sobre o qual as tarefas de modelagem incidem).

• Esquema – especificação de um modelo usando uma determinada linguagem, formal ou informal, textual ou gráfica.

• Diagrama – representação gráfica do esquema.

Page 9: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IN1008 – PCBD - Prof. Robson Fidalgo UML for Design and Modeling 9

Contexto Evolutivo - UML

• UML (Unified Modeling Language);• Resulta da unificação de diversas notações;

As três mais populares são:• Método OMT – Object Modeling Technique (James Rumbaugh,

1991)• Método Booch – (Grady Booch, 1991)• Método OOSE – Object-Oriented Software Engineering (Ivar

Jacobson, 1992)

• Combina técnicas como: Conceitos de modelagem de dados Modelagem de Negócio Modelagem de Objetos Modelagem de Componentes

Page 10: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IN1008 – PCBD - Prof. Robson Fidalgo UML for Design and Modeling 10

Contexto Evolutivo - UML

• Outras contribuições [4]:

Page 11: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IN1008 – PCBD - Prof. Robson Fidalgo UML for Design and Modeling 11

Contexto Evolutivo - UML

• Evolução [1][3]:

Resultado do trabalho de Booch e Rumbaugh em 1995.

Resultado da colaboração entre os três modelos

União com Ivar JacobsonObjectory + Rational Software Corp.

UML 1.0 como resultado da RFP proposta pela OMG, que gerou o consórcio UML Paterns (HP, IBM, ORACLE, etc.).

Outro grupo desenvolveu outra especificação em paralelo e acabou se unindo ao primeiro para formar a UML 1.1

Page 12: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IN1008 – PCBD - Prof. Robson Fidalgo UML for Design and Modeling 12

UML – Objetivos

• Objetivos estabelecidos para UML [1]:

Permitir a modelagem de sistemas (não apenas software) usando conceitos OO;

Estabelecer acoplamento com artefatos conceituais e executáveis;

Resolver as questões de escala inerentes a sistemas complexos e de missão crítica;

Criar uma linguagem de modelagem utilizável por humanos e máquinas.

Page 13: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IN1008 – PCBD - Prof. Robson Fidalgo UML for Design and Modeling 13

UML – Arquitetura

• Arquitetura de 4 níveis da OMG [1]:

Camada Descrição ExemploM3 Meta-metamodelo Define a linguagem para

especificar metamodelosMOF

MetaClass, MetaAttribute, MetaOperation

M2 Metamodelo Instância de um meta-metamodelo. Define a linguagem para especificar um modelo.

UML e CWM

Class, Property, Operation, Component

M1 Modelo Instância de um metamodelo, Define a linguagem para definir um domínio da informação.

Modelos de domínio específico.

Ex.: Modelo de locadora.

M0 Objeto do Usuário – dados do usuário

Instância de um modelo. Define os valores de um domínio específico.

Instâncias do modelo locadora, objetos.

Ex.: Locacao # 0123, DVD ...

Page 14: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IN1008 – PCBD - Prof. Robson Fidalgo UML for Design and Modeling 14

UML – Arquitetura

• Arquitetura de 4 níveis da OMG [6][7]:

Page 15: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IN1008 – PCBD - Prof. Robson Fidalgo UML for Design and Modeling 15

UML – Arquitetura

• UML 1.4 [6]:Três pacotes de alto nível

Núcleo para construções fundamentais do metamodelo da UML

Define um conjunto comum de tipos de dados válidos e enumerações para uso na definição do metamodelo da UML.

Meio de ajustar o uso para domínios de aplicações ou tecnologias específicas.

Page 16: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IN1008 – PCBD - Prof. Robson Fidalgo UML for Design and Modeling 16

UML – Arquitetura

• UML 2.1.2 [7][8]:Pacotes do volume Infrastructure:

Metalinguagem CORE para reuso na definição de metamdelos, incluindo MOF, UML e CWM.

A especificação da UML 2.1.2 está organizada em dois volumes:

• Infrastructure

• Superstructure (próximo slide)

Criação de novas línguas baseado no mesmo core de metalinguagem como UML.

Pacotes do CORE:

Metamodelo no núcleo da arquitetura MDA.

Page 17: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IN1008 – PCBD - Prof. Robson Fidalgo UML for Design and Modeling 17

UML – Arquitetura

• UML 2.1.2 [7][8]:

Pacotes de alto nível do pacote Superstructure:

Superstructure

• Estende e personaliza a Infrastructure para definir o metamodelo UML.

• Define os elementos que compõem as notações de modelagem da UML, criadas pela extensão e acréscimo dos elementos básicos definidos na Infrastructure.

Page 18: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IN1008 – PCBD - Prof. Robson Fidalgo UML for Design and Modeling 18

UML – Arquitetura (Adicionais)

• OCL (Object Constraint Language)

Oferece semântica para declarar requisitos estáticos para atributos e operações;

Apenas adicionam restrições a elementos do modelo, não alteram o seu estado.

Page 19: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IN1008 – PCBD - Prof. Robson Fidalgo UML for Design and Modeling 19

UML – Arquitetura (Adicionais)

• Action Semantics

Definem regras que controlam os aspectos dinâmicos de um sistema;

Podem ser usadas para definir implementações de método, para tratar chamadas e sinais entre objetos.

Page 20: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IN1008 – PCBD - Prof. Robson Fidalgo UML for Design and Modeling 20

Roteiro

• Motivação

• Objetivo

• Principais Conceitos Envolvidos

• Estado da Arte

• Abordagem Prática

• Referências

Page 21: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IN1008 – PCBD - Prof. Robson Fidalgo UML for Design and Modeling 21

UML – o que há de novo? [1]

UML 1.4 UML 2.0 MudançaDiagrama de Classes Diagrama de Classes IGUAL

Diagrama de Objetos Diagrama de Objetos Tratado no Diagrama Estrutura de Composição UML 2.0

Diagrama Objeto Composto Tratado no Diagrama Estrutura de Composição UML 2.0

Pacotes Diagrama de Pacotes A UML 1.4 não se referia a um diagrama de pacote, que era feito na tela do diagrama de classes.

Diagrama de Componentes Diagrama de Componentes IGUAL

Diagrama de Implantação Diagrama de Implantação IGUAL

Diagrama combinado de Implantação e componentes

Diagrama combinado de Implantação e componentes

IGUAL

Diagrama de Casos de Uso Diagrama de Casos de Uso IGUAL

Diagrama StateChart Diagrama de Máquina de Estados

Só alterou o nome, IGUAL.

Page 22: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IN1008 – PCBD - Prof. Robson Fidalgo UML for Design and Modeling 22

UML – o que há de novo? [1]

UML 1.4 UML 2.0 MudançaDiagrama Estado do Protocolo NOVO. Máquina de estado em um

nível mais alto.

Grafo de Atividades Diagrama de Atividades Refinado e melhorado

Diagrama Estrutura de Composição

NOVO. Combinação entre o diagrama de objeto e diagrama de objeto composto.

Diagramas de Interação

Diagrama de Colaboração Redistribuido entre os novos diagramas de interação.

Diagrama de Seqüência Diagrama de Seqüência

Diagrama de Comunicação

Diagrama de Interação

Diagrama de Tempo

Page 23: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IN1008 – PCBD - Prof. Robson Fidalgo UML for Design and Modeling 23

UML – Mecanismos de Extensibilidade

• Estereótipos, tagged values e restrições são conhecidos omo mecanismos de extensibilidade da UML [1].

• Permitem a personalização dos diagramas UML para um assunto específico [1].

• A UML também oferece os comentários como mecanismo para anexar significado em texto livre.

• As restrições são conhecidas como condições invariantes e podem ser expressas formalmente em qualquer diagrama através de OCL (Object Constraint Language)

• Vejamos alguns detalhes…

Page 24: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IN1008 – PCBD - Prof. Robson Fidalgo UML for Design and Modeling 24

UML – Mecanismos de Extensibilidade

• Estereótipos [5]

Permitem adicionar novos elementos ao UML

Page 25: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IN1008 – PCBD - Prof. Robson Fidalgo UML for Design and Modeling 25

UML – Mecanismos de Extensibilidade

• Tagged values (marcas com valor) [5]

Permitem adicionar novas propriedades aos elementos.

Page 26: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IN1008 – PCBD - Prof. Robson Fidalgo UML for Design and Modeling 26

UML – Mecanismos de Extensibilidade

• Restrições (constraints) [5]

Consiste na especificação de uma condição delimitada pelos caracteres ‘{‘ e ‘}’.

A condição pode ser especificada em linguagem formal (OCL) ou informal (ex. Salário maior que zero).

Page 27: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IN1008 – PCBD - Prof. Robson Fidalgo UML for Design and Modeling 27

UML – Mecanismos de Extensibilidade

• Outro mecanismo de extensão:

Perfis [1]

• Um perfil é um meio de personalizar o uso da UML para um domínio ou plataforma específica.

• Os perfis utilizam uma combinação entre mecanismos de extensão para ajustar a notação da UML.

• Exemplos de perfis UML (Profiles UML) já padronizados pela OMG:

Perfil para processos de desenvolvimento de software; Perfil para modelagem de negócio.

Page 28: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IN1008 – PCBD - Prof. Robson Fidalgo UML for Design and Modeling 28

UML – Mecanismos de Extensibilidade

• Profile UML for Data Modeling Padrão ainda não aprovado pela OMG; Situação atual:

Ver RFP: RFP_IMM_DataModeling__05-12-02.pdf

Page 29: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IN1008 – PCBD - Prof. Robson Fidalgo UML for Design and Modeling 29

• Estado da Arte

UML Profile para Banco de Dados

• Desenvolvido pela Rational Software Corporation;

• O conceito de tabelas e relacionamentos usados em bases de dados são mapeados para os conceitos de classes e associações em UML.

UML Data Modeling Profile

Page 30: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IN1008 – PCBD - Prof. Robson Fidalgo UML for Design and Modeling 30

Nodes (nó):

• Representação de uma entidade física (computador) onde o banco de dados está localizado. • A representação de nó faz parte do Core da UML.• Usa o Deployment Diagram, pois ele representa a configuração física de um Software Deployment.

UML Data Modeling Profile

Page 31: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IN1008 – PCBD - Prof. Robson Fidalgo UML for Design and Modeling 31

Nodes (nó):

• Representação de uma entidade física (computador) onde o banco de dados está localizado. • A representação de nó faz parte do Core da UML.• Usa o Deployment Diagram, pois ele representa a configuração física de um Software Deployment.

UML Data Modeling Profile

Page 32: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IN1008 – PCBD - Prof. Robson Fidalgo UML for Design and Modeling 32

Tablespaces:

• Representam o armazenamento dos dados.

• A representação do BD usa uma dependência ligada a um ou mais Tablespaces.

• Representado por um estereótipo <<Tablespace>>

UML Data Modeling Profile

Page 33: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IN1008 – PCBD - Prof. Robson Fidalgo UML for Design and Modeling 33

Database:

• Representa o próprio sistema de gerenciamento do Banco de Dados.

UML Data Modeling Profile

Page 34: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IN1008 – PCBD - Prof. Robson Fidalgo UML for Design and Modeling 34

Schema:

• Representa a unidade básica de organização das tabelas.• É representado por um pacote que recebe o estereótipo <<schema>>.

UML Data Modeling Profile

Page 35: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IN1008 – PCBD - Prof. Robson Fidalgo UML for Design and Modeling 35

UML Data Modeling Profile

Tables (tabelas):

• Representação da estrutura básica de modelagem. • Representa um conjunto de registros de uma mesma estrutura (linhas).• Uma tabela é uma classe estereótipada com um pictograma. • Usa o Deployment Diagram, pois ele representa a configuração física de um Software Deployment.

Page 36: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IN1008 – PCBD - Prof. Robson Fidalgo UML for Design and Modeling 36

UML Data Modeling Profile

Columns (colunas):

• Elemento básico organizacional dentro de um BD relacional.

• São modelados como atributos estereótipados.

• Adiciona um tagged value para o data type.

Page 37: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IN1008 – PCBD - Prof. Robson Fidalgo UML for Design and Modeling 37

Views: • Modelada como uma classe, com o estereótipo <<View>>.

• O estereótipo <<Derived>> : quando uma view modelada com dependência de duas ou mais tabelas.

UML Data Modeling Profile

Page 38: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IN1008 – PCBD - Prof. Robson Fidalgo UML for Design and Modeling 38

Keys (chaves): • Primary Key: única e identifica uma coluna na tabela. Representada pelo estereótipo <<PK>>;• Foreign Key: derivada do relacionamento com outras tabelas. Representada pelo estereótipo <<FK>>;• Em caso de uma Foreign Key ser usada como Primary Key, a combinação das chaves são representadas pelo estereótipo <<PFK>>.

UML Data Modeling Profile

Page 39: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IN1008 – PCBD - Prof. Robson Fidalgo UML for Design and Modeling 39

Index (índice): • Estrutura física de rápido acesso aos dados. Representada pelo estereótipo <<Index>>;

UML Data Modeling Profile

Page 40: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IN1008 – PCBD - Prof. Robson Fidalgo UML for Design and Modeling 40

Constraints (regras):

• Representam regras aplicadas à estrutura do banco de dados;• Vários tipos de constraints podem ser definidas:

• Primary key - <<PK>>• Foreign key - <<FK>>• Trigger - <<Trigger>>• Value verification - <<Check>>• Uniqueness - <<Unique>>

UML Data Modeling Profile

Page 41: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IN1008 – PCBD - Prof. Robson Fidalgo UML for Design and Modeling 41

Relacionamentos:

• Classificados em:• Non-Identifying : representa o relacionamento entre duas tabelas diferentes.

UML Data Modeling Profile

Page 42: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IN1008 – PCBD - Prof. Robson Fidalgo UML for Design and Modeling 42

Relacionamentos:

• Classificados em:• Identifying : representa o relacionamento entre duas tabelas dependentes.

UML Data Modeling Profile

Page 43: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IN1008 – PCBD - Prof. Robson Fidalgo UML for Design and Modeling 43

Stored Procedures: Identificadas pelo estereótipo <<SP Container>>;

UML Data Modeling Profile

Page 44: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IN1008 – PCBD - Prof. Robson Fidalgo UML for Design and Modeling 44

Técnica proposta por [10]: • Baseado na proposta da Rational [9];

• Procura oferecer uma proposta de mapeamento entre o diagrama de classes da UML e um diagrama de banco de dados relacional;

• Define uma regra de mapeamento de um dmodelo de classes para um modelo relacional através de 11 passos.

Mapeamento Classes -> RDB

Page 45: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IN1008 – PCBD - Prof. Robson Fidalgo UML for Design and Modeling 45

Passo 1 [10]:

• Modelo de classes:

• Primeiramente deve-se assumir que queremos gerar um modelo relacional de dados a partir de um modelo de classes que possuímos.

Mapeamento Classes -> RDB

Page 46: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IN1008 – PCBD - Prof. Robson Fidalgo UML for Design and Modeling 46

Passo 2 [10]:

• Identificar Objetos Persistentes:

• Possuindo o diagrama de classes, devemos identificar os elemento do modelo que necessitam ser persistidos e os que não precisam.

• Por exemplo, numa arquitetura MVC, apenas as classes da camada Model necessitam de estado persistente.

Mapeamento Classes -> RDB

Page 47: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IN1008 – PCBD - Prof. Robson Fidalgo UML for Design and Modeling 47

Passo 3 [10]:

• Assumir cada objeto persistente como uma tabela:

• Deixar de tratar momentaneamente as questões de herança.

• Cada classe torna-se uma tabela.

• Cada linha da tabela assumirá o registro de um objeto da classe.

Mapeamento Classes -> RDB

Page 48: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IN1008 – PCBD - Prof. Robson Fidalgo UML for Design and Modeling 48

Passo 4 [10]:

• Definir a estratégia de herança escolhendo um método básico:

• Forma 1 – A classe pai agrupará todos os atributos das classes especializadas e formará uma tabela apenas.

Bom para seleções!!

• Forma 2 – As classes especializadas agruparão além dos seus atributos, também os atributos da classe pai.

Evita valores nulos!!

• Forma 3 – As classes especializadas e a classe pai continuarão com a mesma estrutura e não será necessário agrupar atributos em um ponto específico.

Reflete o modelo como ele é!!

Mapeamento Classes -> RDB

Page 49: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IN1008 – PCBD - Prof. Robson Fidalgo UML for Design and Modeling 49

Passo 5 [10]:

• Para cada classe adicionar um identificador único de classe:

• Em ambos os mundos OO e Relacional existe a necessidade de definir identificadores únicos;

• O método mais conveniente é definir um OID (Object Identifier);

Mapeamento Classes -> RDB

Page 50: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IN1008 – PCBD - Prof. Robson Fidalgo UML for Design and Modeling 50

Passo 6 [10]:

• Mapear atributos para colunas:

• Mapear cada atributo da classe para uma coluna da tabela;

• Atributos complexos serão vistos nos próximos passos;

Mapeamento Classes -> RDB

Page 51: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IN1008 – PCBD - Prof. Robson Fidalgo UML for Design and Modeling 51

Passo 7 [10]:

• Mapear associações para foreign keys:

• Atributos de classe mais complexos são representados como associações;

• Uma associação é uma representação estrutural entre objetos;

• Para cada associação no modelo de classes considerar a criação de uma foreign key na tabela filha, da tabela pai.

Mapeamento Classes -> RDB

Page 52: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IN1008 – PCBD - Prof. Robson Fidalgo UML for Design and Modeling 52

Passo 8 [10]:

• Mapear agregações e composições:

• São similares a representação da associação, com a adoção de um par PK-FK;

Mapeamento Classes -> RDB

Passo 9 [10]:

• Definir regras de relacionamentos:

• É basicamente nomear o relacionamento e adicionalmente acrescentar novas constraint, como {NOT NULL};

Page 53: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IN1008 – PCBD - Prof. Robson Fidalgo UML for Design and Modeling 53

Passo 10 [10]:

• Comportamento do Modelo:

• Este passo consiste na representação de capacidades funcionais do modelo, como triggers, stored procedures, uniqueness e data contraints (validate check, etc.);

Mapeamento Classes -> RDB

Passo 11 [10]:

• Produzir o modelo físico:

• Descrever através de diagrama como é feito o deployment do modelo criado no mundo real, especificando host, schema, tablespaces, etc.

Page 54: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IN1008 – PCBD - Prof. Robson Fidalgo UML for Design and Modeling 54

Roteiro

• Motivação

• Objetivo

• Principais Conceitos Envolvidos

• Estado da Arte

• Abordagem Prática

• Referências

Page 55: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IN1008 – PCBD - Prof. Robson Fidalgo UML for Design and Modeling 55

Roteiro

• Motivação

• Objetivo

• Principais Conceitos Envolvidos

• Estado da Arte

• Abordagem Prática

• Referências

Page 56: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IN1008 – PCBD - Prof. Robson Fidalgo UML for Design and Modeling 5656

[1] - Pender,T., UML a Bíblia. Rio de Janeiro: Elsevier, 2004.

[2] - IBM- Rational Software. UML Data Modeling Profile.

[3] – Ferreira, Alex., Análise de Ferramentas de Modelagem UML Gratuitas.

[4] – Correia, José., UML – Unified Modeling Language, Março 2006.

[5] – Silva, A. Videira, C., UML, Metodologias e ferramentas CASE.

[6] – OMG Unified Modeling Language Specification, version 1.4, september

2001.[7] - OMG Unified Modeling Language (OMG UML), Infrastructure, V2.1.2,

November 2007.[8] - OMG Unified Modeling Language (OMG UML), Superstructure, V2.1.2,

November 2007.[9] – Gornik, Davor, UML Data Modeling Profile, Rational Software, IBM.[10] – Sparks, Geofrey, Databse Modeling in UML, Methods & Tools e-

Newsletter, Spark Systens.

Referências

Page 57: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IN1008 – PCBD - Prof. Robson Fidalgo UML for Design and Modeling 57