Blog Leszczynowa

UML

Kurs UML - część 3 - przypadki użycia

Kurs UML - część 3 - przypadki użycia Mimo że zaczęliśmy od diagramów klas, bardzo często pracę nad projektem rozpoczyna się od diagramów przypadków użycia.

Marcin Staniszczak

Diagramy klas miały na celu głównie zainteresować cię ideą projektowania aplikacji przed przystąpieniem do programowania. Teraz jednak nadszedł czas na diagramy przypadków użycia. Jeśli uważnie śledzisz nasz kurs, materiał przedstawiony w tej części nie sprawi ci najmniejszego problemu.

Aktorzy

Aktorzy reprezentują spójny zbiór ról, jakie odgrywają użytkownicy przypadku użycia w czasie interakcji z danym przypadkiem użycia. Aktorzy mogą reprezentować stanowiska i funkcje w danej organizacji, mogą to być także systemy zewnętrzne aplikacji (podsystem, baza danych itd.) czy też urządzenia.

Rys. 1. Aktorzy Rys. 1. Aktorzy Rys. 2. Aktorzy – wersja
w postaci klasy ze stereotypem
&lt;&lt;actor&gt;&gt; Rys. 2. Aktorzy – wersja w postaci klasy ze stereotypem <<actor>>

Aktorzy są najczęściej prezentowani jako proste postacie, tak jak to pokazano na rysunku 1. Jeśli twój program nie pozwala na utworzenie podobnych aktorów, inną dozwoloną notacją jest kwadrat znany z diagramów klas wraz ze stereotypem <<actor>> (zobacz rysunek 2). Jeżeli żadna z obu reprezentacji aktorów ci nie odpowiada, standard UML pozwala użyć zdefiniowanej samodzielnie ikony - nie zawsze jest to jednak możliwe do wykonania w programach.

I jeszcze słów kilka na temat nazw aktorów. Powinien to być rzeczownik bądź określenie rzeczownikowe w liczbie pojedynczej. Pamiętaj, że nawet jeśli firma zatrudnia wielu sprzedawców, to z puntu widzenia systemu będą oni obsługiwani jednakowo. Pamiętaj też, że nazwami aktorów nie powinny być imiona pracowników!

Przypadek użycia

Opisani wyżej aktorzy, a więc użytkownicy projektowanego przez nas systemu, oczekują od niego, aby oferował on określoną funkcjonalność. Każdy z aktorów potrzebuje innej funkcjonalności systemu (jednak może się ona miejscami nakładać, a więc pewne funkcje mogą być potrzebne jednocześnie kilku aktorom). Te funkcjonalności to inaczej mówiąc zadania, jakie system musi spełniać.

Rys. 3. Przypadek użycia Rys. 3. Przypadek użycia Rys. 4. Przypadek użycia &#8211; notacja alternatywna Rys. 4. Przypadek użycia – notacja alternatywna

Zadania to jednocześnie nasze przypadku użycia. Oficjalnie (a co za tym idzie mniej przejrzyście i zawile) przypadek użycia jest specyfikacją akcji i ich wariantów, które poprzez interakcje z aktorami systemu, system może wykonać. Czym jest więc przypadek użycia? Najprościej rzecz ujmując, jest on działaniem, jakie realizuje system w odpowiedzi na aktywność aktora. Przypadki użycia na diagramach UML prezentuje się w postaci elips z umieszczonymi w środku nazwami (zobacz rysunek 3). Na rysunku 4 zaprezentowana jest alternatywna notacja przypadków użycia.

Związki

Typy związków, jakie są używane w przypadkach użycia, już znasz. Głównym związkiem jest asocjacja. To ona jest najczęściej spotykana. O czym nam ona mówi? O wystąpieniu dwukierunkowej komunikacji pomiędzy przypadkiem użycia a aktorem. Jeśli komunikacja ta przebiega tylko w jednym kierunku, można kierunek ten zaznaczyć strzałką. W przypadku diagramów użycia, związkom nie nadaje się nazw.

Na rysunku 5 zaprezentowany został przykładowy diagram klas. Zauważ, że aktorzy klient oraz sprzedawca dzielą między sobą część przypadków użycia. Dzięki temu obsługa sklepu on-line może za klienta złożyć zamówienie w przypadku, gdy klient skontaktuje się z obsługą telefonicznie. Innym związkiem, już o wiele rzadziej spotykanym w przypadkach użycia, jest zawieranie. Zawierany przypadek użycia nie jest wykonywany samodzielnie.

Rys. 5. Związki Rys. 5. Związki Rys. 6. Zawieranie Rys. 6. Zawieranie

Związek zawierania ma postać przerywanej strzałki ze stereotypem <<include>>, biegnącej od przypadku użycia zawierającego do zawieranego. Związku zawierania używa się wówczas, gdy z kilku innych przypadków użycia można wydzielić pewną część wspólną. Przyjrzyj się rysunkowi 6 - zamiast przypadków użycia "Sprawdź dostępność towarów, a następnie zapakuj zamówienie", "Sprawdź dostępność towarów a następnie złóż zamówienie" i "Sprawdź dostępność towarów, a następnie przekaż zamówienie do realizacji" mamy "Zapakuj zamówienie", "Złóż zamówienie" i "Przekaż zamówienie do realizacji" z wydzielonym osobnym przypadkiem użycia "Sprawdź dostępność towaru". Kolejnym związkiem jest rozszerzanie.

Rys. 6. Zawieranie Rys. 6. Zawieranie Rys. 7. Rozszerzanie Rys. 7. Rozszerzanie

Związek ten pozwala na wydzielenie przypadku użycia, który w pewnych sytuacjach może zostać wzbogacony o dodatkowe opcje. Wygląda on tak samo jak związek zawierania, jednak ma stereotyp <<extend>>. Na rysunku 7 widać, że przypadki użycia "Dodaj towar do koszyka" oraz "Usuń towar z koszyka" rozszerzają przypadek użycia "Przelicz wartość koszyka".

Ostatnim poznanym dziś związkiem będzie uogólnienie. Jak sama nazwa wskazuje, ma on na celu uogólnienie aktorów bądź przypadków użycia, przy czym obiekt uogólniany posiada wszystkie cechy obiektu ogólnego. Uogólnienie ma postać strzałki z linią ciągłą i zamkniętym grotem. Uogólnienie zostało zaprezentowane na rysunku 8 - aktorzy Dział zamówień oraz Sprzedzwca on-line są specjalizacjami aktora Pracownik sklepu.

Zakończenie

W następnym odcinku będziemy kontynuowali naukę przypadków użycia, dlatego uważnie zanalizuj materiał zawarty w tej części. Zauważ, że tworząc diagram przypadków użycia, musisz dobrze zastanowić się nad funkcjonalnością projektowanego systemu.

Dzięki temu często już na etapie projektowania okazuje się, że nie przewidziano w systemie pewnych fundamentalnych funkcjonalności albo też że niektóre z planowanych można wyeliminować.

Rys. 8. Uogólnienie Rys. 8. Uogólnienie
14 sierpnia 2008

Powiązane publikacje

Kurs UML - część 5 - diagramy czynności/aktywności

Kurs UML - część 5 - diagramy czynności/aktywności

Kurs UML - część 4 - przypadki użycia po raz drugi

Kurs UML - część 4 - przypadki użycia po raz drugi

Kurs UML - część 2 - interfejsy

Kurs UML - część 2 - interfejsy

Kurs UML - część 1 - wstęp i diagramy klas

Kurs UML - część 1 - wstęp i diagramy klas

 
Skomentuj
ten artykuł

Komentarzy: 8

Kod obrazkowy
(Kliknij, aby zmienić)
 
Przejdż do tego postu na forum Monday, 8.02.2010 16:39ciota

swietnie swietnie, tylko przypadek uzycia jest czyms innym niz diagram przypadkow, ktory opisujecie

Przejdż do tego postu na forum Monday, 26.10.2009 22:29tkoomzaaskz

zgadzam się - dobry artykuł, ale PROSZĘ: albo zmieńcie tą js-ową galerię zdjęć albo dajcie większe zdjęcia, bo SĄ TOTALNIE NIECZYTELNE sad.gif

Przejdż do tego postu na forum Saturday, 20.06.2009 19:03aktorReaktor

to trzeba wam oddać, dobrze pisane artykuły w sumie zaczynam się przekonywać do umla.

Przejdż do tego postu na forum Tuesday, 31.03.2009 22:22JJThompson

@Mari: W części pierwszej przedstawione były diagramy klas, a w trzeciej diagramy use case.

Przejdż do tego postu na forum Tuesday, 31.03.2009 22:18JJThompson

Bardzo dobra seria artykułów. Szkoda tylko, że diagramy są nieczytelne. Czy istnieje możliwość aby poprawić ich jakość i rozmiar?

Przejdż do tego postu na forum Friday, 27.02.2009 12:10Mari

To jak to w ko ncu ma być??? !!!
Najpierw piszecie w części pierwszej: Agregacja najprościej mówiąc oznacza ZAWIERANIE.
...oznacza się pustym rombem, tak jak zaprezentowano to na rysunku 5.
a w części trzeciej mówicie o jakimś innym zawieraniu?skoro linią przerywaną jak w realizacjach i bez romba?
Nie rozumiem

Przejdż do tego postu na forum Monday, 24.11.2008 23:36student

Bardzo dobrze i zwięźle napisany tekst

Przejdż do tego postu na forum Thursday, 30.10.2008 16:30M.

Bardzo dobry i zwięzły artykuł, natomiast brakuje ostatniego obrazka, dotyczącego uogólnienia

Zobacz wszystkie komentarze »

Autor

Marcin Staniszczak

Artykuły tego autora:

Pozostałe publikacje

Kurs UML - część 5 - diagramy czynności/aktywności

Kurs UML - część 5 - diagramy czynności/aktywności

Dziś kolej na następny rodzaj diagramów - diagramy czynności (zwany często diagramem aktywności). Diagramy czynności należą do jednych z bardziej złożonych elementów języka UML, jednak jako że kurs ten traktuje o podstawach, zostaną tu zaprezentowane wyłącznie najważniejsze jego elementy.

Newsletter

Jesli chcesz być na bieżąco z tym co się dzieje na stronie magazynu INTERNET Maker zapisz się do naszego newslettera.