in1008 – projeto conceitual de banco de dados professor: robson fidalgo padrões de modelagem de...

40
IN1008 – Projeto Conceitual de Banco de Dados Professor: Robson Fidalgo Padrões de Modelagem de Dados Marcio Magalhães de Souza 28/11/2007

Upload: lucia-porto-silva

Post on 07-Apr-2016

214 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: IN1008 – Projeto Conceitual de Banco de Dados Professor: Robson Fidalgo Padrões de Modelagem de Dados Marcio Magalhães de Souza 28/11/2007

IN1008 – Projeto Conceitual de Banco de DadosProfessor: Robson Fidalgo

Padrões de Modelagem de Dados

Marcio Magalhães de Souza28/11/2007

Page 2: IN1008 – Projeto Conceitual de Banco de Dados Professor: Robson Fidalgo Padrões de Modelagem de Dados Marcio Magalhães de Souza 28/11/2007

2

Roteiro

• Padrões/Estratégias

• Padrões de Modelagem de Dados/Análise

• Considerações Finais

• Referências

Page 3: IN1008 – Projeto Conceitual de Banco de Dados Professor: Robson Fidalgo Padrões de Modelagem de Dados Marcio Magalhães de Souza 28/11/2007

3

Padrões: Objetivo

• Uma ciência deve ter vocabulário para expressar seus conceitos

• Criar um corpo de literatura, para ajudar desenvolvedores de software a resolverem problemas de dificuldade comum, encontrados através da engenharia e desenvolvimento de software (Cottini, 1999)

• “...modeladores...modelagem de dados”

Page 4: IN1008 – Projeto Conceitual de Banco de Dados Professor: Robson Fidalgo Padrões de Modelagem de Dados Marcio Magalhães de Souza 28/11/2007

4

Padrões

• Ajudam a estabelecer uma linguagem compartilhada para comunicação de percepção e experiência sobre problemas e suas soluções

• Expressam exemplos de boa prática, aqueles que podem ser usados para ajudar modeladores no desenvolvimento de resultados mais efetivos. Ajudam desenvolvedores a ganhar um entendimento intuitivo, uma maior sensibilidade para a construção de modelos (Coad et al., 1995).

Page 5: IN1008 – Projeto Conceitual de Banco de Dados Professor: Robson Fidalgo Padrões de Modelagem de Dados Marcio Magalhães de Souza 28/11/2007

5

Padrões

• Representam um grande passo para o reuso

• Bons padrões devem ajudar, guiar ou instruir um profissional inexperiente, através de um processo de solução de problema

• Estratégias

Page 6: IN1008 – Projeto Conceitual de Banco de Dados Professor: Robson Fidalgo Padrões de Modelagem de Dados Marcio Magalhães de Souza 28/11/2007

6

Estratégias: Finalidade

• Uma estratégia consiste em um conjunto de ações, destinado a alcançar determinado objetivo (Coad et al., 1995)

• Guiar o modelador no decorrer do desenvolvimento do projeto, indicando o quê, como e quando executar determinadas ações

Page 7: IN1008 – Projeto Conceitual de Banco de Dados Professor: Robson Fidalgo Padrões de Modelagem de Dados Marcio Magalhães de Souza 28/11/2007

7

Estratégias: Uso

• Fases

– Descoberta• Uso inicial de estratégias

– Generalizações• A todos os limites de possibilidades que uma estratégia pode ser

aplicável

Page 8: IN1008 – Projeto Conceitual de Banco de Dados Professor: Robson Fidalgo Padrões de Modelagem de Dados Marcio Magalhães de Souza 28/11/2007

8

Estratégias: Razões

• Razões

– Falha de abordagens existentes

– Elegância

– Inovação

– Eficiência

Page 9: IN1008 – Projeto Conceitual de Banco de Dados Professor: Robson Fidalgo Padrões de Modelagem de Dados Marcio Magalhães de Souza 28/11/2007

9

Estratégias

• As estratégias consistem em um importante meio, através do qual a realização de uma tarefa se torna mais eficiente e confiável– Confiável

• Fornecem um conjunto de ações que deve ser usado como guia para a realização de determinada tarefa

– Eficiente• Desde que haja mais de um modo para se realizar uma tarefa

• Conhecimento estratégico

Page 10: IN1008 – Projeto Conceitual de Banco de Dados Professor: Robson Fidalgo Padrões de Modelagem de Dados Marcio Magalhães de Souza 28/11/2007

Padrões de Modelagem de Dados

Page 11: IN1008 – Projeto Conceitual de Banco de Dados Professor: Robson Fidalgo Padrões de Modelagem de Dados Marcio Magalhães de Souza 28/11/2007

11

Padrões de Modelagem de Dados: Histórico

• Década de 90

• Tão importante quanto os Padrões de Projeto

• Atualmente, existem dois livros que abordam esse tema

• Padrões de Modelagem de Dados, David C. Hay (1995)

• Padrões de Análise, Martin Fowler (1996)

Page 12: IN1008 – Projeto Conceitual de Banco de Dados Professor: Robson Fidalgo Padrões de Modelagem de Dados Marcio Magalhães de Souza 28/11/2007

12

Padrões de Modelagem de Dados: Diferença

• Padrões de Modelagem de Dados

• Padrões de Análise

Page 13: IN1008 – Projeto Conceitual de Banco de Dados Professor: Robson Fidalgo Padrões de Modelagem de Dados Marcio Magalhães de Souza 28/11/2007

13

Padrões de Modelagem de Dados:Abordagem

• Problemas clássicos– Modelos são sempre difíceis de ler– Modelos não descrevem o que é verdadeiramente fundamental

para o negócio

• Uso de templates de modelos comuns– Aspectos familiares fazem os modelos mais fáceis de ler– Características similares usadas por muitas organizações são

mais apropriadas para descrever aspectos fundamentais para todos os tipos de modelos

Page 14: IN1008 – Projeto Conceitual de Banco de Dados Professor: Robson Fidalgo Padrões de Modelagem de Dados Marcio Magalhães de Souza 28/11/2007

14

Padrões de Modelagem de Dados: Proposta

• Premissas principais– Modelo que se baseia nas notações do CASE*Method– Seja Simples– Poucos símbolos– Tenha uma lógica para dispor as entidades num diagrama– Modele o fundamental para o negócio

• Convenções– Sintática– Posicional– Semântica

Page 15: IN1008 – Projeto Conceitual de Banco de Dados Professor: Robson Fidalgo Padrões de Modelagem de Dados Marcio Magalhães de Souza 28/11/2007

15

Padrões de Modelagem de Dados: Convenção Sintática

• Composta

– Entidades

– Subtipos e Supertipos

– Atributos

– Relacionamentos

Page 16: IN1008 – Projeto Conceitual de Banco de Dados Professor: Robson Fidalgo Padrões de Modelagem de Dados Marcio Magalhães de Souza 28/11/2007

16

Padrões de Modelagem de Dados: Convenção Sintática

• Entidades– Uma entidade é algo com significado sobre a qual uma

organização deseja ter informação– Informação: tangível (produto ou cliente) ou intangível

(transação)– Representação

PRODUTO SERVICO

Page 17: IN1008 – Projeto Conceitual de Banco de Dados Professor: Robson Fidalgo Padrões de Modelagem de Dados Marcio Magalhães de Souza 28/11/2007

17

Padrões de Modelagem de Dados: Convenção Sintática

• Subtipos e Supertipos– Subtipo de uma entidade é a definição de um subconjunto de

suas ocorrências e são mostrados como retângulos dentro da representação dos seus supertipos

PRODUTO SERVICO

ITEM DO CATALOGO

Page 18: IN1008 – Projeto Conceitual de Banco de Dados Professor: Robson Fidalgo Padrões de Modelagem de Dados Marcio Magalhães de Souza 28/11/2007

18

Padrões de Modelagem de Dados: Convenção Sintática

• Atributos– A representação não é obrigatória dentro do diagrama de

modelagem de dados, mas sempre deve existir no dicionário de dados

PRODUTO• Preco unitario

SERVICO

ITEM DO CATALOGO

• Descricao

Page 19: IN1008 – Projeto Conceitual de Banco de Dados Professor: Robson Fidalgo Padrões de Modelagem de Dados Marcio Magalhães de Souza 28/11/2007

19

Padrões de Modelagem de Dados: Convenção Sintática

• Atributos– Um “atributo de” ou um “relacionamento para” um supertipo é

também um “atributo de” ou um “relacionamento para” todo subtipo dentro dele

PRODUTO• Preco unitario

SERVICO

ITEM DO CATALOGO

• Descricao

Page 20: IN1008 – Projeto Conceitual de Banco de Dados Professor: Robson Fidalgo Padrões de Modelagem de Dados Marcio Magalhães de Souza 28/11/2007

20

Padrões de Modelagem de Dados: Convenção Sintática

• Atributos– Transformação de atributo em entidade acontece quando um

atributo tem seus próprios atributos

LIVRO• Autor

LIVRO

AUTOR• Nome

•Ultimo nome•Nacionalidade

Page 21: IN1008 – Projeto Conceitual de Banco de Dados Professor: Robson Fidalgo Padrões de Modelagem de Dados Marcio Magalhães de Souza 28/11/2007

21

Padrões de Modelagem de Dados: Convenção Sintática

• Relacionamentos– São apresentados através da combinação de linhas cheias e

tracejadas

– Os símbolos de relacionamento incluem aqueles de cardinalidade “um”, “muitos” e “um-para-muitos”

– Cada relacionamento pode ser escrito/lido como duas sentenças, cada uma com uma estrutura específica

Page 22: IN1008 – Projeto Conceitual de Banco de Dados Professor: Robson Fidalgo Padrões de Modelagem de Dados Marcio Magalhães de Souza 28/11/2007

22

Padrões de Modelagem de Dados: Convenção Sintática

• Relacionamentos– Forma da sentença

Cada

<entidade 1>

deve ser, deve estar(ou)pode ser, pode estar

linha sólida ---linha tracejada

<nome relacionamento>

uma e somente uma(ou)uma ou mais

<sem marca finalização> ---<tripé>

<entidade 2>

Page 23: IN1008 – Projeto Conceitual de Banco de Dados Professor: Robson Fidalgo Padrões de Modelagem de Dados Marcio Magalhães de Souza 28/11/2007

23

Padrões de Modelagem de Dados: Convenção Sintática

• Relacionamentos– Sentenças construídas

• Sentença 1– “Cada ITEM LINHA deve estar para um e somente um ITEM DO

CATALOGO”

• Sentença 2– “Cada ITEM DO CATALOGO pode ser comprado via um ou mais ITEM

LINHA”

Page 24: IN1008 – Projeto Conceitual de Banco de Dados Professor: Robson Fidalgo Padrões de Modelagem de Dados Marcio Magalhães de Souza 28/11/2007

24

Padrões de Modelagem de Dados: Convenção Sintática

• Relacionamentos

PRODUTO• Preco unitario

SERVICO

ITEM DO CATALOGO

• Descricao

ITEM LINHA• Preco

•Quantidade

para

Comprado via

Page 25: IN1008 – Projeto Conceitual de Banco de Dados Professor: Robson Fidalgo Padrões de Modelagem de Dados Marcio Magalhães de Souza 28/11/2007

25

Padrões de Modelagem de Dados: Convenção Sintática

• Relacionamentos

Page 26: IN1008 – Projeto Conceitual de Banco de Dados Professor: Robson Fidalgo Padrões de Modelagem de Dados Marcio Magalhães de Souza 28/11/2007

26

Padrões de Modelagem de Dados: Convenção Posicional

• Arranjar as entidades no diagrama

• Existe regra?

• Benefícios– Alguém que nunca viu o modelo mas conheça as convenções,

tenha uma idéia do que se trata o diagrama– Ser mais fácil enxergar os padrões

Page 27: IN1008 – Projeto Conceitual de Banco de Dados Professor: Robson Fidalgo Padrões de Modelagem de Dados Marcio Magalhães de Souza 28/11/2007

27

Padrões de Modelagem de Dados: Convenção Posicional

• Disposição aleatória de entidades no diagrama

Page 28: IN1008 – Projeto Conceitual de Banco de Dados Professor: Robson Fidalgo Padrões de Modelagem de Dados Marcio Magalhães de Souza 28/11/2007

28

Padrões de Modelagem de Dados: Convenção Posicional

• Disposição ordenada das entidades no diagrama

Page 29: IN1008 – Projeto Conceitual de Banco de Dados Professor: Robson Fidalgo Padrões de Modelagem de Dados Marcio Magalhães de Souza 28/11/2007

29

Padrões de Modelagem de Dados: Convenção Semântica

• Consiste em modelar situações de negócios similares de formas similares

– Exemplo 1• Considere uma companhia. Ela pode ser composta de divisões que por

sua vez pode ser composta de departamentos e cada um deste pode ser composto por grupos.

Page 30: IN1008 – Projeto Conceitual de Banco de Dados Professor: Robson Fidalgo Padrões de Modelagem de Dados Marcio Magalhães de Souza 28/11/2007

30

Padrões de Modelagem de Dados: Convenção Semântica

• Um modelo de organização

Page 31: IN1008 – Projeto Conceitual de Banco de Dados Professor: Robson Fidalgo Padrões de Modelagem de Dados Marcio Magalhães de Souza 28/11/2007

31

Padrões de Modelagem de Dados: Convenção Semântica

• Representação geral de Organização

– Exemplo 2• Considere uma organização, onde cada instância de organização pode

ser composta de uma ou mais outras organizações.

Page 32: IN1008 – Projeto Conceitual de Banco de Dados Professor: Robson Fidalgo Padrões de Modelagem de Dados Marcio Magalhães de Souza 28/11/2007

32

Padrões de Modelagem de Dados: Convenção Semântica

• Incrementar a representação geral de Organização

– Exemplo 3• Considere uma organização, onde cada instância de organização pode

ser composta de uma ou mais outras organizações. Cada organização, na seqüência, deve ser um exemplo de um e somente um tipo de organização (que define se é uma divisão, grupo, etc.)

Page 33: IN1008 – Projeto Conceitual de Banco de Dados Professor: Robson Fidalgo Padrões de Modelagem de Dados Marcio Magalhães de Souza 28/11/2007

33

Padrões de Modelagem de Dados: Convenção Semântica

• Representação geral de Organização com Restrição

Page 34: IN1008 – Projeto Conceitual de Banco de Dados Professor: Robson Fidalgo Padrões de Modelagem de Dados Marcio Magalhães de Souza 28/11/2007

34

Padrões de Modelagem de Dados: Convenção Semântica

• Convenções de Pensamento– Estabelece 5 tipos de padrões avançados

• Estrutura organizacional

• Produtos e inventários

• Planejamento de requisição de material

• Contas

• Contratos

Page 35: IN1008 – Projeto Conceitual de Banco de Dados Professor: Robson Fidalgo Padrões de Modelagem de Dados Marcio Magalhães de Souza 28/11/2007

35

Padrões de Modelagem de Dados: Convenção Semântica

• Modelo Universal

Page 36: IN1008 – Projeto Conceitual de Banco de Dados Professor: Robson Fidalgo Padrões de Modelagem de Dados Marcio Magalhães de Souza 28/11/2007

36

Considerações Finais

• Após 10 anos não foi estabelecido um completo conjunto de práticas padrões, pois o campo da modelagem de dados ainda não atingiu a maturidade suficiente

• O campo ainda é fértil para este tipo de abordagem, principalmente se considerar a visão de Hay

Page 37: IN1008 – Projeto Conceitual de Banco de Dados Professor: Robson Fidalgo Padrões de Modelagem de Dados Marcio Magalhães de Souza 28/11/2007

37

• Hay, David C. “Data Model Patterns-Conventions of Thouhgt”, 1996.

• Cottini, Letícia T. “Estratégias e Padrões para Modelagem de Banco de Dados para Sistemas Baseados na Arquitetura Softboard”, Instituto Nacional de Pesquisas Espaciais - INPE, 1999.

• Muller, Robert J. “Database Design for Smarties-Using UML for Data Modeling”, 1999.

• http://www.essentialstrategies.com/publications/modeling/advanceddm.htm, Novembro/2007.

Referências

Page 38: IN1008 – Projeto Conceitual de Banco de Dados Professor: Robson Fidalgo Padrões de Modelagem de Dados Marcio Magalhães de Souza 28/11/2007

38

• http://www.essentialstrategies.com/publications/modeling/, Novembro/2007.

• http://www.agiledata.org/essays/dataModeling101.html#ApplyDataModelPatterns, Novembro/2007.

• Marlowe, Thomas J., Ku, Cyril S. e James W., Benham. “Design Patterns for Database Pedagogy – A Proposal”, Technical Symposium on Computer Science Education, St. Louis-Missouri-USA, 2005.

Referências

Page 39: IN1008 – Projeto Conceitual de Banco de Dados Professor: Robson Fidalgo Padrões de Modelagem de Dados Marcio Magalhães de Souza 28/11/2007

39

?Dúvidas

Page 40: IN1008 – Projeto Conceitual de Banco de Dados Professor: Robson Fidalgo Padrões de Modelagem de Dados Marcio Magalhães de Souza 28/11/2007

IN1008 – Projeto Conceitual de Banco de DadosProfessor: Robson Fidalgo

Padrões de Modelagem de Dados

Marcio Magalhães de Souza28/11/2007