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
  1. utworzenie znacznika sterowania

  2. zniszczenie wszystkich znaczników sterowania

  3. zniszczenie danego znacznika sterowania

Decyzje

Wyjście decyzji stanowią dwa lub więcej przepływów, z których tylko jeden może być zrealizowany.

  1. Warunek logiczny - różne warunki muszą się wykluczać, aby zapewnić jednoznaczny przepływ sterowania

  2. Rozgałęzienie (decyzja)

Ścieżki współbieżne

  1. Rozwidlenie - fork

  2. Akcje współbieżne

  3. Scalenie sterowania - join

Złączenia

Każ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