A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo  1.

Apresentações semelhantes


Apresentação em tema: "CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo  1."— Transcrição da apresentação:

1 CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo  1

2 2 IN1008 – Projeto Conceitual de BD Model Driven Architecture – MDA Exemplos de aplicações de Perfis Por: Cláudia Carolina N. Souza ccns@cin.ufpe.br

3 CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo  3 Roteiro Motivação Objetivo Principais Conceitos Envolvidos Estado da Arte Abordagem Prática Referências

4 CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo  4 Motivação:  A heterogeneidade é uma característica inerente dos sistemas computacionais atuais. Logo, não existe uma plataforma específica que seja utilizada para todos os propósitos;[7]  A abordagem MDA é utilizada para dar ênfase no desenvolvimento orientada a modelos em relação a tecnologia;  Nesse sentido, a UML é utilizada para especificar a notação e a semântica dos modelos;  Entretanto, a especificação UML não engloba todos os as aspectos de modelagem para cada plataforma ou domínio de modelagem específico;  Logo, para satisfazer a essas necessidades, a UML apresenta uma arquitetura extensível, para montar perfis; MDA - Exemplos de aplicações de Perfis

5 CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo  5 Roteiro Motivação Objetivo Principais Conceitos Envolvidos Estado da Arte Abordagem Prática Referências

6 CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo  6 Objetivo:  Apresentar principais conceitos e exemplos de Perfis;  Apresentar a biblioteca da Infra-estrutura da UML;  Abordar as formas de definição de metamodelos: Estender UML e Metamodelo MOF;  Discutir a utilização de Profile UML versus Metamodelo MOF;  Abordar, suncitamente, OCL (Object Constraint Language) e XMI(XML Metadata Interchange);  Apresentar ferramentas de modelagem que suportam a criação e a utilização de perfis. MDA - Exemplos de aplicações de Perfis

7 CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo  7 Roteiro Motivação Objetivo Principais Conceitos Envolvidos Estado da Arte Abordagem Prática Referências

8 CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo  8 Principais Conceitos  Perfil É uma forma de prover extensões na UML através da utilização dos mecanismos de extensibilidade, tais quais: estereótipos, tagged values e restrições. [1] MDA - Exemplos de aplicações de Perfis Perfis foram introduzidos no UML 1.3 como uma maneira de estender a linguagem de modelagem. Na UML 2.0, foi inserido um novo mecanismo de extensão, o meta-modelo. Logo, o meta-modelo da UML é um modelo utilizado para definir o UML, sendo possível adicionar novas regras ao meta-modelo de forma a estender a UML. [8] Mecanismo que define uma linguagem para expressar um modelo

9 CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo  9 Principais Conceitos  Estereótipos Corresponde a um valor de propriedade aplicado a um elemento UML para estender suas propriedade e alterar ligeiramente sua semântica. A notação do estereótipo é feita por entre dois “guillemots”. MDA - Exemplos de aplicações de Perfis

10 CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo  10 Principais Conceitos  Tagged Values São propriedades extras que podem ser atribuídas aos estereótipos criados previamente, permitindo a inserção de informações adicionais. [8] Exemplo:  Autor de uma classe,ou data em que a classe foi criada. MDA - Exemplos de aplicações de Perfis Tagged Values são expressos na da seguinte forma: nome=valor : autor=“Cláudia” Delimitados com chaves: {autor=“Tom”, data_criação=“22/05/07”}

11 CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo  11 Principais Conceitos  Restrições Permitem especificar regras e restrições sobre elementos do modelo UML. Uma restrição é delimitada por chaves { }. Exemplo: MDA - Exemplos de aplicações de Perfis As restrições são expressas mais formalmente por meio da OCL

12 CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo  12 MDA - Exemplos de aplicações de Perfis Principais Conceitos  Object Constraint Language (OCL) Provê um conjunto de elementos para definir expressões; As expressões OCL não modificam o estado dos objetos, mas definem restrições sobre os mesmos; É utilizada para representar a semântica dos modelos que não podem ser representadas pelos diagramas UML. [7]

13 CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo  13 Principais Conceitos:  XMI (XML Metadata Interchange) Especificação desenvolvida pela OMG; Baseada na XML; Permite que as ferramentas de modelagem de diferentes fornecedores possam exportar os modelos UML para XMI; Permite, também, trocar informações com base em qualquer metamodelo baseado na MOF; Possibilita que os fornecedores manipulem a saída de dados XMI das ferramentas de modelagem, transformando-a em outras formas, como código. MDA - Exemplos de aplicações de Perfis

14 CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo  14 Definindo um Perfil MDA - Exemplos de aplicações de Perfis Infra-estrutura da UML [1] Define os conceitos básicos para a modelagem da própria UML Estender o metamodelo UML e MOF

15 CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo  15 Profile UML versus Metamodelo MOF A vantagem de estender a UML através de perfis:  Possui ferramentas de modelagem UML que possuem suporte ao uso de perfis; Criar um novo metamodelo MOF:  Permite mecanismos de herança, classes, pacotes para criar metamodelos;  Entretanto, o único tipo de extensão entendido pelas ferramentas UML são através de profiles  As ferramentas, atuais, de modelagem suportam apenas o metamodelo UML. MDA - Exemplos de aplicações de Perfis

16 CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo  16 Roteiro Motivação Objetivo Principais Conceitos Envolvidos Estado da Arte Abordagem Prática Referências

17 CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo  17 Estado da arte  Há um número ilimitado de perfis; [1]  A proliferação de perfis é contrária ao objetivo da UML;  Nesse sentido, a OMG estabeleceu um processo de adoção para perfis, para que os especialistas no setor possam se juntar e formar perfis padrão para diversos domínios de modelagem; MDA - Exemplos de aplicações de Perfis

18 CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo  18 Estado da Arte  Perfis Adotados pela OMG UML Testing Profile  Estende a UML para modelar informações no teste dos sistemas;  Permitir especificar testes em vários níveis, como: casos de teste no nível de integração de sistemas. UML Profile for Software Development Process  Usado com o Rational Unified Process (RUP), e tem suas origens no trabalho de Ivar Jacobson;  É definido somente através de estereótipos e restrições;  É responsável por introduzir os estereótipos de classe >, > e >. MDA - Exemplos de aplicações de Perfis

19 CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo  19 Estado da Arte  Web Application Extensions Propostos por Jim Conallen; Auxiliar na modelagem de aplicações web; Identifica os elementos específicos para a construção de aplicações web. MDA - Exemplos de aplicações de Perfis

20 CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo  20 Estado da Arte  UML Profile para Banco de Dados Desenvolvido pela Rational Software Corporation; O conceito de tabelas e relacionamentos usados em bases de dados são mapeados para os conceitos de classes e associações em UML. MDA - Exemplos de aplicações de Perfis

21 CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo  21 MDA - Exemplos de aplicações de Perfis  Tabelas: Modelada como uma classe, com o estereótipo >.

22 CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo  22 MDA - Exemplos de aplicações de Perfis  Views: Modelada como uma classe, com o estereótipo >. O estereótipo > : quando uma view modelada com dependência de duas ou mais tabelas.

23 CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo  23 MDA - Exemplos de aplicações de Perfis  Keys: Primary Key: única e identifica uma coluna na tabela. Representada pelo estereótipo >; Foreign Key: derivada do relacionamento com outras tabelas. Representada pelo estereótipo >; Em caso de uma Foreign Key ser usada como Primary Key, a combinação das chaves são representadas pelo estereótipo >.

24 CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo  24 MDA - Exemplos de aplicações de Perfis  Index: Estrutura física de rápido acesso aos dados. Representada pelo estereótipo >;

25 CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo  25 MDA - Exemplos de aplicações de Perfis  Relacionamentos: Classificados em: Non-Identifying : representa o relacionamento entre duas tabelas diferentes.

26 CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo  26 MDA - Exemplos de aplicações de Perfis  Relacionamentos: Classificados em: Identifying : representa o relacionamento entre duas tabelas dependentes.

27 CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo  27 Roteiro Motivação Objetivo Principais Conceitos Envolvidos Estado da Arte Abordagem Prática Referências

28 CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo  28 MDA - Exemplos de aplicações de Perfis ArgoCASEGEO e TerraLib ArgoCASEGEO – ferramenta CASE utilizada no projeto de banco de dados geogr á ficos;  Baseada no modelo conceitual de dados UML-GeoFrame; TerraLib – biblioteca de classes implementadas em C++. Adequada para o desenvolvimento de SIG.  Projeto open-source desenvolvido pelo Instituto Nacional de Pesquisas Espaciais (INPE).

29 CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo  29 O Modelo TerraLib  Tabelas de metadados: guardam os conceitos da biblioteca TerraLib, tais quais: projeção, layers, etc.  Tabelas de dados: armazenam a componente descritiva do dado. MDA - Exemplos de aplicações de Perfis

30 CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo  30 MDA - Exemplos de aplicações de Perfis O Modelo TerraLib  Tabelas de metadados Te_layer: armezena os layers, que são agregados de informações espaciais relacionadas a uma mesma região geográfica; Te_theme: armazena os temas, os quais representam subconjuntos de um layer; Te_view: armazena as vistas, as quais definem os temas que serão vistos conjuntamente; Te_projection: armazena a projeção geográfica utiliza; Te_representation: armazena a representação geométrica dos objetos geográficos; Te_layer_table: realiza a ligação entre um layer e sua tabela de atributos descritivos; [3]

31 CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo  31 Módulo de Geração Automática – MGA Implementado utilizando as linguagens Java e C++; Recebe como entrada a identifica ç ão do dicion á rio de dados que cont é m o esquema conceitual a ser transformado (.xmi); Uma regra de transforma ç ão é aplicada para cada elemento do esquema conceitual de dados; MDA - Exemplos de aplicações de Perfis Descrição do Mapeamento aplicadas pelo MGA- TerraLib

32 CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo  32 Módulo de Geração Automática – MGA Regra 1 – Pacote  Conjunto de classes inter-relacionadas;  Cada pacote definido no esquema conceitual, uma te_view é gerada; MDA - Exemplos de aplicações de Perfis [11]

33 CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo  33 Módulo de Geração Automática – MGA Regra 2 – Classes do Tipo Objeto Geográfico  Cada classe modelada como gera um te_layer;  Os atributos definidos na classe é transformado em uma tabela de dados descritivos te_layer_table MDA - Exemplos de aplicações de Perfis [11]

34 CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo  34 Módulo de Geração Automática – MGA Regra 3 – Classes do Campo Geográfico  TerraLib, ainda, não trata de campos geográficos;  As representações são: pontos, linhas e polígonos;  Mapeado para um te_layer. MDA - Exemplos de aplicações de Perfis [11]

35 CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo  35 Módulo de Geração Automática – MGA Regra 4 – Classes do Tipo Objeto Não Geográfico  Cada classe modelada como objeto não-geográfico gera apenas uma única tabela no banco de dados. MDA - Exemplos de aplicações de Perfis

36 CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo  36 Módulo de Geração Automática – MGA Regra 5 – Associação, Agregação e Composição  O mapeamento é baseado nas regras de transformação de relacionamentos especificadas de um SGBD relacional; MDA - Exemplos de aplicações de Perfis

37 CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo  37 Módulo de Geração Automática – MGA Regra 6 – Generalização e Especialização  O mapeamento é baseado nas regras de transformação de relacionamentos especificadas de um SGBD relacional; MDA - Exemplos de aplicações de Perfis

38 CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo  38 Arquitetura do MGA-TerraLib MDA - Exemplos de aplicações de Perfis DLL possibilita a comunicação entre o Parser JAVA e a biblioteca C++;

39 CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo  39 MDA - Exemplos de aplicações de Perfis Extensão UML (Profiles) MGA-TerraLib Esquema lógico-espacial no modelo TerraLib

40 CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo  40 Ferramentas de Modelagem  Together Architect Versão Trial de 15 dias MDA - Exemplos de aplicações de Perfis

41 CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo  41 Ferramentas de Modelagem  Together Architect Versão Trial de 15 dias; Apresenta suporte de especificação visual de perfil de forma semelhante à proposta pela OMG; Suporta a especificação de restrições em OCL com o auxílio de um editor específico para esta linguagem. MDA - Exemplos de aplicações de Perfis

42 CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo  42 Ferramentas de Modelagem  AndroMDA Ferramenta open-source distribuída pela licença Berkeley Software Distribution (BSD); A geração de código das aplicações é realizada a partir de modelos estereotipados; O mapeamento para uma tecnologia específica é feito através do conceito de cartuchos (cartridge); Os estereótipos dos modelos UML são utilizados como guias para a geração de código MDA - Exemplos de aplicações de Perfis

43 CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo  43 Ferramentas de Modelagem  AndroMDA MDA - Exemplos de aplicações de Perfis [7] Perfil UML

44 CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo  44 Ferramentas de Modelagem  Papyrus UML Baseada na UML 2.0; Ferramenta open source baseada no ambiente Eclipse; Armazena os próprios modelos no padrão XMI; MDA - Exemplos de aplicações de Perfis [12]

45 CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo  45 [1] - Pender,T., UML a Bíblia. Rio de Janeiro: Elsevier, 2004. [2] – Gazola, A., Sampaio, G. B., Filho, J.L., ArgoCASEGEO + TerraLib = banco de dados geográficos para aplicações Small GIS. [3] - Gazola, A., Filho, J.L., Projeto Automatizado de Banco de Dados Geográficos para Aplicações Small GIS. [4] – Kleppe, A., Warmer, J., Bast, W., MDA Explained. The Model Driven Architecture: Practice and Promise. [5] – TerraLib. Acessado em 15 de maio de 2008. MDA - Exemplos de aplicações de Perfis

46 CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo  46 [6] – Pastor, O., Molina, J.C. Model-Driven Architecture in Practice – A Software Production Environment Based on Conceptual Modeling. [7] – Santos, H. L., PIMOBILE: Uma Abordagem de Desenvolvimento Dirigida por Modelos para Aplicações Móveis. Tese de Doutorado. Pós-Graduação em Ciência da Computação do Centro de Informática da Universidade Federal de Pernambuco. [8] – Sandri, A., Betemps, C. M., Profile em UML para Modelagem Simplificada de Interfaces Gráficas em Aplicativos. UNILASALLE. MDA - Exemplos de aplicações de Perfis

47 CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo  47 [9] – IBM- Rational Software. UML Data Modeling Profile. [10] – Borland.. Acessado em 22 de maio de2008. [11] – Daltio, J., Júnior, M. F. R., Filho, J. L., ArgoCaSEGEO – Uma Ferramenta de Código-Aberto para o Modelo UML- GeoFrame. [12] – Papyrus UML - MDA - Exemplos de aplicações de Perfis

48 CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo  48


Carregar ppt "CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo  1."

Apresentações semelhantes


Anúncios Google