Blog Leszczynowa

UML

Kurs UML - część 5 - diagramy czynności/aktywności

Kurs UML - część 5 - diagramy czynności/aktywności Dziś kolej na następny rodzaj diagramów - diagramy czynności (zwany często diagramem aktywności). Diagramy czynności należą do jednych z bardziej złożonych elementów języka UML, jednak jako że kurs ten traktuje o podstawach, zostaną tu zaprezentowane wyłącznie najważniejsze jego elementy.

Marcin Staniszczak

Diagramy czynności służą do opisywania procesów, w których bierze udział kilka obiektów. Jeśli nie mówi ci to zbyt wiele, uzbrój się w cierpliwość, zaraz bowiem wszytko stanie się jasne.

Podstawowe symbole

Jak już wiesz, w całym języku UML posługujemy się elementami graficznymi. Nie inaczej jest w przypadku diagramów czynności: Prostokąt o zaokrąglonych rogach (rys. 1) jest graficzną interpretacją czynności lub akcji wykonywanego przez system. Mimo że akcja i czynność są czym innym, symbol mają podobny (czasami akcja jest w mniejszym prostokącie), ale o tym dalej.

Rys. 1. Czynności/akcja Rys. 1. Czynności/akcja Rys. 2. Decyzja Rys. 2. Decyzja

Romby (rys. 2) reprezentują miejsca, w których podejmowana jest decyzja. Koło zamalowane na czarno (rys. 3) oznacza początek, a więc miejsce, w którym rozpoczyna się przepływ sterowania.

Koło z czarną kropką (rys. 4) oznacza koniec, czyli punkt zatrzymania wszelkich przepływów sterowania.

Rys. 3. Początek
przepływu
sterowania Rys. 3. Początek przepływu sterowania Rys. 4. Koniec
wszystkich
przepływów
sterowania Rys. 4. Koniec wszystkich przepływów sterowania Rys. 5.
Koniec
przepływu
sterowania Rys. 5. Koniec przepływu sterowania

Przekreślone koło (rys. 5) oznacza zatrzymanie wybranego przepływu sterowania. Strzałka (rys. 6) określa przepływ sterowania pomiędzy dwoma zadaniami (akcjami).

Rys. 6. Strzałki określają przepływ sterowania między zadaniami Rys. 6. Strzałki określają przepływ sterowania między zadaniami

Prosty diagram

Na rysunku 8 przedstawiony został bardzo prosty diagram, prezentujący dwie czynności, jakie wykonujemy, gdy chcemy zatelefonować, używając telefonu komórkowego.

Diagram wydaje się na tyle prosty, że nie wymaga tłumaczenia. Przyjrzyj się teraz diagramowi 9. Tutaj sprawdzamy, czy mamy dany numer w książce telefonicznej. Jeśli nie, dodajemy go. Na końcu dany numer wybieramy.

Na tym diagramie widać sposób użycia elementu decyzyjnego. Kolejność wykonywania czynności zmienia się w zależności od spełnienia pewnego warunku, tutaj obecności szukanego numeru w książce telefonicznej. Jeśli go nie ma, przed wykonaniem telefonu dodajemy numer do książki telefonicznej.

Rys. 7. Grube kreski, do których prowadzą strzałki,
definiują czynności współbieżne Rys. 7. Grube kreski, do których prowadzą strzałki, definiują czynności współbieżne Rys. 8. Prosty
diagram
czynności Rys. 8. Prosty diagram czynności

Akcja a czynność

Czynność jest bardziej ogólnym pojęciem, w związku z czym jest podzielna i charakteryzuje się dłuższym czasem wykonywania. Akcja jest pojęciem szczegółowym, a co za tym idzie, niepodzielnym, o krótkim czasie realizacji.

Na diagramach czynności używa się zazwyczaj czynności, jednak czasami, zwłaszcza w sytuacji, gdy diagram ma być specyfikacją programistyczną, można skorzystać z akcji. Jak widzisz, diagram ten do złudzenia przypomina schematy blokowe służące do zapisu algorytmów.

Współbieżność

Ostatnim elementem, omawianym przy okazji diagramów czynności, będzie współbieżność. Współbieżność jest jednoczesnym wykonywaniem kilku czynności. Na rysunku 10 przedstawiony został bardzo uproszczony schemat pobierania pieniędzy z bankomatu.

Rys. 9. Diagram z blokiem decyzyjnym Rys. 9. Diagram z blokiem decyzyjnym Rys. 10. Wypłata z bankomatu Rys. 10. Wypłata z bankomatu

Tu jednocześnie wykonywane jest sprawdzanie salda, a więc możliwości wypłacenia podanej kwoty. A także przeliczanie pieniędzy, tak aby po dokonaniu pozytywnej weryfikacji salda kwota była dostępna do wypłaty. Jaki widzisz, elementy wykonywane współbieżnie wyróżnia się kreską, która je niejako grupuje.

Na zakończenie

Diagram czynności zawiera więcej elementów, niż zostało tu opisane. W artykule zawarliśmy jednak te, które są najistotniejsze i najczęściej używane. W kolejnej części cyklu zaprezentujemy diagramy maszyny stanowej. Nie sprawią ci one problemu, jeżeli dobrze opanujesz opisany w tym artykule materiał. A więc ćwicz, ćwicz i jeszcze raz ćwicz.

31 października 2008

Powiązane publikacje

Kurs UML - część 4 - przypadki użycia po raz drugi

Kurs UML - część 4 - przypadki użycia po raz drugi

Kurs UML - część 3 - przypadki użycia

Kurs UML - część 3 - przypadki użycia

Kurs UML - część 2 - interfejsy

Kurs UML - część 2 - interfejsy

Kurs UML - część 1 - wstęp i diagramy klas

Kurs UML - część 1 - wstęp i diagramy klas

 
Skomentuj
ten artykuł

Komentarzy: 4

Kod obrazkowy
(Kliknij, aby zmienić)
 
Przejdż do tego postu na forum Monday, 22.06.2009 12:10mazgaj

Oczekujemy dalszej czesci kursu

Przejdż do tego postu na forum Monday, 26.01.2009 11:57moss

dziękuję za podzielenie sie wiedzą

Przejdż do tego postu na forum Tuesday, 30.12.2008 18:05ArkadiuszG

Bardzo dobry art, ale dlaczego traktuje temat tak "po łebkach". Czekam na obszerniejsze wyjaśnienia, a nie tylko krótkie "smaczki" tego co pewnie można zrobić z UML. Dla mnie bomba, zwłaszcza, że mnie to bardzo interesuje (dokładne rozpatrzenie problemu przed rozpoczęciem programowania). Do tej pory nie wiedziałem, że jest taki ciekawy język "opisu procesów". Gratuluję inwencji i pozdrawiam.

Przejdż do tego postu na forum Monday, 24.11.2008 23:50Gość

Dzięki za dobry artykuł!!!
Pozdro

Zobacz wszystkie komentarze »

Autor

Marcin Staniszczak

Artykuły tego autora:

Pozostałe publikacje

Kurs UML - część 4 - przypadki użycia po raz drugi

Kurs UML - część 4 - przypadki użycia po raz drugi

Tak jak zapowiedziałem to już w poprzednim odcinku, w tym numerze kontynuujemy temat przypadków użycia.

Newsletter

Jesli chcesz być na bieżąco z tym co się dzieje na stronie magazynu INTERNET Maker zapisz się do naszego newslettera.