APO_Bankomat/use-case-2.md

4.7 KiB

Use Case 2: Wpłata pieniędzy

Aktor podstawowy: Klient

Główni odbiorcy i oczekiwania względem systemu:

  • Klient: oczekuje szybkiej wpłaty pieniędzy, szybkiej aktualizacji stanu konta oraz potwierdzenia wpłaty

  • Bank: oczekuje poprawnej realizacji wpłaty, zaaktualizowania stanu bankomatu po wpłacie

  • Dostawca usług bazodanowych: oczekuje poprawnej i bezpiecznej aktualizacji danych po każdej transakcji

Warunki wstępne:

Klient przeszedł wstępną weryfikację i wybrał opcję wpłaty pieniędzy.

Warunki końcowe:

Transakcja przebiegła poprawnie. Stan konta klienta został zaaktualizowany odpowiednio do wprowadzonej kwoty. Klient otrzymał potwierdzenie. Informacje o banknotach w bankomacie zostały zaaktualizowane.

Scenariusz główny (ścieżka podstawowa):

  1. Klient wprowadza, jaką kwotę chce wpłacić.
  2. Klient wprowadza banknoty i potwierdza wprowadzenie całej kwoty do bankomatu.
  3. System weryfikuję otrzymane banknoty.
  4. System wyświetla potwierdzenie otrzymania banknotów oraz ilość otrzymanych nominałów.
  5. Klient akceptuje wpłatę pieniędzy.
  6. System aktualizuje stan konta klienta.
  7. System aktualizuje stan nominałów w bankomacie.
  8. System oddaje klientowi kartę.
  9. System wyświetla zapytanie o wydrukowanie potwierdzenia transakcji.
  10. Klient akceptuje zapytanie wybierając odpowiednią opcje.
  11. System drukuje potwierdzenie transakcji.
  12. Klient odbiera potwierdzenie.

Rozszerzenia (ścieżki alternatywne):

*a. Klient anulował transakcje

  1. System prosi o potwierdzenie anulowania transakcji.
  2. Klient akceptuje zapytanie.
  3. System kończy transakcję i oddaje kartę klientowi.

*b. System zawiesił się

  1. System anuluje wszystkie wprowadzone dane.
  2. System powiadamia dostawce usług bankomatowych oraz bank o awarii.
  3. System kończy transakcję.

1a. System wykrył nieprawidłowe dane.

1a. Nie przekroczono limitu wprowadzania danych
    1. System prosi o ponowne wprowadzenie danych.
    2. Powrót do scenariusza głównego.

1b. Przekroczono limit wprowadzania danych
    1. System wyświetla informację o przekroczeniu limitu prób.
    2. System oddaje klientowi kartę.
    3. System kończy transakcje.

2a. Klient nie potwierdza wprowadzenia całej kwoty do bankomatu.

  1. Klient wprowadza kolejny banknot do bankomatu.
  2. Powrót do punktu 2. scenariusza głównego.

3a. System zweryfikował banknoty jako uszkodzone.

  1. System wyświetla informację, że wprowadzone banknoty są uszkodzone.
  2. System zwraca banknoty klientowi.
  3. System kończy transakcję.

6-7a. Błąd systemu podczas aktualizacji stanu banknotów w bankomacie lub stanu konta klienta.

1a. Nie przekroczono limitu prób aktualizacji
    1. System ponawia próbę aktualizacji danych.
    2. Powrót do scenariusza głównego.

1b. Przekroczono limit prób aktualizacji
    1. System wyświetla informację o przekroczeniu limitu prób aktualizacji.
    2. System oddaje klientowi wprowadzone banknoty.
    3. System anuluje wszystkie wprowadzone dane.
    4. System oddaje klientowi kartę.
    5. System kończy transakcje.

10a. Klient nie zaakceptował wydrukowania potwierdzenia transakcji

  1. System nie drukuje potwierdzenia transakcji.
  2. System wyświetla informację o zakończeniu transakcji.

Wymagania specjalne:

  • Wielojęzyczny interfejs użytkownika - przynajmniej język polski i angielski.

  • Interfejs bankomatu musi być prosty i intuicyjny.

  • Szyfrowanie danych klienta, aby zapewnić bezpieczeństwo informacji.

Wymagania technologiczne oraz ograniczenia na wprowadzane dane:

*a. Wprowadzane dane, takie jak PIN, powinny być szyfrowane dla ochrony prywatności klienta.

1a. Kwota do wpłaty nie może przekraczać 10000 zł i musi być liczbą całkowitą.

1b. Ilość prób wprowadzenia poprawnych danych nie może być większa niż 5.

1c. Bankomat powinien umożliwiać wpłatę różnych nominałów banknotów.

9a. Potwierdzenie transakcji powinno zawierać istotne informacje, takie jak data, kwota wpłaty i stan konta.

Kwestie otwarte:

  • Czy dajemy możliwość klientowi na wpłatę pieniędzy innym sposobem niż gotówka, np. przelewem?

  • Czy bankomat powinien być zooptymalizowany równieź pod kątem osób z niepełnosprawnościami, np. implementując interfejs głosowy?

  • Czy klient może otrzymać potwierdzenie transakcji w formie elektronicznej na swoją aplikację mobilną?