====== 9. Diagramy przypadków użycia ======


W procesie ustalania wymagań stawianych oprogramowaniu analityk może tworzyć zbiór scenariuszy, czyli zbiór ciągów zdarzeń ( akcji) wykonywanych przez system. Te scenariusze nazywane są przypadkami użycia.

**Przypadek użycia to scenariusz zachowania systemu w pewnej określonej sytuacji.**

Aby sporządzić przypadek użycia należy najpierw zidentyfikować ludzi czy też urządzenie, lub systemy które będą korzystać z system. Aktor to rola, jak odgrywa użytkownik(system, urządzenie) współpracujący z systemem. Formalnie Aktor to każdy obiekt który komunikuje się z systemem, ale nie jest jego wewnętrznym elementem. Ważnym jest aby pamiętać, że aktor to nie to samo co użytkownik. Typowy użytkownik pracujący z systemem, może występować w wielu rolach. Natomiast Aktor reprezentuje całą klasę obiektów, które wobec systemu występują w jednej roli.

**Przypadki użycia są opisywane z punktu widzenie aktora. Aktor odpowiada roli, jaką wobec systemu może grać użytkownik, inny system lub urządzenie zewnętrzne.**

Po zidentyfikowaniu Aktorów należy opisać przypadki użycia systemu. Każdy przypadek użycia odpowiada szczególnemu sposobowi interakcji z systemem. Przypadek użycia powinien jednoznacznie opisywać scenariusz interakcji Aktora  z systemem. 
Ponieważ działanie systemu może być różnie postrzegane przez różnych aktorów, przypadki użycia ocenia się z punktu widzenie wszystkich Aktorów współpracujących z systemem i przydziela się im odpowiednio priorytety. 

===== Diagramy przypadków użycia w UML. =====


W UML diagramy przypadków użycia służą do obrazowania zachowania systemu, podsystemu klub klasy w taki sposób, by użytkownicy mogli zrozumieć jak z tego bytu skorzystać, a programiści mogli go zaimplementować. Diagramy przypadków użycia można stosować do dwóch celów:

  * Modelowania otoczenia systemu
  * Modelowania wymagań stawianych systemowi




**Modelowanie otoczenia** polega między innymi na wyznaczeniu granicy wokół całego
systemu i na wskazaniu leżących poza nią aktorów, którzy wchodzą w interakcję z
systemem. Diagramy przypadków użycia w tym wypadku służą do zdefiniowania
aktorów i znaczenia ich ról. 

**Modelowanie wymagań** polega na określeniu, co system ma robić z punktu widzenia jego otoczenia, bez zagłębiania się w to, w jaki sposób ma to robić. W tym przypadku diagram służy do zdefiniowania oczekiwanego działania systemu.

Diagram przypadków użycia ukazuje związki pomiędzy aktorami i przypadkami.
Aktor oraz przypadek użycia (ang. use case) w notacji UML są przedstawiane następująco:

{{:actor.jpg|:actor.jpg}}

 
Umieszcza się  także na nim wzajemne relacje między poszczególnymi przypadkami
użycia. Diagram ten odnosi się do statycznych aspektów perspektywy przypadków
użycia. Wykorzystywany jest głównie do wyznaczania i modelowania zachowania
systemu w taki sposób, żeby użytkownicy mogli zrozumieć jak z niego korzysta, a
programiści mogli go zaimplementować. Dzięki diagramom przypadków użycia
systemy, podsystemy i klasy stają się bardziej przystępne i zrozumiałe. Model
przypadków użycia przekształca wymagania wstępne w przejrzystą reprezentację
systemu, który należy skonstruować. Można go doprecyzowywać i uszczegóławia_
poprzez dodawanie nowych aktorów, nowych przypadków użycia i powiązań pomiędzy
nimi. Diagram przypadków użycia dostarcza bardzo abstrakcyjnego poglądu na system
z pozycji aktorów, którzy go używają. Nie włącza szczegółów, co pozwala wnioskować
o systemie na odpowiednio ogólnym, abstrakcyjnym poziomie. Przykładowy diagram
przypadków przedstawiony jest na rysunku:


{{:usecase.jpg|:usecase.jpg}}


**Opis notacji:**

{{:przypadki.jpg|:przypadki.jpg}}
 

 








 















