sobota, 20 października 2012

Konektory rysowane linią krzywą

Powiązania (connectors) pomiędzy elementami mogą być prezentowane na diagramie przy użyciu różnych styli. Najczęściej stosowane style to: Custom, Direct oraz Auto Routing. Nie każdy jednak wie, że to nie wszystkie dostępne style dla powiązań. Konektory mogą być też rysowane linią krzywą.
Najpierw poświęcę trochę miejsca na opisanie standardowo dostępnych styli linii powiazań, a w dalszej części pokażę jak uzyskać linię krzywą.


Gdy użytkownik Enterprise Architect zastanawia się nad tym, jak może zmienić styl dla powiązań, wówczas naturalnym jest wykonanie dwóch akcji:
  1. Sprawdzenie opcji dla powiązania poprzez przejrzenie menu kontekstowego dostępnego pod prawym przyciskiem myszy po wskazaniu powiązania.
  2. style linii powiązania dostępne w menu kontekstowym
  3.  Sprawdzenie dostępnych opcji programu.
Okno opcji Enterprise Architect - dostępne opcje stylu linii
W jednym i drugim przypadku widać, że dostępne opcje to:
  • Custom - domyślny styl, linia prosta bez żadnych złamań, możliwe jest samodzielne wstawienie punktów łamania i umieszczenie konektora zgodnie z potrzebami.
  • Direct - linia prosta, bez możliwości wstawienia punktów łamania, linię tę można przesuwać w ograniczonym zakresie.
  • Auto Routing - linia, która jest automatycznie łamana w punkcie lub punktach wybranych przez program; przesunięcie linii może powodować, że linia ułoży się zupełnie inaczej.
oraz dodatkowo style (niedostępne w liście rozwijalnej w opcjach programu), które dają mniejszą swobodę przebiegu linii łączącej dwa elementy, ale za to wprowadzają mechanizmy automatyzacji ułożenia powiązań na diagramie:
  • Tree Style - Vertical - styl przydatny na przykład przy przygotowaniu diagramu z drzewiastą strukturą, punkty łączenia wybierane są na górnej lub dolnej krawędzi elementu; może wystąpić tylko jeden punkt łamania linii; występują tylko kąty proste.
  • Tree Style - Horizontal - tak jak powyżej, z tym, że punkty łączenia wybierane są na lewej lub prawej krawędzi elementu.
  • Lateral - Vertical - styl przydatny na przykład przy przygotowywaniu diagramu prezentującego strukturę organizacyjną, punkty łączenia wybierane są na górnej lub dolnej krawędzi elementu; może wystąpić tylko jeden punkt łamania linii; występują tylko kąty proste.
  • Lateral - Horizontal - tak jak powyżej, z tym, że punkty łączenia wybierane są na lewej lub prawej krawędzi elementu.
  • Orthogonal - Square - styl podobny do Tree Style oraz Lateral, z tym, że linia może być łamana w wielu miejscach;
  • Orthogonal - Rounded - tak jak powyżej; różnicą jest to, że kąty łamania linii mają zaokrąglone rogi. Styl ten jest wykorzystywany do modelowania przy wykorzystaniu notacji BPMN.
Wydawać by się mogło zatem, że nie ma opcji, by uzyskać powiązanie pomiędzy elementami przy użyciu linii krzywej. Zastanawiające jest, dlaczego wśród tych opcji nie znalazła się pozycja o nazwie Bezier - oznaczająca linię krzywą. Okazuje się, że styl Bezier pojawia się jednak wśród dostępnych styli, ale tylko wtedy, gdy mamy do czynienia z jednym z wymienionych typów konektorów:
  • Mind Mapping connector,
  • State Flow,
  • State Transition,
  • Object Flow,
  • Control Flow.
style linii powiązania dostępne w menu kontekstowym - dostępny styl bezier


Załóżmy, że chcemy uzyskać efekt podobny do zaprezentowanego na poniższym diagramie.
Diagram prezentujący cykl życia systemu informatycznego
Na diagramie tym zmieniono styl wyświetlania elementów (kolor wypełnienia oraz czcionka) oraz styl linii (kolor linii oraz grubość). W tym przypadku zastosowano diagram stanów oraz konektory typu State Transition. A zatem, aby uzyskać linię krzywą wystarczyło zmienić styl powiązania na Bezier.
Ale czy to znaczy, że jesteśmy ograniczeni do linii prostych w przypadku pozostałych typów konektorów? Otóż nie.
Aby dowolny typ konektora mógł być zaprezentowany na diagramie w postaci linii krzywej należy dla wybranego powiązania dodać nowy atrybut Tagged Value o nazwie _bezier oraz o wartości innej niż 0 (zero).
Poniższy diagram pokazuje, w jaki sposób uzyskano "uśmiech" w postaci asocjacji pomiędzy dwiema klasami.
connector tagged value _bezier
W podobny sposób, czyli poprzez dodawanie określonego tagged value możemy definiować również inne style linii powiązań.
Więcej informacji na ten temat można znaleźć w EA User Guide.

Brak komentarzy:

Prześlij komentarz