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

123 lines
4.1 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.
6. 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.
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ę.<br/>
2a. Klient znajduje się przy bankomacie.
1. Klient odbiera kartę.<br/>
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.<br/>
2a. Klient anuluje wychodzenie z sesji.<br/>
1. System wraca do stanu z przed wyboru opcji.<br/>
2b. Klient potwierdza chęć zakończenia sesji.
1. System wysuwa kartę.
2. Klient odbiera kartę.
3. System wraca do ekranu powitania.
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
5a. Klient anuluje kwotę: Powrót do kroku 1 scenariusza głównego.
7a. System wyświetla informacje o braku wystarczających środków na kącie: Powrót do kroku 1 scenariusza głównego.
7b. System wyświetla informacje o braku wystarczającej liczbie banknotów w bankomacie: Powrót do kroku 1 scenariusza głównego.
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:
---------------------------------------------------------------
* Bankomat posiada system monitorujący procesy celem wykrycia zawieszenia.
* Bankomat ma połączenie z systemem SOT.
3a. Kwota wprowadzona z klawiatury numerycznej.
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?