Troca de modelos UML através de XMI

O UModel suporta a importação e exportação de modelos em formato XMI, um padrão da indústria, para garantir a máxima compatibilidade com o UML. O UModel suporta a versão mais recente do XMI – a versão 2.4 – tanto para importar ficheiros XMI que descrevem modelos UML criados em outras aplicações, como para exportar projetos do UModel.

O suporte para a importação e exportação de ficheiros XMI, um padrão da indústria, cria oportunidades para expandir os benefícios do UML em grandes equipas de desenvolvimento. É possível adicionar cópias do UModel para trabalhar em conjunto com – ou até mesmo substituir – ferramentas UML mais caras e complexas. Os membros da equipa também podem utilizar a exportação em formato XMI para partilhar projetos do UModel com complementos UML especializados, como ferramentas de execução e depuração de modelos, que não são necessários para toda a equipa do projeto.

O XMI 2.4 suporta a mais recente versão do padrão UML 2.4 e também oferece compatibilidade retroativa com as versões UML 2.0, UML 2.1, UML 2.2 e UML 2.3. O UModel pode importar ficheiros XMI que descrevem modelos em qualquer versão do UML 2.

Trabalhar com ficheiros XMI

A importação bem-sucedida de um ficheiro XMI para o UModel cria um novo projeto UML, com cada elemento totalmente editável, exatamente como se o projeto tivesse sido originalmente criado no UModel. Pode abrir os diagramas para visualizar o conteúdo ou as relações.

Intercâmbio de modelos XMI com o Altova UModel

Também pode adicionar novas funcionalidades ou modificar as funcionalidades existentes, e depois gerar o código ou exportar o projeto atualizado novamente no formato XMI.

Suporte para controlo de versões

O UModel oferece suporte completo para sistemas de controlo de versões, uma vez que estes sistemas são uma ferramenta fundamental para garantir a integridade de um projeto de desenvolvimento de software.

Suporte para controlo de versões no Altova UModel

Os ficheiros de projeto da UModel e os ficheiros de código fonte criados ou modificados pela UModel podem ser exportados e importados diretamente através da interface de ficheiros da UModel e da interface de geração de código. Durante a geração de código subsequente, apenas os ficheiros de código fonte que foram realmente alterados são exportados.

O menu "Controlo de Versões" do UModel oferece acesso às funcionalidades de controlo de versões, incluindo opções para obter a versão mais recente, efetuar o "checkout" e o "check-in" de ficheiros, ou visualizar um registo dos eventos de "check-in" do sistema de controlo de versões.

Clique aqui para ver a lista completa de sistemas de controlo de versões suportados pelo UModel e por outras ferramentas da Altova.

Integração com o Eclipse e com a Microsoft® Visual Studio®

O UModel oferece suporte para integração com o Eclipse e o Visual Studio, permitindo visualizar e alternar facilmente entre o seu modelo de software UML e as janelas de edição de código fonte, tudo no mesmo ambiente de desenvolvimento de software onde você cria os seus projetos.

Em qualquer ambiente de desenvolvimento, a sincronização automática e em tempo real entre o projeto UModel e o seu código fonte permite que trabalhe tanto no modelo de software UML como no editor de código fonte, com a certeza de que ambos refletem o estado atual do projeto. Qualquer alteração que faça numa janela é imediatamente refletida na outra.

Além disso, a edição Enterprise do UModel inclui suporte para sistemas de controlo de versões, quando integrado com o Eclipse ou o Visual Studio, utilizando o suporte nativo dessas IDEs para controlo de versões.

O UModel suporta a integração com as versões 4.3, 4.4, 4.5 e 4.6 do Eclipse, e com o Visual Studio 2017, Visual Studio 2015, Visual Studio 2013, Visual Studio 2010, Visual Studio 2008 ou Visual Studio 2005. Os módulos de integração do UModel para o Eclipse e o Visual Studio estão disponíveis gratuitamente, tanto para a edição Enterprise como para a edição Professional do UModel, na página de download do UModel.

Editor de scripts UModel

O UModel inclui um ambiente de scripting integrado e um editor de formulários que lhe permitem adaptar o UModel ao estilo de desenvolvimento da sua equipa. O ambiente de scripting pode ajudar a aumentar a produtividade, permitindo personalizar as funcionalidades do UModel e automatizar operações repetitivas.

Automatize o Altova UModel com scripts personalizados

Aproveite o ambiente de scripting do UModel para automatizar uma série de operações, criar e guardar macros, criar menus personalizados e formulários pop-up, ou criar gestores de eventos que definam respostas personalizadas aos eventos da aplicação.

O ambiente de programação e o editor de formulários utilizam a tecnologia Microsoft® O framework .NET é suportado, incluindo as versões 2.0 a 4.0. Várias bibliotecas .NET são incluídas por padrão, e pode adicionar outras que necessite. O editor de scripts também suporta JScript e VBScript, e inclui um editor de formulários interativo, bem como funcionalidades de teste e depuração de macros.

Interface de Programação de Aplicações (API) do UModel

O UModel inclui suporte para uma interface de automação de alto nível e uma API de baixo nível que permite o acesso direto às funcionalidades da aplicação e à estrutura de dados UML.

A Interface de Programação de Aplicações (API) do UModel oferece suporte completo aos programadores que desejam aceder remotamente às funcionalidades do UModel e manipular projetos do UModel. Tanto a API baseada em COM como a API baseada em Java permitem o controlo total e automatizado do UModel, bem como a manipulação de estruturas de dados UML, classes, interfaces e diagramas. Por exemplo, uma aplicação externa pode iniciar o UModel, abrir um projeto do UModel e destacar elementos dentro dos diagramas UML, proporcionando um sistema de rastreamento visual que simula a execução da aplicação alvo.

A API de automação também permite que o UModel seja manipulado externamente para atualizar um modelo UML, regenerar código ou realizar a engenharia reversa de código existente em resposta a eventos externos. A API permite que os utilizadores criem extensões para o UModel, adicionando funcionalidades especiais, com janelas e caixas de diálogo personalizadas, que podem ser instaladas no UModel através do menu "Personalizar". A API também permite a manipulação do UModel através de scripts externos, por exemplo, para abrir o UModel a uma hora específica, depois realizar a engenharia reversa de uma biblioteca de código fonte e criar documentação HTML de um projeto.

Arquitetura Orientada a Modelos

O UModel suporta a Arquitetura Orientada a Modelos (MDA) através de modelos independentes de plataforma e uma opção de transformação de modelos no menu Projeto, que converte todos os elementos de modelagem relevantes para e a partir de C#, Visual Basic, Java, bases de dados e XSD.

Arquitetura Orientada a Modelos no Altova UModel

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.

Uma abordagem de arquitetura orientada a modelos na engenharia de software, com modelos independentes de plataforma, oferece duas vantagens principais: durante a fase de projeto, os desenvolvedores não precisam se preocupar com os detalhes e as variações entre as linguagens de programação, ou um projeto UModel existente pode ser transformado de uma linguagem de código fonte para outra. Por exemplo, um modelo UML para uma aplicação C# pode ser convertido num projeto Java ou Visual Basic.

A transformação de modelos pode ser aplicada até mesmo a projetos que foram reconstruídos a partir de código fonte existente. Por exemplo, uma aplicação Java existente pode ser analisada e reconstruída com o UModel, e depois transformada para gerar classes em Visual Basic, sendo que existem muitas outras possibilidades.

Durante a transformação do modelo, 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. O UModel também adiciona automaticamente o perfil da linguagem de destino ao projeto transformado.

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. O Perfil de Transformação 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.

Esta funcionalidade permite que o UModel automatize grande parte da manutenção de várias linguagens de código fonte, à medida que um modelo multiplataforma evolui.

Apoio ao trabalho em equipa

O UModel inclui funcionalidades que auxiliam as equipas a colaborarem de forma eficaz no desenvolvimento de modelos para projetos de grande dimensão. As vantagens da comunicação gráfica proporcionada pela modelação UML aumentam quando mais programadores trabalham num projeto, uma vez que a representação visual dos subprojetos melhora a comunicação entre os membros da equipa de desenvolvimento.

O UModel facilita o trabalho de equipas que desenvolvem projetos grandes, permitindo que os projetos sejam divididos em vários subprojetos. Desenvolvedores individuais podem editar simultaneamente diferentes partes de um único modelo, e cada subprojeto pode ser adicionado individualmente a um sistema de controlo de versões. O projeto principal, ou seja, o projeto a partir do qual os subprojetos são organizados, é o projeto de nível superior. Os subprojetos são pacotes UML guardados como ficheiros de projeto UModel individuais e têm a extensão *.ump.

Um projeto existente pode ser dividido em subprojetos à medida que cresce e mais programadores são atribuídos a ele. Ou, equipas independentes podem iniciar novos ficheiros de projeto UModel que podem ser posteriormente combinados como subprojetos dentro de um novo projeto principal.

O UModel permite organizar subprojetos sem impor nenhum estilo de desenvolvimento rígido. Com base nas preferências da sua equipa, pode: organizar os subprojetos como elementos independentes num nível único, organizar os subprojetos de forma hierárquica – um subprojeto pode ter os seus próprios subprojetos através de aninhamento –, ou pode atribuir a cada subprojeto a possibilidade de ser editado dentro do projeto principal, ou apenas de ser visualizado (em modo de leitura) a partir do projeto principal.

Durante a geração de código ou quando se atualiza o modelo a partir do código, todos os subprojetos são processados – não há diferença entre um único ficheiro de projeto ou um que consiste em vários subprojetos editáveis.

Fusão de projeto em três vias

Se os membros da equipa fizerem alterações independentes em cópias do mesmo ficheiro de projeto, ou para combinar ficheiros de projeto, a funcionalidade de fusão de projetos da UModel permite combinar essas alterações num único resultado.

Suporte para trabalho em equipa no Altova UModel

Documentação do subprojeto

A funcionalidade "Gerar Documentação" do UModel permite que os utilizadores incluam, opcionalmente, subprojetos na documentação gerada, oferecendo flexibilidade para que os desenvolvedores individuais possam gerar documentação para os seus próprios subprojetos, e para que os gestores de projeto possam gerar automaticamente a documentação para a aplicação completa.