1 Modelowanie obiektowe - Ćw. 6. Treść zajęć: Dokumentacja przypadków użycia diagramy czynności. Poznane wcześniej diagramy przypadków użycia pokazują co system powinien robić. Natomiast diagramy czynności (zwane także diagramami aktywności) umożliwiają określenie tego, w jaki sposób system będzie osiągał zamierzone cele, czyli: jakie akcje będą wykonywane oraz jak te akcje będą połączone. DIAGRAMY CZYNNOŚCI Diagramy czynności są jednym z rodzajów diagramów języka UML opisujących dynamikę systemu. Diagram czynności to graficzne przedstawienie sekwencyjnych i/lub współbieżnych przepływów sterowania oraz danych pomiędzy uporządkowanymi ciągami czynności, akcji i obiektów 1. Diagramy czynności stosuje się w modelowaniu: wysokopoziomowych procesów biznesowych, systemów oraz podsystemów, scenariuszy przypadków użycia, procesów systemowych charakteryzujących się dużą liczbą równoległych czynności i sytuacji decyzyjnych, algorytmów. Diagramy czynności składają się z następujących podstawowych elementów: czynności / akcji przepływów sterowania początku końca zakończenia przepływu. 1 Wrycza S., Marcinkowski B., Wyrzykowski K., Język UML 2.0 w modelowaniu systemów informatycznych, Wyd. Helion, Gliwice 2005 (str. 95)
2 Tab. 1 Podstawowe kategorie pojęciowe diagramów czynności Nazwa Notacja graficzna Definicja/interpretacja Czynność Rodzaj zachowania składającego się z przynajmniej jednej akcji. Akcja Przepływ sterowania Początek Koniec Zakończenie przepływu Czynności mogą reprezentować niezwykle złożone procesy, stąd dla precyzyjnego ich opisu niezbędna często jest ich dekompozycja. Reprezentuje wykonanie pojedynczej operacji, której nie można rozbić na mniejsze jednostki na diagramie (akcje są niepodzielne!). To relacja pomiędzy dwoma czynnościami/akcjami, wskazująca, że po wykonaniu źródłowej czynności/akcji sterowanie zostanie przekazane do docelowej czynności/akcji. To punkt rozpoczęcia przepływu sterowania i danych inicjujących funkcjonowanie diagramu czynności. Standardowo w diagramach czynności występuje jeden początek. To punkt zatrzymania wszystkich przepływów sterowania i danych na diagramie czynności. Na jednym diagramie może wystąpić więcej niż jeden koniec. To punkt zatrzymania wybranego przepływu sterowania. Na jednym diagramie może wystąpić więcej niż jedno zakończenie przepływu.
3 Przykład: TWORZENIE DIAGRAMU CZYNNOŚCI W PROGRAMIE ENTERPRISE ARCHITECT Do projektu należy najpierw dodać diagram czynności (w Project Browser klikamy: New Diagram -> Type: UML Behavioral, Diagram Types: Activity). Na ekranie głównym mamy wówczas pusty arkusz do rysowania, a po lewej stronie mamy zasobnik narzędziowy do tworzenia diagramów czynności. Rys. 1
4 Czasem w celu optymalnego wyglądu naszego diagramu zmieniamy samodzielnie wymiary (wysokość/szerokość) poszczególnych symboli np. symboli reprezentujących czynności. Jeśli chcemy potem, aby pewne symbole na diagramie miały takie same wymiary (ujednolicić je), należy zaznaczyć te symbole kursorem (przy zaznaczaniu należy przytrzymać przycisk Ctrl), kliknąć prawym przyciskiem myszy i z menu kontekstowego wybrać Same Height and Width (rys. 2). Rys. 2 Gdy chcemy zaznaczyć, że dana czynność jest dekomponowana w formie dodatkowego diagramu czynności (rys. 3), należy zaznaczyć kursorem symbol danej czynności, kliknąć prawym przyciskiem myszy i menu kontekstowego wybrać Advanced, a następnie Make Composite. Rys. 3 ZAAWANSOWANE SKŁADNIKI DIAGRAMU Do udokumentowania przepływów sterowania (ang. control flows) w diagramie czynności niezbędna jest znajomość następujących kategorii pojęciowych: przepływy decyzyjne: decyzje, złączenia; przepływy współbieżne: rozwidlenia, scalenia.
5 DECYZJA Wyjście decyzji (rys. 4) stanowią dwa lub więcej przepływów sterowania, z których tylko jeden może zostać zrealizowany. Decyzja ma zatem jeden przepływ wejściowy i przynajmniej parę przepływów wyjściowych. Wybór jednego z przepływów alternatywnych determinowany Rys. 4 jest przez wynik ściśle określonego wyrażenia logicznego określanego mianem warunku. Warunki umieszczane są w nawiasach kwadratowych i muszą się wzajemnie wykluczać w odniesieniu do danej decyzji. Możliwy jest też inny sposób zapisu: warunek podawany jest w formie pytania przy węźle decyzyjnym, a możliwe odpowiedzi w nawiasach kwadratowych. Oba sposoby zapisu przedstawia rys.5. Uwaga: jeden z przepływów wyjściowych danej decyzji można oznaczyć słowem else. Przepływ ten zostanie zrealizowany tylko i wyłącznie w przypadku niespełnienia warunków zdefiniowanych dla wszystkich innych przepływów wynikowych dotyczących danej decyzji. Przykład (alternatywne sposoby zapisu): Rys. 5
6 Zadanie 1: dodaj do projektu (np. do Modelu przypadków użycia ) diagram czynności o nazwie Loteria i utwórz w nim diagram czynności (2) z rys. 5. Przykład (wiele miejsc decyzyjnych): Zadanie 2 2 : dodaj do projektu diagram czynności o nazwie Funkcjonowanie bankomatu. Na podstawie poniższego opisu utwórz diagram czynności i zapisz go w formacie JPEG. Dla ułatwienia nazwy czynności zostały podkreślone (pamiętaj, że czynności piszemy w trybie rozkazującym). Pierwszą realizowaną czynnością jest wprowadzenie karty bankomatowej do czytnika kart. Czytnik weryfikuje fizyczne cechy karty. Jeśli odpowiadają one wzorcowi, karta jest akceptowana i klient proszony jest o wprowadzenie PIN-u. W przeciwnym razie (zły 2 Zadanie opracowane na podstawie przykładu z: Wrycza S., Marcinkowski B., Wyrzykowski K., Język UML 2.0 w modelowaniu systemów informatycznych, Wyd. Helion, Gliwice 2005 (str. 101-102).
7 wzorzec) następuje wydanie karty. Jeśli wprowadzony przez klienta numer PIN jest poprawny, oprogramowanie bankomatu przechodzi do realizacji czynności wybierz kwotę. Błędne wprowadzenie PIN-u skutkuje natomiast: powrotem do czynności wprowadzenia PIN-u, o ile liczba pomyłek jest mniejsza od trzech; zatrzymaniem karty ze względów bezpieczeństwa, jeśli klient pomyli się po raz trzeci. Po dokonaniu wyboru kwoty następuje wypłacenie gotówki. O ile klient sobie tego życzy, kolejną czynnością jest wydrukowanie potwierdzenia. Ostatecznie następuje wydanie karty klientowi. Zaznacz na diagramie, że czynność wybierz kwotę będzie dekomponowana w formie dodatkowego diagramu. Zadanie 3: otwórz dokument Word o nazwie Diagram PU banku internetowego utworzony podczas wykonywania zadania 2. z pliku MO ćw. 5 (Scenariusze PU). Przedstaw każdy przypadek użycia (na podstawie szczegółów zawartych w scenariuszach PU) w formie diagramu czynności. Zapisz diagramy w formacie JPEG i wklej do dokumentu Word. Zadanie 4*: utwórz w projekcie nowy diagram czynności opisujący Twój typowy dzień jako studenta Inżynierii Bezpieczeństwa. Diagram musi zawierać co najmniej kilka miejsc decyzyjnych. Zapisz diagram jako obraz JPEG i zapisz w swoim folderze. Ćwiczenia opracowane przez mgr Ewelinę Jachimczyk (WNT, UWM Olsztyn) na podstawie: Wrycza S., Marcinkowski B., Wyrzykowski K., Język UML 2.0 w modelowaniu systemów informatycznych, Wyd. Helion, Gliwice 2005 Projektowanie systemów komputerowych notatki w internecie (AGH): http://brasil.cel.agh.edu.pl/~09sbfraczek/diagram-przypadkow-uzycia,1,9.html#