cin/ufpe – if696 - integração de dados e dw - prof. robson fidalgo 1

44
CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo 1

Upload: esther-castelhano-regueira

Post on 07-Apr-2016

225 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo  1

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo 1

Page 2: CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo  1

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo 2

IN1008 – Projeto Conceitual de BD

Diagramas UML para Modelagem de

dados

Por:David Emmanuel

[email protected]

Page 3: CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo  1

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo 3

Roteiro

• Motivação• Objetivos• História da UML• Conceitos importantes• Arquitetura da UML• Diagramas UML• UML Profile Data Modeling• Referências

Page 4: CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo  1

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo 4

Motivação [1] [2]• Unificação de todos os modelos do sistema (de

aplicação a banco de dados) em torno de uma única linguagem, que pode ser compartilhada por todos os envolvidos no desenvolvimento do sistema (analistas, programadores, DBAs, etc)

• Permite diferentes tipos de modelagem, incluindo modelos para processos de negócio, fluxo de eventos, aplicações, arquiteturas e banco de dados

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

Page 5: CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo  1

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo 5

Objetivos [1] [2] [3]

• Facilitar a comunicação de todas as pessoas envolvidas no processo de desenvolvimento de um sistema

• Representar sistemas de softwares sob diversas perspectivas

• Ser independente de qualquer linguagem de programação

• Ser uma linguagem de modelagem visual expressiva, relativamente simples, e extensível

• Explorar as capacidades introduzidas na UML, com o uso de perfis (profiles), para atendimento das necessidades de modelagem de dados;

Page 6: CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo  1

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo 6

História da UML [4] [5]• As linguagens de modelagem orientadas a objetos surgiram

entre a partir da metade da década de 70• A quantidade de métodos orientados a objetos passou de pouco

mais de 10 para mais de 50 no período de 1989 a 1994• Muitos destes métodos tiveram dificuldades para encontrar uma

linguagem de modelagem capaz de atender inteiramente suas necessidades

• Destacaram-se alguns métodos: Método OMT – Object Modeling Technique (James Rumbaugh)

• Focado Análise e sistemas de informações com uso de dados

Método Booch (Grady Booch)• Permite a especificação de classes , objetos e interações

Método OOSE - Object Oriented Software Engeneering (Ivar Jacobson)• Suporte a captura de requisitos através de UseCases

Page 7: CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo  1

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo

História da UML [4]• Na metade da década de 90 Booch (Rational Software

Corporation), Jacobson (Objectory) e Rumbaugh (General Eletrics) partiram para a criação de uma linguagem unificada de modelagem

• Usando técnicas orientadas a objeto criariam uma linguagem que iria desde o conceito até o sistema executável

• Podendo ser utilizada por homens e máquinas, não somente para criar sistemas complexos como também sistemas menores e outros problemas que não fossem sistemas de informação.

• A criação da UML iniciou oficialmente em outubro de 1994 quando Rumbaugh se juntou a Booch na Rational, com foco inicial na junção dos métodos Booch e OMT.

• O esboço da versão 0.8 do Método unificado foi lançado em outubro de 1995, mesma época em que Jacobson se associou a Rational tentando incorporar o OOSE ao método.

Page 8: CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo  1

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo

História da UML [4]• Após a versão 0.8 a integração do método OOSE ao

método unificado ocorreu, resultando no lançamento da versão 0.9 da UML em junho de 1996

• Esse método foi então aprovado pela comunidade de engenharia de software em geral

• O método despertou o interesse das empresas que criaram um consórcio com investimento de recursos tendo o propósito de trabalhar uma definição mais forte e completa da UML.

• Com isso foi definida a versão 1.0 da UML contando com o apoio destas empresas: Oracle, IBM, Unisys Microsoft, Rational, Intellicorp,Texas Instrument, HP I-Logix, ICON Computing e MCI Systemhouse

Page 9: CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo  1

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo

História da UML [4]• Em janeiro de 1997, com uma linguagem de modelagem bem

definida expressiva, poderosa e que poderia ser aplicada a uma grande variedade de projetos a UML foi oferecida a OMG (Object Management Group).

• De janeiro a julho de 1997 estas empresas se uniram ao grupo: Andersen Consulting, Ericson, Object Time Limited, Platinum Technology, Ptech, Recih Technologies, Softeam, Sterling e Taskon

• Um grupo liderado por Cris Kobryn (MCI SystemHouse) e administrado por Ed Eykholt (Rational) foi formado com o propósito de formalizar a especificação da UML e de integrar alinguagem com outros esforçoes de padronização.

• A versão 1.1 foi entregue a OMG em julho de 1997, em setembro foi aceita pelo Architecture Board da OMG, sendo logo após submetida a votação de todos os membros

• Em 14 novembro de 1997 a versão 1.1 foi adotada pela OMG

Page 10: CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo  1

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo

História da UML [4] [5] [6] [7]• Após ter sido adotada como padrão pela OMG a manutenção

da UML foi então assumida pela RTF (Revision Task Force) da OMG, sob a responsabilidade de Cris Kobryn.

• A RTF lançou uma versão editorial, a UML 1.2 em junho de 1998

• No final do mesmo ano a RTF lançou a UML 1.3• A UML está em contínuo desenvolvimento, depois da versão

1.3 surgiram a UML 1.4 em 2001, em março de 2003 a UML 1.5, em agosto do mesmo ano a UML 2.0 e em novembro de 2007 a UML 2.1

• Por último a UML 2.2 lançada em fevereiro de 2009 em que está organizada em 2 volumes, o Infrastructure UML e o Superstructure UML

Page 11: CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo  1

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo 11

Conceitos importantes [2]

• 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 12: CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo  1

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo 12

Arquitetura da UML [8]

• Arquitetura de 4 níveis da OMG:

Camada Descrição ExemploM3 Meta-

metamodeloDefine a linguagem para especificar metamodelos

MOFMetaClass, MetaAttribute, MetaOperation

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

UML e CWMClass, 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 13: CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo  1

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo 13

Arquitetura da UML [8]

• Exemplo da Arquitetura de 4 níveis da OMG

Page 14: CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo  1

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo 14

Arquitetura da UML [8]

• UML 2.2:Pacotes do volume Infrastructure:

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

A especificação da UML 2.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 15: CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo  1

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo 15

Arquitetura da UML [8]

• UML 2.2:

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 16: CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo  1

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo

Diagramas UML [5] [9]

• Diagramas são os meios utilizados para visualização dos blocos de construção da UML

• São representações gráficas de um conjunto de elementos

• Permitem visualizar o sistema sob diversas perspectivas

• Dividem-se em dois tipos Diagramas Estruturais

• Definem os elementos do sistema e seus relacionamentos Diagramas Comportamentais

• Definem a funcionalidade do sistema, ou seja a interação entre seus elementos

Page 17: CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo  1

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo

Diagramas UML [11]

• Diagramas Estruturais Diagrama de Classes

• Define os elementos básicos de um modelo: os tipos, as classes, as interfaces e os relacionamentos entre eles.

Page 18: CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo  1

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo

Diagramas UML [11]

• Diagramas Estruturais Diagrama de Objetos

• Similar ao diagrama de classes porém sua principal diferença é que ele apresenta atributos com valores

• Corresponde a uma instância do diagrama de classes, mostrando o estado de um sistema em um determinado ponto do tempo

Page 19: CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo  1

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo

Diagramas UML [11]

• Diagramas Estruturais Diagrama de Implantação

• Mostra a configuração dos elementos de processamento em tempo de execução, além dos componentes, processos e objetos existentes no sistema

Page 20: CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo  1

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo

Diagramas UML [11]

• Diagramas Estruturais Diagrama de Componentes

• Apresenta as dependências entre componenetes de software, incluindo implementação de classes, arquivos de código fonte, arquivo de código binário, arquivos executáveis e scripts

Page 21: CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo  1

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo

Diagramas UML [5] [11]

• Diagramas Comportamentais Diagrama de Caso de Uso

• Modela as interações entre o usuário e o sistema, definindo o comportamento, as exigências e o resultado esperado de uma funcionalidade

Page 22: CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo  1

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo

Diagramas UML [12]

• Diagramas Comportamentais Diagrama de Estado

• Demonstra todos os possíveis estados de um objeto, como esses estados mudam (transições) e como os objetos respondem aos eventos

Page 23: CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo  1

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo

Diagramas UML [12]

• Diagramas Comportamentais Diagrama de Sequência

• Mostra as interações entre os objetos a partir de um evento disparado pelo usuário em forma de linha do tempo

Page 24: CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo  1

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo

Diagramas UML [9]

• Diagramas Comportamentais Diagrama de Comunicação

• É focado na organização estrutural dos objetos que enviam e recebem mensagens

Page 25: CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo  1

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo

Diagramas UML [11]

• Diagramas Comportamentais Diagrama de Atividade

• É uma variação do diagrama de estados, representa a execução das ações e as transições que são acionadas pela conclusão de outras atividades

Page 26: CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo  1

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo

UML Profile Data Modeling [10]• Proposto por Scott Ambler

O primeiro elemento que deve ser especificado é o tipo de modelo que está sendo elaborado

Isto pode ser feito através de um texto descritivo em um elemento Nota da UML ou através de um estereótipo

Page 27: CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo  1

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo

UML Profile Data Modeling [10]

• No caso do modelo físico de dados, pode-se também definir o tipo de armazenamento

Page 28: CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo  1

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo

UML Profile Data Modeling [10]

• Tabelas de um banco de dados são definidas através de Class Boxes

• Estas são divididas em três seções Seção 1

• Nome da tabela e estereótipo associado abaixo Seção 2

• Colunas da tabela com especificação do seu tipo de dados• Estereótipo também devem ser associados para definir o tipo de

chave ou restrição do atributo Seção 3

• Definição dos triggers associados às tabela

Page 29: CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo  1

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo

UML Profile Data Modeling [10]

• Exemplo de representação de uma tabela e seus componentes de acordo com o Profile

Page 30: CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo  1

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo

UML Profile Data Modeling [10]

• Class boxes também são utilizadas na representação de Views

• Deve ser levado em conta o emprego obrigatório do estereótipo <<View>>, cuja finalidade é facilitar a distinção entre as tabelas, pois nestas o uso do estereótipo <<Table>> é opcional

Page 31: CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo  1

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo

UML Profile Data Modeling [10]

• A representação de índices também é feita através de Class Boxes

• Deve-se nomear o índice na primeira seção do Class box e empregar o estereótipo <<Index>>

• A dependência com relação a coluna que compõe o um índice pode ser expressa de 2 modos Descrevendo a coluna de dependência na segunda seção

do Class Box e fazendo uma ligação com a tabela Fazendo uma ligação de dependência entre o Class Box

que representa o índice e conectá-lo diretamente na tabela que é utilizada para a formação do índice

Page 32: CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo  1

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo

UML Profile Data Modeling [10]

• Índice representado das duas maneiras possíveis

Page 33: CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo  1

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo

UML Profile Data Modeling [10]

• Da mesma maneira que os elementos anteriores as Stored Procedures também são representadas através de Class Boxes

• Na primeira seção do Class Box deve ser informado um nome para a Stored Procedure e também deve ser empregado o estereótipo <<Stored Procedures>>

• A próxima seção é utilizada para descrever a lista de Stored Procedures ou funções, sendo que devem ser especificados os parâmetros de entrada e o tipo de retorno gerado

Page 34: CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo  1

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo

UML Profile Data Modeling [10]

• Exemplo de uma Stored Procedure de acordo com o perfil proposto por Scott Ambler

Page 35: CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo  1

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo 35

UML Profile Data Modeling [10]

• Lista de estereótipos que podem ser utilizados no modelo físico de dados em associação com o elemento Class Box da UML

Page 36: CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo  1

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo

UML Profile Data Modeling [10]• A representação das chaves de uma tabela é feita através de

estereótipos e também por intermédio de tagged values• Os estereótipos são utilizados para definir o tipo de chave• Tagged Values são conjuntos definidos por expressões do

tipo “nome = valor”• As tagged values são utilizadas para aumentar o nível de

detalhamento das chaves da tabela informando seu tipo e como é feita a sua composição

• A composição de uma chave é feita através da especificação da sua ordem

Page 37: CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo  1

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo

UML Profile Data Modeling [10]

• Exemplo de representação de chaves com estereótipos e Tagged Values

Page 38: CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo  1

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo

UML Profile Data Modeling [10]

• Analisando a figura anterior conclui-se que a composição das chaves pode ser expressa conforme a tabela a seguir

Page 39: CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo  1

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo 39

UML Profile Data Modeling [10]

Page 40: CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo  1

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo

UML Profile Data Modeling [10]

• Os relacionamentos entre tabelas, também chamados de associações, são representadas por linhas sólidas entre as mesmas

• Este profile define uma série de estereótipos que podem ser utilizados durante a modelagem, porém, o próprio autor recomenda a utilização da representação visual dos mesmos sempre que possível

Page 41: CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo  1

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo 41

UML Profile Data Modeling [10]

Page 42: CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo  1

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo 42

UML Profile Data Modeling [10]• A especificação de restrições é feita com a utilização

da OCL (Object Constraint Language)• A OCL é uma linguagem declarativa através da qual

são feitas as descrições de regras que se aplicam aos modelos

Page 43: CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo  1

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo 43

Referências• [1] Diagramas UML para modelagem de Dados – Clarissa Borba e Fabrício

Cabral• [2] Diagramas UML para modelagem de Dados – Érick Gomes• [3] http://www.axpert.com.br/tecnologia/uml/uml.html

• [4] http://imasters.uol.com.br/artigo/2994/uml/historico_da_uml/

• [5] http://www.inf.pucrs.br/~toacy/disciplinas/grad/es-aulas/03 IntroducaoUML.pdf

• [6] http://paginas.fe.up.pt/~ei02084/artigo.pdf

• [7] http://www.omg.org/spec/UML/2.1.2/

• [8] http://www.omg.org/docs/formal/07-11-04.pdf

• [9] http://www.unesp.br/gs/treinamento/graduacao/CursoUML-Diagramas.pdf

• [10] UML Data Modeling Profile – TC de Felipe Dalle Molle UFRGS• [11]http://www.plugmasters.com.br/sys/materias/476/1/UML---Que-raios-%E9-isso

%3F

• [12] http://www.inf.ufrgs.br/procpar/disc/cmp167/trabalhos/sem2001-1/T1/alex/

Page 44: CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo  1

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo 44