W trakcie przedstawiania abonenckiego modelu biznesowego wskazałem w części wykonywanej po stronie systemu dwie sytuacje, które kończyły proces z efektem innym niż oczekiwany przez użytkownika. Efektem oczekiwanym przez użytkownika było „Udostępnienie dokumentu”. Zamiast mogło się pojawić zdarzenie „Brak dostępu” lub zdarzenie „Brak opłaty”.
Potem trafiłem na artykuł o rozróżnianiu ścieżek alternatywnych i wyjątków, zamieszczony na stronie ModernAnalyst.com – „Document Decisions Separately and Explicitly – A Proposed Use Case Scenario Best Practice”. Artykuł wskazywał 2 pojęcia:
- „Alternate paths (options) are the result of an actor’s choice.”
- „Exception paths (errors) are the result of the system’s choice.”
Pierwsze z nicj wskazuje na alternatywne działania użytkownika, a drugie na działania systemu w wyniku napotkanych problemów (wyjątków). Rozróżnienie takie jest jak najbardziej logiczne, ponieważ użytkownik często ma wiele opcji do wyboru. Każda z nich może zakończyć się poprawnie lub zostać przerwana. Przerwanie może być wynikiem błędu użytkownika, brakiem wykonania pewnych działań poza systemem lub po prostu natrafieniem przez system na wyjątek. Wyjątki mogą być różne. Przykładem dla tych drugich są wskazane powyżej sytuacje, w których system wykonując zaplanowane sprawdzenia trafia na wyjątek, co nie pozwala na prawidłowe zakończenie procesu, czyli przejście tzw. ścieżki głównej (przejście procesu bez wyjątków, do „Udostępnienia dokumentów”). Więcej o wyjątkach we wpisie „Obsługa wyjątków w wymaganiach”
Co może być przykładem alternatywnego działania użytkownika?
Na powyższym diagramie (przykład w BPMN) zaprezentowano dwie ścieżki obsługi przez użytkownika sytuacji, gdy otrzyma komunikat o braku dokonania opłaty. Pierwsza z nich pozwala na prawidłowe dokończenie procesu – uzyskanie dostępu do poszukiwanego dokumentu. Druga z kolei, powoduje, że użytkownik przestaje korzystać z usług serwisu. Dzięki przedstawieniu różnych opcji użytkownika, obok tych standardowych, otrzymujemy pełniejszy obraz procesów, które mogą wystąpić w danym modelu biznesowym. W przedstawianym przekładzie mogą to być: „Rejestracja”, „Wyszukiwanie zasobów”, „Rezygnacja”, lub „Opłacenie”.