piątek, 31 sierpnia 2012

Kolorowanie według stereotypów

Elementy na diagramach mogą być prezentowane przy użyciu różnych kolorów wypełnienia. Notacja UML, jak również inne notacje nie stawiają ograniczeń w tym zakresie. Narzędzie Sparx Enterprise Architect umożliwia umożliwia swobodną zmianę stylu wyświetlania elementu.

Najbardziej wygodnym sposobem na zmianę tego stylu jest zaznaczenie wybranego elementu, a następnie kliknięcie na ikonę pędzelka, która pojawia się z prawej strony zaznaczonego elementu. Wyświetlone zostaje wówczas podręczne menu, przy pomocy którego możliwa jest zmiana czcionki, koloru czcionki, kolor wypełnienia oraz kolor i grubości linii obramowania.
Element - zmiana stylu wyświetlania na diagramie
Najczęściej zmienianą opcją jest kolor wypełnienia elementu, gdyż za jego pomocą można rozszerzyć zakres informacyjny diagramu. Zastosowanie kilku różnych kolorów w odniesieniu do różnych elementów pozwala na wprowadzenie dodatkowego ich rozróżnienia na różne kategorie. Można w ten sposób na przykład wprowadzić kategorie przypadków użycia:
  • biznesowe przypadki użycia,
  • systemowe przypadki użycia,
  • kluczowe przypadki użycia,
  • pomocnicze przypadki użycia,
  • itp.
Klasy UML można kategoryzować jako:
  • klasy biznesowe,
  • typy danych,
  • klasy abstrakcyjne,
  • itp.
 A jeśli już mowa o rozróżnianiu różnych kategorii elementów, to warto się zastanowić nad zastosowaniem stereotypów. Każdemu elementowi dowolnego typu może zostać przypisany określony stereotyp. Zmianę tę dokonujemy w oknie Properties elementu.
Element properties - stereotypes list

Co to stereotyp? 

Stereotyp pozwala rozszerzyć semantykę modelu. Jest mechanizmem wspieranym przez notację UML w odniesieniu do jakiejś grupy służącym do rozszerzenia lub zmodyfikowania:
  • znaczenia,
  • sposobu wyświetlania,
  • bądź ich składni (atrybutów, możliwych powiązań itp.).
Stereotypy można stosować do elementów (czyli wszelkiego rodzaju obiektów, na przykład klasa czy przypadek użycia), powiązań (takich jak Dependency czy Association), atrybutów, metod oraz kilku innych pojęć. Stereotypy stanowią również podstawę do budowania profili UML. W pewnym uproszczeniu można przyjąć, że na samej górze jest zdefiniowana Metaclass (na przykład Class w notacji UML), owa metaklasa może być uszczegółowiona poprzez stereotyp (np. <<biznes>>), następnie tworzona jest klasa (np. Ocena). A idąc jeszcze dalej, np. na potrzeby diagramów interakcji mogą być tworzone obiekty danej klasy (<nazwa_obiektu>:Ocena).

Zastosowanie stereotypów do kolorowania

No dobrze, wiemy już czym jest stereotyp. Widać z tego, że idealnie nadaje się ten mechanizm do zmiany wyglądu elementów opatrzonych stereotypem.
W Enterprise Architect można stosować predefiniowane stereotypy, jak również samodzielnie definiować dowolne stereotypy, które spełniają wymagania projektowe.
Aby zdefiniować stereotyp wystarczy w oknie Properties elementu, w polu Stereotype wpisać określoną wartość, zamiast wybierać już istniejącą z listy rozwijalnej. Po wpisaniu na przykład polskiej nazwy "biznes", element taki zostaje opatrzony stereotypem <<biznes>>, a ów nowy stereotyp można odnaleźć w oknie Settings --> UML Types w zakładce Stereotypes.
UML Types - Stereotypes list

Po wybraniu z listy stereotypu w sekcji Default Colors możemy zdefiniować dla niego specyficzny sposób wyświetlania elementów opatrzonych tym stereotypem. W tym przykładzie dla stereotypu <<biznes>> przypiszemy kolor wypełnienia (Fill): żółty. Zmianę zatwierdzamy przyciskiem Save.

Efektem tego będzie automatycznie pokolorowanie we wszystkich diagramach wszystkich elementów opatrzonych stereotypem <<biznes>> kolorem żółtym. Jeśli usuniemy z właściwości elementu wartość stereotypu lub zastąpimy innym stereotypem, wówczas kolor żółty zostanie zastąpiony domyślnym kolorem wypełnienia.
Ponadto, każda zmiana domyślnego koloru wypełnienia w definicji stereotypu (np. z koloru żółtego na amarantowy) spowoduje automatyczną ponownie automatyczną zmianę we wszystkich diagramach.
przykład diagramu klas z kolorowaniem wg steretoypów

Podsumowanie

Dzięki zastosowaniu kolorowania według stereotypów możliwa jest automatyczna zmiana sposobu wyświetlania elementów na diagramach w zależności od ich rodzaju. Sposób ten przyspiesza pracę nad diagramami, gdyż projektant nie jest zmuszony do ręcznej zmiany kolorów, wystarczy że skupi się na poprawnym przypisaniu stereotypów, a dodatkowo konieczność zmiany kolorów dla wielu elementów wymaga tylko kilku kliknięć myszą. Poprawia się również czytelność diagramów, gdyż już na pierwszy rzut oka łatwo się zorientować w kategoriach prezentowanych elementów. Ponadto automatyczne kolorowanie według stereotypów ułatwia zachowanie spójności w modelu, gdyż każda zmiana wartości stereotypu skutkuje zmianą koloru.
Skupiłem się w tym artykule na oznaczaniu elementów poprzez zastosowanie różnych kolorów wypełnień, ale ta sama zasada stosuje się również do koloru czcionki i obramowania.
Zaawansowaną metodą wyróżniania elementów w zależności od stereotypu jest zastosowanie mechanizmu Shape Script, dzięki któremu można całkowicie zmienić kształt elementu.


4 komentarze:

  1. Dlaczego gdy stworzę sobie aktora w pakiecie i zmienię kolor jego tła na czerwony, a później przeciągnę i upuszczę tego aktora do innego diagramu z jako "Paste element -> Link", to w tym diagramie ten aktor nie ma czerwonego tła, tylko standardowe? To samo dotyczy przypadku, gdy nadam aktorowi wygląd graficzny.

    OdpowiedzUsuń
    Odpowiedzi
    1. Jeśli ustawiasz kolor w standardowy sposób (po kliknięciu na "pędzelek", który wyświetla się z prawej strony zaznaczonego elementu na diagramie lub poprzez wybór koloru z górnej belki narzędziowej diagramu), wówczas kolor tła elementu jest przypisany tylko do tego diagramu.
      Można ustawić domyślny kolor dla wybranego elementu, który będzie zastosowany we wszystkich diagramach na dwa sposoby:
      - poprzez stereotyp, jak to jest opisane w tym artykule,
      - poprzez zmianę "Default Appearance" dla wybranego elementu.

      Aby zmienić domyślny sposób wyświetlania wybranego elementu na wszystkich diagramach trzeba kliknąć prawym przyciskiem na element na diagramie, a następnie wybrać z menu kontekstowego: Appearance --> Default Appearance lub nacisnąć klawisz F4.

      Usuń
    2. Dzięki! A jeżeli w "Default appearance" nie ma możliwości ustawienia obrazka reprezentującego aktora? Są tam tylko kolory i czcionki.

      Usuń
    3. W menu kontekstowym jest jeszcze: Appearance --> Select Alternate Image...

      Usuń