Diagram UML. Typy diagramów UML

20.03.2019

Diagram UML jest wyspecjalizowanym językiem opisu graficznego przeznaczonym do modelowania obiektowego przy opracowywaniu różnego oprogramowania. Ten język ma szeroki profil i jest otwartym standardem, w którym różne symbole graficzne są używane do tworzenia abstrakcyjnego modelu systemu. UML został stworzony w celu zapewnienia definicji, wizualizacji, dokumentacji, a także projektowania różnych systemów oprogramowania. Należy zauważyć, że sam diagram UML nie jest językiem programowania, ale zapewnia również możliwość wygenerowania na jego podstawie oddzielnego kodu.

Dlaczego jest potrzebny?

UML nie kończy się na symulacji wszelkiego rodzaju oprogramowania. Również ten język jest obecnie aktywnie wykorzystywany do modelowania różnych procesów biznesowych, prowadzenia projektu systemu, a także wyświetlania struktur organizacyjnych.

Z pomocą UML twórcy oprogramowania mogą zapewnić pełną zgodność w notacji graficznej używanej do reprezentowania wspólnych pojęć, takich jak: komponent, uogólnienie, klasa, zachowanie i agregacja. Dzięki temu uzyskujemy większy stopień koncentracji na architekturze i designie.

Warto również zauważyć, że istnieje kilka rodzajów takich schematów.

Schemat klas

diagram stanu umla

Schemat klasy UML jest statycznym diagramem strukturalnym zaprojektowanym do opisania struktury systemu, a także wykazania atrybutów, metod i zależności między kilkoma różnymi klasami.

Warto zauważyć, że istnieje kilka punktów widzenia na temat budowy takich schematów, w zależności od tego, w jaki sposób będą używane:

  • Koncepcyjne. W tym przypadku diagram klas UML opisuje model określonego obszaru tematycznego i udostępnia tylko klasy obiektów aplikacji.
  • Specyficzne. Schemat jest wykorzystywany w procesie projektowania różnych systemów informatycznych.
  • Realizacja. Diagram klas obejmuje wszystkie rodzaje klas, które są bezpośrednio używane w kodzie programu.

Diagram składników

uml chart

Schemat komponentów UML jest całkowicie statycznym diagramem strukturalnym. Ma on na celu zademonstrowanie podziału określonego oprogramowania na różne komponenty strukturalne, a także połączenia między nimi. Schemat komponentów UML jako taki może wykorzystywać wszelkiego rodzaju modele, biblioteki, pliki, pakiety, pliki wykonywalne i wiele innych elementów.

Wykres struktury złożonej / złożonej

Diagram UML struktury kompozytowej / kompozytowej jest również statycznym diagramem strukturalnym, ale służy do pokazania wewnętrznej struktury klas. Jeśli to możliwe, ten diagram może również wykazać interakcję elementów znajdujących się w wewnętrznej strukturze klasy.

Ich podtypem jest diagram współpracy UML, który służy do zademonstrowania ról, a także interakcji różnych klas w ramach współpracy. Są całkiem wygodne, jeśli chcesz symulować wzorce projektowe.

Należy zauważyć, że typy diagramów klasy UML i struktury złożonej mogą być używane jednocześnie.

Tabela wdrażania

diagram aktywności

Ten schemat służy do modelowania działających węzłów, a także wszelkiego rodzaju artefaktów, które zostały na nich wdrożone. W UML 2 artefakty są wdrażane na różnych węzłach, podczas gdy w pierwszej wersji zostały wdrożone tylko składniki. Tak więc diagram rozmieszczenia UML jest używany przede wszystkim do drugiej wersji.

Uzależnienie od manifestacji powstaje między artefaktem a komponentem, który on implementuje.

Schemat obiektu

Ten widok pozwala zobaczyć pełną lub częściową migawkę systemu tworzonego w określonym momencie. W pełni wyświetla wszystkie wystąpienia klas danego systemu z bieżącymi wartościami ich parametrów, a także relacje między nimi.

Schemat pakietu

diagram przypadku użycia

Ten diagram jest strukturalny, a jego główną treścią są różnego rodzaju pakiety, a także relacje między nimi. W tym przypadku nie ma twardego podziału między kilkoma schematami strukturalnymi, w wyniku czego ich użycie jest najczęściej stosowane wyłącznie dla wygody i nie ma w sobie znaczenia semantycznego. Warto zauważyć, że różne diagramy UML mogą dostarczać różne elementy (przykłady: pakiety i same diagramy pakietów).

Ich wykorzystanie odbywa się w celu zapewnienia organizacji kilku elementów w grupy na podstawie konkretnych kryteriów w celu uproszczenia struktury, a także w celu uporządkowania pracy z modelem tego systemu.

Wykres aktywności

Schemat części uml

Diagram aktywności UML przedstawia dekompozycję określonej aktywności na kilka części. W tym przypadku termin "działanie" odnosi się do określenia określonego zachowania wykonywalnego w postaci równoległego, a także skoordynowanego sekwencyjnego wykonywania różnych elementów podrzędnych - zagnieżdżonych typów aktywności i różnych działań połączonych przepływami od wyjść określonego węzła do danych wejściowych innego.

Diagram aktywności UML jest często wykorzystywany do modelowania różnych procesów biznesowych, obliczeń równoległych i sekwencyjnych. Ponadto symulują różne procedury technologiczne.

Maszyna do wykresów

Ten widok jest nazywany i nieco inaczej - diagram stanu UML. Ma automat stanów ze stanami prostymi i złożonymi, a także przejścia.

Skończona maszyna stanów to specyfikacja sekwencji różnych stanów, przez które przechodzi określony obiekt lub interakcja w odpowiedzi na pewne zdarzenia w jego życiu, a także reakcja obiektu na takie zdarzenia. Komputer stanu korzystający ze schematu stanu UML jest przypisywany do elementu źródłowego i służy do określania zachowania jego instancji.

Tak zwane smocze schematy mogą być używane jako odpowiedniki takich schematów.

Użyj Diagramów Przypadków

diagram sekwencji uml

Diagram przypadków użycia UML przedstawia wszystkie relacje, które powstają między aktorami, a także różne przypadki użycia. Jego głównym zadaniem jest wdrożenie kompletnego środka, za pomocą którego klient, użytkownik końcowy lub jakiś programista będą mogli wspólnie omówić zachowanie i funkcjonalność konkretnego systemu.

Jeśli w procesie modelowania systemu używany jest diagram przypadku użycia UML, analityk:

  • Wyraźnie odseparuj symulowany system od jego otoczenia.
  • Zidentyfikuj aktorów, ich interakcje z tym systemem, a także oczekiwaną funkcjonalność.
  • Umieszczony w glosariuszu jako temat różnych pojęć związanych ze szczegółowym opisem funkcjonalności tego systemu.

Jeśli w UML opracowano schemat użycia, procedura rozpoczyna się od opisu tekstowego, który uzyskuje się poprzez współpracę z klientem. Jednocześnie warto zauważyć, że różne niefunkcjonalne wymagania w procesie opracowywania modelu precedensów są całkowicie pomijane, a dla nich powstanie osobny dokument.

Komunikacja

Diagram komunikacyjny, podobnie jak diagram sekwencji UML, jest przejściowy, to znaczy wyraża interakcję, ale jednocześnie demonstruje ją na różne sposoby, a jeśli to konieczne z koniecznym stopniem dokładności, można przekonwertować jeden na inny.

Diagram komunikacji odzwierciedla interakcje zachodzące pomiędzy różnymi elementami struktury kompozytowej, a także role współpracy. Główna różnica w stosunku do diagramu sekwencji polega na tym, że wyraźnie pokazuje relacje między kilkoma elementami, a czas nie jest wykorzystywany jako oddzielny pomiar.

Ten typ wyróżnia się całkowicie wolnym formatem do porządkowania kilku obiektów i łączy w taki sam sposób jak w diagramie obiektów. Jeśli zachodzi potrzeba utrzymywania porządku wiadomości w tym wolnym formacie, następuje ich numeracja chronologiczna. Odczyt tego diagramu rozpoczyna się od komunikatu początkowego 1.0, a następnie kontynuuje w kierunku, w którym wiadomości są przesyłane z jednego obiektu do drugiego.

Większość z tych diagramów pokazuje dokładnie te same informacje, które dostarcza diagram sekwencji, ale ponieważ używa innego sposobu prezentacji informacji, znacznie łatwiej jest zidentyfikować pewne rzeczy na jednym diagramie niż na innym. Warto również zauważyć, że na diagramie komunikacyjnym wyraźniej widać, z jakimi elementami oddziaływuje każdy poszczególny element, a schemat sekwencji wyraźniej pokazuje kolejność interakcji.

Diagram sekwencji

diagram klasowy

Diagram sekwencji UML demonstruje interakcje między kilkoma obiektami uporządkowanymi zgodnie z czasem ich wystąpienia. Na takim wykresie wyświetlana jest uporządkowana czasowo interakcja między kilkoma obiektami. W szczególności wyświetla wszystkie obiekty, które są zaangażowane w interakcję, jak również pełną sekwencję wiadomości wymienianych przez nich.

Głównymi elementami w tym przypadku są oznaczenia różnych obiektów, a także pionowe linie reprezentujące upływ czasu i prostokąty, zapewniające aktywność danego obiektu lub wykonanie funkcji przez niego.

Tabela współpracy

Tego typu diagramy pozwalają zademonstrować interakcję pomiędzy kilkoma obiektami, abstrahując od sekwencji nadawania wiadomości. Tego typu diagramy w formie kompaktowej odzwierciedlają w sobie absolutnie wszystkie nadawane i odbierane wiadomości określonego obiektu, a także formaty tych komunikatów.

Ponieważ schematy sekwencji i komunikacji są po prostu odmiennymi widokami tych samych procedur, Rational Rose umożliwia tworzenie sekwencji diagramów z komunikacji lub odwrotnie, a także wykonuje w pełni automatyczną synchronizację.

Wykresy przeglądu interakcji

Są to diagramy UML, które odnoszą się do różnych diagramów aktywności i zawierają zarówno elementy sekwencji, jak i konstrukcje sterowania.

Warto zauważyć, że ten format łączy schemat Collaboration i Sequence, które dają możliwość z różnych punktów widzenia do rozważenia interakcji między kilkoma obiektami w tworzonym systemie.

Wykres synchronizacji

Jest to alternatywna wersja diagramu sekwencji, która wyraźnie pokazuje zmianę stanu linii życia w określonej skali czasu. Może być bardzo przydatny w różnych aplikacjach czasu rzeczywistego.

Jakie są zalety?

Warto zauważyć kilka zalet odróżniających diagram użycia UML od innych:

  • Język jest zorientowany obiektowo, w wyniku czego technologie opisywania wyników przeprowadzonej analizy i projektu są semantycznie zbliżone do metod programowania we wszystkich rodzajach języków obiektowych nowoczesnego typu.
  • Za pomocą tego języka system można opisać niemal z każdego możliwego punktu widzenia, a różne aspekty jego zachowania są opisane w ten sam sposób.
  • Wszystkie wykresy są stosunkowo łatwe do odczytania nawet po stosunkowo szybkim zapoznaniu się z jego składnią.
  • UML pozwala rozszerzać, a także wprowadzać własne stereotypy graficzne i tekstowe, co przyczynia się do jego wykorzystania nie tylko w inżynierii oprogramowania.
  • Język stał się dość powszechny, a także rozwija się dość aktywnie.

Wady

Pomimo faktu, że budowa diagramów UML różni się masą zalet, są one często krytykowane za następujące wady:

  • Redundancja. W przeważającej większości przypadków krytycy twierdzą, że UML jest zbyt duży i złożony, a często jest to nieuzasadnione. Zawiera sporo zbędnych lub prawie bezużytecznych konstrukcji i schematów, a najczęściej taka krytyka trafia do drugiej wersji, a nie do pierwszej wersji, ponieważ w nowszych wersjach jest większa liczba kompromisów "opracowana przez komisję".
  • Różne niedokładności w semantykach. Z tego powodu, że UML jest definiowany przez połączenie siebie, angielskiego i OCL, brakuje mu sztywności, która jest nieodłączna w językach, które są precyzyjnie określone przez technikę opisu formalnego. W niektórych sytuacjach abstrakcyjna składnia OCL, UML i angielski zaczynają się wzajemnie sprzeczać, podczas gdy w innych przypadkach są one niepełne. Niedokładność opisu samego języka znajduje również odzwierciedlenie zarówno u użytkowników, jak i dostawców narzędzi, co ostatecznie prowadzi do niekompatybilności narzędzi ze względu na unikalny sposób interpretacji różnych specyfikacji.
  • Problemy w procesie wdrażania i badania. Wszystkie powyższe problemy stwarzają pewne trudności w procesie wdrażania i studiowania UML, a to jest szczególnie prawdziwe, gdy kierownictwo sprawia, że ​​inżynierowie używają go siłą, podczas gdy nie mają wstępnych umiejętności.
  • Kod odzwierciedla kod. Inna opinia jest taka, że ​​znaczenie nie jest piękne i atrakcyjne, ale samych systemów roboczych, czyli kod jest projektem. Zgodnie z tą opinią istnieje potrzeba opracowania bardziej wydajnego sposobu pisania oprogramowania. UML jest zwykle ceniony w podejściach, które kompilują modele do regeneracji kodu wykonywalnego lub kodu źródłowego. Ale w rzeczywistości może to nie wystarczyć, ponieważ w tym języku nie ma właściwości kompletności Turinga, a każdy wygenerowany kod będzie ostatecznie ograniczony do tego, co narzędzie interpretujące UML może przyjąć lub zdefiniować.
  • Załaduj niedopasowanie Termin ten wywodzi się z teorii analizy systemu, aby określić niezdolność wejścia danego systemu do postrzegania innego wyjścia. Podobnie jak w przypadku dowolnej standardowej notacji, UML może reprezentować niektóre systemy bardziej wydajnie i zwięźle niż inne. Dlatego programista jest bardziej skłonny do tych rozwiązań, które są wygodniejsze w przeplataniu wszystkich mocnych stron UML, a także innych języków programowania. Problem ten jest bardziej oczywisty, jeśli język programowania nie jest zgodny z podstawowymi zasadami obiektowej doktryny ortodoksyjnej, to znaczy, że nie stara się działać zgodnie z zasadami OOP.
  • Stara się być uniwersalnym. UML jest językiem modelowania ogólnego przeznaczenia, który stara się zapewnić zgodność z dowolnym istniejącym językiem przetwarzania. W kontekście konkretnego projektu, aby zespół projektowy osiągnął ostateczny cel, musisz wybrać odpowiednie możliwości tego języka. Ponadto, możliwe sposoby ograniczenia zakresu stosowania UML w danym obszarze przechodzą przez formalizm, który nie jest w pełni wyartykułowany, ale który sam jest przedmiotem krytyki.

Dlatego używanie tego języka jest istotne nie we wszystkich sytuacjach.