Dziś mam przyjemność zebrać w jednym miejscu same najważniejsze teoretyczne aspekty języka UML. Poniżej tekst, który może zarówno pełnić rolę popularnej ściągi jak i całościowego podsumowania UML w celu ugruntowania wiedzy.
Dla osób, które pragną więcej polecam książkę:
UML czyli Zunifikowany Język Modelowania (z ang. Unified Modeling Language) używany do opisania tworzone systemu.Utworzony grupę trzech specjalistów: Grandy Boocha, Jamesa Rumbaugham, Ivara Jackobsona. Rozwijany przez OMG (z ang. Object Management Group).
Składa się z notacji (elementy graficzne, składnia języka) oraz metamodelu (definicje pojęć języka, istotny przy graficznym programowaniu)
UML jako język modelowania obiektowego jest ściśle powiązany z następującymi pojęciami:
- Obiekt - każdy byt, pojęcie lub rzecz.
- Komunikat - specyfikacja wymiany informacji między obiektami .
- Hermetyzacja (enkapsulacja) - dawanie dostępu do obiektu po przez ujawnianie tylko tych informacji, które są niezbędne.
- Polimorfizm - nadawanie tej samej nazwy atrybutom i operacjom.
- Dziedziczenie - przyporządkowanie atrybutów i operacji klasom obiektów na podstawie hierarchicznej zależności między nimi .
Zastosowanie podejścia obiektowego wykorzystywane jest w:
- Metodyce RUP
- UML
- Obiektowych językach programowania
- Bazach danych
Analiza to badanie problemu i wymagań. Analiza obiektowa to badanie i klasyfikacja obiektów pojęciowych, czyli pojęć ze świata rzeczywistego.
Projektowanie - wymyślanie koncepcyjnego rozwiązania (programistycznego i sprzętowego), które realizuje wymagania.
Projektowanie obiektów określa się mianem projektowania obiektowego.
Proces wytwórczy - kaskadowe podejście do procesu wytwórczego nie jest dobrym pomysłem. Lepszym jest podejście iteracyjne. W każdej integracji wykonuje się zarówno analizę, projektowanie jak i kod.
Metodologia - zbiór metod procedur i reguł używanych prze osoby zajmujące się daną dziedziną przedmiotową.
UML jest językiem, nie zawiera opisu procedur, czy metod, więc nie może być użyty wszędzie.
Model - wzorzec, przedmiot służący do naśladowania.
Modelowanie - konstruowanie planu według pewnego wzorca.
Model obiektowy opiera się na pojęciach przyjętych w obiektowości.
UML wyróżnia 13 diagramów (graficzna reprezentacjach konstrukcji oraz zależności):
- Diagram klas - graficzne przedstawienie statycznych, deklaratywnych elementów oraz związków między nimi.
- Diagram obiektów - wystąpienie diagramu klas odwzorowujące strukturę systemu w wybranym momencie jego działania.
- Diagram pakietów - graficzne przedstawienie struktury systemu w postaci pakietów połączonych zależnościami i zagnieżdżeniami.
- Diagram struktur połączonych - graficzne przedstawienie wzajemnie współdziałających części dla osiągnięcia pożądanej funkcjonalności współbieżności.
- Diagram komponentów - modelowanie elementów oprogramowania i związków między nimi.
- Diagram rozlokowania - modelowanie rozmieszczenia infrastruktury oraz platform użytkownika systemu.
- Diagram przypadków użycia - graficzna reprezentacja aktorów, przypadków użycia oraz związków między nimi.
- Diagram czynności - graficzne przedstawienie sekwencyjnych i współbieżnych przepływów sterowania oraz danych pomiędzy uporządkowanymi akcjami i czynnościami obiektów.
- Diagram maszyny stanowej - graficzne odzwierciedlenie dyskretnego skokowego zachowania systemów stan-przejście. Przejścia pomiędzy stanami.
- Diagram sekwencji - interakcje między instancjami klasyfikatorów systemu w postaci komunikatów między nimi.
- Diagram komunikacji - specyfikuje strukturalne związki między instancjami klasyfikatorów biorącymi udział w interakcji oraz wymienia komunikaty. Diagram jest izomorficzny (są łatwo przenośne) względem diagramu sekwencji.
- Diagram harmongramowania - reprezentuje dopuszczalne stany jakie może przyjmować instancja klasyfikatora uczestnicząca w interakcji.
- Diagram sterowania interakcją - przepływ sterowania pomiędzy logiczne powiązanymi diagramami i fragmentami interakcji z wykorzystaniem kategorii modelowania diagramu czynności.
Diagramy można zgrupować według podziału:
Diagramy struktury, czyli:
- Diagram klas,
- Diagram pakietów,
- Diagram obiektów,
- Diagram struktur połączonych
Diagramy dynamiki, czyli:
- Diagram przypadków użycia,
- Diagram czynności,
- Diagram maszyny stanowej,
Diagramy wdrożeniowe, czyli:
- Diagram rozlokowania,
- Diagram komponentów
Diagramy interakcji, czyli:
- Diagram sekwencji,
- Diagram harmonogramowania
- Diagram komunikacji
- Diagram sterowania interakcją
Może je także zgrupować według perspektyw które prezentują, czyli:
Perspektywa przypadków użycia:
- Diagram przypadków użycia, Diagram pakietów.
Perspektywa dynamiczna:
- Diagram interakcji, Diagram czynności, Diagram maszyny stanowej, Diagram pakietów
Perspektywa logiczna:
- Diagram klas, Diagram obiektów, Diagram struktur połączonych, Diagram pakietów
Perspektywa komponentów:
- Diagram komponentów, Diagram pakietów
Perspektywa rozlokowania:
- Diagram rozlokowania, Diagram pakietów
Klasyfikator to każdy byt modelu (np. przypadek użycia, klasa, aktor etc.)
Instancją nazywany pojedyńcze wywołanie klasyfikatora.
Mechanizmy rozszerzalności, które oferuje UML to:
Stereotyp - tekstowe lub graficzne doprecyzowanie semantyki (np. <<include>> lub <<extend>>). Tekstowo zawsze zawierane w nawiasach << >>
Ograniczenie - wyrażenie formy językiem OCL (ang. Object Constroint Language) - formalne wyrażenie ograniczeń w UML.
Metka - przyporządkowanie nazwie wartości, notatka do elementu.
Najpopularniejsze narzędzia CASE (ang. Computer Aided Software Engineering) wspomagające modelowanie w języku UML:
- ArgoUML
- IBM Rational Rose
- Enterprise Architect
- Modelio
- Netbeans
- Eclipse
- Microsoft Visio
Brak komentarzy:
Prześlij komentarz