Architektura oparta na modelach z wykorzystaniem narzędzia Altova UModel

UModel obsługuje architekturę opartą na modelach (MDA), wykorzystując modele niezależne od platformy oraz funkcję transformacji modeli, która przekształca wszystkie istotne elementy modelowania na i z języków UML, C#, Visual Basic, Java, baz danych oraz schematów XML. Transformacja modeli Podejście oparte na architekturze opartych na modelach w inżynierii oprogramowania, wykorzystujące modele niezależne od platformy, zapewnia dwie główne zalety:

  • Podczas fazy projektowania, programiści nie muszą martwić się o szczegóły i różnice między poszczególnymi językami programowania

  • Istniejący projekt UModel można przekształcić z jednego języka programowania na inny. Na przykład, model UML dla aplikacji napisanej w C# może zostać przekształcony w projekt Java lub Visual Basic

Użytkownicy mogą również stosować transformacje modeli do projektów, które zostały odtworzone na podstawie istniejącego kodu źródłowego. Na przykład, istniejącą aplikację Java można odtworzyć za pomocą narzędzia UModel, a następnie przekształcić, aby wygenerować klasy w języku Visual Basic. Dostępnych jest wiele innych możliwości.

Modele niezależne od platformy

Architektura oparta na modelach (Model Driven Architecture, MDA) to zestaw standardów i metod wykorzystujących język modelowania UML (Unified Modeling Language), zarządzany przez organizację Object Management Group. W architekturze opartej na modelach, model UML danego projektu oprogramowania jest modelem niezależnym od platformy (Platform Independent Model, PIM), który można w pełni opisać bez uwzględniania szczegółów konkretnego języka programowania. Ta strategia rozwoju pozwala architektom oprogramowania i innym programistom skupić się wyłącznie na logice wymaganej przez daną dziedzinę, a nie na cechach konkretnego języka programowania.

Mapowanie typów

Podczas transformacji modelu, UModel mapuje typy danych z systemu źródłowego do systemu docelowego, aby uwzględnić różnice między językami. Okno dialogowe "Mapowanie typów" umożliwia przeglądanie, a nawet edycję par mapowań typów.

UModel automatycznie dodaje również profil języka docelowego do przekształconego projektu.

Diagramy klas UML

W ramach transformacji modelu, UModel tworzy nowe klasy UML i diagramy klas dla systemu docelowego, odzwierciedlając klasy i diagramy klas z projektu źródłowego. Zrzut ekranu poniżej przedstawia diagram hierarchii kont dla Visual Basic po transformacji modelu z języka Java. Nowa klasa "Account" w nowym folderze o nazwie "VB Target" w drzewie modelu zawiera składnię Visual Basic dla wszystkich właściwości i operacji. Na przykład, nowa właściwość "balance" jest zdefiniowana jako typ danych "Single" w Visual Basic, podczas gdy w Javie był to typ "float". Po transformacji, oryginalna klasa "Account" dla Javy jest zachowywana w modelu w jej pierwotnej lokalizacji w drzewie modelu. Oryginalny projekt UML dla Javy będzie teraz generować kod w wielu językach programowania – Javie i Visual Basic.

Parametry transformacji, które są stosowane stale

Paradygmat transformacji obejmuje aktualizację istniejących transformacji oraz łączenie tych aktualizacji z określonymi modelami docelowymi. Parametry transformacji są przechowywane w profilu transformacji modelu. Profil ten może być skonfigurowany do automatycznego wykonywania transformacji przed generowaniem kodu (forward engineering) oraz/lub po inżynierii wstecznej (reverse engineering), w celu aktualizacji elementów dla jednego języka programowania na podstawie zmian w elementach modelu dla innego.

Ustawienia profilu transformacji można również zmienić w dowolnym momencie.

Ta funkcjonalność umożliwia narzędziu UModel automatyzację wielu aspektów utrzymania kodu źródłowego w różnych językach, w miarę rozwoju modelu działającego na różnych platformach. Jeśli chcieliby Państwo przetestować architekturę opartą na modelach i transformację modeli za pomocą UModel 2012, mogą Państwo pobrać bezpłatną 30-dniową wersję próbną.