Poseidon for UML
W ramach poznawania nowych zabawek zainteresowałem się niedawno programem Poseidon for UML firmy Gentleware. Jest to dosyć przyjemne narzędzie CASE do modelowania UML z generacją kodu "na żywo", rozwinięte na fundamencie ArgoUML.
Dla niektórych wadą może się okazać pewna ociężałość charakterystyczna dla programów napisanych w javie. Jednak Poseidon nie jest toporny i radzi sobie całkiem nieźle mimo niewątpliwie dużych nakładów na wyrenderowanie diagramów jak i samego interfejsu (ślicznego zresztą) z bajerami typu podświetlane czy nawet pulsujące przyciski. Pewne drobne i na szczęście chwilowe problemy z wyświetlaniem tekstów (widać to na załączonych obrazkach) można chyba zignorować..
Rys.1. Fragment diagramu przypadków użycia w Poseidonie
Poseidonowi brakuje pewnych przydatnych usprawnień, jak np. przeciąganie elementów modelu między różnymi typami diagramów. Częściowo rekompensuje to innymi cechami, takimi jak np. naszpikowany funkcjonalnością edytor diagramów — po zaznaczeniu elementu diagramu zostaje on otoczony przyciskami do automagicznego dodawania cech i tworzenia różnych elementów powiązanych. W porównaniu do innych narzędzi wyposażonych w taką funkcjonalność (np. Visual Paradigm for UML) Poseidon wykorzystuje tą technikę wszędzie gdzie tylko się da, na każdym rodzaju diagramu, a dodatkowo powiela przyciski w czterech kierunkach wokół elementu. Powstaa przez to "choinka" (patrz obrazki) może być w pierwszym momencie onieśmielająca, ale po chwili treningu okazuje się bardzo przydatna.
Rys.2. Fragment diagramu klas w Poseidonie
Poseidon dosyć sprawnie obsługuje dokumentację modelu udostępniając we właściwościach każdego obiektu edytor HTML mogący działać w trybie WYSIWYG. Podczas dokumentowania kodu dostępne są również tagi javadoc (o dokumentacji javadoc pisałem niedawno) przy czym program oczywiście pilnuje jakie znaczniki są dostępne na danym poziomie modelu (zgodnie ze specyfikacją javadoc inne dla klas, inne dla atrybutów itd.). W wersjach wyższych niż CE Poseidon jest zintegrowany z narzędziem o nazwie UMLdoc. Jest to generator dokumentacji w postaci "klikalnych" diagramów i opisów klas. Przeglądanie tych diagramów daje wrażenia podobne np. do efektów działania programu Rational Rose Web Publisher, natomiast dokumentacja klas oraz ogólny układ jest całkowicie zgodny z javadoc. Przykłady efektw działania UMLdoc można obejrzeć na stronie umldoc.org.
Wymiana danych z innymi programami jest możliwa dzięki zapisowi modelu w formacie XMI, co teoretycznie otwiera Poseidona na dialog z całym światem nowych narzędzi do modelowania UML. W praktyce z modelu zaimportowanego poprzez XMI do Umbrello[1] zniknęły diagramy i widziałem jedynie same obiekty, ale winą za to byłbym skłonny obarczyć raczej Umbrello, nie Poseidona.
Podsumowując tę krótką wycieczkę — Poseidon for UML to porządny i niewątpliwie ładny program. Jednak poza kilkoma drobnymi bajerami nie wygląda na to, żeby posiadał jakieś rewelacyjne cechy, które byłyby szczególnie pozytywnym zaskoczeniem w programie tej klasy. Dodatkowo w wersji CE wycięto kilka interesujących funkcji — najbardziej dotkliwe braki to obsługa wyłącznie języka java oraz wspomniany wcześniej brak generatora dokumentacji UMLdoc. Wersje płatne są oczywiście bardziej rozbudowane — program zyskuje przede wszystkim obsługę większej ilości języków, roundtrip engineering i wsparcie dla pracy grupowej z kontrolą wersji.
Niektórzy określają Poseidona mianem "world class modeling tool", jednak moim zdaniem przy aktualnym zestawie funkcjonalności program ten dosyć łatwo zginie w tłumie na średniej półce.
[1] Skoro Umbrello wchodzi w skład pakietu kdesdk jako część KDE 3.2 to rozumiem, że ma to być podstawowy, szybki, defaultowy program do UML w tym środowisku. Zatem bez względu na klasę tego narzędzia próba sprawdzenia w nim dowolnego modelu wydaje się oczywista. O Umbrello jako takim pogadamy jeszcze innym razem...
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.