Metodologias e Processos para Projeto Conceitual de Banco de Dados

Slides:



Advertisements
Apresentações semelhantes
01/08/2011 Professor Leomir J. Borba- –
Advertisements

Análise e Projeto de Sistemas I
Sistema de informação:
Profa. Dra Maria Luiza de Almeida Campos
gerador de código intermediário
MER – Modelo de Entidade Relacionamento
Banco de Dados I Aula 24.
Rational Unified Process
UML Modelando um sistema.
Fundamentos de Engenharia de SW
Diagrama de Fluxo de Dados – DFD
Resumo 1.1) Introdução 1.2) Abordagem Convencional de Arquivos
O Modelo E-R Definição: Características
Diagrama de fluxo de dados (DFD)
(Unified Modeling Language)
Prof.: Bruno Rafael de Oliveira Rodrigues
Engenharia de Software
Modelo Entidade-Relacionamento
FACULDADE DOS GUARARAPES
Otimização de Consultas em SQL Parte I - Planos de Execução e Equivalências de Expressões da Álgebra Relacional AULA 19 Profa. Sandra de Amo Programa.
Otimização de Consultas em SQL Planos de Execução e Equivalências de Expressões da Álgebra Relacional AULA 24 Profa. Sandra de Amo GBC053 – BCC
UML Diagrama de Classes elementos básicos. Contexto Os diagramas de classes fazem parte do da visão estática da UML. Os elemento desta visão são conceitos.
15 Introdução à Manipulação de Planilhas Eletrônicas Planilhas Eletrônicas são tabelas usadas para comunicar informações de forma clara, precisa e sucinta.
Professora: Aline Vasconcelos
SCC Bancos de Dados e Suas Aplicações
Ferramentas CASE ERwin
Introdução à Modelagem Conceitual 1. Conceitos Básicos
- GQM – Goal/Question/Metric
Engenharia de Requisitos Requisito – sistema Caso de uso - usuário
Aspectos Avançados em Engenharia de Software Aula 3 Fernanda Campos
Tecnologias de Linguagens para Banco de Dados I
Diagramas de Sequência e Comunicação
Modelagem de Dados Usando o Modelo Entidade-Relacionamento
Prof. Alfredo Parteli Gomes
Tesauros José Antonio M. Nascimento.
SQL Server 2012 Introdução a Modelagem de Dados
Diagrama de Classes e Colaboração
BANCO DE DADOS APLICADO AO DESENVOLVIMENTO DE SOFTWARE
Metolodogia de Desenvolvimento de Data Warehouse
Bancos de Dados Projeto de BD
Tuning Lílian Simão Oliveira.
Fase de Elaboração: Fluxo de Análise Análise de Sistemas de Software Prof. Rodrigo Ribeiro.
Profª Daniela TLBD.
Engenharia de Software
Cardinalidade Expressa o numero de entidades as quais outra entidade pode estar associada via um conjunto de relacionamentos.
Projeto de Banco de Dados
Introdução a Banco de dados
Vânia Maria P. Vidal, José Maria Monteiro, Luís Eufrasio T. Neto
Análise de Sistemas de Informação
Objetivos Apresentar de forma breve a Metodologia de Modelagem Orientada a Objetos (OMT). A partir de um modelo de objetos de um sistema de informação.
Bruno Silva Desenvolvido a partir de
Banco de Dados Aplicado ao Desenvolvimento de Software
Processo de Desenvolvimento de Software
Cristina Paludo Santos URI – Campus de Santo Ângelo
Campus de Caraguatatuba Aula 2: Introdução a Tecnologia de BD
Processos de Software.
A Linguagem Formal de Especificação VDM-SL
Banco de dados 1 Modelagem de Dados Utilizando MER
Engenharia de Software
TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ANÁLISE E PROJETO DE SISTEMAS Aula /08/2012 Professor Leomir J. Borba-
Projeto de Banco de Dados
Banco de Dados I Aula 3 - Projeto Conceitual de Banco de Dados
Marcos Corrêa Neves Gilberto Câmara Renato M. Assunção
Professora: Kelly de Paula Cunha
CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo  1.
Fundamentos de Banco de Dados Prof. André Cypriano M. Costa
Modelagem Entidade-Relacionamento (MER)
INTELIGÊNCIA EMPRESARIAL Aula 9 - Modelagem de Data Warehouse.
Modelagem de Dados Aula 4. 2 Implementação de Entidades Não é aconselhável simplesmente transcrever os nomes dos atributos para nomes de colunas. Nomes.
Modelagem de Dados Aula 3.
Transcrição da apresentação:

Metodologias e Processos para Projeto Conceitual de Banco de Dados Erica Teixeira Gomes de Sousa (etgs@cin.ufpe.br) Prof: Drº Robson do Nascimento Fidalgo

Roteiro Motivação Introdução Esquema de Transformação Primitivas Top-down Bottom-up Metodologias Mista Inside-out Processos Conclusão Referências

Motivação Estudo da fase mais crítica de projeto de banco de dados. Entendimento da importância do usuário do banco de dados em relação ao sucesso do projeto conceitual. Criação do projeto inicial. Criação do projeto final a partir de refinamentos no projeto inicial.

Introdução A construção de um esquema ER é um processo incremental: nossa visão da realidade é progressivamente refinada e enriquecida, o esquema é gradativamente desenvolvido. Primitivas de refinamento São um conjunto de transformações que podem ser aplicadas ao esquema inicial e produzir um esquema final. Tornam a construção do esquema mais simples e confiável. Top-down Bottom-up

Introdução Estratégias baseadas nas primitivas Top-down Refina conceitos abstratos em conceitos concretos. Bottom-up Refina conceitos concretos em conceitos abstratos. Mista Inside-out As estratégias e primitivas são blocos de construção utilizados na metodologia de projeto conceitual. A metodologia de projeto conceitual deve obedecer a dois aspectos: Rigorosa Flexível

Introdução Rigorosa Deve sugerir uma estratégia para todas as decisões importantes feitas durante o projeto. As estratégias devem ser baseadas numa abordagem formal onde cada processo de decisão deve corresponder a um algoritmo. Flexível Deve ser aplicada a uma variedade de situações e cenários.

Esquema de Transformação O esquema do projeto conceitual é resultado de uma análise complexa de suas exigências. O esquema inicial passa por processos interativos ou transformações até atingir o processo final. Características Começa com um esquema inicial que é transformado e resulta em um esquema final. Cada esquema de transformação mapeia nomes de conceitos do esquema inicial em nomes de conceitos do esquema final. Conceitos do esquema final devem ter todas as conexões lógicas definidas para os conceitos do esquema inicial.

Esquema de Transformação Esquema Inicial Esquema Final

Esquema de Transformação

Primitivas As primitivas de refinamento são responsáveis pelas transformações. O tipo de transformação usada durante a fase de projeto está relacionada a qualidade da atividade de projeto. Deve-se usar o menor conjunto de transformações para atender as exigências de modelagem. Uso de um conjunto de estruturas simples ou transformações primitivas que não podem ser decompostas.

Primitivas Top-down Bottom-up Refinamento puro que é um refinamento aplicado a um conceito simples e produz mais detalhes descritivos sobre o conceito. Bottom-up Introduz um novo conceito e propriedades que não aparecem num esquema anterior.

Primitivas Top-down Propriedades Tem uma estrutura simples: O esquema inicial é um conceito simples e resulta em um esquema final composto de um pequeno conjunto de conceitos. Todos os nomes são refinados em novos nomes descrevendo o conceito original com um menor nível de abstração. As conexões lógicas do esquema final devem ser obtidas do conceito simples.

Primitivas Top-down

Primitivas Top-down

Primitiva T1 Esquema Inicial Esquema Final Refinamento de uma entidade em um relacionamento entre duas ou mais entidades.

Primitiva T1 Esquema Inicial Esquema Final Refinamento de uma entidade em um relacionamento entre duas ou mais entidades.

Primitiva T1 Transformação Refinamento de uma entidade em um relacionamento entre duas ou mais entidades.

Primitiva T2 Esquema Inicial Esquema Final Refinamento de uma entidade em uma generalização.

Primitiva T2 Esquema Inicial Esquema Final Refinamento de uma entidade em uma generalização.

Primitiva T2 Transformação Refinamento de uma entidade em uma generalização.

Primitiva T3 Esquema Inicial Esquema Final Refinamento de uma entidade em um conjunto de entidades independentes.

Primitiva T3 Esquema Inicial Esquema Final Refinamento de uma entidade em um conjunto de entidades independentes.

Primitiva T3 Transformação Refinamento de uma entidade em um conjunto de entidades independentes.

Primitiva T4 Esquema Inicial Esquema Final Refinamento de um relacionamento em dois (ou mais) relacionamentos entre as mesmas entidades.

Primitiva T4 Esquema Inicial Esquema Final Refinamento de um relacionamento em dois (ou mais) relacionamentos entre as mesmas entidades.

Primitiva T4 Transformação Refinamento de um relacionamento em dois (ou mais) relacionamentos entre as mesmas entidades.

Primitiva T5 Esquema Inicial Esquema Final Refinamento de um relacionamento em entidade e relacionamentos

Primitiva T5 Esquema Inicial Esquema Final Refinamento de um relacionamento em entidade e relacionamentos

Primitiva T5 Transformação Refinamento de um relacionamento em entidade e relacionamentos

Primitiva T6 Esquema Inicial Esquema Final Refinamento de uma entidade (ou relacionamento) com a introdução de atributos.

Primitiva T6 Esquema Inicial Esquema Final Refinamento de uma entidade (ou relacionamento) com a introdução de atributos.

Primitiva T6 Transformação Refinamento de uma entidade (ou relacionamento) com a introdução de atributos.

Primitiva T7 Esquema Inicial Esquema Final Refinamento de uma entidade (ou relacionamento) com a introdução de atributos compostos.

Primitiva T7 Esquema Inicial Esquema Final Refinamento de uma entidade (ou relacionamento) com a introdução de atributos compostos.

Primitiva T7 Transformação Refinamento de uma entidade (ou relacionamento) com a introdução de atributos compostos.

Primitiva T8 Esquema Inicial Esquema Final Refinamento de um atributo simples em um atributo composto ou em um grupo de atributos.

Primitiva T8 Esquema Inicial Esquema Final Refinamento de um atributo simples em um atributo composto ou em um grupo de atributos.

Primitiva T8 Transformação Refinamento de um atributo simples em um atributo composto ou em um grupo de atributos.

Primitivas Bottom-up Introduz novos conceitos e propriedades que não aparecem em um esquema anterior, ou modifica os conceitos existentes. Usadas no projeto de um esquema quando descobrimos features do domínio de aplicação que não podem ser capturadas por esquemas anteriores em qualquer nível de abstração. Usadas quando diferentes esquemas são integrados em um esquema global.

Primitivas Bottom-up

Primitivas Bottom-up

Primitiva B1 Esquema Inicial Esquema Final Geração de uma nova entidade

Primitiva B1 Esquema Inicial Esquema Final Geração de uma nova entidade

Primitiva B1 Transformação Geração de uma nova entidade

Primitiva B2 Esquema Inicial Esquema Final Geração de um novo relacionamento entre entidades.

Primitiva B2 Esquema Inicial Esquema Final Geração de um novo relacionamento entre entidades.

Primitiva B2 Transformação Geração de um novo relacionamento entre entidades.

Primitiva B3 Esquema Inicial Esquema Final Refinamento de entidades em uma generalização.

Primitiva B3 Esquema Inicial Esquema Final Refinamento de entidades em uma generalização.

Primitiva B3 Transformação Refinamento de entidades em uma generalização.

Primitiva B4 Esquema Inicial Esquema Final Geração de um atributo e a agregação dele a uma entidade.

Primitiva B4 Esquema Inicial Esquema Final Geração de um atributo e a agregação dele a uma entidade.

Primitiva B4 Transformação Geração de um atributo e a agregação dele a uma entidade.

Primitiva B5 Esquema Inicial Esquema Final Geração de um atributo composto e a agregação dele a uma entidade.

Primitiva B5 Esquema Inicial Esquema Final Geração de um atributo composto e a agregação dele a uma entidade.

Primitiva B5 Transformação Geração de um atributo composto e a agregação dele a uma entidade.

Primitivas Propriedades Completo O conjunto de primitivas é completo se qualquer esquema pode ser construído a partir de um esquema inicial pela aplicação de uma seqüência de primitivas. Mínimo O conjunto de primitivas é mínimo se não existe primitiva do conjunto que possa ser expressada usando outras primitivas.

Primitivas

Primitivas Propriedades As primitivas top-down não são completas. Basta verificar que há esquemas que não podem ser gerados com uso apenas de primitivas top-down. As primitivas bottom-up são mínimas ou seja cada primitiva introduz um conceito diferente do modelo. As primitivas bottom-up são completas ou seja cada esquema pode ser gerado primeiro com a introdução de entidades e então com a inserção de todos os outros conceitos com o uso das primitivas apropriadas. Todos os esquemas podem ser gerados a partir das primitivas bottom-up mas somente alguns esquemas podem ser gerados a partir das primitivas top-down.

Metodologias Top-down Bottom-up Inside-out Mista

Top-down A estratégia top-down deve ser aplicada quando o projetista tem uma visão high-level de todos os requisitos de projeto. O esquema é obtido aplicando a primitiva de refinamento top-down onde cada primitiva introduz um novo detalhe no esquema. O processo termina quando todas os requisitos de projeto são representadas. O cone representa abstratamente o processo de projeto: a cada transformação top-down, o projetista move de um plano para outro do cone indicando uma nova etapa do projeto. Todos os conceitos representados no esquema final devem estar presente em cada plano de refinamento.

Top-down Domínio de Aplicação Plano do Primeiro Refinamento Plano do Refinamento Genérico Plano do Refinamento Final

Projeto Exemplo: Designação do banco de dados do censo representado pelas propriedades das pessoas e áreas geográficas. Propriedades das pessoas: Nome Idade Altura Lugar de nascimento Data de nascimento Endereço residencial Tempo de moradia Número de reservista

Projeto Exemplo: Designação do banco de dados do censo representado pelas propriedades das pessoas e áreas geográficas. Propriedades dos lugares: Nome População País de origem País estrangeiro. O estado brasileiro referente ao país de origem. O continente referente ao país estrangeiro.

Projeto Top-down Primeiro Esquema Segundo Esquema Refinamento de uma entidade em um relacionamento entre duas ou mais entidades.

Projeto Top-down Terceiro Esquema Refinamento de uma entidade em uma generalização. Refinamento de uma entidade (ou relacionamento) com a introdução de atributos.

Projeto Top-down

Bottom-up O esquema é obtido aplicando a primitiva de refinamento bottom-up. O esquema inicial começa com conceitos elementares e a cada transformação conceitos mais complexos são obtidos. Os requisitos de projeto são decompostos,conceituados independentemente e organizados em um esquema global. No processo de projeto mostrado na figura, os conceitos elementares pertencentes ao esquema são produzidos; então as estruturas provindas pelo modelo conceitual são agregadas para formação de um esquema final.

Bottom-up Domínio de Aplicação Produção de Conceitos Elementares Coleta de Conceitos Elementares Agregação de Conceitos Elementares Esquema Final

Bottom-up A vantagem da estratégia bottom-up é que vários fragmentos do problema são produzidos por vez então vários esquemas intermediários são produzidos, rapidamente. A desvantagem da estratégia bottom-up é a necessidade de reestruturar o esquema. Quando esquemas complexos são integrados, uma apropriada reestruturação é sempre difícil e crucial. A soma da observação de conceitos concretos e semânticas de relacionamentos são obtidos no fim do processo de projeto. Podem ser obtidos diferentes esquemas do resultado do projeto top-down e bottom-up.

Projeto Exemplo: Designação do banco de dados do censo representado pelas propriedades das pessoas e áreas geográficas. Propriedades das pessoas: Nome Idade Altura Lugar de nascimento Data de nascimento Endereço residencial Tempo de moradia Número de reservista do homem.

Projeto Exemplo: Designação do banco de dados do censo representado pelas propriedades das pessoas e áreas geográficas. Propriedades dos lugares: Nome População País de origem País estrangeiro. O estado brasileiro referente ao país de origem. O continente referente ao país estrangeiro.

Projeto Bottom-up Primeiro Esquema Segundo Esquema Serviço Militar Nome Idade Altura Data Nascimento Anos Estado Continente Nome Local População Geração de um atributo e a agregação dele a uma entidade.

Projeto Bottom-up Terceiro Esquema Refinamento de entidades em uma generalização.

Projeto Bottom-up

Inside-out A estratégia inside-out é um caso especial da estratégia bottom-up. Inicialmente, os conceitos considerados mais importantes são determinados e gradativamente conceitos periféricos são adicionados. Na estratégia inside-out, os refinamentos são ordenados como na estratégia top-down. Entretanto, os níveis de abstração introduzidos nas sucessivas versões dos esquemas são similares. Não há vantagem na criação dos esquemas pelo nível de abstração.

Inside-out Domínio de Aplicação Seleção do Conceito mais Importante Esquema Inicial Esquema Intermediário Procede movendo como uma mancha de óleo Esquema Final

Projeto Exemplo: Designação do banco de dados do censo representado pelas propriedades das pessoas e áreas geográficas. Propriedades das pessoas: Nome Idade Altura Lugar de nascimento Data de nascimento Endereço residencial Tempo de moradia Número de reservista do homem.

Projeto Exemplo: Designação do banco de dados do censo representado pelas propriedades das pessoas e áreas geográficas. Propriedades dos lugares: Nome População País de origem País estrangeiro. O estado brasileiro referente ao país de origem. O continente referente ao país estrangeiro.

Projeto Inside-out

Mista Envolve as vantagens das estratégias top-down e bottom-up, permitindo o particionamento dos requisitos. Os esquemas são particionados em grupos baseados em sua similaridade. Cada grupo é integrado separadamente. Este processo é repetido até a geração de um esquema final. Um esquema esqueleto representa o conceito mais importante do domínio de aplicação.

Misto Domínio de Aplicação Domínio de Aplicação 1 Esquema Esqueleto Esquema 1 Esquema 2 Esquema Integrado

Projeto Exemplo: Designação do banco de dados do censo representado pelas propriedades das pessoas e áreas geográficas. Propriedades das pessoas: Nome Idade Altura Lugar de nascimento Data de nascimento Endereço residencial Tempo de moradia Número de reservista do homem.

Projeto Exemplo: Designação do banco de dados do censo representado pelas propriedades das pessoas e áreas geográficas. Propriedades dos lugares: Nome População País de origem País estrangeiro. O estado brasileiro referente ao país de origem. O continente referente ao país estrangeiro.

Projeto Mista Esquema Esqueleto Esquema Pessoas

Projeto Mista Esquema Locais

Projeto Mista

Comparação entre as estratégias

Processos Análise de requisitos. Análise de requisitos para descoberta das ambigüidades e entendimento do significado dos termos. Particionamento das sentenças em conjuntos homogêneos onde cada conjunto corresponde a um conceito específico. Projeto Inicial. Construção de um esquema esqueleto global baseado nos grupos de sentenças. Projeto do esquema - para cada conceito no esquema esqueleto, aplicar Primitiva Top-down Primitiva Bottom-up até todos os requisitos terem sido expressos no esquema.

Análise de Requisitos Escolha do apropriado nível de abstração para os termos. Exemplos: Lugar → Cidade Período → Número de anos Evitar o uso de instâncias ao invés de conceitos gerais. Maior especificação dos termos que o necessário. Exemplo: “Diariamente, eu preciso saber a quantidade de chips no estoque” O conceito é componente e não chips. Evitar expressões repetidas. Olhe a pessoa sentada no setor de reservas fazendo reservas de vôos. Olhe o atendente fazendo reservas de vôos.

Análise de Requisitos Checar a existência de sinônimos e homônimos. Fazer referências explícitas entre termos . Exemplo: O Número do telefone é do departamento ou professor. Construção de um glossário de termos. Para eliminar ambigüidades dos requisitos e entender o significado dos termos. Apenas os termos do glossário devem ser usados para descrever os requisitos.

Requisitos do banco de dados de uma universidade Análise de Requisitos Termos ambíguos. Requisitos do banco de dados de uma universidade Fonte:Batini,Ceri e Navathe

Particionamento das sentenças em grupos homogêneos. Análise de Requisitos Particionamento das sentenças em grupos homogêneos. Fonte:Batini,Ceri e Navathe

Projeto Inicial Primeiro Esquema Esqueleto

Projeto Inicial Refinamento do Esquema Esqueleto

Projeto do Esquema Transformação Top-down

Projeto do Esquema Refinamento do Esquema Esqueleto

Projeto do Esquema Transformação Bottom-up

Projeto do Esquema Transformação Inside-out

Projeto do Esquema Transformação Inside-out

Projeto do Esquema Esquema Final

Conclusão O uso das metodologias para o projeto conceitual de banco de dados evitam falhas no desenvolvimento de sistemas de informação. A análise dos requisitos com entendimento dos termos e filtragem das ambigüidades para posterior agrupamento dos termos de forma de acordo com os conceitos que representam. Criação de um projeto inicial baseado nas sentenças. Criação de um projeto esquema com o uso das metodologias de projeto conceitual de banco de dados.

Referências Batini C., Ceri S., Navathe S. Conceptual Database Design: An Entitiy Relationship Approach. The Benjamin/Cummings Publishing Company, Inc. 1992. •Heuser, C. Projeto de Banco de Dados. Instituto de informática da UFRGS, 4º Edição,1998. Cameira R. e Caulliraux H. Engenharia de processos de negócios: Considerações, Metodologias com vistas à Análise e Integração de Processos.