Newsletter

Grupa MagazynyInternetowe

Online: 993

Wyszukiwarka

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: 7

Kod obrazkowy
(Kliknij, aby zmienić)
 
Przejdż do tego postu na forum Monday, 9.08.2010 20:13adi

hmm, dodam coś jeszcze. Wydaje mi się, że ostatni przykład wypłata z bankomatu jest trochę błędny. Ponieważ nie wiadomo co się dzieje, kiedy PIN jest błędny. Wygląda na to, że nasza karta zostaje w bankomacie, a sterowanie systemu się kończy.Może, wystarczy.. smile.gif
A co do nauki UML, polecam na początek książkę: Zrozumieć UML 2.0, właśnie jestem w połowie i śmiało mogę powiedzieć ze jest świetna na początek

Przejdż do tego postu na forum Monday, 9.08.2010 19:51adi

Nom artykuł jest bardzo ogólny w porównaniu z prawdziwą potęgą specyfikacji UML, wraz z narzędziami CASE, które same generują szkielet kodu źródłowego.
Ale temat no okazuje się dość rozległy, ale projektowanie ogólnego zarysu systemu powinien chyba robić każdy projektant/programista/analityk..., aby wiedział z czym ma się zmierzyć, a nie aby obudził się ręką w nocniku:)

Przejdż do tego postu na forum Tuesday, 18.05.2010 10:45Studentka

Bardzo mi się przydał ten artykuł. Dziękuję autorowi za tak zrozumiały przekaz. Czekam na dalsze części:)

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.