apo-bankomat/use-case-4.md

119 lines
4.5 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, żeby można było 'komunikować' z klientem przez system i wykrywać błędy
Warunki wstępne:
----------------
Klient posiada konto bankowe oraz aktywną kartę. Karta nie jest uszkodzona i nie jest zastrzeżona. Bankomat wyświetla ekran początkowy
Warunki końcowe:
----------------
System poprawnie liczy pieniędzy i aktualizuje 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. Bank 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 potwierdza wprowadzaną kwotę i wysyła informację do banku.
10. Bank potwierdza informacje o możliwości wypłaty pieniędzy z danego konta i zapisuje zmianę.
11. Bank zwraca daną informację do systemu.
12. System realizuje wypłatę.
13. Bankomat wydaje kartę.
14. Klient wyciąga kartę.
15. Bankomat wydaje gotówkę.
16. Klient odbiera gotówkę i odchodzi od bankomatu.
Rozszerzenia (ścieżki alternatywne):
------------------------------------
*a. System zawiesza się:
1. Bankomat zatrzymuje kartę
2a. System restartuje się, wykrywa błędy, wyświetla ekran interkacji i kontynuje swoje działanie
2b. System nie może ponownie uruchomić się:
1. Bank otrzymuje informację o błędzie
2. Bank wysyła komunikat do klienta (przez telefon, e-mail, i t.d.) w sprawie zwroty karty
3. Bank podejmuje decyzję jak naprawić system
4a. Nieprawidłowy pin:
1a. System sygnalizuje nieprawidłowy pin (znowu zaczynamy od kroku 2)
1b. System sygnalizuje nieprawidłowy pin po trzech próbach
1. Bankomat zatrzymuje kartę
2. System powiadamia klienta, że karta została zatrzymana przez bankomat
3. System wysyła informację o zatrzymaniu karty do banku
4. Bank wysyła komunikat do klienta w sprawie zatrzymania karty
6a. Bankomata jest pusty i nie może wydać pieniędzy:
1. System wyświetla informację, że nie można wypłacić pieniędzy, bo bankomat jest pusty (przychodzimy do kroku 14)
9a. W bankomacie nie ma wystarczającej ilości pieniędzy:
1. System wyświetla informację, że bankomat nie ma wystarczającej ilości pieniędzy (przychodzimy do kroku 14)
10a. Bank odmawia skorzystania z tej możliwości:
1a. Bank wysyła komunikat do systemu, że nie można wypłacić gotówkę, bo karta nie ma wystarczającej ilości środków na koncie
1b. Bank wysyła komunikat do systemu, że nie można wypłacić gotówkę z powodu dziennego limitu wypłat z bankomatu
1c. Bank wysyła komunikat do systemu, że nie można wypłacić gotówkę w celach bezpieczeństwa klienta
1. System wyświetla informację, że nie można wypłacić pieniędzy i prosi o kontakt z najbliższym oddziałem banku (przychodzimy do kroku 14)
2. System wyświetla informację otrzymaną od banku (przychodzimy do kroku 14)
11a. System nie otrzymuje zwrotnej informacji od banku:
1. System ponownie wysyła informację do banku
1a. System otrzymuje informację zwrotną
1b. System nie otrzymuje informację zwrotną
1. Bankomat zatrzymuje kartę
2. System powiadamia klienta, ż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
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?