apo-bankomat/use-case-4.md

133 lines
5.1 KiB
Markdown

Use Case 4: Operacja wypłaty pieniędzy
=====================
**Aktor podstawowy:** Klient
Główni odbiorcy i oczekiwania względem systemu:
-----------------------------------------------
- Klient: chce wypłacić pieniądze ze swojej karty bankowej
- Bank: chce spełnić wszystkie potrzeby klienta, uzyskiwać informacje z bankomatu, wykrywać błędy
Warunki wstępne:
----------------
Klient posiada konto bankowe oraz aktywną kartę. Bankomat wyświetla ekran początkowy.
Warunki końcowe:
----------------
System poprawnie przeliczył pieniądze i zaktualizował dostępność środków w bankomacie.
Scenariusz główny (ścieżka podstawowa):
---------------------------------------
1. Klient wkłada kartę do bankomatu.
2. System prosi o podanie pinu.
3. Klient wprowadza pin.
4. System potwierdza poprawność wprowadzonego PIN-u.
5. Bankomat wyświetla wszystkie możliwości interakcji, które może wybrać klient.
6. Klient wybiera opcję "wypłata pieniędzy".
7. System prosi o kwotę wypłaty.
8. Klient wpisuje kwotę i zatwierdza wprowadzaną kwotę.
9. System sprawdza ilość pieniędzy w bankomacie i wysyła informację do banku.
10. Bank potwierdza możliwość wypłaty pieniędzy i zapisuje zmiany.
11. System otrzymuje informację z banku.
12. System realizuje wypłatę.
13. Bankomat wydaje gotówkę.
14. Klient odbiera gotówkę.
15. Bankomat wydaje kartę.
16. Klient odbiera kartę i odchodzi od bankomatu.
Rozszerzenia (ścieżki alternatywne):
------------------------------------
*a. System zawiesza się:
1. Bankomat zatrzymuje kartę
2. System restartuje się, wykrywa błędy
3. Prejście do kroku 5 scenariusza głównego
2a. System nie może ponownie uruchomić się
1. Bank otrzymuje komunikat o błędzie
2. Bankomat wyświetla komunikat o błedzie
*b. Klient jest nieaktywny przez 30 sekund
1. System wyświetla komunikat, czy klient chce kontynuować
2. Klient potwierdza chęć kontynuowania operacji
3. Przejście do kroku scenariusza głównego, gdzie była wcześniej wykonywana operacja
2a. Klient nie jest aktywny przez 10 sekund
1. Prejście do kroku 15 scenariusza głównego
1a. Karta jest uszkodzona albo zastrzeżona albo straciła ważność:
1. Bankomat zatrzymuje kartę
2. Bankomat wyświetla komunikat, że karta jest (uszkodzona, zastrzeżona, straciła ważność)
3. System wysyła informację o zatrzymaniu karty do banku
4a. Nieprawidłowy pin:
1. System sygnalizuje nieprawidłowy pin
2. Prejście do kroku 2 scenariusza głównego
1a. System sygnalizuje nieprawidłowy pin po trzech próbach
1. Bankomat zatrzymuje kartę
2. Bankomat wyświetla komunikat o zatrzymaniu karty
3. System wysyła informację o zatrzymaniu karty do banku
6a. Brak pieniędzy w bankomacie:
1. System wyświetla komunikat, że bankomat nie może wypłacić pieniędzy
2. Prejście do kroku 15 scenariusza głównego
8a. Klient anuluje operację wypłaty:
1. Prejście do kroku 5 scenariusza głównego
9a. Bankomat nie może wypłacić takiej kwoty:
1. System wyświetla komunikat, że bankomat nie może wypłacić takiej kwoty
2. Prejście do kroku 15 scenariusza głównego
10a. Bank odmawia z opcji wypłaty:
1. Bank wysyła komunikat do systemu, że nie można wypłacić pieniędzy z powodu braku środków na karcie
2. System wyświetla komunikat o brakie środków na karcie
3. Prejście do kroku 5 scenariusza głównego
1a. Bank wysyła komunikat do systemu, że nie można wypłacić pieniędzy dla bezpieczeństwa klienta
1. System wyświetla kominkat, że nie można wypłacić pieniędzy i prosi o kontakt z najbliższym oddziałem banku
2. Prejście do kroku 15 scenariusza głównego
11a. System nie otrzymuje zwrotnej informacji od banku:
1. System ponownie wysyła informację do banku
2. System otrzymuje informację zwrotną
2a. System nie otrzymuje informację zwrotną
1. Bankomat zatrzymuje kartę
2. System wyświetla kominkat, że karta została zatrzymana przez bankomat i prosi o kontakt z najbliższym oddziałem banku
3. System wysyła informację o zatrzymaniu karty do banku
14a. Klient nie odebrał gotówkę w ciągu 15 sekund
1. Bankomat zabiera pieniędzy
2. System wysyła informację o anulowaniu operacji do banku
3. Prejście do kroku 15 scenariusza głównego
16a. Klient nie odebrał karty w ciągu 30 sekund
1. Bankomat zatrzymuje kartę
2. System wysyła informację o zatrzymaniu karty do banku
Wymagania specjalne:
--------------------
- Interfejs użytkownika musi być dostępny w języku polskim i angielskim.
- System oczekuje zwrotnej informacji od banku maksymalnie 15 sekund.
Wymagania technologiczne oraz ograniczenia na wprowadzane dane:
---------------------------------------------------------------
4a. Pin składa się z 4 cyfr.
7. Kwota nie może być większa niż million złotych i nie może zaczynać się od 0.
Kwestie otwarte:
----------------
- Czy chcemy obsługiwać karty zbliżeniowe?
- Czy chcemy obsługiwać niewidomych?