1. Identify and briefly describe the main functional and non-functional requirements for the major systems areas of the case study.
2. Draw a use case model for the information system. Write brief Use Case description for each Use Case in the diagram. Write one fully developed Use Case description for one of the important Use Cases identified. Select an important Use Case that is key part of the system, not a basic simple Use Case.
3. Draw a UML domain model class diagram for all systems in your chosen case study. Be as specific and accurate as possible, given the information provided. If needed information is not given, make realistic assumptions.
4. For each of the five design activity of SDLC, list and briefly describe some specific tasks required for each design activities (i.e., describing the environment, designing application components, user interfaces, the database, and software methods.
The Collin Bank wants to make its bank services an automatic service for providing good service to their customers. The customers of the Collin’s Bank faces difficulties to reach the bank for do their simple transaction (Bahill & Madni, 2017). To mitigate the problem of bank rush, the bank wants to develop an ATM system that is helpful to both, the customers and the employees involved with the bank system. The employees can avoid the number of customers visiting the bank with simple work that can be done by them if ATM service is provided to them.
This report will deal with all details that are needed to built the ATM system of Collin’s Bank. The ATM system proposed by the Collin’s has functional, non-functional requirements, which helps in implementing the system. There are many strategies carried out before building software or an online system. The online system of ATM will be connected to a database that will be updated as soon as the user does a transaction. The system design required and the processes that can be assumed to be carried out with the ATM system will be shown in this report in the form of use case diagram. The actors who are involved with the ATM system and the activities that the actors will carry out in the system will be clearly shown in the use case diagram. There will be a UML diagram in this report, which will show the possible functions carried out by each activities and the System Development Life Cycle related to the ATM will be described in this report.
Functional/ Non-Functional Requirements
To build a system, the requirements that are needed to complete the system are known as the functional/non-functional requirements of the system. There are many requirements that can be categorized as the functional requirement of the system and non-functional requirement of the system. All such requirements are described in the section below:
Functional Requirements of the system are those that includes all the features that an ATM system can have to carry out the processes of Collin’s ATM (Gardi et al., 2015). The processes that the customers, technicians, and the bank employees will carry out are the functional requirements of the ATM system. Processes associated with the system of Collin’s ATM are known as the functional requirement (Raj & Julian, 2015). The functions or the activities performed while a transaction is processing or after establishing an ATM system come under the functional requirement of the system. The functional requirements are as follows:
- When no transaction is carried out with the system, then the system is in an idle state. The idle state is also known as a function and is categorized as a functional requirement of the system (Hossian, Nawaz & Grihan, 2013).
- For processing a transaction, the user or the customer has to insert the ATM card in the ATM machine.
- The detection of the ATN card is a functional requirement of the system.
- If the card is detected successfully, the system asks for the four-digit pin code from the user.
- The transaction goes on further if and only if the pin entered is correct. If the pin is wrongly entered, the transaction gets failed instantly.
- After successful verifying the pin, many options prompts on the ATM screen showing cash withdrawal, balance enquiry, cash deposit, account update, pin changing, and request for mini-statement.
- There is a section on the ATM machine known as the card dispenser, which provides cash to the customers, and collects cash for depositing money to the customer’s account.
- There is a printer on the system that will give a printed version of the transaction that took place (Duvey, Goyal & Hemrajani, 2013). The printer prints the details only if the user wants to print their transaction.
- The card gets automatically ejected or transaction gets completed after collection of cash. If the user wants to continue with the transaction, then the user will have to input the card again.
- The technicians have to keep a look on the amount of ink and paper in the paper.
- Cash dispenser that deals with cash is to be aware of the amount of cash that is processed.
- There is an option for paying the bill in the system that gives the update if the bill payment is successful or not (Gaspar et al., 2016).
- There is a keypad on the system for entering the secret pin. There are many options on the keypad such as CANCEL, EXIT to stop the transaction.
Non-functional requirement of ATM system deals with the properties connected with the system. The characteristics that the ATM system processes for making the system attractive, usable and reliable are non-functional requirements of ATM system (Patoliya & Desai, 2017). The type of work that is performed by the system is categorized as non-functional requirement of the system. Non-functional requirements that are associated with the ATM system are discussed below:
- The machine of ATM transaction consists of a printer, card dispenser form where the cash is collected or is deposited, an envelope slot, keypad and keys, display, and start or stop switch.
- The number on the keypad must be working that shows number from 0 to number 9. There are more keys preset along with the keypad showing OKAY, EXIT, CLEAR, and CANCEL button that performs different functions.
- The pin that is given by the customer or the user is the non-functional requirement of the system (Risodkar et al., 2017).
- The maximum time the customer can try the pin is three times. Even on the third trial, the customer is not able to put the valid pin, then the cards will be blocked.
- Security comes under the non-functional requirement of the system. If the system is not secured, then the system is not maintaining its non-functional requirements.
- The ATM machine of the Collin’s Bank must have a start/stop button so that the system can be started or can be stopped at the time needed (Prasanthi et al., 2014).
- There is an envelope drawer in system that is to be refilled by the maintenance team of the system.
- The maintenance team should also look at the printer ink and refill it when needed.
Use Case Diagram of the ATM System
Figure1: Use Case Diagram
(Source: Created by Author)
Use Case Name
Online ATM System
There is an on/off switch on the ATM machine that is used as a trigger to start the machine or stop the machine (Kim, Jeong & Park, 2016). When the technicians updates the system, puts cash in the system or any other work, the machine has to be in an ideal position to carry out the processes. Trigger is used to start the ATM machine if it is in an ideal state.
The Collin’s bank has decided to serve their customers with all the services of ATM. The use case above shows all the possible functions that are assumed to be while doing a transaction. There are functions that include transferring of cash, checking the balance and many more. There are actors involved with the system who directly are connected with the system.
Customer and Technicians
Related Use Case
Invoked from other ATM use case
In the pre-conditions of the ATM system, the ATM system should be in a working state. All the functions that are involved with the system should be working and the work done is to be exact and proper (Okokpujie et al., 2016). In pre-condition, the technicians or the person who maintains the system should be careful about availability of cash in the system and availability of printer and ink in the system.
In the post-condition, the user must be aware of the fact that the cash is collected from the cash dispenser. The card is to be collected from the card reader after the completion of the transaction. The receipt that is generated by the printer is to be collected by the user. The receipt is only generated if the user demands for it.
Flow of Activities
The transaction details are not valid.
UML Diagram of the ATM System
Figure 2: Class Diagram of ATM System
(Source: Created by Author)
System Development Life Cycle
SDLC is a model of system development that deals with all processes involved with the ATM system (Buede & Miller, 2016). The activities that are carried out in the system can be organized with the System Development Life Cycle method. SDLC deals with detailed procedures that are involved while developing the system. Many procedures are involved for developing a system. All the procedures are organized with System Development Life Cycle. There are main five activities in developing the software. The activities that are involved are making plans for the development, testing the software partially, deploying the software, implementation of the software and finally maintaining the software throughout its life cycle.
Planning: Planning of developing the software should be done at the preliminary stage. The procedures that are involved in developing the system of the ATM is all set in the planning phase. The planning phase involves gathering of information about what is to be done in the system, all the requirements that are needed to built and implement of the system, analyze the system, and develop all the processes of development connected with the system.
Development: In development cycle of the SDLC method, the developments of all processes are to be done by the system developers (Ahmad, Rifen & Wahab, 2016). The system developers develop the system according to the requirement of the client. As in the planning phase, all the requirements of the system are gathered, so with all the gathered information from the client, the system is to be developed accordingly.
Testing: Testing involves testing the software partially when a part of the system is completed partially. Testing basically comes after the development phase. After the developers develop a part of a system, the system is checked and tested partially. If the system is tested after it is fully developed, then there can be many issues that will lead to rebuild the system from beginning.
Implementation: The implementation is done after testing of all the parts are done properly (Garc?a et al., 2015). The implementation is done with the clients concerned. The client need to check the system first, and then give approval for implanting it.
Maintenance: Maintenance is a long phase that the System Development Life Cycle involves. The system is to be maintained lifelong and all the maintenance procedures are to be satisfied and followed in the maintenance phase. Other four activities that are involved with the SDLC method have fixed time for completing the task. However, the maintenance procedure goes until the system is in process.
The environment for building up the system is the planning stage. The planning stage and the design state are both involved in the SDLC method of software development. The analysis of software is done through the planning process. Many methods of software development are involved in the environment of the software.
The components of the application software includes all the card reader, a key-switch, and all the components that are needed to design an ATM system. There is also a keypad attached with the ATM system that helps to build the system.User Interface:
There should be proper user interface in between the machine and the human. The interaction that is done between the user and the ATM machine is known as the human computer interaction. For successfully establishing a transaction, the interaction should be clear in between the system as well as the user.
A database is connected to the ATM system of the Collin’s Bank. The database of ATM system is connected with the database of the bank so that when a transaction takes place, the database of the bank is updated with the current transaction.
The software methods that are followed by different banks are different from each other. The resources and the software methods that are used by Collin’s bank are different from other banks. The data base that Collin’s bank use for storing the data in their system is Oracle 3.0.
The ATM service that Collin’s is planning is to implement can help the customers to do the transactions that includes withdrawing cash from their own account, depositing cash in their account, and many other services such as bill payment, checking their account balance, changing their ATM card pin if needed. The ATM machine that Collin’s is planning to built can update even the cheques of the customers.
The above report deals with the ATM system of the Collin’s Bank. Collin’s Bank wants to serve their customers with all those services that an ATM system can provide. To establish an ATM system, the system developers need to know may things related to the ATM system. This report deals with all the functional/non-functional requirements that are needed to implement an AT system. A use case diagram and a class diagram of a ATM system is done as well that shows all the details of the ATM system in details. The SDLC model of developing a software is also described that is related with the ATM system.
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 systems. 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.