Komercyjny UML w Eclipse

Zalet środowiska Eclipse nie trzeba chyba nikomu z tej branży specjalnie tłumaczyć — jest sprawne, sprytne, niewiarygodnie rozszerzalne i dużo bardziej sexy niż wynika ze słów „an open extensible IDE for anything and nothing in particular”. Nic dziwnego zatem, że platforma Eclipse rośnie w siłę i znajduje się w ścisłym kręgu zainteresowań twórców wszelakich narzędzi do tworzenia oprogramowania. I to narzędzi nie tylko związanych jakkolwiek ze światem open source, ale również producentów dużych (czytaj drogich jak nieszczęście) narzędzi komercyjnych.

W ramach przygotowania do nowego podejścia do starego projektu spojrzałem przez chwilkę na dwóch przedstawicieli komercyjnych produktów modelowania UML na platformie Eclipse:

Poniżej garść uwag:

Visual Paradigm SDE for Eclipse

Rys.1. Fragment diagramu klas w VP SDE

Visual Paradigm w dowolnym wydaniu cechuje się zastosowaniem ciekawych (chociaż nie zupełnie unikalnych, patrz np. Poseidon) mechanizmów usprawniających tworzenie diagramów UML (tzw. „Resource Centric Format”). Po dodaniu do tego cieniowania elementów graficznych, przezroczystości i bajery typu powolne zanikanie ikonek wokół obiektów powstaje edytor diagramów mocno zaawansowany graficznie, chociaż może w pierwszym momencie onieśmielający dla nie przyzwyczajonych oczu.

W przeciwieństwie do TogetherEC (patrz niżej) widać tutaj wyraźne rozdzielenie aktywności graficznego modelowania diagramów UML od tworzenia kodu źródłowego klas. Na diagramach nie dostaniemy praktycznie żadnych funkcji dotyczących kodu jako takiego (np. jego refactoringu); są one dostępne wyłącznie przy aktywnym widoku kodu źródłowego. Na szczęście synchronizacja modelu i kodu może się odbywać automatycznie (zapisanie kodu źródłowego lub przełączenie się na okienko diagramu powoduje jego odświeżenie), więc tracimy jedynie efekt równoczesnego „stawania się” tak mocno widoczny w Together.

Oglądając VP SDE trudno przeoczyć imponującą listę rodzajów diagramów, w tym „Overview Diagram” z miniaturami pozostałych diagramów modelu ;-). W sumie jednak można ulec wrażeniu, że „D” w SDE to bardziej „Drawing” niż „Development”.

Together Edition for Eclipse

Together od lat (z czasów kiedy strona togethersoft.com nie przekierowywała jeszcze na stronę borland.com) kojarzy mi się z czymś, co nazwałbym pisaniem kodu na diagramie — synchronizacją kodu i diagramu klas „na żywo”. W wersji EC jest to oczywiście zachowane — kod klas widać na ekranie równorzędnie z diagramem i oba zmieniają się na bieżąco bez konieczności zapisywania czy przełączania czegokolwiek (w przeciwieństwie do VP SDE i wielu innych), co daje poczucie pełnej spójności i kontroli. Nie do przecenienia jest również integracja wszelkich potrzebnych funkcji z diagramami — z menu kontekstowego klasy dostępne są nie tylko pozycje dotyczące obrazka, ale również związanego z nim kodu (menu Source, Refactor itd.). Dodatkowe szczególiki jak np. rozróżnienie „field” (pole klasy bez metod dostępu) od „property” (z metodami getPole(), setPole()) albo „class by pattern”, „link by pattern” zwiększają funkcjonalność całości.

Rys.2. Fragment diagramu klas w TogetherEC

Natomiast diagramy prezentowane w TogetherEC na pierwszy rzut oka wydają się uboższe niż w VP SDE. Brak tutaj natychmiastowych reakcji na myszkę czy tworzenia obiektów powiązanych jednym kliknięciem, brak efektów cieniowania, przezroczystości i innych czysto wizualnych gadżetów. Funkcjonalnie jednak nie brak niczego, bo byłoby naprawdę potrzebne. Może oprócz jednego — umieszczanie klas na diagramach wydaje się dziwnie utrudnione — jedyny sposób jaki znalazłem to skopiowanie obrazka klasy z diagramu zbiorczego dla pakietu i wklejenie go w dowolny inny diagram klas. A dlaczego nie działa drag&drop z drzewka klas czy innego tam nawigatora?

Z innych rzeczy na plus zaliczyłbym przede wszystkim hyperlinki między elementami modelu (obiektami na diagramach, czy nawet do plików zewnętrznych) oraz generację dokumentacji UML zgodnej z javadoc. Niestety całość tego cuda jakim niewątpliwie jest TogetherEC nie działa w Eclipse powyżej wersji 3.0.1.

and the winner is...

Jednoznacznego werdyktu nie będzie. W moim teście (trochę pobieżnym, przyznaję) zyskałem wrażenie, że TogetherEC jest narzędziem bardziej profesjonalnym, natomiast VP SDE lekko efekciarskim. Na ile to jest zbliżone do prawdy — najlepiej oceńcie sami. ;-)

patrz również:

Komentarze

Brak komentarzy do tego wpisu.

 

Uwaga: Ze względu na bardzo intensywną działalność spambotów komentowanie zostało wyłączone po 60 dniach od opublikowania wpisu. Jeżeli faktycznie chcesz jeszcze skomentować skorzystaj ze strony kontaktowej.