Architettura basata su modelli con Altova UModel

UModel supporta l'architettura guidata dai modelli (MDA), offrendo modelli indipendenti dalla piattaforma e una funzionalità di trasformazione dei modelli che converte tutti gli elementi di modellazione rilevanti in e da UML, C#, Visual Basic, Java, database e schemi XML. Trasformazione dei modelli Un approccio all'ingegneria del software basato sull'architettura guidata dai modelli, con modelli indipendenti dalla piattaforma, offre due vantaggi principali:

  • Durante la fase di progettazione, gli sviluppatori non devono preoccuparsi dei dettagli e delle differenze tra i diversi linguaggi di programmazione

  • Un progetto UModel esistente può essere convertito da un linguaggio di codice sorgente a un altro. Ad esempio, un modello UML per un'applicazione C# può essere trasformato in un progetto Java o Visual Basic

Gli utenti possono persino applicare trasformazioni del modello a progetti che sono stati creati tramite reverse engineering da codice sorgente esistente. Ad esempio, un'applicazione Java esistente può essere analizzata tramite reverse engineering con UModel e quindi trasformata per generare classi Visual Basic, e molte altre possibilità sono disponibili.

Modelli indipendenti dalla piattaforma

L'architettura guidata dai modelli (Model Driven Architecture, MDA) è un insieme di standard e metodi per l'applicazione del linguaggio di modellazione unificato (Unified Modeling Language, UML), gestito dal gruppo Object Management Group. Nell'architettura guidata dai modelli, il modello UML di un progetto software è un modello indipendente dalla piattaforma (Platform Independent Model, PIM) che può essere descritto completamente senza considerare i dettagli di un linguaggio di programmazione specifico. Questa strategia di sviluppo consente agli architetti software e agli altri sviluppatori di concentrarsi esclusivamente sulla logica richiesta dal dominio applicativo, piuttosto che sulle caratteristiche di un linguaggio di programmazione.

Mappatura dei tipi

Durante la trasformazione del modello, UModel associa i tipi di dati dalla sorgente alla destinazione per tenere conto delle differenze tra i linguaggi. La finestra di dialogo "Mappatura dei tipi" consente di visualizzare o modificare le coppie di mappatura dei tipi.

UModel aggiunge automaticamente il profilo della lingua di destinazione al progetto trasformato.

Diagrammi di classe UML

Nel processo di trasformazione del modello, UModel crea nuove classi UML e diagrammi di classi per il sistema di destinazione, riflettendo le classi e i diagrammi presenti nel progetto originale. Lo screenshot qui sotto mostra il diagramma "Gerarchia degli account" per Visual Basic, ottenuto dopo la trasformazione del modello da Java. La nuova classe "Account" presente nella nuova cartella denominata "VB Target" nell'albero del modello contiene la sintassi Visual Basic per tutte le proprietà e le operazioni. Ad esempio, la nuova proprietà "balance" è definita come il tipo di dato Visual Basic "Single", mentre in Java era di tipo "float". Dopo la trasformazione, la classe "Account" originale per Java viene preservata nel modello, nella sua posizione originale nell'albero del modello. Il progetto UML originale per Java genererà ora codice in diversi linguaggi: Java e Visual Basic.

Parametri di trasformazione persistenti

Il paradigma della trasformazione si estende all'aggiornamento delle trasformazioni esistenti e all'integrazione degli aggiornamenti nei modelli di destinazione specificati. I parametri di trasformazione sono memorizzati in un Profilo di Trasformazione del Modello all'interno del modello stesso. Questo profilo può essere configurato per eseguire automaticamente le trasformazioni prima della generazione del codice (forward engineering) e/o dopo l'ingegneria inversa, al fine di aggiornare gli elementi per un linguaggio di destinazione in base alle modifiche apportate agli elementi del modello per un altro linguaggio.

Queste impostazioni del profilo di trasformazione possono essere modificate in qualsiasi momento.

Questa funzionalità consente a UModel di automatizzare gran parte della manutenzione di diversi linguaggi di codice sorgente, man mano che il vostro modello multipiattaforma si evolve. Se desiderate provare l'architettura basata sui modelli e la trasformazione dei modelli con UModel 2012, potete scaricare una versione di prova gratuita di 30 giorni.