cin/ufpe – if696 - integração de dados e dw - prof. robson fidalgo 1
TRANSCRIPT
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
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
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;
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;
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
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.
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
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
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
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.
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 ...
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
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.
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.
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
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.
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
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
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
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
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
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
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
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
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
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
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
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
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
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
CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo
UML Profile Data Modeling [10]
• Índice representado das duas maneiras possíveis
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
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
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
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
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
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
CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo 39
UML Profile Data Modeling [10]
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
CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo 41
UML Profile Data Modeling [10]
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
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/
CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo 44