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

Post on 07-Apr-2016

214 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

IN1008 – Projeto Conceitual de Banco de DadosProfessor: Robson Fidalgo

Padrões de Modelagem de Dados

Marcio Magalhães de Souza28/11/2007

2

Roteiro

• Padrões/Estratégias

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

• Considerações Finais

• Referências

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”

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

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

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

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

8

Estratégias: Razões

• Razões

– Falha de abordagens existentes

– Elegância

– Inovação

– Eficiência

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

Padrões de Modelagem de Dados

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)

12

Padrões de Modelagem de Dados: Diferença

• Padrões de Modelagem de Dados

• Padrões de Análise

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

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

15

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

• Composta

– Entidades

– Subtipos e Supertipos

– Atributos

– Relacionamentos

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

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

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

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

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

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

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>

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”

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

25

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

• Relacionamentos

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

27

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

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

28

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

• Disposição ordenada das entidades no diagrama

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.

30

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

• Um modelo de organização

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.

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

33

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

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

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

35

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

• Modelo Universal

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

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

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

39

?Dúvidas

IN1008 – Projeto Conceitual de Banco de DadosProfessor: Robson Fidalgo

Padrões de Modelagem de Dados

Marcio Magalhães de Souza28/11/2007

top related