Diagram aktywności (czynności) - activity diagram
(zwany czasami diagramem czynności) w języku UML służy do modelowania czynności i zakresu odpowiedzialności elementów bądź użytkowników systemu. Jest niejako podobny do diagramu stanu, jednak w odróżnieniu od niego nie opisuje działań związanych z jednym obiektem a wieloma, pomiędzy którymi może występować komunikacja przy wykonywaniu czynności.
Diagram przypadków użycia a diagram aktywności
- Przypadki użycia pokazują, co powinien robic system
- Diagramy aktywności umożliwiają określenie tego, w jaki sposób system będzie osiągał swoje zamierzone cele
- Jakie akcje?
- Jak te akcje są połączone
Diagramy aktywności są jedynymi diagramami w widoku procesu modelowanego systemu (system 4+1 Kruchtena). Są jednym z rodzajów diagramów języka UML opisujących dynamikę systemu.
Diagramy czynności stosuje się w modelowaniu:
- wysokopoziomowych procesów biznesowych
- systemów oraz podsystemów
- scenariuszy przypadków uzycia
- procesów systemowych charakteryzujących się dużą liczbą równoległych czynności i sytuacji decyzyjnych
- operacji
- algorytmów
Diagram aktywności - cechy
- Diagramy aktywności łączą idee pochądzące z trzech źródeł: diagramów zdarzeń J.Odell'a, technik modelowania stanów i sieci Petriego. Są szczególnie użyteczne przy modelowaniu przepływów operacji czy też opisie zachowania z przewagą przetwarzania współbieżnego
- Diagramy aktywności z zasady nie pokazują wszystkich szczegółów przetwarzania.
- Pokazują aktywności bez pokazywania bytów, realizujących daną aktywność i dlatego z reguły używane są jako punkt startowy dla procesu modelowania zachowań
- Dla skompletowania projektu każda aktywność powinna być rozpisana na szereg operacji (akcji), z których każdą trzeba będzie na późniejszym etapie przydzielić do odpowiedniej klasy.
Czynność może być interpretowana różnie, w zależności od perspektywy: jako zadanie do wykonania i to zarówno przez człowieka, jak i przez komputer (z perspektywy pojęciowej) czy też np. jako pojedyncza metoda (z perspektywy projektowej).
Podobnie, przejścia między stanami raczej nie są tu związane z nadejściem zdarzenia, ale z zakończeniem przetwarzania wyspecyfikkowanego dla danego stanu.
Czynności na diagramach mogą cechować się rozbudowaną funkcjonalnością, tj. mogą reprezentować niezwykle złożone procesy biznesowe bądź algorytmy przetwarzania
Dla osiągnięcia precyzyjnego ich opisu niezbędna staje się dekompozycja czynności. Czynności mogą być tym samym dekomponowane na zhierarchizowane podczynności
Akcje są już niepodzielne, trwanie ich nie podlega przerwaniu.
Notacja
- Aktywność/Czynność - rodzaj zachowania, składającego się z przynajmniej jednej akcji.
- Akcja reprezentuje wykonanie pojedynczej operacji, której nie można rozbić na mniejsze jednostki na diagramie. Na przykład akcjami mogą być funkcje matematyczne.
- Akcje i aktywności reprezentowane są identycznie, jako:
Przykładowy diagram:
- Można prezentować czynności złożone, pokazując wewnętrzne czynności (oznaczenie*) lub akcje:
- Dekompozycję można przeprowadzać wgłąb, aż do poziomu akcji
- Czynność może mieć parametry, warunki wstępne oraz warunki końcowe:
- Parametry można też prezentować graficznie:
Przepływ sterowania
- Przesyłanie znaczników sterowania (brak osobnego oznaczenia)
- Znaczniki sterowania mogą być powielane lub niszczone
- Możliwość nadawania nazw
|
Decyzje
Wyjście decyzji stanowią dwa lub więcej przepływów, z których tylko jeden może być zrealizowany.
|
|
Ścieżki współbieżne
|
|
ZłączeniaKażdy przypływ sterowania docierający do wejścia inicjuje proces wyjściowy |
|
Proces wyjściowy jest inicjalizowany dopiero po dotarciu znaczników od wszystkich przypływów - synchronizacja Można do przepływu dodać ograniczenia { } |
Modelowanie operacji przykład
Wyliczanie n-tego wyrazu ciągu Fibonacciego |
Dane na diagramie czynności
- Czynności i akcje są wykonywane z udziałem obiektów
- Istnieje możliwość obrazowania udziału obiektów, poprzez wprowadzenie przepływu danych
- Przepływ kontroli i danych ma identyczną reprezentację graficzną:
- Oznaczając przepływ obiektu, umieszczamy go na diagramie pomiędzy akcjami/czynnościami:
- Istnieją również inne sposoby zapisu tego samego:
Przykład
Przykład
Zestawy przekaźników danych
- Często aby akcja mogła być wykonana, musi otrzymać kilka obiektów/danych.
- Czasami akcję można zainicjalizować różnymi zestawami danych, ale w jednym wykonaniu korzystać można tylko z jednego zbioru
- Podobnie można grupować przekaźniki wyjściowe
Konektory
- Gdy zachodzi potrzeba można przekazywać sterowanie pomiędzy różnymi miejscami na diagramie, bez rysowania strzałek
- Konektory służą właściwie tylko do zwiększania czytelności diagramów
Zobacz przykład Zobacz przykład
Sygnały
Na diagramach można obrazować przesyłanie i odbieranie sygnałów asynchronicznych
Partycje - swimlines
Diagramy aktywności opisują przepływy operacji, ale nie specyfikują, kto jest odpowiedzialny za ich wykonanie: którzy ludzie czy które komórki organizacyjne (z perspektywy pojęciowej). Z perspektywy projektowej dotyczy to klas. Można opisywać każdą aktywność podając osobę czy klasę odpowiedzialną za jej wykonanie, ale być może wygodniejszym sposobem przenoszenia informacji tego rodzaju jest grupowanie aktywności odpowiednio do odpowiedzialności i umieszczanie ich w regionach rozdzielonych pionowymi liniami (jak na poprzedniej folii). Regiony, z powodu swojego wyglądu, są traktowane jak tory dla przepływów (tory pływackie) (swimlanes). Nazwy regionów odpowiadają nazwom osób, komórek organizacyjnych czy klas odpowiedzialnych za wykonanie aktywności.
Na diagramch aktywności, oprócz przepływów sterowania można też pokazywać przepływy obiektów. Obiekt może stanowić daną wejściową dla aktywności (linia przerywana prowadzi wtedy od obiektu do aktywności) czy też daną wyjściową (linia przerywana idzie od aktywności do obiektu).
Akcje na diagramie można grupować, przypisując je albo do określonej klasy, nadając im nazwę, lub podając klasę której one dotyczą
Partycje mogą być pionowe lub/i poziome
Zobacz przykład Zobacz przykład Zobacz przykład
Bufor centralny
- Bufor centralny jest obiektem służącym do obsługi kolejkowania danych przesyłanych pomiędzy węzłami obiektów
- Przyjmuje dane z wielu obiektów i może je przekazywać dalej do wielu obiektów
Składnica danych
Składnica danych jest rodzajem bufora centralnego dla danych przechowywanych w dłuższym okresie.
Pobrane dane są kopiowane, nie znikają ze składnicy
Obszar rozszerzenia
Obszar rozszerzenia jest fragmentem diagramu, z wyspecyfikowanymi wejściami i wyjściami, który jest wykonywany wielokrotnie - tyle razy ile otrzyma elementów wejściowych.
Wejścia i wyjścia OR nazywane są przekaźnikami OR
keyword:
- stream
- parallel
- iterative
Obszar przerwania
Można oznaczyć grupę czynności, która może zostać przerwana
Zobacz przykład Zobacz przykład Zobacz przykład
Przykłady diagramów aktywności - Aukcja internetowa
Logowanie |
Licytacja |
Finalizacja aukcji |
Wystawienie przedmiotu |
Przeglądanie historii aukcji |