Automated Teller Machine: Design, Functional & Non-Functional Requirements

Functional Requirements of an ATM System

Discuss about the Security Enhancement of ATM System.

Save Time On Research and Writing
Hire a Pro to Write You a 100% Plagiarism-Free Paper.
Get My Paper

The main work of the Automated Teller Machine is to help the clients enabling them to access their own bank account without visiting the bank. With online concepts, the development of the application is possible (Ahmad, Rifen & Wahab, 2016). After implementing the ATM system, the user can use the service of the ATM system and can view all the information regarding their bank details. The ATM system also provides services such as requesting for cheques, depositing cash, and all other advanced tasks that the user wants to proceed with the ATM system. The data in the ATM is stored in the database and can be retrieved when needed. The implementation of the ATM needs hardware so that they may operate on the system.

In this report, the details of ATM machine are discussed in detailed. The ATM machine has many functional requirements and non-functional requirements that are needed to built up an ATM system. The case study involved with this report is the ATM system of the Collin’s Bank. A use case diagram showing the system of the ATM is detailed in this report, along with a UML class diagram of the system. These diagrams show all the tasks and processes that are included in the ATM system. In order to develop the software of SDLC, a developer has to go through different processes involved in the life cycle of the development. All those processes are described in this report showing all the design activities including environment, designing application components, user interfaces, the database, and software methods.

The functional requirement of an ATM system includes all the features that the ATM system performs. The functional requirement includes all the processes that the system of ATM carries out so that they can satisfy fundamental reason for their existence. All the actions process that an ATM system includes is involved as the functional requirement of the system (Bahill & Madni, 2017). The ATM system performs many functional processes while carrying out a transaction with the user. The functional requirement of the proposed ATM system includes the following.

  • When the user inserts the ATM card, the card reader detects the ATM card of the user.
  • The ATM system can remain in an idle state, which is also considered to as a function of the system.
  • The system asks for the ATM pin after successful insertion of the card in the card reader. The user with the help of keypad inputs the ATM pin.
  • The screen of the ATM shows many options to the user from where the user can choose from the menu. The options that are present in the options are withdrawal, bill payment, account update, cash deposit, mini-statement, and balance enquiry (Buede & Miller, 2016).
  • The ATM system has a cash dispenser that can collect cash, gives cash to the users.
  • The ATM system has a function to print the account details of the customer for which there is printer present in the system of ATM. The user can get a printing receipt from the ATM system if the user wants to.
  • After the transaction is completed, the user can eject the card. The user can also continue with the card for another transaction.
  • An envelope feeder is there also present on the system of ATM so that the customer can take the envelopes.
  • For printing the receipts, there has to be enough amount of ink in the printer machine of the ATM machine.
  • The ATM can be in an idle state.
  • The cash dispenser of the machine should know about the cash that is delivered to the user.
  • The machine has the capability to show the user the number of bills that are to be paid or that has been paid by the customer.
  • The machine of ATM has a keypad that helps the user to give input to the system.
  • The envelop drawer that is present in the system is to be kept aware by the system.
  • The bank card of the user or customer can be withheld by ATM system.
  • There are many buttons along the side of the keypad so that the customer can select options from there. There is a cancel button that helps to cancel the whole transaction.

The non-functional requirements of an ATM system are basically the properties that the ATM system must have (Duvey, Goyal & Hemrajani, 2013). The qualities or the characteristics that the ATM system processes to make the system usable, attractive, reliable, and fast are the non-functional requirements. The non-functional requirements in a system describe character of work the system does. The functionality of the product remains same with the nonfunctional requirement. The non-functional requirements that are included in the ATM system are as follows.

Save Time On Research and Writing
Hire a Pro to Write You a 100% Plagiarism-Free Paper.
Get My Paper
  • The non-functional requirement of the ATM system includes the display, envelop drawer, printer, keypad, slot, card dispenser, printer and a envelop slot. An ATM system should have all these systems present in it.
  • The keypad on the machine should have ten buttons depicting numbers from 0 to 9. More buttons are also present on the keypad such as CLEAR button, OKAY button, EXIT button, CANCEL button (García et al., 2015). All the buttons performs different functions.
  • Non-Functional requirement of an ATM system consists of the pin that customer inputs to the system.
  • If the customer forgets the pin or cannot input the pin properly, there is a maximum of three chances that the customers can input the pin. After wrong input, the card gets blocked (Gardi et al., 2015).
  • Security is also available with ATM system.
  • ATM system should have a start button and the stop button to put the machine in working state. The start/stop button falls under the non-functional requirement of the ATM system.
  • An envelope drawer has to be refilled by the person who maintains the system.
  • To put cash in the envelop feeder, the envelop feeder has to be removed.
  • The cash has to be refilled in the cash dispenser so that the user can do their transaction successfully.
  • The printer is to be refilled in the system as well.

Non-Functional Requirements of an ATM System

The case that is given in this report is the ATM system of the Collin’s Bank that ahs to perform the online transaction for its entire customer. The above diagram shows the use case diagram for the process of depositing money in the ATM system. The ATM system has the capability to withdraw cash, deposit money, transfer funds, check balance, and can change pin on request.

The actors who are involved in the ATM system are the customers, and the technicians. The customers from the bank can avail the system of the ATM.

A system can take only one card as an input at a time, and only one transaction is possible at a time with the machine (Gaspar et al., 2016). The user can input the password for only one card.

The preconditions that are to be satisfied with the Collin’s Bank account are that the system should be in a working state.

After the transaction is completed successfully, a receipt is generated if the user wants to take a printed slip from the system. A transaction details receipt is to be received from the ATM machine for the transaction that is done.

The Software Development Life Cycle is structure or a framework that helps the tasks to be done properly and carry out all the procedures that are involved in developing the software. The procedures are to be detailed in the SDLC software development procedure (Hossian, Nawaz & Grihan 2013). There are different types of procedures that are involved while developing software. SDLC involves all such activities. Five activities that are involved in the development Life Cycle of the Software are the planning stage, testing stage, deployment stage, implementation and maintenance

Planning: The preliminary work of developing software is done in the planning stage. All the procedures that are to be followed for the development process is done in planning (Kim, Jeong & Park, 2016). The information is gathered, requirement and analysis is done, and development process is involved in the software.

Testing: In testing phase, the testing is done after development of the software. When the system is being built, the testing is made partially to avoid any kind of problem afterwards.

Development: When the client approves the software, then only the deployment process is done (Okokpujie et al., 2016). The software deployment is done after the software is designed and is completed.

Implementation: The software is being implemented after all the process is being completed. All the procedures for building up the software system are to be followed for implementing the software.

Use Case Diagram of the Collin’s Bank ATM System

Maintenance: For maintaining the software that is made, proper maintenance process is to be maintained (Patoliya & Desai, 2017). The maintenance procedure is very much time taking, and the software or the system is to be maintained throughout the life of the system. All other activities in the SDLC method generally last for a fixed period of time,  but the maintenance activity is to be maintained for lifelong of the software.

The environment that is to be followed while designing the software is the design state as well as planning stage. Both the design state and planning stage are involved in System Development Life Cycle (Prasanthi et al., 2014). The software analysis is done through the planning process. For the transaction to be carried out properly there should be suitable environment in the SDLC model of software development. Many processes are carried out in the SDLC model of the software development. Other than the SDLC model, there is also another model known as Integrated Development Environment. Different processes are being carried out with the IDE model of system development.

There are many components involved in the development of the system. The designing components help to establish a successful communication in between the system software and the user who is using the software. There is a key-switch in the ATM that is used to make the ATM machine turn on and turn off (Raj & Julian, 2015). The card reader also falls under the component of software application, which takes the card as an input in the system. The keypad helps to input any number or functions that are present with the system.

There should be a proper user interface between the ATM system and the user who is using the system so that the transaction is successfully carried out. The keypad helps to establish a conversation in between machine and the user. This interaction is called Human Computer Interaction.

The ATM system has a database connected with them. The transaction that is done with the ATM is being noted in the database and the same database is forwarded to the database of the bank (Risodkar et al., 2017). The bank’s database and the ATM’s database is connected with each other. All gets updated as soon as a transaction takes place.

Different banks follow different software for the transaction. The software that is used for carrying out the transaction process has different kinds of resources involved in it. The database of the software that is to be used is Oracle for storing all the information.

Software Development Life Cycle

References

Ahmad, N., Rifen, A. A. M., & Wahab, M. H. A. (2016, November). AES Cardless Automatic Teller Machine (ATM) Biometric Security System Design Using FPGA Implementation. In IOP Conference Series: Materials Science and Engineering (Vol. 160, No. 1, p. 012113). IOP Publishing.

Bahill, A. T., & Madni, A. M. (2017). Discovering system requirements. In Tradeoff Decisions in System Design (pp. 373-457). Springer, Cham.

Buede, D. M., & Miller, W. D. (2016). The engineering design of systems: models and methods. John Wiley & Sons.

Duvey, A. A., Goyal, D., &Hemrajani, D. N. (2013). A reliable ATM protocol and comparative analysis on various parameters with other ATM protocols. International Journal of Communication and Computer Technologies, 1(56), 192-197.

García, D. V., Otte, A., Willemsen, A. T., Dierckx, R. A., Doorduin, J., & Holstege, G. (2015). Altered Regional Cerebral Blood Flow in Chronic Whiplash Associated Disorder. PET Imaging of Mild Traumatic Brain Injury and Whiplash Associated Disorder, 149.

Gardi, A., Sabatini, R., Ramasamy, S., & Marino, M. (2015). Automated ATM system for 4-dimensional trajectory based operations. In AIAC16: 16th Australian International Aerospace Congress (p. 190). Engineers Australia.

Gaspar, A., Bari, A. G., Kumar, A. N., Bucci, A., Wiegand, R. P., & Albert, J. L. (2016, November). Evolutionary Practice Problems Generation: Design Guidelines. In Tools with Artificial Intelligence (ICTAI), 2016 IEEE 28th International Conference on (pp. 544-548). IEEE.

Hossian, F. S., Nawaz, A., &Grihan, K. (2013). Biometric authentication scheme for ATM banking system using energy efficient AES processor. International Journal of Information and Computer Science, 2(4), 57-63.

Kim, Y. H., Jeong, B. Y., & Park, M. H. (2016). Universal User Interface Design of ATM Touch Screen Based on the Reaction Time. Journal of the Ergonomics Society of Korea, 35(5).

Okokpujie, K., Olajide, F., John, S., & Kennedy, C. G. (2016, January). Implementation of the enhanced fingerprint authentication in the ATM system using ATmega128. In Proceedings of the International Conference on Security and Management (SAM) (p. 258). The Steering Committee of The World Congress in Computer Science, Computer Engineering and Applied Computing (WorldComp).

Patoliya, J. J., & Desai, M. M. (2017, April). Face detection based ATM security system using embedded Linux platform. In Convergence in Technology (I2CT), 2017 2nd International Conference for (pp. 74-78). IEEE.

Prasanthi, B. V., Jyothi, U. P., Sridevi, B., & Krishna, T. V. (2014). Security Enhancement of ATM System with Fingerprint and DNA Data. International Journal of Advanced Research in Computer Science and Software Engineering.

Raj, M. M. E., & Julian, A. (2015, March). Design and implementation of anti-theft ATM machine using embedded management. In Circuit, Power and Computing Technologies (ICCPCT), 2015 International Conference on (pp. 1-5). IEEE.

Risodkar, Y. R., Pawar, A. B., Chavanke, S. N., & Pawar, A. S. (2017). ATM Authentication with Enhance Security Using GSM. Journal of Science and Technology (JST), 2(5), 01-05.