# UModel

### Specjalne funkcje platformy UModel

UModel oferuje zaawansowane funkcje wspierające pracę zespołową oraz wiele innych:- [Wymiana modeli UML za pomocą formatu XMI](#wymiana-modeli-uml-za-pomoc-formatu-xmi)
- [Kontrola wersji](#wsparcie-dla-system-w-kontroli-wersji)
- [Integracja z Eclipse i Microsoft® Visual Studio®](#integracja-z-eclipse-i-microsoft-visual-studio)
- [Edytor skryptów UModel](#edytor-skrypt-w-umodel)

- [Interfejs programowania aplikacji (API) UModel](#interfejs-programowania-aplikacji-api-umodel)
- [Architektura oparta na modelach](#architektura-oparta-na-modelach)
- [Wsparcie dla pracy zespołowej](#wsparcie-dla-pracy-zespo-owej)

## Wymiana modeli UML za pomocą formatu XMI

UModel umożliwia import i eksport modeli w formacie XMI, który jest standardem branżowym, zapewniając maksymalną kompatybilność z UML. UModel obsługuje najnowszą wersję XMI – XMI 2.4 – zarówno do importu plików XMI opisujących modele UML utworzone w innych aplikacjach, jak i do eksportu projektów UModel.

Obsługa standardowych formatów XMI do importu i eksportu otwiera możliwości rozszerzenia zalet UML w dużych zespołach programistycznych. Można dodawać kopie programu UModel, które będą działać obok – a nawet zastąpią – droższe i bardziej skomplikowane, tradycyjne narzędzia UML. Członkowie zespołu mogą również wykorzystywać eksport w formacie XMI, aby udostępniać projekty UModel specjalistycznym wtyczkom UML, takim jak narzędzia do uruchamiania i debugowania modeli, które nie są wymagane przez cały zespół projektowy.

XMI 2.4 obsługuje najnowszą wersję standardu UML 2.4, a także zapewnia kompatybilność wsteczną z wersjami UML 2.0, UML 2.1, UML 2.2 i UML 2.3. Program UModel umożliwia import plików XMI, które opisują modele w dowolnej wersji UML 2.

### Praca z plikami XMI {#xmi}

Pomyślne zaimportowanie pliku XMI do programu UModel tworzy nowy projekt UML, w którym każdy element jest w pełni edytowalny, tak jakby projekt został pierwotnie utworzony w programie UModel. Można otwierać diagramy, aby wyświetlić zawartość lub relacje.

[Wymiana modeli XMI za pomocą programu Altova UModel](https://www.altova.com/images/umodel-xmi-export.png)

Można również dodawać nowe funkcjonalności lub modyfikować istniejące elementy, a następnie generować kod lub eksportować zaktualizowany projekt ponownie w formacie XMI. 

## Wsparcie dla systemów kontroli wersji

UModel oferuje pełne wsparcie dla systemów kontroli wersji, ponieważ systemy te są kluczowym narzędziem do utrzymania integralności projektu rozwoju oprogramowania.

[Obsługa systemów kontroli wersji w programie Altova UModel](https://www.altova.com/images/umodel-source-control.png)

Pliki projektów UModel oraz pliki kodu źródłowego utworzone lub zmodyfikowane za pomocą UModel mogą być pobierane i ponownie zapisywane bezpośrednio za pomocą interfejsu plików UModel oraz interfejsu generowania kodu. Podczas kolejnego generowania kodu, pobierane są tylko pliki kodu źródłowego, które zostały faktycznie zmienione.

Menu "Kontrola wersji" w programie UModel umożliwia dostęp do funkcji kontroli wersji, w tym opcji pobierania najnowszej wersji, wypożyczania i oddawania plików oraz przeglądania historii zmian w systemie kontroli wersji.

Kliknij tutaj, aby zobaczyć kompletną listę systemów kontroli wersji obsługiwanych przez UModel oraz inne narzędzia firmy Altova.

## Integracja z Eclipse i Microsoft® Visual Studio®

UModel umożliwia integrację z środowiskami Eclipse i Visual Studio, co pozwala na wyświetlanie i płynne przełączanie się między modelem oprogramowania UML a oknami edycji kodu źródłowego w tym samym środowisku programistycznym, w którym tworzone są projekty oprogramowania.

Niezależnie od wybranego środowiska programistycznego, automatyczna, działająca w czasie rzeczywistym synchronizacja między projektem UModel a kodem źródłowym pozwala na pracę zarówno w modelu programowym UML, jak i w edytorze kodu źródłowego, z pewnością, że oba elementy wyświetlają aktualny stan projektu. Każda zmiana wprowadzona w jednym oknie jest natychmiast odzwierciedlana w drugim.

Dodatkowo, wersja Enterprise edycji UModel oferuje wsparcie dla systemów kontroli wersji, gdy jest zintegrowana z Eclipse lub Visual Studio, wykorzystując wbudowane funkcje tych środowisk programistycznych do zarządzania wersjami.

UModel obsługuje integrację z wersjami Eclipse 4.3, 4.4, 4.5 i 4.6, a także z Visual Studio 2017, Visual Studio 2015, Visual Studio 2013, Visual Studio 2010, Visual Studio 2008 oraz Visual Studio 2005. Moduły integracyjne UModel dla Eclipse i Visual Studio są dostępne bezpłatnie zarówno dla wersji Enterprise, jak i Professional UModel, na stronie pobierania UModel.

## Edytor skryptów UModel

UModel zawiera zintegrowane środowisko skryptowe oraz edytor formularzy, które pozwalają dostosować UModel do stylu pracy Państwa zespołu. Środowisko skryptowe może pomóc w zwiększeniu produktywności poprzez dostosowywanie funkcjonalności UModel oraz automatyzację powtarzalnych operacji. 

[Automatyzacja pracy z Altova UModel za pomocą niestandardowych skryptów](https://www.altova.com/images/umodel-scripting.png)

Wykorzystaj środowisko skryptowe UModel, aby automatyzować szereg operacji, tworzyć i zapisywać makra, tworzyć niestandardowe menu i okna dialogowe, lub definiować obsługę zdarzeń, która określa niestandardowe reakcje na zdarzenia w aplikacji.

Środowisko skryptowe oraz edytor formularzy wykorzystują technologie firmy Microsoft® Platforma .NET jest obsługiwana, a kompatybilne są wersje od 2.0 do 4.0. Domyślnie dostępne są liczne biblioteki .NET, a użytkownik może dodać inne, w zależności od potrzeb. Edytor skryptów obsługuje również języki JScript i VBScript, a także zawiera interaktywny edytor formularzy, a także funkcje testowania i debugowania makr.

## Interfejs programowania aplikacji (API) UModel

UModel oferuje wsparcie dla interfejsu automatyzacji wysokiego poziomu oraz API niskiego poziomu, które zapewnia bezpośredni dostęp do funkcjonalności aplikacji oraz struktury danych UML.

Interfejs programowania aplikacji (API) UModel oferuje pełne wsparcie dla programistów, którzy chcą zdalnie korzystać z funkcjonalności UModel i modyfikować projekty UModel. Zarówno API UModel oparte na technologii COM, jak i API oparte na Java, umożliwiają pełną automatyzację pracy z UModel oraz manipulację strukturami danych UML, klasami, interfejsami i diagramami. Na przykład, aplikacja zewnętrzna mogłaby uruchomić UModel, otworzyć projekt UModel i wyróżniać elementy w diagramach UML, tworząc w ten sposób system wizualnego śledzenia, który symuluje działanie docelowej aplikacji.

Interfejs API automatyzacji umożliwia również zewnętrzną manipulację programem UModel w celu aktualizacji modelu UML, ponownego generowania kodu lub odtworzenia istniejącego kodu w odpowiedzi na zdarzenia zewnętrzne. Interfejs API umożliwia użytkownikom tworzenie wtyczek do programu UModel, dodających specjalne funkcje, wraz z niestandardowymi oknami i oknami dialogowymi, które można zainstalować w programie UModel za pomocą menu "Dostosuj". Interfejs API umożliwia również manipulację programem UModel za pomocą zewnętrznych skryptów, na przykład w celu uruchomienia programu UModel o określonej godzinie, a następnie odtworzenia biblioteki kodu źródłowego i wygenerowania dokumentacji HTML projektu.

## Architektura oparta na modelach

UModel wspiera architekturę opartą na modelach (MDA) poprzez niezależne od platformy modele oraz opcję transformacji modeli dostępną w menu Projekt, która umożliwia konwersję wszystkich istotnych elementów modelowania na kod oraz z kodu do języków C#, Visual Basic, Java, baz danych oraz formatu XSD.

[Architektura oparta na modelach w programie Altova UModel](https://www.altova.com/images/umodel-model-transform.png)

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.

Architektura oparta na modelach (Model Driven Architecture) w inżynierii oprogramowania, wykorzystująca platformowo-niezależne modele, oferuje dwie główne zalety: podczas fazy projektowania, programiści nie muszą martwić się o szczegóły i różnice między językami programowania, lub istniejący projekt UModel może zostać przekonwertowany z jednego języka programowania na inny. Na przykład, model UML dla aplikacji C# może zostać przekształcony w projekt Java lub Visual Basic.

Transformacje modeli mogą być stosowane nawet 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.

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.

### Parametry transformacji, które są stosowane stale {#parameters}

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.

Ta funkcjonalność umożliwia narzędziu UModel automatyzację wielu aspektów utrzymania kodu źródłowego w różnych językach, w miarę jak model ewoluuje i jest wykorzystywany na różnych platformach.

## Wsparcie dla pracy zespołowej

UModel oferuje funkcje, które pomagają zespołom efektywnie współpracować przy modelowaniu dużych projektów. Korzyści płynące z wizualnej komunikacji w oprogramowaniu do modelowania UML wzrastają, gdy więcej programistów pracuje nad projektem, ponieważ wizualna reprezentacja podprojektów ułatwia komunikację w całym zespole programistycznym.

UModel wspiera zespoły pracujące nad dużymi projektami, umożliwiając podział projektów na wiele podprojektów. Poszczególni programiści mogą jednocześnie edytować różne części tego samego modelu, a każdy podprojekt może być niezależnie dodawany do systemu kontroli wersji. Projekt główny, czyli projekt, z którego są organizowane podprojekty, jest projektem nadrzędnym. Podprojekty są pakietami UML, zapisywanymi jako oddzielne pliki projektu UModel i mają rozszerzenie *.ump.

Istniejący projekt można podzielić na podprojekty w miarę jego rozwoju i zwiększania liczby zaangażowanych programistów. Alternatywnie, niezależne zespoły mogą tworzyć nowe pliki projektu UModel, które później można połączyć jako podprojekty w ramach nowego, głównego projektu.

UModel umożliwia organizowanie podprojektów bez narzucania sztywnego stylu pracy. W zależności od preferencji Twojego zespołu, możesz: organizować podprojekty jako elementy równoległe na tym samym poziomie, organizować podprojekty hierarchicznie – podprojekt może zawierać własne podprojekty poprzez zagnieżdżanie, lub możesz przypisać każdy podprojekt jako edytowalny w ramach głównego projektu, lub jako tylko do odczytu, dostępny z poziomu głównego projektu.

Podczas generowania kodu lub podczas aktualizacji modelu na podstawie kodu, wszystkie podprojekty są przetwarzane – nie ma różnicy między pojedynczym plikiem projektu, a projektem składającym się z wielu edytowalnych podprojektów.

### Połączenie trzech gałęzi projektu {#merge}

Jeśli członkowie zespołu wprowadzają niezależne zmiany w kopiach tego samego pliku projektu, lub jeśli chcą połączyć różne pliki projektu, funkcja łączenia projektów w UModel umożliwia połączenie tych zmian w jeden, spójny wynik.

[Wsparcie dla pracy zespołowej w programie Altova UModel](https://www.altova.com/images/umodel-teamwork.png)

### Dokumentacja podprojektu {#doc}

Funkcja generowania dokumentacji w UModel umożliwia użytkownikom, opcjonalnie, dołączanie podprojektów do generowanej dokumentacji. Dzięki temu poszczególni programiści mogą generować dokumentację dla swoich własnych podprojektów, a menedżerowie projektów mogą automatycznie generować dokumentację dla całej aplikacji.


## Call to Action

[Pobierz teraz w pełni funkcjonalną, bezpłatną 30-dniową wersję próbną programu Altova UModel!](download.md)
[Istniejący klienci mogą zaktualizować oprogramowanie do najnowszej wersji, korzystając z tej strony.](download.md)
[Użyj UModel teraz.](https://shop.altova.com/UModel)

