HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
장지원 페이지/
[Notion] :
[Notion] :
/
🏧
ATM
/
test_case

test_case

 

 
input
bank1: Kakao bank2: Daegu
 
acc1: Kakao, David, 111111111111, 1004, 20000 acc2: Daegu, Jane, 222222222222, 2435, 100000 acc3: Kakao, Kate, 333333333333, 9876, 150000
acc4: Kakao, David, 444444444444, 8282, 400000
acc4: Daegu, David, 555555555555, 2468, 200000
 
ATM1: Kakao, 111111, type 2, lang 2, [ 10, 10, 10, 10 ]
ATM2: Daegu, 222222, type 1, lang 1, [ 10, 10, 10, 10 ]
 
ATM serial number: 111111
language: Ko
insert card: 111111111111
password: 1004
 
 
 
[Banks] bank1: Kakao bank2: Daegu
notion image
[Accounts] acc1: Kakao, David, 111111111111, 1004, 20000 acc2: Daegu, Jane, 222222222222, 2435, 100000 acc3: Kakao, Kate, 333333333333, 9876, 150000
notion image
acc4: Kakao, David, 444444444444, 8282, 400000
acc4: Daegu, David, 555555555555, 2468, 200000
 
[ATM]
ATM1: Kakao, 111111, type 2, lang 2, [ 10, 10, 10, 10 ]
notion image
 
 
ATM2: Daegu, 222222, type 1, lang 1, [ 10, 10, 10, 10 ]
notion image
 
 

 
[Session]
ATM serial number: 111111
language: Ko
insert card: 111111111111
 
 
[Session deposit]
 
 
[Admin session]
insert card : 000000
(REQ1.9) An admin can access the menu of “Transaction History” via an admin card (See REQ Display of Transaction History).
 
[Session end]
(REQ2.2) A session ends whenever a user wishes (e.g., by choosing a cancel button) or there are some exceptional conditions detected by the ATM (e.g., no cash available)
(REQ2.3) When a session ends, the summary of all transactions performed in a session must be displayed.
(e.g.) Account/card info, transaction types (deposit, transfer, withdrawal), and their amount, …
(REQ2.4) Each transaction has a unique identifier across all sessions.
 
notion image
(REQ3.1) An ATM checks if the inserted card is valid for the current type of ATM.
(REQ3.2) If an invalid card is inserted, the ATM shall display an appropriate error message (e.g., Invalid Card).
 
notion image
(REQ3.3) An ATM shall ask a user to enter the password (e.g., Enter Password), and verify if the password is correct.
 
notion image
An ATM does not maintain any user information, so the card and password information need to be passed to the bank; then, the bank verifies the password, and return the authorization result. (Bank has the account list, ATM verifies the password by checking the account list in the bank)
 
notion image
(REQ3.4) If the entered password is incorrect, the ATM shall display an appropriate error message. (e.g., Wrong Password)
(REQ3.5) If a user enters wrong passwords 3 times in a row, a session is aborted, and return the card to the user.
 
notion image
(REQ4.1) An ATM shall take either cash or check from a user.
o (REQ1.8) Each ATM have several types of transaction fees, and paid as follows:
  • Deposit fee for primary banks: KRW 0
    Acc: 100000 → 103000 (3000 KRW / Cash Deposit) / 10000 → 13000 (3 1000 KRWPaper Cash)
    After cash deposit, 3000 won has decreased in ATM balance, increased in the Daegu Account
     
     
     
    (REQ4.3) Once cash or checks are accepted by ATM, the transaction must be reflected to the bank account as well (i.e., the same amount of fund must be added to the corresponding bank account)
     
    notion image
     
    REQ4.2) An ATM shall display an appropriate error message if the number of the inserted cash or checks exceed the limit allowed by the ATM. (Cash Deposit limit is about 30 paper cashes)
     
    notion image
    (REQ2.3) When a session ends, the summary of all transactions performed in a session must be displayed.
    Deposit for 222222222222 → Total Balance of the Account : 117000
     
     
    notion image
     
    (REQ8.1) An ATM that is configured with the bilingual support shall provide an option for a user to choose the preferred language either English or Korean. (REQ8.2) Once a certain language is chosen, all menus must be displayed using the chosen language.
    (ATM: Kakao, Account: Daegu)
    As ATM supports bilingual, user can choose the language between English and Korean.
    The case above selects “Korean”, therefore all menus are displayed in Korean.
     
     
    notion image
    (REQ4.4) Some deposit fee may be charged (See REQ in System Setup)
    (REQ1.8) Each ATM have several types of transaction fees, and paid as follows:
    • Deposit fee for non-primary banks: KRW 1,000; the fee is paid by inserting additional cash.
     
     
    Acc: 117000 → 127000 (10000 KRW / Cash Deposit) / 20000 → 31000 (11 (10 Paper Cash + Fee))
    According to the bank of the account, this is the non-primary bank transaction.
    ATM asks user to deposit extra fee (1000 KRW), therefore remaining 1000 KRW balance become 31.
     
     
    notion image
    (REQ4.4) Some deposit fee may be charged (See REQ in System Setup)
    (REQ1.8) Each ATM have several types of transaction fees, and paid as follows:
    • Deposit fee for non-primary banks: KRW 1,000; the fee is paid by inserting additional cash.
    (REQ4.6) The deposited check does not increase available cash in ATM that can be used by other users.
     
    Acc: 127000 → 169000 (42000 KRW / Check Deposit) / 31000 → 32000 (1000 KRW for fee)
    According to the bank of the account, this is the non-primary bank transaction.
    Check deposit doesn’t change the available cash in ATM, however due to the extra fee, 1000 KRW increases in ATM Balance.