APO-projekt-bankomat/use-case-1.md

133 lines
4.2 KiB
Markdown

Use Case 1: Wypłata gotówki
=====================
**Aktor podstawowy:** Klient
Główni odbiorcy i oczekiwania względem systemu:
-----------------------------------------------
- Klient: oczekuje możliwości szybkiego wprowadzania danych oraz braku błędów
- Klient: oczekuje wypłaty gotówki oraz dowodu wykonania wypłaty
- Klient: oczekuje wypłaty gotówki oraz dowodu wykonania wypłaty
- Bank: oczekuje poprawnie realizowanych transakcji i zadowolenia Klienta
- SOT: oczekuje otrzymania zapytań w poprawnym protokole transmisji danych.
Warunki wstępne:
----------------
Klient posiada konto w banku oraz kartę i zostało przeprowadzone uwierzytelnianie.
Warunki końcowe:
----------------
Usługa jest bezpieczna. System księgowy jest zaktualizowany. Rachunek jest wydrukowany. Pieniądze zostały wydane. Dokument autoryzacji płatności jest przechowany.
Scenariusz główny (ścieżka podstawowa):
---------------------------------------
1. Klient wybiera opcję wypłaty gotówki.
2. System wyświetla kwoty możliwe do wypłaty.
3. Klient wybiera kwotę do wypłaty.
4. System wyświetla komunikat proszący o potwierdzenie kwoty.
5. Klient potwierdza wypłatę środków.
5. System weryfikuję możliwość wykonania wypłaty z SOT.
7. System wysuwa kartę oraz informuje klienta o pomyślności tranzakcji.
8. Klient odbiera kartę.
9. System wydaje gotówkę oraz potwierdzenie.
10. Klient odbiera gotówkę oraz potwierdzenie.
11. Sysyem wraca do ekranu powitenia.
Rozszerzenia (ścieżki alternatywne):
------------------------------------
*a. Awaria systemu
1. System zawiesza się.
2. System przywraca stan systemu sprzed zawieszenia.<br/>
2a. System był w trakcie obsługi klienta.
1. System wyswietla komunikat o błędzie.
2. System wysuwa kartę.
3. Klient odbiera kartę.<br/>
2b. System nie był używany.<br/>
3. System wysyła powiadomienie do operatora.
4. Operator wyłącza bankomat.
*b. Klient nie jest aktywny przez określony czas.
1. System wyświetla komunikat o zbyt długiej bezczynności użytkownika.
2. System wysuwa kartę.
2a. Klient znajduje się przy bankomacie.
1. Klient odbiera kartę.
2b. Klient zostawił kartę w bankomacie.
1. System pobiera kartę.
2. System wysyła powiadomienie do operatora.
*c. Klient wybiera opcję przerwania i zakończenia sesji.
1. System prosi o potwierdzenie zakończenia działania.
2a. Klient anuluje wychodzenie z sesji.
1. System wraca do stanu z przed wyboru opcji.
2b. Klient potwierdza chęć zakończenia sesji.
1. System wysuwa kartę.
2. Klient odbiera kartę.
3. System wraca do ekranu powitania: Use Case (brak)
3a. Klient wybiera możliwość wprowadzenia własnej kwoty
1. System wyświetla komunikat proszący o podanie kwoty za pomocą klawiatury.
2. Klient wprowadza kwotę.
3b. Klient wybiera jedną z gotowych opcji
4a. Klient potwierdza kwotę.
4b. Klient anuluje kwotę: Wypłata gotówki (UC 1)
5a. System wysuwa kartę oraz wyświetla informacje o pomyślności tranzakcji.
1. Klient odbiera kartę.
2. System wydaje gotówkę oraz potwierdzenie.
3. Klient odbiera gotówkę oraz potwierdzenie.
5b. System wyświetla informacje o braku wystarczających środków na kącie.
1.
2.
3.
5c. System wyświetla informacje o braku wystarczającej liczbie banknotów w bankomacie.
1. System wysyła powiadomienie do operatora.
Wymagania specjalne:
--------------------
- Niezbędny jest płaski ekran z ograniczonym kątem widoczności wyświetlanej treści
- Niezbędna klawiatura numeryczna
- Autoryzacja musi być dokonana w czasie 30 sekund w 90% przypadków
- Możliwość interfejsu wielojęzycznego
Wymagania technologiczne oraz ograniczenia na wprowadzane dane:
---------------------------------------------------------------
3a. Kwota wprowadzona z klawiatury numerycznej <!-- np. 3a. Pin składa się z 4 cyfr. -->
Kwestie otwarte:
----------------
- Czy system ma pytać o drukowanie potwierdzeń?
- Czy system ma umożliwiać transakcje zbliżeniowe?
- Czy system ma umożliwiać użycie flunkcjonalności BLIK?
- Czy system ma umożliwiać wypłate w różnych walutach?