W ramach naszej witryny stosujemy pliki cookies. Kontynuując przeglądanie strony, wyrażasz zgodę na używanie przez nas plików cookies. Dowiedz się więcej tutaj
X

Księgarnia PWN

   

   

   

   

   

   

   

   

.

.

Bezpłatny newsletter


Unified Modeling Language (UML)

Unified Modeling Language (UML)

Notacja UML (ang. Unified Modeling Language) umożliwia tworzenie diagramów przedstawiających różne punkty widzenia systemu. Jest przeznaczona do specyfikowania modelu obiektowego systemu informatycznego oraz kontekstu, w jakim  system będzie używany na wybranym poziomie szczegółowości.

Według definicji UML jest językiem służącym do zapisywania projektu systemu i może być stosowany do graficznego opracowania, tworzenia, dokumentowania artefaktów podczas procesu budowy oprogramowania. Powstanie notacji zostało wymuszone różnorodnością notacji, które występowały w realizacji projektów zorientowanych na wytwarzanie oprogramowania na przełomie lat 70 i 80 ubiegłego wieku. Konieczne stało się zatem opracowanie notacji łączącej wszystkie dobre praktyki wypracowane w dziedzinie modelowania obiektowego, która miałaby zastosowanie na każdym etapie projektu i stałaby się standardem wymiany informacji na temat modelu obiektowego zarówno na poziomie diagramów, jak i formatu wymiany danych. Zadanie to miał spełnić Unified Modeling Language (UML).

UML służy ujednoliceniu sposobów opisywania dziedziny problemu oraz rzeczywistości w sposób zrozumiały dla różnych zespołów.

Koncepcja języka łączy najlepsze cechy z obszarów:

  • modelowania danych (ERD),
  • modelowania przepływów (DFD),
  • modelowania obiektowego (OOA),
  • zarządzania złożonością.

UML powstał przez połączenie trzech metodyk oraz języków modelowanie obiektowego, których autorami było trzech innowatorów (Grady Booch, Ivar Jacobson oraz James Rumbaugh).

UML nie definiuje sposobu analizy opisywanego zagadnienia ani procesu wytwórczego. Może jednak być (i jest) wykorzystywany jako język opisu wyników analizy oraz jako element dokumentacji wszystkich etapów procesu wytwórczego. Przy opracowywaniu UML starano się, by był on kompatybilny z podstawowymi metodami projektowania zorientowanego obiektowo. Do korzystania z notacji UML zostało przystosowane wiele metod projektowych.

UML nie jest także językiem programowania graficznego. Podjęto wprawdzie próby zastosowania modeli zapisanych w UML do wygenerowania gotowej aplikacji (MDA, Executable UML), specyfikacje te nie są jednak elementem definicji UML. UML może jednak w razie potrzeby służyć do opisu modelu rozwiązania na poziomie implementacji.

Diagramy strukturalne

Diagram klas (ang. class diagram) – służy do przedstawienia struktury systemu w postaci klas, ze szczególnym naciskiem na ich strukturę oraz relacje między nimi. Diagram klas jest bezpośrednio powiązany z projektowaniem obiektowym oraz zazwyczaj implementacją rozwiązania w określonej technologii. Zazwyczaj skupia się on na wybranym fragmencie systemu z zastosowaniem uprzedniego przyjętego poziomu abstrakcji, co pozwala na zastosowanie go do modelowania domenowego, a także przedstawiania struktur danych oraz szczegółów implementacji klas. Elementami tego diagramu są prostokąty reprezentujące klasy, które mogą zawierać informację o atrybutach obiektu oraz metodach, jakie można wykonywać na poszczególnych klasach. Istotnym elementem diagramu są także zależności między klasami przedstawiane w postaci linii określających rodzaj relacji.

Rysunek 8.15. Przykładowy diagram klas

UML1

Diagram obiektów (ang. object diagram) – służy do przedstawienia obiektów istniejących w systemie oraz związków między nimi w określonym momencie czasu. Diagram często nawiązuje do diagramu klas, uzupełniając jego znaczenie o kontekst działania systemu w czasie. Szczegółowy opis obiektów składający się z ich tożsamości, stanu i zachowania pozwala na ich jednoznaczną identyfikację w systemie i przypisanie do nich informacji. mily:T� t�; o p0b C\ '>arządzania złożonością.

Rysunek 8.16. Przykładowy diagram obiektów

UML2

Diagram komponentów (ang. component diagram) – służy do modelowania architektury logicznej rozwiązania. Diagram komponentów precyzuje elementy systemu oraz zachodzące między nimi zależności. Dzięki możliwości zagnieżdżania komponentów pozwala on na specyfikowanie architektury systemu na dowolnym poziomie.

Rysunek 8.17. Przykładowy diagram komponentów

UML3

Diagram wdrożenia (ang. deployment diagram) – służy przedstawieniu fizycznych komponentów architektury. Najczęściej wykorzystywany w fazie wdrożenia do udokumentowania sposobu instalacji rozwiązania. W fazie początkowej projektu służy do przedstawienia rozmieszczenia komponentów logicznych proponowanego rozwiązania w infrastrukturze IT zamawiającego. 

Rysunek 8.18. Przykładowy diagram wdrożenia

UML4

Diagram struktur połączonych (ang. composite structure diagram) – służy do przedstawienia wewnętrznej struktury klasy i możliwości jej współpracy z innymi obiektami. Schemat ten może zawierać części wewnętrzne klasy, np. porty, przez które elementy współdzielą ze sobą informacje lub komunikują się ze światem zewnętrznym. Diagram obrazuje strukturę złożoną (ang. composite structure), która jest zbiorem połączonych elementów współpracujących ze sobą, aby osiągnąć pewien cel. Każdy element pełni w tej współpracy określoną rolę.

Rysunek 8.19. Przykładowy diagram struktur połączonych

UML5

Diagram pakietów (ang. package diagram) – służy do przedstawienia pakietów oraz zależności między nimi w tworzonym modelu. Diagram zazwyczaj przedstawia strukturę, w jakiej składowane będą modele, oraz koncepcję organizacji tej struktury. 

Rysunek 8.20. Przykładowy diagram pakietów

UML6

Diagram profilu (ang. profile diagram) – pozwala na  wizualizację semantyki języka (tzw. metamodelu) oraz przedstawienia stereotypów w postaci klas, które mogą być użyte do uściślenia lub rozbudowy standardowego zastosowania UML. Zgodnie z definicją UML stereotyp rozszerza słownictwo oraz pozwala na tworzenie nowych bloków konstrukcyjnych wywodzących się z już istniejących składników semantyki. Definicje nowych stereotypów oznaczane są na diagramie jako klasa ze stereotypem <<stereotype>>, a profile jako pakiety z stereotypem <<profile>>. Omawiana forma prezentacji we wcześniejszych wersjach specyfikacji UML występowała jako rozszerzenie, a następnie została włączona do standardu.

Rysunek 8.21. Przykładowy diagram profilu 

UML7

W kolejnym artykule opiszemy diagramy behawioralne.

Autorzy: Bartosz Chrabski, Karolina Zmitrowicz

Polecamy

Partnerzy