Katedra Oprogramowania
Wydział Informatyki PB
Inżynieria oprogramowania
Pomocnik UML-owy
(wersja UML v. 1.5 i v. 2.0)
Związki pomiędzy przypadkami użycia | ||
Zawieranie | Rozszerzanie | Uogólnienie |
przypadek użycia A ZAWSZE włącza przypadek użycia B | przypadek użycia D CZASAMI (w pewnych sytuacjach) rozszerza przypadek użycia C | analogiczne do dziedziczenia klas |
Widoczność atrybutów i operacji |
|||
+ | publiczny (public) | nieograniczony dostęp | |
# | chroniony (protected) | w ramach klasy + potomkowie | |
- | prywatny (private) | tylko operacje składowe |
Związki pomiędzy klasami | ||
Uogólnienia | Powiązania | Zależności |
Dziedziczenie klas; kl. abstrakcyjna nie może mieć bezpośrednio egzemplarzy |
Związki strukturalne pomiędzy klasami; agregacja - znaczenie pojęciowe; kompozycja (agregacja całkowita) - relacja wyłącznej własności i jedność czasu życia |
Związek użycia (zmiany w definicji mogą mieć wpływ na klasę zależną) |
Liczności (krotności) powiązań | |
0..1 -
opcjonalnie (zero lub jeden) |
|
Jeden obiekt Klasa_C jest powiązany z licz_D
obiektów Klasa_D Jeden obiekt Klasa_D jest powiązany z licz_C obiektów Klasa_C |
Intrfejsy i konektory | |
Dwa rodzaje interfejsów:
|
Rodzaje komunikatów (v. 1.5) |
||
prosty | jedynie przekazanie sterowania od obiektu do obiektu; nie są istotne szczegóły | |
synchroniczny | obiekt wysyłający oczekuje na odpowiedź i po jej otrzymaniu kontynuuje; zwykle reprezentuje wywołanie proceduralne | |
asynchroniczny | oznacza powrót z wywołania procedury; może być pomijany | |
powrót | po wysłaniu komunikatu obiekt kontynuuje swoje działania bez oczekiwania na odpowiedź |
Tworzenie i usuwanie obiektu |
|
Początek interakcji, obiekty na tym poziomie istnieją przed jej
rozpoczęciem Utworzenie obiektu jest wynikiem odebrania komunikatu stereotypowego <<create>> (wywołanie konstruktora) Usunięcie obiektu - komunikat stereotypowy <<destroy>>, zakończenie linii życia |
Rodzaje ramek (v. 2.0) |
|
Alt - alternatywa;
wykonywany jest ten fragment, przy którym spełniony jest warunek
Opt - opcjonalny; wykonywany jeśli spełniony jest warunek Par - współbieżność; wszystkie fragmenty wykonywane współbieżnie Loop - iteracja; warunek określa podstawę iteracji Ref - odwołanie; stanowi referencję do innej interakcji; przykrywa linie życia Critical (region) - obszar krytyczny; fragment może mieć tylko jeden wątek uruchomiony w danej chwili |
Rozgałęzienia | Rozwidlenia i scalenia |
Opisują ścieżki alternatywne; do wyboru jednej z nich dochodzi
na podstawie wyliczonych wartości warunków (wyrażeń logicznych) else - reprezentującego ścieżkę wybieraną, gdy wszystkie inne warunki nie są spełnione |
Współbieżne wykonanie czynności; w punkcie
scalenia dochodzi do synchronizacji współbieżnych przepływów sterowania Wątek warunkowy - jeśli warunek jest fałszywy, zakłada się, że z punktu widzenia scalenia wątek ten jest juz zakończony |
v. 2.0
Zdarzenia czasowe | Sygnały |
Zdarzenie czasowe może zostać użyte do zamodelowania okresu oczekiwania. Tekst umieszczony obok klepsydry określa czas, jaki musi upłynąć. Krawędź wchodząca do zdarzenia czasowego oznacza, że jest ono aktywowane tylko raz. Zdarzenie czasowe bez wchodzących przepływów jest cykliczne, co oznacza, że jest aktywowane w odstępach czasu podanych obok symbolu klepsydry. | Sygnały reprezentują interakcje z zewnętrznymi uczestnikami.
Sygnały są komunikatami, które mogą być nadawane oraz odbieranie w trakcie czynności.
Węzeł sygnału odbieranego może spowodować uruchomienie akcji przedstawionej na diagramie czynności. Węzeł sygnału nadawanego wysyła go do zewnętrznych uczestników. Sygnały nadawane są w sposób asynchroniczny, co oznacza, że czynność nie musi oczekiwać na odpowiedź, lecz po wysłaniu sygnału kontynuuje natychmiast działanie, począwszy od kolejnej akcji. |
Rozpoczynanie czynności | Kończenie czynności |
Najprostszym oraz najczęstszym sposobem rozpoczynania czynności jest użycie
pojedynczego węzła początkowego. Inne sposoby rozpoczynania czynności mające specjalne znaczenie: - czynność rozpoczyna się od odebrania danych wejściowych - czynność rozpoczyna się w odpowiedzi na zdarzenia czasowe - czynność rozpoczyna się w wyniku wzbudzenia przez sygnał. |
Węzeł końcowy czynności kończy całą czynność. Węzeł końcowy przepływu kończy jedynie własną ścieżkę, a nie całą czynność. Obszar przerwań otaczają akcje, które mogą zostać przerwane, oraz zdarzenie mogące powodować przerwanie. |
Obiekty przekazywane pomiędzy akcjami | Partycje |
Węzeł obiektu reprezentuje obiekt, który jest dostępny w określonym miejscu czynności.
Może on zostać użyty w celu zaprezentowania faktu, że dany obiekt jest używany,
tworzony lub modyfikowany przez dowolną z otaczających go akcji. Przekaźnik danych wejściowych oznacza, że określony obiekt to dane wejściowe akcji. Przekaźnik danych wyjściowych oznacza, że określony obiekt to dane wyjściowe z akcji. |
Partycji można użyć aby pokazać, za które akcje są odpowiedzialni poszczególni uczestnicy czynności. Partycje dzielą diagram na wiersze oraz kolumny i zawierają akcje, które są wykonywane przez odpowiedzialne za nie grupy. |
W momencie wystąpienia zdarzenia uruchamiającego sprawdzany jest warunek dozoru. Jeżeli warunek jest spełniony wówczas następuje przejście pomiędzy stanami podczas którego wykonywana jest akcja; w przeciwnym przypadku nie dochodzi do przejścia pomiędzy stanami. |
Zdarzenia czasowe |
|
after(okres_czasu) - zdarzenie następuje
po upływie podanego okresu np. after(14 dni), after(2 s.) |
when(moment_czasu) - zdarzenie następuje
w określonym momencie np. when(termin_zapłaty), when(24:00) |
Copyright © 2004-7 Marek Krętowski & Tomasz Łukaszuk. All rights reserved.
Revised:
2007-10-09