Diagram przypadków użycia

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacja, szukaj

Diagram przypadków użycia (pot. z ang. use case) – graficzne przedstawienie przypadków użycia, aktorów oraz związków między nimi, występujących w danej dziedzinie przedmiotowej.

Diagram przypadków użycia w języku UML służy do modelowania funkcjonalności systemu. Tworzony jest zazwyczaj w początkowych fazach modelowania. Diagram ten stanowi tylko przegląd możliwych działań w systemie, szczegóły ich przebiegu są modelowane za pomocą innych technik (np. diagramów stanu lub aktywności).

Diagram przypadków użycia przedstawia usługi, które system świadczy aktorom, lecz bez wskazywania konkretnych rozwiązań technicznych.

Cele stosowania diagramu przypadków użycia[edytuj | edytuj kod]

  • identyfikacja oraz dokumentacja wymagań,
  • umożliwiają analizę obszaru zastosowań, dziedziny przedmiotowej,
  • pozwalają na opracowanie projektu przyszłego systemu,
  • stanowią przystępną i zrozumiałą platformę współpracy i komunikacji twórców systemu, inwestorów i właścicieli,
  • są rodzajem umowy, kontraktu pomiędzy udziałowcami co do zakresu i funkcjonalności przyszłego systemu,
  • stanowią podstawę testowania funkcji systemu na dalszych etapach jego cyklu życia.

Kategorie pojęciowe oraz notacja graficzna[edytuj | edytuj kod]

Diagram przypadków użycia składa się z następujących kategorii pojęciowych:

  • przypadków użycia,
  • aktorów,
  • związków.

Przypadek użycia[edytuj | edytuj kod]

 Osobny artykuł: przypadek użycia.

Przypadek użycia (ang. use case) – specyfikacja ciągu akcji i ich wariantów, które system (lub inna jednostka) może wykonać poprzez interakcję z aktorami tego systemu.

W związku z tym przypadek użycia jest kompleksowym działaniem realizowanym w projektowanym systemie w konsekwencji określonej aktywności aktora. Zakres danego działania determinowany jest przez wszystkie wzajemnie powiązane ze sobą przypadki użycia. Pojedynczy przypadek użycia to reprezentant spójnej jednostki funkcjonalności, którą dostarcza system.

Nazwa przypadku użycia to zwięzłe polecenie wykonania funkcji w projektowanym systemie, najczęściej to sformułowanie w trybie rozkazującym. Według standardu UML reprezentowany jest przez elipsę z etykietą wewnątrz.

Use case diagram use case.svg

W wersji 2.0 standardu UML zostały zaproponowane alternatywne notacje przypadków użycia, które pozostają tożsame z podstawową.

Use case diagram use case 2.svg
Use case diagram use case 3.svg

Aktor[edytuj | edytuj kod]

Aktor (ang. actor) – spójny zbiór ról odgrywanych przez użytkowników przypadków użycia w czasie interakcji z tym przypadkiem użycia.

Wyróżniamy aktorów osobowych i nieosobowych. Aktorem osobowym może być osoba, zespół, dział, instytucja, organizacja, zrzeszenie organizacji lub organizacja wirtualna. Nazwy aktorów osobowych często pokryte są z nazwami funkcji jakie pełnią w organizacji, projekcie lub przedsięwzięciu bądź nazwą stanowiska jakie piastują. Natomiast aktorem bezosobowym może być system zewnętrzny (podsystemy, bazy danych), urządzenie lub czas.

Aktor osobowy Aktor nieosobowy
System zewnętrzny Urządzenie Czas

Use case diagram actor people.svg

Use case diagram actor system.svg

Use case diagram actor machine.svg

Use case diagram actor time.svg
Przykłady nazw
Konsultant
Dział sprzedaży
System rezerwacji pokoi
System sporządzania zestawień
Nagrywarka DVD-RAM
Kiosk multimedialny
Termin płatności
Ostatni dzień miesiąca

Nazwa aktora jest rzeczownikiem (ewentualnie określeniem rzeczownikowym) w liczbie pojedynczej. Podczas identyfikacji aktorów musimy pamiętać, że odzwierciedlają oni role pełnione przez te obiekty, a nie indywidualne obiekty ze świata rzeczywistego.

Aktor użytkuje jeden lub wiele przypadków użycia w projektowanym systemie. Interakcja aktorów z przypadkami użycia składa się z ich inicjowania, dostarczania danych, otrzymywaniu danych oraz użytkowaniu realizowanej przez przypadek użycia funkcjonalności.

Związek[edytuj | edytuj kod]

Związek (ang. relationship) – semantyczne powiązanie pomiędzy elementami modelu.

Każdy aktor, który jest na diagramie przypadków użycia musi być bezpośrednio powiązany z co najmniej jednym przypadkiem użycia. Podobnie każdy przypadek użycia musi być użytkowany co najmniej przez jednego aktora (niejednokrotnie są to powiązania pośrednie).

Według standardu UML możemy wyróżnić cztery rodzaje związków:

  • asocjację,
  • uogólnienie,
  • zależność,
  • realizację.

Asocjacja[edytuj | edytuj kod]

Asocjacja (ang. association) – związek pomiędzy dwoma lub więcej klasyfikatorami, opisującym powiązanie pomiędzy ich instancjami.

W diagramach przypadków użycia asocjacja wskazuje na komunikację dwukierunkową pomiędzy przypadkiem użycia a aktorem.

Use case diagram association.svg

W diagramie przypadków użycia nie umieszcza się nazwy związku. Powyższy rysunek wskazuje, że sporządzenie rezerwacji wycieczki zależy od Klienta. Na tym etapie nie podaje się także w jaki sposób wymieniane czynności są realizowane oraz nie podaje się z jakich zasobów systemowych będą musiały skorzystać.

Asocjacja skierowana[edytuj | edytuj kod]

Asocjacja skierowana (ang. directed association) – asocjacja skierowana dziedziczy wszystkie cechy po asocjacji, lecz dodatkowo wskazuje kierunek nawigacji. Używana kiedy chcemy ukazać inicjatora interakcji (np. Aktor "Klient" jest inicjatorem przypadku użycia "Kup produkt").

Uogólnienie[edytuj | edytuj kod]

Uogólnienie (ang. generalization) polega na tym, że pewien przypadek użycia może być szczególną odmianą innego, już istniejącego przypadku użycia. Notacja jest ciągłą linią zakończoną pustym trójkątem skierowanym od wyspecjalizowanego ku bardziej ogólnemu przypadkowi użycia. Przypomina to ideę podklasy z podejścia obiektowego. W praktyce może to być zarówno wygodny jak i skuteczny sposób na przeniesienie wspólnych zachowań, ograniczeń i założeń szczegółowych przypadków użycia do ogólnego przypadku użycia.

Bibliografia[edytuj | edytuj kod]

  • Język UML 2.0 w modelowaniu systemów informatycznych, Stanisław Wrycza, Bartosz Marcinkowski, Krzysztof Wyrzykowski, Wyd. Helion 2005, ISBN 83-7361-892-9