UML 2.0 - Omówienie

UML 2.0 to zupełnie inny wymiar w świecie Unified Modeling Language. Ma bardziej złożony i rozległy charakter. Zakres dokumentacji również się zwiększył w porównaniu z wersją UML 1.5. UML 2.0 dodał nowe funkcje, dzięki czemu jego użycie może być szersze.

UML 2.0 dodaje definicję formalnej i całkowicie zdefiniowanej semantyki. Tę nową możliwość można wykorzystać do opracowania modeli, a na podstawie tych modeli można wygenerować odpowiednie systemy. Jednak aby wykorzystać ten nowy wymiar, trzeba włożyć sporo wysiłku w zdobycie wiedzy.

Nowe wymiary w UML 2.0

Struktura i dokumentacja UML została całkowicie zmieniona w najnowszej wersji UML 2.0. Obecnie dostępne są dwa dokumenty opisujące UML -

  • Infrastruktura UML 2.0 definiuje podstawowe konstrukcje języka, na którym oparty jest UML. Ta sekcja nie dotyczy bezpośrednio użytkowników UML. Jest to bardziej skierowane do twórców narzędzi do modelowania. Ten obszar nie jest objęty zakresem tego samouczka.

  • UML 2.0 Superstructure definiuje konstrukcje użytkownika UML 2.0. Oznacza to te elementy UML, z których użytkownicy będą korzystać bezpośrednio. Na tym skupia się społeczność użytkowników UML.

Ta wersja UML została stworzona w celu zrestrukturyzowania i udoskonalenia UML, aby uprościć użyteczność, implementację i adaptację.

Infrastruktura UML służy do -

  • Zapewnij rdzeń metajęzyka wielokrotnego użytku. Służy do definiowania samego języka UML.

  • Zapewnij mechanizmy dostosowania języka.

Nadbudowa UML służy do -

  • Zapewnij lepsze wsparcie dla rozwoju opartego na komponentach.

  • Ulepsz konstrukcje specyfikacji architektury.

  • Zapewnij lepsze opcje modelowania zachowania.

Ważną kwestią, na którą należy zwrócić uwagę, są główne podziały opisane powyżej. Te podziały służą do zwiększenia użyteczności UML i określenia jasnego zrozumienia jego użycia.

Jest jeszcze jeden wymiar, który jest już proponowany w tej nowej wersji. Jest to propozycja zupełnie nowego języka ograniczeń obiektowych (OCL) i wymiany diagramów. Wszystkie te funkcje tworzą kompletny pakiet UML 2.0.

Diagramy modelowania w UML 2.0

Modelowanie interakcji

Diagramy interakcji opisane w UML 2.0 różnią się od wcześniejszych wersji. Jednak podstawowa koncepcja pozostaje taka sama jak we wcześniejszej wersji. Główną różnicą jest ulepszenie i dodatkowe funkcje dodane do diagramów w UML 2.0.

UML 2.0 modeluje interakcję z obiektami na cztery różne sposoby.

  • Sequence diagramto zależny od czasu widok interakcji między obiektami w celu osiągnięcia behawioralnego celu systemu. Sekwencja czasowa jest podobna do wcześniejszej wersji diagramu sekwencji. Interakcję można zaprojektować na dowolnym poziomie abstrakcji w projekcie systemu, od interakcji podsystemu do poziomu pierwszego.

  • Communication diagramto nowa nazwa dodana w UML 2.0. Diagram komunikacji to strukturalny widok komunikacji między obiektami, zaczerpnięty z koncepcji diagramu współpracy w UML 1.4 i wcześniejszych wersjach. Można to zdefiniować jako zmodyfikowaną wersję diagramu współpracy.

  • Interaction Overview diagramjest także nowym dodatkiem w UML 2.0. Diagram Przegląd interakcji opisuje widok wysokiego poziomu grupy interakcji połączonych w sekwencję logiczną, w tym logikę sterowania przepływem do nawigacji między interakcjami.

  • Timing diagramjest również dodany w UML 2.0. Jest to opcjonalny diagram służący do określenia ograniczeń czasowych dotyczących wiadomości wysyłanych i odbieranych w trakcie interakcji.

Z powyższego opisu należy zauważyć, że celem wszystkich diagramów jest wysyłanie / odbieranie wiadomości. Obsługa tych komunikatów jest wewnętrzna dla obiektów. W związku z tym obiekty mają również opcje odbierania i wysyłania wiadomości, a tutaj pojawia się inny ważny aspekt zwany interfejsem. Teraz te interfejsy są odpowiedzialne za przyjmowanie i wysyłanie wiadomości do siebie.

Można zatem stwierdzić, że interakcje w UML 2.0 są opisane w inny sposób i to jest powód, dla którego pojawiły się nowe nazwy diagramów. Jeśli przeanalizujemy nowe diagramy, będzie jasne, że wszystkie diagramy są tworzone na podstawie diagramów interakcji opisanych we wcześniejszych wersjach. Jedyną różnicą są dodatkowe funkcje dodane w UML 2.0, aby diagramy były bardziej wydajne i zorientowane na cele.

Modelowanie współpracy

Jak już wspomnieliśmy, współpraca służy do modelowania wspólnych interakcji między obiektami. Można powiedzieć, że współpraca to interakcja, w której zestaw komunikatów jest obsługiwany przez zestaw obiektów, które mają zdefiniowane role.

Ważną kwestią, na którą należy zwrócić uwagę, jest różnica między diagramem współpracy we wcześniejszej wersji a w wersji UML 2.0. Aby to rozróżnić, nazwa diagramu współpracy została zmieniona w UML 2.0. W UML 2.0 nosi nazwęCommunication diagram.

W konsekwencji współpraca jest definiowana jako klasa z atrybutami (właściwościami) i zachowaniem (operacjami). Przedziały w klasie współpracy mogą być definiowane przez użytkownika i mogą być używane do interakcji (diagramy sekwencji) i elementów strukturalnych (diagram struktury złożonej).

Poniższy rysunek modeluje wzorzec projektowy Observera jako współpracę między obiektem w roli obserwowalnego przedmiotu a dowolną liczbą obiektów jako obserwatorów.

Modelowanie komunikacji

Diagram komunikacji jest nieco inny niż diagramy współpracy we wcześniejszych wersjach. Można powiedzieć, że jest to zmniejszona wersja wcześniejszych wersji UML. Cechą wyróżniającą diagram komunikacji jest powiązanie między obiektami.

To jest wizualne łącze, którego brakuje w diagramie sekwencji. Na diagramie sekwencji wyświetlane są tylko komunikaty przekazywane między obiektami, nawet jeśli nie ma między nimi połączenia.

Diagram komunikacji jest używany, aby zapobiec popełnieniu tego błędu przez projektanta poprzez użycie formatu diagramu obiektów jako podstawy przesyłania komunikatów. Każdy obiekt na diagramie komunikacji nazywany jest linią życia obiektu.

Typy wiadomości na diagramie komunikacji są takie same, jak na diagramie sekwencji. Diagram komunikacyjny może modelować synchroniczne, asynchroniczne, zwrotne, utracone, znalezione komunikaty tworzenia obiektów.

Poniższy rysunek przedstawia diagram obiektów z trzema obiektami i dwoma łączami, które stanowią podstawę diagramu komunikacji. Każdy obiekt na diagramie komunikacji nazywany jest linią życia obiektu.

Modelowanie przeglądu interakcji

W praktyce diagram sekwencji służy do modelowania pojedynczego scenariusza. W celu uzupełnienia całej aplikacji zastosowano szereg diagramów sekwencji. Stąd, modelując pojedynczy scenariusz, można zapomnieć o całym procesie, a to może wprowadzić błędy.

Aby rozwiązać ten problem, nowy diagram przeglądu interakcji łączy przepływ sterowania z diagramu aktywności i specyfikację komunikatów z diagramu sekwencji.

Diagram aktywności wykorzystuje działania i przepływy obiektów do opisu procesu. Diagram Przegląd interakcji wykorzystuje interakcje i wystąpienia interakcji. Linie życia i wiadomości znalezione na diagramach sekwencji pojawiają się tylko w ramach interakcji lub wystąpień interakcji. Jednak linie życia (obiekty), które uczestniczą w diagramie Przegląd interakcji, mogą być wymienione wraz z nazwą diagramu.

Poniższy rysunek przedstawia ogólny diagram interakcji z rombami decyzyjnymi, ramkami i punktem końcowym.

Modelowanie diagramu czasowego

Sama nazwa tego diagramu opisuje cel diagramu. Zasadniczo zajmuje się czasem wydarzeń w całym ich cyklu życia.

Diagram czasowy można zatem zdefiniować jako diagram interakcji specjalnego przeznaczenia, stworzony w celu skupienia się na zdarzeniach obiektu w czasie jego życia. Jest to po prostu mieszanka maszyny stanów i diagramu interakcji. Diagram czasowy wykorzystuje następujące osie czasu -

  • Stan linii czasu

  • Ogólna linia czasu wartości

Linia życia na diagramie czasowym tworzy prostokątną przestrzeń w obszarze zawartości ramki. Zwykle jest wyrównany poziomo, aby czytać od lewej do prawej. W tej samej ramie można ustawić wiele linii życia, aby modelować interakcję między nimi.

Podsumowanie

UML 2.0 to ulepszona wersja, w której dodano nowe funkcje, aby uczynić go bardziej użytecznym i wydajnym. Istnieją dwie główne kategorie UML 2.0, jedna to super struktura UML, a druga to infrastruktura UML. Chociaż nowe diagramy są oparte na starych koncepcjach, nadal mają kilka dodatkowych funkcji.

UML 2.0 oferuje cztery diagramy interakcji, diagram sekwencji, diagram komunikacji, diagram przeglądu interakcji i opcjonalny diagram czasowy. Wszystkie cztery diagramy wykorzystują notację ramek do ujęcia interakcji. Korzystanie z ramek wspiera ponowne wykorzystanie interakcji jako wystąpienia interakcji.