Use Case Specification
Use case specification
Use Case ID: |
UC-1 |
Use Case Name: |
User Validation |
Actors: |
User, ATM System, Bank |
Description: |
This use case depicts the process of user or card validation when a user accesses an ATM system for performing transactions. In this use case a User visits the ATM system and inserts the card into ATM then the user is requested to input PIN. After entering PIN, the ATM checks for validity of the PIN and if it is entered correctly then Menu options screen is displayed through which a user can perform the required transactions. In case the PIN or Card is invalid then the ATM system returns card and rejects the transaction by displaying message on the screen. |
Preconditions: |
1. ATM is in operation mode 2. User has inserted card into the system |
Postconditions: |
1. User has inserted valid card into the system 2. User has entered valid PIN in the system |
Priority: |
High |
Frequency of Use: |
Regular |
Normal Course of Events: |
· Card is inserted by user into ATM · ATM validates the card · ATM requests for PIN from user · User enters PIN into ATM · ATM checks for validation of PIN · Correct PIN displays Menu Options Screen |
Alternative Courses: |
· Card inserted by user is not valid · Invalid PIN entered into the system |
Exceptions: |
ATM is unable to recognize inserted card |
Includes: |
ATM system takes conformation from bank database and confirms validation of card and PIN |
Special Requirements: |
Invalid PIN is entered no more than 3 times |
Assumptions: |
User must have a valid card and valid PIN |
Notes and Issues: |
User inserts invalid or expired card and wrong PIN is entered more than 3 times leads to blocking of card |
Use case specification
Use Case ID: |
UC-2 |
Use Case Name: |
Withdraw Cash |
Actors: |
User, ATM System, Bank |
Description: |
This use case depicts the process of cash withdrawal that is being followed by the user and system when a user accesses an ATM system for withdrawing cash. In this use case a User visits the ATM system and inserts the card into ATM then the user is requested to input PIN. After entering PIN, the ATM checks for validity of the PIN and if it is entered correctly then Menu options screen is displayed through which a user can select option for cash withdrawal. Then the ATM system requests for amount to be dispensed from the user account. The system then checks for User account balance and ATM cash. If both are valid then cash is dispensed and user account is debited. In case the amount requested is not in the ATM or user account balance then the transaction is rejected and the user is informed about the reason on display screen. |
Preconditions: |
1. User account balance has the requested amount 2. ATM has sufficient funds as per the requested amount by user |
Postconditions: |
1. The user has received the requested amount 2. Amount is debited from account balance of the user |
Priority: |
High |
Frequency of Use: |
Regular |
Normal Course of Events: |
· User inserts card into ATM · User enters PIN and ATM validates card · ATM displays Menu Screen · User selects option for cash withdrawal · ATM requests to input amount from user · User enters amount for withdrawal · ATM dispenses cash and connects to bank database · Bank database updates user account balance · ATM generates receipt · User receives cash and receipt with notification |
Alternative Courses: |
· Requested withdrawal amount is not available in ATM · Requested withdrawal amount is not available in User account balance |
Exceptions: |
ATM is unable to dispense the requested cash amount but user account is debited |
Includes: |
Requested withdrawal amount is checked in user account balance as well as ATM before notification to user |
Special Requirements: |
Checking availability of funds in user account as well as ATM |
Assumptions: |
There is sufficient funds in the user bank account and ATM |
Notes and Issues: |
Cash is not dispensed from the ATM but user bank account is debited with the requested amount for withdrawal |
Use case specification
Use Case ID: |
UC-3 |
Use Case Name: |
Deposit Cash |
Actors: |
User, ATM System, Bank |
Description: |
This use case depicts the process of cash deposit that is being followed during interaction between the user and system when a user accesses an ATM system for depositing cash. In this use case a User visits the ATM system and inserts the card into ATM then the user is requested to input PIN. After entering PIN, the ATM checks for validity of the PIN and if it is entered correctly then Menu options screen is displayed through which a user can select option for cash deposit. Then the ATM system requests for amount to be deposited to the user account. The system then checks for validity of user account and requests to input amount to be deposited. If both are valid then ATM requests to insert cash and then ATM updates bank database with input amount. The deposited amount is then confirmed by the bank database and confirmation is sent to ATM system. The ATM then displays amount is credited and the updated account balance. The user receives notification about amount credited into bank account. In case the user account is not valid or the cash deposited is not equivalent to the input amount then the transaction is rejected and the user is informed about the reason on display screen. |
Preconditions: |
1. User card is valid and associated with valid bank account 2. ATM is operational to accept cash and deposit the amount in user account |
Postconditions: |
1. User bank account is updated with deposited amount 2. Receipt is generated against the deposited amount |
Priority: |
Medium |
Frequency of Use: |
Sometimes |
Normal Course of Events: |
· User inserts card into ATM · User enters PIN and ATM validates card · ATM displays Menu Screen · User selects option for cash deposit · ATM requests to input amount from user · User enters amount for deposit · ATM requests cash · User inserts cash · ATM validates amount and updates bank database · User account in credited with deposited amount · ATM generates receipt · User receives notification |
Alternative Courses: |
· User account is not valid · Cash deposited is not equivalent to input amount |
Exceptions: |
ATM is unable to receive cash |
Includes: |
Requested deposit amount is checked in user account balance as well as ATM before notification to user |
Special Requirements: |
Proper denomination of notes and valid amount is inserted into the ATM |
Assumptions: |
Valid notes and exact amount is inserted into the ATM |
Notes and Issues: |
Amount inserted is accepted by the ATM but user account balance is not updated |
The above diagram illustrates the sequence that is being followed when a user accesses an ATM system for performing transactions. In this process, a User visits the ATM system and inserts the card into ATM then the user is requested to input PIN. After entering PIN, the ATM checks for validity of the PIN and if it is entered correctly then Menu Screen is displayed through which a user can perform the required transactions. In case the Card is invalid then the ATM system returns card and rejects the transaction by displaying message on the screen.
The above diagram illustrates the sequence of cash withdrawal from ATM that is being followed by the user and system when a user accesses an ATM system for withdrawing cash. In this process, a User visits the ATM system and inserts the card into ATM then the user is requested to input PIN. After entering PIN, the ATM checks for validity of the PIN and if it is entered correctly then Menu options screen is displayed through which a user can select option for cash withdrawal. Then the ATM system requests for amount to be dispensed from the user account. The system then checks for User account balance and ATM cash. If both are valid then cash is dispensed and user account is debited. In case the amount requested is not in the ATM or user account balance then the transaction is rejected and the user is informed about the reason on display screen.
The above diagram illustrates the sequence of cash deposit through ATM that is being followed during interaction between the user and system when a user accesses an ATM system for depositing cash. In this use case a User visits the ATM system and inserts the card into ATM then the user is requested to input PIN. After entering PIN, the ATM checks for validity of the PIN and if it is entered correctly then Menu options screen is displayed through which a user can select option for cash deposit. Then the ATM system requests for amount to be deposited to the user account. The system then checks for validity of user account and requests to input amount to be deposited. If both are valid then ATM requests to insert cash and then ATM updates bank database with input amount. The deposited amount is then confirmed by the bank database and confirmation is sent to ATM system. The ATM then displays amount is credited and the updated account balance. The user receives notification about amount credited into bank account. In case the user account is not valid or the cash deposited is not equivalent to the input amount then the transaction is rejected and the user is informed about the reason on display screen.
Buede, D. M., & Miller, W. D. (2016). The engineering design of systems: models and methods. John Wiley & Sons.
Jena, A. K., Swain, S. K., & Mohapatra, D. P. (2015). Test case creation from UML sequence diagram: a soft computing approach. In Intelligent Computing, Communication and Devices (pp. 117-126). Springer, New Delhi.
Viswanathan, S. E., & Samuel, P. (2016). Automatic code generation using unified modeling language activity and sequence models. IET Software, 10(6), 164-172.
Felderer, M., & Herrmann, A. (2015). Manual test case derivation from UML activity diagrams and state machines: A controlled experiment. Information and Software Technology, 61, 1-15.
Rahman, N. S. Z. A., Jawawi, D. N. A., Ahmad, N. A., & Abdullah, R. (2017). SELECTING UML MODELS FOR GENERATION OF TEST CASES: AN EXPERIMENTS OF TECHNIQUE TO GENERATE TEST CASES. International Journal of Software Engineering and Technology, 3(1).
Bhuyan, P., Ray, A., & Das, M. (2017). Test Scenario Prioritization Using UML Use Case and Activity Diagram. In Computational Intelligence in Data Mining (pp. 499-512). Springer, Singapore.
Elghondakly, R., Moussa, S., & Badr, N. (2016). An optimized approach for automated test case generation and validation for UML diagrams. Asian J Inf Technol, 15(21), 4276-4290.
Oluwagbemi, O., & Asmuni, H. (2015). An Approach for Automatic Generation of Test Cases from UML Diagrams. International Journal of Software Engineering and Its Applications, 9(8), 87-106.
Jena, A. K., Swain, S. K., & Mohapatra, D. P. (2014, February). A novel approach for test case generation from UML activity diagram. In Issues and challenges in intelligent computing techniques (ICICT), 2014 international conference on (pp. 621-629). IEEE.
Thakur, J. S., & Gupta, A. (2014, February). Automatic generation of sequence diagram from use case specification. In Proceedings of the 7th India Software Engineering Conference (p. 20). ACM.
Muram, F. U., Tran, H., & Zdun, U. (2016, December). A model checking based approach for containment checking of uml sequence diagrams. In Software Engineering Conference (APSEC), 2016 23rd Asia-Pacific (pp. 73-80). IEEE.
Mithun, M., & Jayaraman, S. (2017, September). Comparison of sequence diagram from execution against design-time state specification. In Advances in Computing, Communications and Informatics (ICACCI), 2017 International Conference on (pp. 1387-1392). IEEE.