W inżynierii oprogramowania, szczególnie w metodologii rozwoju opartej na przypadkach użycia, identyfikacja aktorów jest podstawowym i krytycznym krokiem. Aktorzy są mostem między systemem w trakcie rozwoju a zewnętrznymi jednostkami, które z nim interakcjonują. Poprawna identyfikacja i zrozumienie aktorów pozwala zespołom projektować systemy skupione na użytkowniku, funkcjonalnie kompletny i zgodne z rzeczywistymi potrzebami.

Ten kompleksowy artykuł omawia cel identyfikacji aktorów, rodzaje aktorów (ludzkie i nieludzkie), ich role i odpowiedzialności, jak ten proces wspiera różne obszary rozwoju oprogramowania, oraz przedstawia kluczowe koncepcje, wytyczne i praktyczne wskazówki do sukcesu.
Identyfikacja aktorów to nie tylko zadanie wstępne — to aktywność strategiczna, która kształtuje cały cykl rozwoju. Główne cele obejmują:
Aktorzy pomagają ustalić, co znajduje się wewnątrz systemu (oprogramowania) a co poza nim. Ta jasność zapobiega rozrostowi zakresu i zapewnia, że zespół skupia się na odpowiednim obszarze.
Przykład: W systemie bankowym klient jest aktorem poza systemem, podczas gdy moduł przetwarzania transakcji jest częścią systemu.
Aktorzy reprezentują rzeczywistych użytkowników lub systemy, które interakcjonują z oprogramowaniem. Identyfikując ich, zespoły modelują rzeczywiste przypadki użycia, które odzwierciedlają sposób użytkowania systemu w praktyce.
Każdy przypadek użycia zwykle obejmuje jednego lub kilku aktorów. Znając aktorów, można odkryć pełen zestaw wymagań funkcjonalnych. Jeśli nie wiadomo, kto korzysta z systemu, nie można określić, co musi on robić.
Aktorzy zapewniają wspólny język dla stakeholderów, programistów, testerów i analityków biznesowych. Ułatwiają one dyskusję o funkcjonalnościach, weryfikację wymagań i zgodność oczekiwań.
Testery mogą używać ról aktorów do projektowania scenariuszy testowych. Na przykład aktor „Klient” może potrzebować wykonać „Zaloguj się”, „Przelej środki” i „Zobacz stan konta” — każdy z nich staje się przypadkiem testowym.
Aktorzy są ogólnie podzielone na dwa typy: Aktorzy ludzcy i Aktorzy nieludzkie.
Są to osoby, które bezpośrednio oddziałują na system.
Klient
Administrator
Pracownik
Menadżer
Agent obsługi
Pacjent (w systemach medycznych)
Mają cele i intencje.
Oddziałują poprzez interfejsy użytkownika, formularze lub polecenia głosowe.
Mogą mieć role z różnymi uprawnieniami (np. administrator vs. użytkownik zwykły).
✅ Wskazówka: Używaj nazewnictwa opartego na rolach (np. „Zarejestrowany klient” zamiast „Użytkownik”), aby uniknąć niejasności.
Są to zewnętrzne systemy, urządzenia lub procesy automatyczne, które oddziałują na oprogramowanie.
Urządzenie bankomatu (ATM)
Brama płatności (np. Stripe, PayPal)
Serwer poczty elektronicznej
Interfejs API usługi pogodowej
Czujnik IoT
System dziedziczny (np. stara baza danych)
Nie są ludźmi, ale inicjują lub reagują na działania systemu.
Często reprezentują punkty integracji lub usługi zewnętrzne.
Może automatycznie uruchamiać przypadki użycia.
✅ Przykład: W systemie e-commerce „Brama płatności” jest aktorem, który przetwarza płatności i wysyła potwierdzenie z powrotem do systemu.
⚠️ Typowy błąd: Traktowanie składnika systemu jako części systemu zamiast zewnętrznego aktora. Zawsze zadawaj pytanie: „Czy to jednostka inicjuje przypadek użycia?”
Zrozumienie roli aktoraroli i odpowiedzialności głęboko zwiększa zrozumienie, jak korzystają z systemu i czego oczekują.
Opisuje osobę lub system w kontekście.
Często związana z funkcją zawodową lub typem systemu.
Przykład: „Kierownik kredytowy” w porównaniu do „Klienta”
Działania, które aktor wykonuje w systemie.
Cele, które chcą osiągnąć.
Dane, które dostarczają lub otrzymują.
| Odpowiedzialność | Opis |
|---|---|
| Przeglądaj produkty | Zobacz listy produktów i ich szczegółowe informacje |
| Dodaj do koszyka | Wybierz elementy i dodaj je do koszyka |
| Zamówienie | Wprowadź dane dostawy i płatności |
| Śledź zamówienie | Zobacz status zamówienia i aktualizacje dostawy |
✅ Najlepsza praktyka:Zapisz odpowiedzialności aktora w tabeli lub legendzie diagramu przypadków użycia, aby poprawić czytelność.
Poprawna identyfikacja aktora ma wpływ na wiele faz cyklu życia oprogramowania:
Pomaga zidentyfikować wszystkie grupy użytkowników i systemy zewnętrzne.
Zapobiega pominięciu kluczowych potrzeb użytkowników.
Zachęca do wcześniejszego zaangażowania stakeholderów.
Każdy przypadek użycia jest wyzwalany przez aktora.
Umożliwia systematyczne odkrywanie wymagań funkcyjnych.
Pomaga uniknąć nadmiarowych lub nakładających się przypadków użycia.
Kieruje projektowaniem interfejsu (UI/UX).
Wpływ na bezpieczeństwo i kontrolę dostępu (np. administrator vs. gość).
Określa punkty integracji (np. interfejsy API firm trzecich).
Testery wykorzystują role aktorów do tworzenia scenariuszy testowych.
Gwarantuje, że wszystkie ścieżki użytkownika są objęte.
Wspiera tworzenie skryptów testów automatycznych.
Jasne definicje aktorów pomagają w tworzeniu podręczników użytkownika i materiałów szkoleniowych.
Wyjaśnia, kto może co robić w systemie.
W podejściu agilnym aktorzy pomagają określić historie użytkownika (np. „Jako klient, chcę zresetować hasło”).
Ułatwia priorytetyzację backlogu na podstawie potrzeb użytkownika.
Użytkownik to osoba korzystająca z systemu.
Aktorem jest każda jednostka, która interakcjonuje z systemem.
Jeden użytkownik może pełnić wiele ról (np. menedżer, który jest również klientem).
❌ Błędnie: „Użytkownik” jako jedyny aktor.
✅ Poprawnie: „Klient”, „Menadżer”, „Administrator systemu”
Aktorzy znajdują się poza granicą systemu.
Nie należy uwzględniać komponentów wewnętrznych (np. „Baza danych” nie jest aktorem — chyba że jest systemem zewnętrznym).
Jeden aktor może być zaangażowany w wiele przypadków użycia.
Przykład: „Klient” może „Przeglądać”, „Dodawać do koszyka”, „Zamawiać” i „Oceniać produkt.”
Przypadek użycia opisuje działanie lub cel.
Aktor wyzwala lub uczestniczy w przypadku użycia.
✅ Przypadek użycia: „Przetwarzanie płatności”
✅ Aktor: „Klient” i „Brama płatności”
Postępuj zgodnie z tymi najlepszymi praktykami, aby zapewnić dokładną i znaczącą identyfikację aktorów:
Rozmawiaj z analitykami biznesowymi, użytkownikami końcowymi i właścicielami systemu.
Zadaj pytanie: „Kto korzysta z tego systemu? Kto wysyła dane do niego? Kto otrzymuje dane wyjściowe?”
Dla każdego potencjalnego przypadku użycia zapytaj: „Kto rozpoczyna tę interakcję?”
Odpowiedź najprawdopodobniej będzie aktorem.
Nie używaj nieprecyzyjnych terminów takich jak „Użytkownik”, „System” lub „Osoba”.
Bądź konkretny: „Zarejestrowany klient”, „Interfejs API strony trzeciej”, „Urządzenie mobilne”.
Myśl poza bezpośrednimi użytkownikami: czujniki, zadania cron, usługi zewnętrzne.
Przykład: czujnik pogody może wyzwolić przypadek użycia „Wyślij ostrzeżenie”.
Jeśli nie jest osobą, zapytaj: „Czy wysyła lub otrzymuje wiadomości do systemu?”
Jeśli tak → jest to aktor nie-ludzki.
Narysuj diagramy przypadków użycia i sprawdź, czy wszyscy aktorzy są przedstawieni.
Upewnij się, że żaden przypadek użycia nie jest „bezaktorowy”.
| Porada | Wyjaśnienie |
|---|---|
| Użyj nazw opartych na rolach | Zamiast „Użytkownik”, użyj „Klient”, „Administrator”, „Dostawca” — bardziej zrozumiałe i działające. |
| Grupuj aktorów według roli | Utwórz listę „Aktorów” z opisami, odpowiedzialnościami i uprawnieniami. |
| Wykorzystaj persona | Twórz persona dla kluczowych aktorów, aby zrozumieć ich cele i punkty bólu. |
| Sprawdź brakujących aktorów | Zapytaj: „Co się stanie, jeśli system zawiedzie? Kto zostanie poinformowany?” → Często ujawnia ukryte aktory. |
| Użyj zasady „Poza systemem” | Jeśli coś znajduje się w systemie, nie jest aktorem. |
| Iteruj i doskonal | Przeglądaj aktorów w każdej fazie rozwoju. Nowe funkcje mogą wprowadzić nowych aktorów. |
| Dokumentuj aktorów w tabeli referencyjnej | Utrzymuj żywy dokument z danymi aktorów do przyszłego odniesienia. |
Klient – przegląda konto, przesyła pieniądze
Kasjer bankowy – przetwarza wnioski o kredyt
Maszyna bankomatowa – wysyła prośby o wypłatę
System wykrywania oszustw – monitoruje transakcje i oznacza podejrzane działania
Brama płatności – przetwarza płatności kartą kredytową
Aktor: Klient i maszyna bankomatowa
Interakcja: Klient wstawia kartę → ATM wysyła żądanie → System weryfikuje → Środki są zwolnione
✅ Maszyna bankomatowa jest aktorem, ponieważ inicjuje interakcję.
| Pułapka | Dlaczego to jest źle | Jak to naprawić |
|---|---|---|
| Traktowanie wewnętrznych modułów jako aktorów | Narusza koncepcję granicy systemu | Zapytaj: „Czy to znajduje się wewnątrz czy na zewnątrz systemu?” |
| Używanie nieprecyzyjnych terminów takich jak „Użytkownik” | prowadzi do niejasności i braku wymagań | Używaj konkretnych ról: „Klient”, „Dostawca” |
| Zapominanie o aktorach nie-ludzkich | Pomija integracje i automatyzacje | Myśl o interfejsach API, czujnikach, zadaniach cron |
| Zakładanie jednego aktora na przypadki użycia | Pomija złożone interakcje | Zezwól na wielu aktorów na jeden przypadek użycia |
| Nie ponawianie przeglądu aktorów podczas rozwoju | Aktorzy mogą się rozwijać wraz z nowymi funkcjami | Przeglądaj aktorów podczas planowania sprintów i retrospekcji |
Identyfikowanie aktorów w podejściu opartym na przypadkach użycia to znacznie więcej niż formalność — to strategiczny fundament sukcesu w rozwoju oprogramowania. Poprzez jasne określenie, kto współdziała z systemem (jak ludzie, tak i nie-ludzie), zespoły uzyskują:
Głębsze zrozumienie potrzeb użytkowników
Pełniejsze i bardziej dokładne wymagania
Lepsze projektowanie i architektura systemu
Ulepszona dokumentacja i testowanie
Silniejsza zgodność interesariuszy
Gdy jest wykonane poprawnie, identyfikacja aktorów przekształca abstrakcyjne pomysły w konkretne, działające wskazówki. Zapewnia, że oprogramowanie nie tylko działa — ale rozwiązuje rzeczywiste problemy dla rzeczywistych ludzi i systemów.
Książki:
Modelowanie przypadków użycia przez Alistaira Cockburna
Pisanie skutecznych przypadków użycia przez Alistaira Cockburna
Narzędzia:
Visual Paradigm (do diagramów przypadków użycia)
Lucidchart / Draw.io (rysowanie diagramów)
Jira + Confluence (do dokumentowania aktorów i przypadków użycia)
Metodyki:
Agile (historie użytkownika pochodzące od aktorów)
Projektowanie zorientowane na domenę (DDD) – aktorzy jako część modelu domeny
🌟 Ostateczna myśl:
„Nie budujesz oprogramowania dla systemów — budujesz je dla ludzi i systemów, które ich obsługują. Aktorzy to pierwszy krok w zrozumieniu, kim są ci ludzie i systemy.”
Opanowując identyfikację aktorów, tworzysz podstawę systemu, który nie tylko działa — ale ma naprawdę wartość.