---
title: Arquitetura Orientada a Modelos com o Altova UModel
date: 2012-02-14
tags:
  - uml
  - uml-tool
  - umodel
  - v2012
description: O UModel suporta a Arquitetura Orientada a Modelos, utilizando modelos independentes de plataforma e transformações de modelos que convertem todos os elementos de modelagem relevantes para e a partir de UML, C#, Visual Basic, Java, bases de dados e XML Schema
---
Status: #blog

Tags:  #uml #uml-tool #umodel #v2012

Categories: [Altova](/blog/pt/category/altova.md) 
# Arquitetura Orientada a Modelos com o Altova UModel

 [O UModel](https://www.altova.com/pt/umodel.html) suporta a Arquitetura Orientada a Modelos (MDA), com modelos independentes de plataforma e uma funcionalidade de transformação de modelos que converte todos os elementos de modelagem relevantes para e a partir de UML, C#, Visual Basic, Java, bases de dados e XML Schema. **Transformação de Modelos** Uma abordagem de engenharia de software baseada na Arquitetura Orientada a Modelos, com modelos independentes de plataforma, oferece duas vantagens principais:

- Durante a fase de design, os desenvolvedores não precisam preocupar-se com os detalhes e as variações entre as diferentes linguagens de programação  
    
- Um projeto UModel existente pode ser convertido de uma linguagem de código fonte para outra. Por exemplo, um modelo UML para uma aplicação C# pode ser transformado num projeto Java ou Visual Basic

Os utilizadores podem até aplicar transformações de modelo a projetos que foram criados a partir da análise de código fonte existente. Por exemplo, uma aplicação Java existente pode ser analisada pelo UModel e, em seguida, transformada para gerar classes em Visual Basic, e muitas outras possibilidades estão disponíveis. 

[![Diálogo de transformação de modelos no Altova UModel](https://lh5.ggpht.com/-vlDqDh0bm04/TzGCelTJU_I/AAAAAAAAAmo/5iBbBSXMQN8/clip_image001_thumb.png?imgmax=800 "Model Transformation Dialog")](http://lh4.ggpht.com/-IkLLlKyafts/TzGCeZSd8gI/AAAAAAAAAmk/l08wEfYKH04/s1600-h/clip_image001%25255B3%25255D.png) 

## Modelos independentes da plataforma
A Arquitetura Orientada a Modelos é um conjunto de padrões e métodos para a aplicação da UML (Linguagem de Modelagem Unificada), gerida pelo Object Management Group. Na Arquitetura Orientada a Modelos, o modelo UML de um projeto de software é um modelo independente de plataforma (PIM), que pode ser totalmente descrito sem se preocupar com os detalhes de qualquer linguagem de programação específica. Esta estratégia de desenvolvimento permite que arquitetos de software e outros desenvolvedores se concentrem exclusivamente na lógica exigida pelo domínio em questão, em vez de se focarem nas características de qualquer linguagem de programação. 

## Mapeamento de tipos
Durante a transformação de modelos, o UModel mapeia os tipos de dados do sistema de origem para o sistema de destino, de forma a acomodar as diferenças entre as linguagens. A caixa de diálogo "Mapeamento de Tipos" permite visualizar ou até mesmo editar os pares de mapeamento de tipos. 

[![Mapeamento de tipos para a transformação de modelos UML](https://lh5.ggpht.com/-wv6KDewZJG8/TzGCfHTDz8I/AAAAAAAAAm8/2HbRCTFxdoQ/clip_image002_thumb.png?imgmax=800 "Type Mapping for UML Model Transformation")](http://lh4.ggpht.com/-rEbyMfbBpyQ/TzGCesGg87I/AAAAAAAAAm0/bxq-gJkEpxA/s1600-h/clip_image002%25255B3%25255D.png) 

O UModel também adiciona automaticamente o perfil da língua de destino ao projeto transformado. 

## Diagramas de classes UML 
Como parte da transformação do modelo, o UModel cria novas classes UML e diagramas de classes para o sistema de destino, refletindo as classes e diagramas do projeto original. A captura de ecrã abaixo mostra o diagrama de Hierarquia de Conta para Visual Basic após a transformação do modelo a partir de Java. A nova classe Conta, localizada na nova pasta denominada "VB Target" na árvore do modelo, contém a sintaxe do Visual Basic para todas as propriedades e operações. Por exemplo, a nova propriedade "balance" é definida como o tipo de dados "Single" do Visual Basic, enquanto em Java o tipo de dados era "float". Após a transformação, a classe Conta original para Java é preservada no modelo, na sua localização original na árvore do modelo. O design UML original para Java irá agora gerar código em várias linguagens de código fonte: Java e Visual Basic. 

[![Diagrama de classes UModel e Árvore de Modelos](https://lh4.ggpht.com/-YLCTivkFrmA/TzGCfqos7qI/AAAAAAAAAnM/LXPoJNJq2w8/clip_image003_thumb.png?imgmax=800 "UModel class diagram and Model Tree")](http://lh4.ggpht.com/-szjiBcB8F-k/TzGCfaRJyVI/AAAAAAAAAnE/BG4Wj_kpps8/s1600-h/clip_image003%25255B3%25255D.png) 

## Parâmetros de transformação persistentes 
O paradigma de transformação estende-se à atualização de transformações existentes e à integração dessas atualizações nos modelos de destino especificados. Os parâmetros de transformação são armazenados num Perfil de Transformação de Modelos no modelo. Este perfil pode ser configurado para executar transformações automaticamente antes da geração de código (engenharia direta) e/ou após a engenharia reversa, para atualizar elementos para uma linguagem de destino com base nas alterações nos elementos do modelo para outra linguagem. 

[![Parâmetros de transformação do UModel armazenados com o modelo](https://lh4.ggpht.com/-Bx5vm9d3qxs/TzGCgsJoN9I/AAAAAAAAAnc/7ztagxEOGsM/clip_image004_thumb.png?imgmax=800 "UModel Model Transformation Parameters")](http://lh4.ggpht.com/-DHWJQT8EZsI/TzGCgI86yiI/AAAAAAAAAnU/rgnof3YteXc/s1600-h/clip_image004%25255B3%25255D.png) 

Estas configurações do perfil de transformação também podem ser alteradas a qualquer momento. 

[![Configurações do perfil de transformação UModel](https://lh6.ggpht.com/-sReAh4mAWY0/TzGChB9cMlI/AAAAAAAAAns/4VUGEppaMGo/clip_image005_thumb.png?imgmax=800 "Transformation Profile Settings")](http://lh3.ggpht.com/-f4vf3DYtxLU/TzGCgzLGIDI/AAAAAAAAAnk/l2ck6BKgv3w/s1600-h/clip_image005%25255B3%25255D.png) 

Esta funcionalidade permite que o UModel automatize grande parte da manutenção de várias linguagens de código fonte, à medida que o seu modelo, compatível com diferentes plataformas, evolui. Se pretende experimentar a Arquitetura Orientada a Modelos e a transformação de modelos com o UModel 2012, pode [descarregar uma versão de avaliação gratuita de 30 dias](https://www.altova.com/pt/download/umodel/uml_tool_enterprise.html).
