Zaktualizuj 'use-case-4.md'

This commit is contained in:
Aliaksandr Trafimchyk 2022-11-09 00:53:11 +01:00
parent a8988e4993
commit 1f20998334

View File

@ -1,94 +1,118 @@
Use Case 4: Operacja wypłaty pieniędzy
=====================
**Aktor podstawowy:** <!-- np. Klient -->
**Aktor podstawowy:** Klient
Główni odbiorcy i oczekiwania względem systemu:
-----------------------------------------------
- Odbiorca1: oczekiwania ...
- Klient: chce wypłacić pieniądze ze swojej karty bankowej
- Odbiorca2: oczekiwania ...
- Odbiorca3: oczekiwania ...
- 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. Krok 1 scenariusza głównego. <!-- np. 1. Klient wkłada kartę do bankomatu. -->
2. Krok 2 scenariusza głównego. <!-- np. 2. System prosi o podanie pinu. -->
3. Krok 3 scenariusza głównego. <!-- np. 3. Klient wprowadza pin.) -->
4. ....
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. nazwa rozszerzenia <!-- rozszerzenie *a może wystąpić w dowolnym kroku -->
*a. System zawiesza się:
1. krok pierwszy rozszerzenia *a
2. krok drugi rozszerzenia *a
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
3a. nazwa rozszerzenia <!-- np. 3a. Nieprawidłowy pin -->
4a. Nieprawidłowy pin:
1. krok pierwszy rozszerzenia 3a
2. krok drugi rozszerzenia 3a
1a. System sygnalizuje nieprawidłowy pin (znowu zaczynamy od kroku 2)
1b. System sygnalizuje nieprawidłowy pin po trzech próbach
2a. nazwa scenariusza alternatywnego dla kroku 2 rozszerzenia 3a
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
1. Krok pierwszy.
2. Krok drugi.
3. ...
6a. Bankomata jest pusty i nie może wydać pieniędzy:
2b. nazwa scenariusza alternatywnego dla kroku 2 rozszerzenia 3a
1. System wyświetla informację, że nie można wypłacić pieniędzy, bo bankomat jest pusty (przychodzimy do kroku 14)
1. Krok pierwszy.
2. ...
9a. W bankomacie nie ma wystarczającej ilości pieniędzy:
3. krok trzeci rozszerzenia 3a
4. krok czwarty rozszerzenia 3a
1. System wyświetla informację, że bankomat nie ma wystarczającej ilości pieniędzy (przychodzimy do kroku 14)
3b. nazwa rozszerzenia
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
1. krok pierwszy rozszerzenia 3b
2. krok drugi rozszerzenia 3b
3. ...
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
3-4a. nazwa rozszerzenia <!-- rozszerzenia 3-4a. może wystąpić w kroku 3 lub 4 -->
Wymagania specjalne:
--------------------
- ... <!--np. Interfejs użytkownika musi być dostępny w języku polskim i angielskim. -->
- 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:
---------------------------------------------------------------
2a. ...
4a. Pin składa się z 4 cyfr.
2b. ...
3a. ... <!-- np. 3a. 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:
----------------
- ... <!-- np. Czy dopuszczamy autoryzację z wykorzystaniem rozpoznawania twarzy?-->
- Czy chcemy obsługiwać karty zbliżeniowe?
- ...
- ...
- Czy chcemy obsługiwać niewidomych?