DIAGRAM PRZYPADKÓW UŻYCIA
Źródło: Craig Larman: „UML i wzorce projektowe” Helion 2011
SCENARIUSZ PRZYPADKU UŻYCIA
UC1 – Obsłuż sprzedaż
Zakres
POS NextGen
Poziom
Cel użytkownika
Aktor pierwszoplanowy
Kasjer
Interesariusze i ich cele:
Kasjer: chce szybkiego dostępu bez błędów płatności, gdyż niedobory w kasie są potrącane z jego wynagrodzenia.
Sprzedawca: chce aktualizacji informacji o prowizji.
Klient: chce dokonać zakupu i zostać obsłużony przy minimalnym nakładzie sił. Chce wyraźnie widzieć listę wybranych produktów i ich ceny. Chce otrzymać paragon na wypadek reklamacji.
Firma: chce wiarygodnej historii transakcji i satysfakcji klientów. Chce, by należności były w odpowiedni sposób ściągane i odnotowywane przez System Autoryzacji Płatności. Chce, by sprzedaż była możliwa nawet po wystąpieniu pewnych błędów (np. w zdalnej walidacji kart kredytowych). Chce szybkiej, automatycznej aktualizacji księgowości i magazynu.
Kierownik sklepu: chce szybko przeprowadzać operacje korekty i łatwo rozwiązywać problemy z kasą.
Urząd Skarbowy: chce pobierać podatek od każdej sprzedaży. W niektórych krajach takich jednostek będzie więcej (narodowe i stanowe agencje podatkowe).
System Autoryzacji Płatności: chce otrzymywać cyfrowe żądania autoryzacji wykorzystujące odpowiedni format i protokół. Chce poprawnie odnotowywać należności wobec sklepu.
Warunki początkowe:
Kasjer został zidentyfikowany i otrzymał autoryzację do wykonywania operacji przy kasie.
Warunki końcowe (gwarancja sukcesu):
Sprzedaż została odnotowana.
Poprawnie obliczono wysokość podatku.
Zaktualizowano dane księgowe i stan magazynu.
Wyznaczono prowizję dla sprzedawcy. Wydrukowano paragon. Zapisano potwierdzenie autoryzacji transakcji.
Główny scenariusz sukcesu (podstawowy przepływ):
Klient pojawia się przy kasie wyposażonej w system POS z produktami lub usługami, które chce zakupić.
Kasjer rozpoczyna procedurę sprzedaży.
Kasjer wprowadza identyfikator produktu.
System odnotowuje produkt i wyświetla jego opis, cenę, a także dotychczasową kwotę do zapłaty. Kwota ta jest wyznaczana w oparciu o zestaw reguł cenowych.
Kroki 3. i 4. są powtarzane aż do wyczerpania produktów, które klient chce kupić.
System pokazuje całkowitą kwotę do zapłaty, uwzględniającą podatki.
Kasjer podaje Klientowi kwotę i prosi o zapłatę.
Klient płaci, a System obsługuje płatność.
System zapisuje dane sprzedaży i przesyła je do zewnętrznego Systemu Księgowego (księgowość i prowizje) oraz do Systemu Magazynowego (aktualizacja stanu magazynu).
System drukuje paragon.
Klient odchodzi z paragonem i zakupami.
Rozszerzenia (przepływy alternatywne):
*a. W dowolnym momencie Kierownik sklepu może zażądać anulowania lub nadpisania operacji:
System wprowadza kod autoryzacji Kierownika.
Kierownik lub Kasjer przeprowadzają jedną operację w trybie Kierownika, np. zmianę salda, wznowienie procedury sprzedaży w innej kasie, anulowanie faktury itd.
System wraca do trybu Kasjera.
*b. W dowolnym momencie następuje awaria Systemu. By umożliwić wznowienie pracy Systemu i skorygować dane księgowe, konieczna jest możliwość odtworzenia wszystkich zdarzeń ze scenariusza:
Kasjer restartuje system, loguje się do niego i żąda odtworzenia poprzedniego stanu.
System odtwarza poprzedni stan.
2a.System wykrywa anomalie uniemożliwiające odtworzenie stanu:
System sygnalizuje błąd Kasjerowi, odnotowuje go i wchodzi w nowy, czysty tryb pracy.
Kasjer rozpoczyna nową procedurę sprzedaży.
1a. Klient lub Kierownik chcą wznowić zawieszoną procedurę sprzedaży:
Kasjer przeprowadza operację wznowienia i wprowadza identyfikator sprzedaży.
System wyświetla stan procedury sprzedaży wraz z sumą częściową.
2a. Nie znaleziono sprzedaży.
System informuje Kasjera o błędzie.
Najprawdopodobniej Kasjer rozpocznie nową procedurę sprzedaży i ponownie wprowadzi wszystkie produkty.
Kasjer kontynuuje sprzedaż (wprowadzając dodatkowe produkty lub przechodząc do płatności).
2 -4a. Klient informuje Kasjera, że ma prawo do ulgi podatkowej (np. jest seniorem).
Kasjer sprawdza uprawnienia Klienta, po czym wpisuje kod danej ulgi. 2.System zapamiętuje status Klienta (który zostanie wykorzystany podczas
obliczeń podatkowych).
3a. Niepoprawny identyfikator produktu (nieznany Systemowi):
1.System informuje o błędzie i usuwa wpis.
Kasjer reaguje na błąd:
2a. Produkt ma inny identyfikator czytelny dla człowieka (np. liczby pod kodem kreskowym):
Kasjer ręcznie wpisuje identyfikator.
System wyświetla opis i cenę.
2a. Produkt nadal nierozpoznany. Kasjer musi zastosować inną metodę.
2b. Nie ma identyfikatora, ale na produkcie jest cena:
Kasjer prosi Kierownika o korektę operacji.
Kierownik koryguje operację.
Kasjer ręcznie wprowadza cenę oraz żąda standardowego wyliczenia podatku od danej kwoty (w przypadku braku informacji o produkcie nie ma podstaw do podjęcia decyzji o sposobie opodatkowania).
2c. Kasjer stosuje przypadek użycia Znajdź informacje o produkcie w celu
wyznaczenia prawidłowego identyfikatora i ceny produktu.
2d. Jeśli nie powiodły się powyższe metody, Kasjer prosi innego pracownika o podanie identyfikatora oraz ceny i ręcznie wprowadza identyfikator lub cenę (jak wyżej).
3b. Klient kupuje kilka produktów tej samej kategorii i rozróżnianie poszczególnych sztuk nie ma znaczenia (np. 5 opakowań hamburgerów wegetariańskich):
1.Kasjer może podać identyfikator kategorii oraz liczbę sztuk.
3c. Produkt wymaga ręcznego określenia kategorii i ceny (np. kwiaty lub kartki upominkowe z naklejoną na nie ceną):
1.Kasjer ręcznie wprowadza kod kategorii i cenę.
3 - 6a. Klient prosi Kasjera o usunięcie (anulowanie) pewnego produktu z listy zakupów. Jest to możliwe, tylko jeśli cena produktu nie przekracza limitu anulowania nałożonego na danego Kasjera, w przeciwnym razie wymagany jest udział Kierownika.
Kasjer wprowadza identyfikator produktu do usunięcia.
System usuwa produkt z listy i wyświetla poprawną kwotę dotychczasowych zakupów.
2a. Wartość produktu przekracza limit dla danego kasjera.
System informuje o błędzie i sugeruje pomoc Kierownika.
Kasjer prosi Kierownika o nadpisanie operacji, otrzymuje pomoc, po czym kontynuuje sprzedaż.
3 - 6b. Klient prosi Kasjera o anulowanie całej procedury sprzedaży.
1.Kasjer anuluje sprzedaż.
3 - 6c. Kasjer zawiesza procedurę sprzedaży.
System odnotowuje dotychczasowe dane sprzedaży, by móc ją wznowić przy innym stanowisku POS.
System przedstawia paragon zawieszonej sprzedaży, gdzie wypisane są produkty, oraz identyfikator pozwalający na wznowienie sprzedaży.
4a. Klient nie zgadza się na cenę podaną przez System (np. Klient wykazał uszkodzenie produktu, w związku z czym zaoferowano mu niższą cenę):
Kasjer prosi o zgodę Kierownika.
Kierownik przeprowadza operację nadpisania.
Kasjer ręcznie wprowadza nową cenę produktu.
System podaje nową cenę.
5a. System nie jest w stanie skomunikować się z zewnętrznym serwisem wyznaczania wysokości podatku:
1.System restartuje serwis na danym stanowisku POS i kontynuuje,
1a. Próba ponownego uruchomienia serwisu nie przynosi rezultatu.
System informuje o błędzie.
Kasjer może ręcznie obliczyć podatek lub anulować sprzedaż.
5b. Klient informuje, że ma prawo do zniżki (np. pracownik sklepu, stały klient):
Kasjer informuje System o żądaniu zniżki.
Kasjer wprowadza dane klienta.
System podaje nową kwotę do zapłaty, po uwzględnieniu zniżki.
5c. Klient informuje, że na jego koncie znajduje się nadwyżka (np. zdobyta poprzez punkty lojalnościowe), którą chce wykorzystać podczas danej sprzedaży:
Kasjer informuje System o żądaniu wykorzystania nadwyżki.
Kasjer wprowadza dane klienta.
System zmniejsza nadwyżkę o cenę zakupów.
6a. Klient chce zapłacić gotówką, jednak okazuje się, że nie ma przy sobie wystarczającej kwoty:
1.Kasjer prosi o inną metodę płatności,
la. Klient prosi o anulowanie sprzedaży. Kasjer anuluje sprzedaż.
7a.Płatność gotówką:
Kasjer wprowadza kwotę podaną mu przez klienta.
System wylicza resztę i otwiera szufladę z gotówką.
Kasjer wkłada do niej otrzymane pieniądze i wydaje resztę.
System odnotowuje dane płatności.
7b. Płatność kartą kredytową:
Klient podaje dane konieczne do użycia karty.
System wyświetla kwotę do zapłaty i dane klienta do weryfikacji.
Kasjer zatwierdza.
3a. Kasjer anuluje płatność.
System wraca do trybu wprowadzania nowych produktów.
System wysyła żądanie autoryzacji płatności do zewnętrznego Systemu Autoryzacji Płatności.
4a. System nie może się połączyć z Systemem Autoryzacji Płatności:
System informuje o tym Kasjera.
Kasjer prosi Klienta o inną metodę zapłaty.
System otrzymuje potwierdzenie płatności, informuje o tym Kasjera oraz otwiera szufladę z gotówką (w celu zdeponowania tam paragonu płatności kartą).
5a. System otrzymuje informację o braku autoryzacji.
System informuje o tym Kasjera.
Kasjer prosi Klienta o inną metodę zapłaty.
5b. Przekroczenie czasu oczekiwania na autoryzację płatności.
System informuje o tym Kasjera.
Kasjer może spróbować ponownie lub poprosić klienta o inną metodę zapłaty.
System zapamiętuje informacje o płatności i jej pomyślnej autoryzacji.
System drukuje potwierdzenie, które musi podpisać klient.
Kasjer prosi klienta o podpis. Klient podpisuje.
Jeśli podpisywany był paragon płatności kartą, Kasjer odkłada go do szuflady.
7c. Płatność czekiem...
7d. Płatność kartą debetową...
7e. Kasjer cofa się z kroku płatności:
System wraca do trybu wprowadzania nowych produktów.
7f. Klient posiada bony na określone produkty:
Przed rozpoczęciem obsługi płatności Kasjer wprowadza do Systemu dane z bonów, w wyniku czego System zmniejsza kwotę do zapłaty.
1a. Bon nie pasuje do żadnego z wprowadzonych produktów:
System informuje o tym Kasjera.
9a. Obowiązuje obniżka na pewnego produkty:
System generuje informację o zniżce i oblicza niższe ceny.
9b. Klient życzy sobie paragonu podarunkowego (bez cen):
Kasjer prosi System o paragon podarunkowy, a System go drukuje.
9c. Skończył się papier w drukarce:
Jeśli System sam potrafi to wykryć, informuje Kasjera.
Kasjer uzupełnia papier.
Kasjer ponownie prosi o paragon.
Dodatkowe wymagania:
Interfejs graficzny na dużym ekranie dotykowym, tekst musi być widoczny z odległości metra.
Autoryzacja kart kredytowych w czasie maksymalnie 30 sekund w 90% przypadków.
Możliwości odzyskiwania systemu i korzystania z niego w razie awarii niektórych systemów, np. Systemu Magazynowego.
Możliwość wyboru innego języka wyświetlanego tekstu.
Możliwość wymiany reguł biznesowych w krokach 3. i 7.
Technologia i format danych:
*a. Nadpisywanie i anulowanie sprzedaży przeprowadzane przez Kierownika poprzez przejechanie kartą przez czytnik lub wpisanie kodu na klawiaturze.
3a. Identyfikator produktu wprowadzany za pomocą laserowego czytnika kodów kreskowych (jeśli produkt ma taki kod) lub z klawiatury.
3b. Identyfikator produktu może być kodem UPC, EAN, JAN lub SKU.
7a. Dane karty kredytowej wprowadzane za pomocą czytnika kart lub z klawiatury.
7b. Podpis właściciela karty kredytowej na papierowym paragonie. Przewidujemy jednak, że za dwa lata większość klientów będzie chciała korzystać z podpisów na specjalnym terminalu.
Częstość występowania:
niemal ciągła.
Otwarte problemy:
Jak może zmieniać się prawo podatkowe?
Możliwości naprawy i korzystania z systemu po awarii zewnętrznych usług.
Jakie różnice dla różnych typów sklepów i firm?
Czy kasjer po wylogowaniu zabiera szufladę z gotówką?
Czy klient może sam skorzystać z czytnika kart, czy zawsze robi to kasjer?
Opisany powyżej przypadek użycia jest jedynie przykładem, nie wyczerpuje całkowicie tematu, ale jest oparty o rzeczywiste wymagania dla systemu POS implementowanego w ??. Stopień szczegółowości i złożoności daje realistyczne pojęcie na temat układu, zawartości i możliwości pełnych przypadków użycia.
Co opisują poszczególne sekcje?
Elementy wstępne Zakres
Zakres określa granice projektowanego systemu (lub systemów). Najczęściej przypadek użycia dotyczy zastosowania jednego systemu programistycznego (lub systemu programistycznego w połączeniu ze sprzętem) — wówczas taki przypadek nazywamy systemowym przypadkiem użycia. Zdarza się, że przypadki użycia mają nieco szerszy zakres: opisują, jak pewna firma jest „używana" przez swoich klientów i partnerów (czyli jak wchodzi z nimi w interakcję).