Grupa MagazynyInternetowe
Online: 993
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.
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. 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.
|
|
|
|
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
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. 8. Prosty
diagram
czynności
|
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.
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. 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.
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.
Powiązane publikacje
Komentarzy: 7
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.. ![]()
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
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:)
Bardzo mi się przydał ten artykuł. Dziękuję autorowi za tak zrozumiały przekaz. Czekam na dalsze części:)
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.
Artykuły tego autora:
Tak jak zapowiedziałem to już w poprzednim odcinku, w tym numerze kontynuujemy temat przypadków użycia.
Polecamy:
Na skróty:
Magazyny Internetowe| Co za ile| Programy| Praca| Magazyn Internet| Internet Maker| Web Toster| ForumNasze serwisy: