0% found this document useful (0 votes)
89 views89 pages

Ashwin Atm

Project for the mca students using the java and html CSS programming languages and vs studio

Uploaded by

raviearnerloot
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF or read online on Scribd
0% found this document useful (0 votes)
89 views89 pages

Ashwin Atm

Project for the mca students using the java and html CSS programming languages and vs studio

Uploaded by

raviearnerloot
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF or read online on Scribd
© JAIN ONLINE DEPARTMENT OF MASTER OF COMPUTER APPLICATIONS Project Report On ATM SIMULATOR SYSTEM MCA Academic Project By ASHWIN KUMAR VL USN 222MVMTROO144- Under the Guidance of Dr. KAVITHA R.G Professor Department of Master of Computer Applications Bengaluru DEPARTMENT OF MASTER OF COMPUTER APPLICATIONS © JAIN MN DEEMED-TO-BE UNIVERSITY CERTIFICATE This is to certify that the project entitled “ATM SIMULATOR SYSTEM" submitted in partial fulfillment of Minor Project (20MCA36) of Ill Semester MCA is a result of the bonafide work carried out by ASHWIN KUMAR V L (USN-222VMTROO144) Dr. KAVITHAR.G Professor Department of Mc! DEPARTMENT OF MASTER OF COMPUTER APPLICATIONS DECLARATION IMyself ASHWIN KUMAR V.L (222VMTROO144) of 4" Semester MCA hereby declare that the Minor Projecttitled "ATM SIMULATOR SYSTEM" has been carried out and completed successfully by us and is our original work Date of Submission:Signature of the Student ASHWIN KUMAR V.L. USN: 222VMTROO144 ACKNOWLEDGEMENT This Project report was completed as @ result of support from many people, although not all of them can be mentioned. We wish to express our sincere gratitude to God for his protection, providence, guidance and above all, for sustaining us. Our heart full thanks to Principal for giving us the accessory environment to acquire knowledge and skill. Our sincere and warmest thanks Director for her valuable and inspiring guidance and encouragement given throughout the period of this project. We ate greatly indebted to our good guide Dr. Kavitha RG for her useful and necessary observation, suggestions, contribution, and corrections. We would not have been able to achieve anything in this research without your supervision. May God enrich you greatly in every area of life. Finally, we wish to express our appreciation to our parents for their love and support. ASHWIN KUMAR V.L (222vMTR00144) ABSTRACT The ‘ATM Simulator System’ project is a model Intemet Banking St. This site enables the customers to perform the basic banking transactions by sitting at their office or at homes through PC or laptop. The system provides the access to the customer to create an account, deposit/ withdraw the cash from his account, alsoto view reports of all accounts present. The customers can access the banks website for viewing their Account details and perform the transactions on account as per their requirements. With Internet Banking, the brick-and-mortar structure of the traditional banking gets converted into a click and portal model, thereby giving a concept of virtual banking a real shape. To develop a project for solving financial applications of a customer in banking environment to nurture the needs of an end banking user by providing various ways to perform banking tasks. Also, to enable the user's workspace to have additional functionalities which are not provided under a conventional banking project. This project has been developed tocarry out the processes easily and quickly, which is not possiblewith the manuals systems, which are overcome by this software. Itis @ Java application in which Eclipse will be used as an IDE Java will be used for the coding purpose and Java Swings for the user interface design. The database connectivity will be done using MySQL Database. It will mainly contain three modules: Customer Authentication, Customer Registration, Functions of ATM. The User will be able to access and modify all the aspects of the application The outcome of the project will be a Java application which will enable the user can access their account and can deposit withdraw money from their account. And also, able to create an account with valid user credentials. User can see their transaction report and balance enquiry too. Table of Contents Conten Page ts No College Certificate Undertaking by student ‘Acknowledgement Abstract Table of Contents List of Figures List of Tables @|NJo}a] afeofe] = Chapter 1: Introduction 11 Project Description Chapter 2: Literature Review 10 2.1 Literature Survey 2.2 Existing end Proposed System 2.3 Tools and Technologies used 2.4Hardware and Software Requirements Chapter 3: Software Requirement Specifications 18 3.1 Introduction 3.2 General Description 3.3 Functional Requirement 3.4 Non-Functional Requirements Chapter 4: System Design 23 System Perspective /Architectural Design 4.2 Context Diagram Chapter 5: Detailed Design 25 5.1 System Design 5.2 Detailed design Chapter 6 Implementation 32 6.1 Code Snippets / PDL 6.2 Implementation Chapter 7: Software Testing 70 7.1 Test cases 7.2 Testing and Validations Chapter 8: Conclusion 80 Bibliography 82 5/83 List of Figures Figure Figure Page No Label No 21 Waterfall Diagram 15 4) Architecture Diagram 23 5.1 Class Diagram 25 52 use case diagram 26 53 ‘Sequence Diagram 27 54 Activity diagram 28 55 Data Flow Diagram (Level-0) 29 56 Data Flow Diagram (Level-1) 30 5.7 ER Diagram 31 6.1 UI of Customer Authentication 66 6.2 UI of Customer Account Registration 67 6.3 UI of Customer Account Details 68 6.4 Ul of Customer Transactions 69 7A Authenticating with valid credential 14 7.2 Authenticating with invalid credential 74 73 Registration with valid credentials 75 74 Registration with invalid credentials 75 75 Getting card and pin number 76 76 Transaction of Depositing amount 76 77 ‘Transactions of Withdrawal amount a7 78 Transactions of fast cash withdrawal V7 amount 79 Transactions of mini 78 statement transactions 7.10 Transactions of pin change 78 7 Transactions of checking balance 79 List of Tables Table Figure Page No Label No 71 ‘Test Case table of Customer Authentication 70 72 Test Case table of Customer 71 Account Registration 73 Test Case table of Customer Account 72. Details 74 ‘Test Case table of Customer Transactions 73 Chapter 1 Introduction 1.1-Project Description: ATMs or Automated Teller machines are something that everybody is aware of these days. ATMs are useful equipment that we all use to get cash from banks. They save us from waiting in long queues in banks for withdrawing cash from our bank accounts The Traditional way of maintaining details of a user in a bank was to enter the detalls and record them. Every time the user needs to perform some transactions he has to go to bank and perform the necessary actions, which may not be so feasible all the time. It may bea hard-hitting task for the users and the bankers too. System project captures activities performed by different roles in real life banking which provides enhanced techniques for maintaining the required information up to date, which results in efficiency. ATM Simulator System enables the clients or customer of a bank to have access to their account without going to the bank. This is achieved only by development the applicationusing online concepts. When the product is implemented, the user who uses this product will be able to see all the information and services provided by the ATM, when he/she enters the necessary option and arguments. The product also provides services like creation of account, request for cheques, deposit cash and other advanced requirement of the user. The data is stored in the database and is retrieved whenever necessary. The implementation needs ATM machine hardware tooperate, or similar simulated conditions can also be used to successfully use the developed product. To develop this ATM system the entire operation has been divided into the following step: 1.Ci{stomer authentication or account creation 2.lafhguage, service, and account selection 3.8 era services 4.Tihnsactions 5.5| ecial services Main Goal 1. Motto- Our motto is to develop a software program for managing the entire bank process related to Administration accounts customer accounts and to keep every ‘track about the'r property and their various transaction processes efficiently. Hereby, our main objective is the customer's satisfaction considering today's faster in the world 2. Customer Satisfaction: Client can do his operations comfortably without any risk or losing of his privacy. Our software will perform and fulfill all the tasks that any customerwould desire. 3. Saving Customer Time: Client doesn't need to go to the bank to do small operation 4, Protecting the Customer:|t helps the customer to be satisfied and comfortable in his choices, this protection contains customer's account, money, and his privacy. Customer has a card number and a Personal Identification Number (PIN). Both must be typed into the simulation to gain access to the accounts or Customer can create account by valid credential information. Then the customer can deposit and withdraw money and the balance will be updated accordingly. The application terminates when the user selects exit rather than an account. Since this is a simulation, the ATM does not actually communicate with the bank. It simply loads a list of customer numbers and PINs froma data file. This data file is maintained extemally to this application. This application should interact with the user via a simple Swing GUL Chapter 2 Literature Review 2.1-Literature Survey This section depicts the current innovation and the accepted procedures previously being consolidated in different journals and papers connected with the subject of ATM website. The endeavor is like wise to give a concise introduction on advancements in technology being utilized. The first and significant distribution connected with the chosen project is created by Kamonwan Taohai, Suphakant Phimoltares, Nagul Cooharojananone. The paper “Usability Comparisons of Seven Main Functions for Automated Teller Machine (ATM) Banking Service of Five Banks in Thailand”. Proposed in the 2010 International Conferenceon Computational Science and Its Applications conference. The objective of this research was to compare the seven main functions of ATM banking services The services available at each bank are increasing to assist users, and these services include internet payment, barcode payment, education service and loan payments. This making our project to do many services with functionalities. The following paper is composed by Ismaila W. Oladimeji, Omidiora E. Olusayo, Ismaila Folasade M, Olajide A. Taiwo. The paper “Multi-Level Access Control System in Automated Teller Machines" was for customers, without a teller, to pay utility bills and get a receipt. Andit is published in the 2021 as Intemational Journal of Pure and Applied Science Published by Cambridge Research and Publications, It is to innovate different fraud detection/prevention techniques with emphasis on machine learning algorithms. Some of the supervised and unsupervised machine learning algorithms used include Hidden Markov Model, Neural Network etc... making the Automated Teller Machine to improve security. This making our project to have more automations. The following paper is composed by John Mylopoulos, Yigiao Wang, The paper title is “Self- Repair through Reconfiguration: A Requirements Engineering Approach”” Published in the conference 2009 IEEE/ACM international Conference on Automated Software Engineering This paper was presented in the 2009 IEEE/ACM Intemational Conference on Automated 10/83 Software Engineering. This paper focus on experimental results demonstrate that it is feasibleto scale our approach to software systems with medium-size requirements. The next paperis authored by Daw-Tung Lin, Ming-Ju Liu. The paper title is "Face Occlusion Detection for Automated Teller Machine Surveillance”. published in 2016 in ‘Advances in Image and Video Technology Systems play an essential role in security management, as evidenced by the surveillance cameras installed in nearly all automated teller machines. The proposed detection system can achieve 100% and 96.15% accuracy for non-occlusive and occlusive detection, respectively, at a speed of up to 20 frames per second The next distribution is composed Mengxing Zhang, Feng Wang, Hui Deng, Jibin Yin with an title “A Survey on Human-Computer Interaction Technology for Financial Terminals” in the year 2012. The publication is 2012 Fifth international Conference on Intelligent Networks and intelligent Systems. The user experience test and evaluation of the prototype are reviewed and discussed in detail, and we find the defects and the improvement of the ATM design. In the end, we propose some suggestions and discussion in future works. Here explained about somefuture developments that can be accommodated in the project. The next paper is authored by Iwasokun Gabriel Babatunde, Akinyokun Oluwole Charles, Munda Josiah Lange, Dehinbo Johnson Olumuyiwa with a title named “Experimental study of thumbprint-based authentication framework for ATM machines”. It is published in the conference in 2014 Science and Information Conference. It included the concept of the framework is an embodiment of different components for fingerprint processing which include enrollment, database, and verification. Fingerprint enhancement, feature extraction and matching sub-modules form the verification component. The matching sub-modules rely on suitable mathematical models to function. It can be evolved in the future for higher automation when included with software systems. The next paper is authored by Sho Kurita, Kenji Komoriya, Ryuya Uda with title paper called “Privacy Protection on Transfer System of Automated Teller Machine from Brute Force Attack’ Published in 2012 26th Intemational Conferenceon Advanced Information Networking and Applications Workshops. information is encrypted by common key crypto system and stored in a QR code. If the peeping attack occurred, this information was protected by using the QR code, also can be high-speed processing. Fabumni (2011) worked on the appraisal of the use of ATM in the banking industry in Nigeria. It involves the use of diffusion innovation model; questionnaires were used to collect data in order to get the required information from the users and non-users of the system and the result of the hypothesis were stated at the end of the analysis. From the results, it could definitively be said that the relative advantage of using ATMs; how hard it was to use ATMs, how compatible ATMs were with the lifestyle of the users; how much has been registered (observed) about ATMsby the users and whether ATMs could be tested before consistent use, were issues that influence users attitude towards intention to use ATMs Yingxu (2010) studied the formal design model of the ATM system, the study included ATM design specification using denotation mathematics known as Real Time Process Algebra (RTPA). Using RTPA architectural modeling methodology, the architecture of the ATM system was built and refined by some set of unified data models (UDMs) which share a genericmathematical model of tuples, the static behavior of the ATM eystem is specified and refined by a set of Unified Process Models (UPMs) for the system transition processing and some supporting processes. Based on this ATM design model; formal design model, codes can be generated automatically using Real Time Process Algebra Code Generator (RTPACG) or be seamlessly transformed into programs by the programmer. Heli (2006) discussed the ATM network market structure and cash usage; the aim was to construct the ATM equation. The monopolization of ATM network market structure and its effects on the number of ATMs and on cash in circulation were analyzed both theoretically and empirically. The unique annual data set on 20 countries used in the estimations has been combined from various data sources. The observation period is 1988-2003, but the data on some countries are available only for a shorter period. Based on the studies theoretical discussion, as well as the estimation results, monopolization of the ATM network market structureis associated with a smaller number of ATMs Sultan (2009) carried out a study on the impact of ATM on customers’ satisfaction, the study was comparatively done using three major banks in India. The study used a sample 360 of respondents equally representing each bank obtained from questionnaire and interviews; it used statistical tools to compile the results. The result, shows that material satisfaction level depends on the sizeof the respective bank and the number of years of its establishment. Conclusion of the literature survey and the need of the project The impact of adoption of ATM technology from the perspective of customers, banks and suppliers. As per the changing demand of the customers, innovative software solutions are regularly released. Similarly, banks are deploying CRM technology to facilitate personalized needs of customers on one-to-one basis. Suppliers of ATMs are also under pressure to provide ATMs to banks which can meet the latest customer needs To make the ATM System more automation and secured need to adopt the iris, detection and the biometric and QR code scan. In our project we deployed the service of creating the customer account by himself in the ATM Simulating system software. Due to cost and time deficiency, we are not able to adopt the future of ATMs like biometric, iris, QR code scan We are interested to show how the ATM will work with software application using java API, by incorporating to give the service to create account in ATM Simulator System software only with valid credentials. 2.2-Existing and Proposed System Problem statement ATM system has a drastic change to that of the older version of banking system, customer feel inconvenient with the transaction method as it was in the hands of the bank employees. When a client comes to ATM center to update and delete their account. It includes the time consumption and lot of paperwork. For any single operation it involves numerous references and updating also takes subsequent changes in other places. The goal of this design is providing an interface which allows the controlling authority toremotelyconfigure the system and to be accessible by a wide range of people. The interaction provides direct manipulation and natural language interfaces. Input will be in the form of a graphical user interface. Output will be from high resolution graphics, and printed forms. The representation of information will be textual with iconic augmentation. Because of safety and privacy concerns the system will be put in fixed locations inside enclosures which will limit the interaction to one person at a time. The primary goal of developing such software is to develop software so that consumer can access a bank's computer and carry out their own financial transactions without the mediation of a bank employee ‘*Who ff the application for? Several companies provide ATM products. Consequently, only a vendor or a largefinancial company could possibly justify the cost and effort of building ATM software. A small vendor would need some special feature to differentiate itself from the crowd and attract attention. Though this software fully implements the functionally of the ATM that is available in the 3 market today, but largely it includes all the essential features that an ATM software must, have. ‘¢What[problem will it solve? The ATM software is intended to serve both bank and customer. For the bank, ATM software increases automation and reduces manual handling of routine paperwork. Forthe customer the ATM is ubiquitous and always available, handling routine transactions whenever and whenever the customer desires. HWherdlwill it be used? ATM software has become essential to financial institutions. Customers take it for granted that a bank will have an ATM machine. ATM machines are available at many stores, sporting events, colleges, and other locations throughout the world. How Will it work? We will adopt a threetier architecture to separate the user interface from programming language, and programming language from the database. The architecture is n- tier architecture, because there can be any number of programming language communicating with each other. Scope of Project The main purpose of thiéFWPdivistop and information service is to provide the customers financi ide acceptance, and round-the clock convenience. The scope upport a computerized banking network. All activities directly related fo the,puspose arpin scope. The other activities not directly related to the purposes afe out of scope, sch ATM hardware and concem issues tification Number (PIN). Both must be typed into the simulation togain access to the accounts or Customer can create clstomer can deposit and withdraw not actually communicate with the bank. It S#¥fply lo iT list of customer numbers and PINs from a data file. This data file is maintained Texting externally to this application. This application should interadt with the user via a simple Swing GUI Methodology Adopted The project supported the traditional structure SSADM following the waterfall Modeling. The SSADM methodology is a well-defined methodology, and it can produce well-documented, accurate information systems. The aim of SSADM is to provide logical data modeling and document the data requirements of the system being designed. In this traditional structure, the data is split into entities and relationships. However, the waterfall model is a process that follows the sequence. Based on this concept the project will move in the following phases, as shown in the following diagram: 1. Figure 2.1: WaterFall model Diagram Technical Features ‘Remote Banking and Account Management The system is designed to provide the user with the facility of remote banking and perform various other functions at an interface without any aid of human bank teller. At the start, the user is provided with a log in screen, and he is required to enter his PIN NO. and Account details which are then verified by the machine, ‘Receipt Generation After each transaction user has performed, a receipt is generated that contains all the information about the transaction. Receive account balance Change your pin Deposit your cash Cash withdrawal 2.3- Tools and Technologies used The project is developed utilizing modern tools and the innovations which are widely used, so it can be effortlessly overseen and whole up extra usefulness at whatever pointrequired 2.4-Hardware and Software Requirements Hardware: eHdkd Disk - 2GB Software ‘*0jferating System ~ Windows/Ubuntu *lDfE- Eclipse ¢FrfimeWork — Swing Chapter 3 Software Requirement Specification 3.1-Introduction MySQL : (My Structured Query Language) MySQL is a relational database management system (RDBMS) developed by Oracle that is based on structured query language (SQL). A database is a structured collection of data. It may be anything from a simple shopping list to. a picture gallery or a place to hold the vast amounts of information in a corporate network. A relational database isa digital store collecting data and organizing it according to the relational model. In this model, tables consist of rows and columns, and relationships between data elements all follow a strictlogical structure. An RDBMS is simply the set of software tools used to implement, manage, and query such a database. Java Swing Java Swing is a GUI Framework that contains a set of classes to provide more powerful and flexible GUI components then AWT. Swing provides the look and feel of modern Java GUI. Swing library is an official Java GUI toolkit released by Sun Microsystems. It is used to create graphical user interface with Java. Swing classes ate defined in javax.swing package and its sub-packages. JPanel: JPanel is Swing's version of AWT class Panel and uses the same default layout, FlowLayout. JPanel is descended directly from JComponent. JFrame: JFrame is Swing's version of Frame and is descended directly from Frame class. The component, which is added to the Frame is referred as its Content. JWindow: This is Swing's version of Window and has descended directly from Window class. Like Window it uses BorderLayout by default. JLabel: JLabel has descended from JComponent and is used to create text labels JButton: JButton class provides the functioning of push button. JButton allows an icon, string or both associated with a button. JTextField: JTextFields allow editing of a single line of text. JDBC: Java Database Connectivity) Java database connectivity (JDBC) is the JavaSoft specification of a standard application programming interface (API) that allows Java programs to access, database management systems. The JDBC API consists of a set of interfaces and classes written in the Java programming language. Using these standard interfaces and classes, programmers can write applications that connect to databases, send queries written in structured query language (SQL), and process the results. Since JDBCis a standard specification, one Java program that uses the JDBC API can connect toany database management system (DBMS), if a driver exists for that particular DBMS. Eclipse IDE: Eclipse is an integrated development environment (IDE) used in computer programming. It contains a base workspace and an extensible plug-in system for customizing the environment. Eclipse is written mostly in Jave and its primary use is for developing Java applications, but it may also be used to develop applications in other programming languages via plug-ins, including Ada, ABAP, C, C++, C4, Clojure, COBOL, D, Erlang, Fortran, Groovy, Haskell JavaScript, Julia, Lasso, Lua, NATURAL, Perl, PHP, Prolog, Python, R, Ruby (including Rub y on Rails framework), Rust, Scala, and Scheme. It can also be used to develop documents with LaTeX (via a TeXlipse plug-in) and packages for the software Mathematica. Development environments include the Eclipse Java development tools (JDT) for Java and Scala, Eclipse CDT for C/C++, and Eclipse PDT for PHP, among others. 3.2-General Description The users for the application would be the public. The following are the productperspective and functions. 3.2.2f)perational Environment 3.2.3 3.2.4ffustomer Characteristics ‘The website would work in an any Java IDE i Eclipse. A minimum of 1 GB RAM and 200 Mb of storage space. Customer can access this project software through any of the Java IDE. languages In common the customer should be familiar and must have the knowledge of, operating software. The primary user of the application is the customer who uses the application he shouldknow about the software and the transaction he wants to do, so that he can efficiently use the function of the proposed system. The application is GUI based to reduce the user non- friendliness towards using this software. General Constraints: 1. This system will not take care of any virus problem that might occur on the computerwith which it is installed. Avoiding the use of pirated/illegal software and ensuring thatfloppies and other removable media are scanned for viruses before use could minimizethe possibility of viral infection. Recovery of data after a system crash will be possible only if backups are taken at regular intervals. Manual interfaces cannot be fully avoided. Documented proofs like dates etc. will have to be verified by the concemed staff before entering it into the computerized system Hardware Constraints The performance of the system will be dependent on the machine conditions. The primary memory (RAM) and the secondary memory (Hard Disk Space) requirement ofthe system will be the same as that required by the normal application and the operatingsystem. And the space required storing the data. The space required to store ‘the data would increase as more and more records are added to the system. Assumptions and Dependencies a.ffis assumed that the user is familiar with the basic computer fundamentals. b,ffimely backup of date should be taken to avoid data loss in case of systemcrash. c.llloppies and other removable media should be scanned for viruses before use. d._Itis assumed that the maintenance of the database will be assigned to theauthorized person only. efinly authorized persons will be allowed inside the system 3.3-Functional Requirement Module-1: Customer Authentication ‘Influt - Customer card number and pin number ‘Pifbcess ~ Verifies the Customer with the database ‘*Oiftput - Successful access to Customer for Transactions Module-2: Customer Account Registration eln a Customer credentials like name, Aadhar number, pan number and other details Pifpcess- Verification of credentials and successful storing to the database 0iftput- Pass to the Account Details by Creating valid account Module-3: Customer Account Details ‘lnflut - Type of account and Services required #Piftcess — takes input of Customer and stores in the database ‘*0(ftput ~ Providing card number and pin by random generator and depositing basic pay Module-4 : Customer Transactions © Input - Transaction buttons and amount and pin changing option andmini statement ¢PrBcess — Checks the minimum balance that capable to do transaction © Output - Transacted type and the amount that transacted and mini statement of totalhistory transaction 3.4 — Non Functional Requirements Security: Every data is authenticated and verified before moving to the further process Confidentiality: Making sure that customer details kept safe and transaction details also keptsafe. Availability: Once all the verified customers will be made available to their data in efficient wey that isthe requested data presented to the customer as per their requirement Platform Independent or Portaability There are no restrictions on the operating system hardware that we ere using it canwork with same ease on any operating system on any hardware implementations (minimum hardware is required) TH ATM network must be available 24 hours a day. ‘Edbh bank may be processing transactions from several ATMs at the same time. © The ATM must be able to use several data formats according to the data formats that are prpvided by the|database of different banks. Cashier ATM Chapter 4 Database User |_userintertace Cash lin = Card ‘Account comminuzaticn tink. : 4.1fptroduction: [Customer] In this chapter, the description of the System design for the ATM sin{dlpiar'divel Convenience in use is bne of the primary requirements in case of ATN+-bank-Ea availability of machines also affects its use. Customer also uses ATM because they agree that its use is oor picesrrionngir frabIEm Torn ATM is that it ABest. times goes out of casit-TralsoTevealed that the use of ATM ishighly mcTeasing. System analysis is a process of carrying out a detailed study in an organized way of doing things with the aim of gaining a thorough understanding of that system. The architectural design of this system is shown in Figure 4.1 and Object Oriented Analysis and Design Methodology (OAD) used as design Methodology is illustrated using class diagram. Figure 4.1 Architectural Design of the ATM Simulator ‘Structure of the ATM Emulator and the interaction of the components. The major components are authentication and transactions. 4.2 ~ Context Design Customer authentication Authentication: This ensures the security of the ATM custome’’s data, ituses the account card numberand PIN number to achieve this. A customer has to enter his card number andPIN, which are verified in order to give the customer access to the system, Customer Transactions Transactions: these include inquiry, withdrawal, statement, recharge, deposit, transfer, and change pin, any of these transactions can be performed by the user after he has been authenticated by the system. Customer Account Registration Account Creation: This include customer to enter the personal credentials like name, date of birth, address, pan, aadhar etc, it will store in database for customeris valid user of software. Customer Account Details Account Details: It includes the type of account to be created and the customer requirements like ATM, Cheque book etc, after entering all the details using random generator it gives the card number and pin number for particular customer. Chapter 5 Detailed Design 5.1 Object Oriented Analysis and Design: Methodology (O0AD) Methodology (00AD)OOADM is a software engineering approach that models a system as @ group of interacting objects, each object represents an entity of interest in the system being modeled, and is characterized by its class, data element and its behavior. The design tool used in this work is Unified Modeling Language (UML) becauseit is a graphical language for modeling software is a set of diagrams used to specify, construct, visualize, and document software design. The UML diagrams used in this software are USE CASE, CLASS and ACTIVITY diagrams. Object modelling: Class Diagram The class diagram is a static diagram. It represents the static view of an application Class diagram is not only used for visualizing, describing, and documenting different aspects of a system but also for constructing executable code of the software application. This class diagram describes the classes and attributes in ATM operations. The class diagrams are widely used in the modeling object-oriented systems because they are the only UML diagrams which can be mapped directly with object oriented languages secouatNumber integer sUserAutheatiated ant ‘ <—_ sccounNunberintger cpinintewer Systern atabase Transactio —1.__ -otalBalance: Deubl ~accountNumbe stand tauthenticateUs | integer sUvalablelidance) er) ons +getivailableBal | sgetaccountnu sn ance() mer) {pottoteiBelane +executeOperati A onl _Figure5.1: Class Diagram of the ATM System Login Dynamic modelling Tomcat Use case Dia customen\ The use case partitigh the funettonatity-of a syStem into a small number of discrete (Withdraw units, and all system Hyehavior must fall under. some WSpditee- Each ude should represent a kind of senica bet Rae provides, 5f@MThg that providles value to the actor. A particular peleon tay bs bask’ bank teller and the custome’. For the Database Deposit ATM application, the actor gsigreT pnd Databse. Figure5.2: Use case diagram of the ATM System Sequence Diagram ‘Asequence diagram is an analysis tool that can be used when an object interacts wi us other obj form some tesk-One place this occurs pI silted during t jon of a transaction, when the transactio! via the ATM) to get specific information (such as choice of e Bank, and with varjous components of the ATM:(e.g figure 5.3 is a sequence diagram for a Withdrawal cash dispetisenprinter). TI TraNSBStION, ener anane | : i 5: Process Transacion) 6: Waban from Cheding Recourk) | 7: Withdraw Success) 8 Traneaton Success) 9: Dipense Cash) to sRequest Take cash) | | 4 snetdecash 3: Tormiated Figure 5.3: Sequence Diagram for Withdrawal transaction Activity Diagram An Activity Diagram igessentially a flow. chart showing flow of control from activity, tg activity. They are used-tomodel the dynaniic aspects of as system. They|can also be a used to model the flow of an objecf'4S if oves Trom state to state at different points in the flow of control Content: Activity diagrams commonly contain: ForkyStart & End Symbol... Ieper bates Functional Modeling graphical tool used to describe and analyze the data in a system manual or automated including the process, stores of data, and delays in the system. Data Flow Diagrams are the central tool and the basis from which other components are developed. The transformation of data from input to output, through processes, may 1 hysical components associated with lyze the moment of data thrqugha system, Commands manual or automated including the procesiastias of data, and delay Habeas Opt Shemale] be described logically and indeper the system. The DFD is also know: bw graph or a bubble chart. Agraphical tool used to describe and an: rams afe the central tool ahd the basis from whith other components fommangs arelfovetBped. Display into The transform Eeiuectuscriped rE warnings logically and independently of th phySXSJEMbmppnents associated whibks Sistem The DED is also known, CONTROL, Commands Dptaromewiabram(Lewelda}i- ble chart, Cash details & warnings ‘CASH DISPENSER ACCOUNTS: DATABASE peorner \ Enable or _/ Prepare = SvSTEM is command READER evel) This diagram shows the Automatic Teller Sys are thatit “Waity Pin from card hardware oowthasigh Messages ‘and data Display customer options PRINTOUT DISPENSER, printout CASH Account info DISPENSER ‘Recount info ‘ACCOUNTS as DATABASE ACCOUNTS ~ \ > PELE! ( casoV0 Database ER Diagram: —_/ — "4 ER Diagram stands for Entity Relationship Diagram. ‘hIso) know as ERD is a diagram that displays the relationship of entity sets stored in a Gatebase. In other words, ER Pin diagrams help to explain the logical structureof databases ER’diagrams are created based on three basic concepts: entities, attributes, and relationships. ER Diagrams contain different symbols that use rectangles to represent entities, ovals to define attributes and diamond shapes to represent relationships. Figure 5.7: ER Diagram 6.1-Code Snippets : Login java : Chapter 6 Implementation package atmsimulator; import java.awt*; import java.awtevent*; import javax.swing*; import java.sql*; public class Login extends JFrame implements ActionListener{ JLabel |112,3; JTextField tf1; JPasswordField pf2; JButton b1,b2,b3; Login { setTitle(‘AUTOMATED TELLER MACHINE’); Imagelcon i1 = new Imagelcon(ClassLoadergetSystemResource("atmsimulator/ icons/logo.png’)); Image i2 = i1.getimage().getScaledinstance(100, 100, Image.SCALE_DEFAULT); Imagelcon i3 = new Imagelcon(i2); JLabel 111 = new JLabel(i3); I11.setBounds(70, 10, 100, 100); add(111); It = new JLabel((WELCOME TO ATM’); I1.setFont(new Font(‘Osward’, Font.BOLD, 38); I1.setBounds(200,40,450,40); add(I1); 12 = new JLabel("Card No:"); I2.setFont(new Font(‘Raleway", Font.BOLD, 28)); 12.setBounds(125,150,375,30); add(I2); tf1 = new JTextField(15); tf .setBounds(300,150,230,30); tf1.setFont(new Font(‘Arial’, Font.BOLD, 14)); add(tf1); 13 = new JLabel("PIN:"); 13.setFont(new Font(‘Raleway", Font.BOLD, 28)); 13.setBounds(125,220,375,30); add((3); pf2 = new JPasswordField(15) pf2.setFont(new Font("Arial’, Font.BOLD, 14)); pf2.setBounds(300,220,230,30); add(pf2); b1 = new JButton("SIGN IN’); b1.setBackground(ColorBLA Ck); b1.setForeground(Color. WHIT E);b2 =new JButton("CLEAR"); b2.setBackground(Color BLA Ck); b2.setForeground(Color. WHIT E); b3 = new JButton("SIGN UP"); b3.setBackground(Color BLA CK); b3.setForeground(Color WHIT E); setLayout(null); b1.setFont(new Font("Arial’, Font. BOLD, 14)); b1.setBounds(300,300, 100,30); add(b1); b2.setFont(new Font("Arial", Font.BOLD, 14); b2.setBounds(430,300,100,30); add(b2); b3.setFont(new Font("Arial", Font.BOLD, 14)); b3.setBounds(300,350,230,30); add(b3); b1.addActionListener(t his); b2.addActionListener(this); b3.addActionListener(this); getContentPane().setBackground(Color. WHITE); setSize(800,480); setLocation(550,2 00); setVisible(true); public void actionPerformed(ActionEvent ae) {try{ if(ae.getSource() 1) JDBConnection c1 = new JDBConnection(); String cardno = tf getText(); String pin = pf2.getText(); if((cardno.matches('{0-9]+") && cardno.length()==16) && (pin.matches("[0-9]+") && pin.length()==4)) { String q = "select * from login where cardno = "+cardnot" and pin = '+pint™, ResultSet rs = cl.s.executeQuery(q); JOptionPane.showMessageDialog(null, "Authentication Succeeded’); if(rs.next()){ setVisible(false); new Transactions(pin).setVisible(true); Jelse{ JOptionPane.showMessageDialog(null, "Incorrect Card Number or PIN’); Jelse{ JOptionPane showMessageDialog(null, incorrect Numbers Entered’); } Jelse if(ae.getSource() tf setText("); pf2.setText("); }else if(ae.getSource()==b3){ setVisible(False); new Signup) .setVisible(true); } Jeatch (Exception e){ eprintStackTrace); public static void main(String] args){ new Login() setVisible(true); Here we are implementing the login user interface where the customer need to enter the card number and pin number to authenticate to customer account that may be stored in database If the customer doesrit have an account of that database then have the button to signup for the account creation. Another button from the user interface. Signup java: package atmsimulator; import java.awt*; import java.awtevent*; import javax.swing*; import java.sql*; import com.toedter.calendar.JDateChooser; import java.util *; public class Signup extends JFrame implements ActionListener{ JLabel 11,12,13,14,15,16,17,18,19,11 0,11 1,112,113,114,115; JTextField t1,12,13,t4,t5,t6,17; JRadioButton 11,12,13,r4,°5; JButton b; JDateChooser dateChooser; Random ran = new Random(); long first4 = (ran.nextLong() % 9000L) + 1000L; String first =" + Math abs(first4); Signup(){ setTitle("NEW ACCOUNT APPLICATION FORM"); Imagelcon i1 = new Imagelcon(ClassLoader.getSystemResource(‘atmsimulator/ icons/logo.png’)); Image i2 = i1.getImage().getScaledinstance(100, 100, Image.SCALE_DEFAULT); Imagelcon i3 = new Imagelcon(i2); JLabel !11 = ew JLabel(i3); 111.setBounds(20, 0, 100, 100); add(!11); 1 = new JLabel("APPLICATION FORM NO. “+first); I setFont(new Font(‘Raleway’, Font.BOLD, 38)); 12 = new JLabel("Page 1: Personal Details’); 12.setFont(new Font('Raleway’, Font.BOLD, 22)); 13 = new JLabel('Name:’); 13.setFont(new Font('Raleway", Font.BOLD, 20)); 4 = new JLabel('Fathers Name"); |4.setFont(new Font(Raleway’, Font.BOLD, 20); 5 = new JLabel(‘Date of Birth:"); 15.setFont(new Font(Raleway’, Font.BOLD, 20)); 16 = new JLabel(’Gender:"); |6.setFont(new Font(‘Raleway", Font.BOLD, 20)); 7 = new JLabel('Email Address:");17.setFont(new Font("Raleway’, Font.BOLD, 20)); 18 = new JLabel(‘Marital Status’); 18.setFont(new Font(‘Raleway", Font.BOLD, 20)); 19 = new JLabel(‘Address:’); 19.setFont(new Font(‘Raleway", Font.BOLD, 20)); I10 = new JLabel("City:"); I10.setFont(new Font("Raleway", Font.BOLD, 20)); 111 = new JLabel("Pin Code"); 111.setFont(new Font("Raleway’, Font BOLD, 20); 112 = new JLabel('State'"); 112.setFont(new Font(‘Raleway’, Font.BOLD, 20));113 = new JLabel("Date’); 113.setFont(new Font('Raleway", Font.BOLD, 14));114 = new JLabel(’Month’); 114.setFont(new Font("Raleway", Font. BOLD, 14)); 15 = new JLabel("Year"); 115.setFont(new Font("Raleway", Font.BOLD, 14)); 1 = new JTextField(); t1.setFont(new Font("Raleway", Font.BOLD, 14); 12 = new JTextField(); t2.setFont(new Font(‘Raleway’, Font.BOLD, 14); 3 = new JTextField(); 13.setFont(new Font(Raleway’, Font.BOLD, 14)); 14 = new JTextField(); t4.setFont(new Font(Raleway’, Font.BOLD, 14)); 15 = new JTextField(); 15.setFont(new Font("Raleway", Font.BOLD, 14)); 16 = new JTextField(); t6.setFont(new Font(‘Raleway’ Font.BOLD, 14)); 17 = new JTextField(); t7.setFont(new Font(Raleway’, Font.BOLD, 14)); b = new JButton("Next’); b.setFont(new Font(‘Raleway’, Font.BOLD, 14)); b.setBackground(Color. BLACK); b.setForeground(Color. WHITE); 1 = new JRadioButton (‘Male’); 11.setFont(new Font(‘Raleway’, Font.BOLD, 14)); 1.setBackground(Color WHITE); r2 = new JRadioButton(‘Female’); r2.setFont(new Font(‘Raleway" Font.BOLD, 14)); 12.setBackground(Color WHITE); ButtonGroup groupgender = new ButtonGroup(); groupgender.add(r1); groupgender.add(r2); 13 = new JRadioButton("Married"); 13.setFont(new Font(‘Raleway", Font.BOLD, 14)); 13.setBackground(Color WHITE); r4.= new JRadioButton (‘Unmarried’); r4.setFont(new Font(Raleway’, Font.BOLD, 14)); r4.setBackground(Color WHITE); 15 = new JRadioButton(‘Other’); 15.setFont(new Font(‘Raleway’, Font.BOLD, 14)); 15.setBackground(Color. WHITE); ButtonGroup groupstatus = new ButtonGroup(); groupstatus.add(r3); groupstatus.add (4); groupstatus.add (5); dateChooser = new JDateChooser(); //dateChooser.setBorder(new LineBorder(new Color(0, 0, 0), 1, true)); dateChooser setForeground(new Color(105, 105, 105); dateChooser.setBounds(137, 337, 200, 29); add(dateChooser); setLayout(null); I1.setBounds(140,20,600, 40); add(1); 2.setBounds(290,80,600, 30);add(2); 13.setBounds(100,140,100 30); add('3); t1_setBounds(300,140,40 0,30); ada(tt); |4.setBounds(100,190,200 30); add(l4); 12.setBounds(300,190,40 0,30); add(t2); 15.setBounds(100,240,200 30); add(\s); dateChooser.setBounds(300, 240, 400, 30); 16. setBounds(100,290,200,30); add(l6); r1.setBounds(300,290,60,3 0); add(r1); 2.setBounds(450,290,90,3 0); add(r2); I7.setBounds(100,340,200, 30);add(7); t3.setBounds(300,340,400, 0); add(t3); 18. setBounds(100,390,200, 30); add(18); 13.setBounds(300,390,100, 30); add(e3); r4.setBounds(450,390,100, 30); add(r4); 15.setBounds(635,390,100, 30); add(r5); 19.setBounds(100,440.200, 30); add(19); t4.setBounds(300,440,400, 20); add(t4); 110.setBounds(100,490,20 0,30); add((10); t5.setBounds(300,490,400, 30); ada(ts); 111.setBounds(100,540,20 0,30); add((11); t6.setBounds(300,540,400, 30); add(t6); 112.setBounds(100,590,20 0,30); add(112); t7.setBounds(300,590,400, 30); add(t7); b.setBounds(620,660,80,3 0); addib); b.addActionListener(this); getContentPane().setBackground(Color. WHITE); setSize(850,800); setLocation(500,1 20); setVisible(true); public void actionPerformed(ActionEvent ae) {String formno = first; String name = t1.getText(); String fname = t2.getText(); String dob = (JTextField) dateChooser.getDateEditor().getUiComponent()).getText(); int year=Integer.parselnt(dob.substring(7,11)); int curyear=Calendargetinstance().get(Calendar. YE AR); int age=curyear-year; String gender = null; if(r1isSelected) { gender = "Male’; else if(2.isSelected\)) { gender = "Female"; String email = 13.getText(); String marital = null; if(r3.isSelected()){ marital = "Married", Jelse if(r4.isSelected()){ marital = "Unmarried", Jelse if((5.isSelected() {marital = "Other’; } String address = t4.getText(); String city = t5.getText(); String pincode = 16.getText); String state = 17.getText(); try if(name.equals(") || name.matches("[A-Zlla-z4-Z *$")) { JOptionPane.showMessageDialog(null, "Fill the field Name or with valid Name’); else if(fname.equals(") || !fname.matches("[A-Z]la-z-Z *$")){ JOptionPane. showMessageDialog(nul, "Fill the field Father name or with valid Father Name"); }else if(dob.equals(”) || age<18) { JOptionPane.showMessageDialog(null, "Not able to create accountyou are Minor");} else if(email,equals(") || lemail. matches("*(.+)@gmail.com$")) { JOptionPane.showMessageDialog(null, "Fill the field Email or with valid Email’); Jelse if (address equals(”) || !address.matches(‘[azAZ]*$")) { JOptionPane.showMessageDialog(nul, "Fill the field Address or with valid Address’); }else if(city.equals(”) Il Icity.matches("Ta-zA-Z$")) { JOptionPane.showMessageDialog(null, Fill the field City or with valid City’); Jelse if(state.equals(") || Istate matches("[a-zA-Z}*$")) { JOptionPane.showMessageDialog(null, ‘Fill the field State or with valid State’); }else if(pincode.equals(") || !pincode.matches("[0-9]+")) { JOptionPane.showMessageDialog{null, "Fill the field Pincode or with valid Pincode’); Jelse ( JDBConnection ¢1 = new JDBConnection(); String q1 = “insert into signup values("+formno+","+name+","+fname+","+dob+","+gender+""-remail+")"+marital+","+ad dre ss#""+city+""spincodet"."+state+")", c1.s.executeUpdate(q1); new Signup2(first).setVisible(true); setVisible(false); } Jeatch(Exception 2) {eprintstackTra ce(); public static void main(String} args){new Signup().setVisible(true); This snippet is contructed for customer to create account with valid credentials like name, father name, date of birth, address, pincode and there are also some regressions used for valid, these are stored in the database of customer. Signup2java : package atmsimulator; import java.awt*; import java.awtevent*; import javax.swing*; import java.sql*; import jeva.util*; public class Signup3 extends JFrame implements ActionListener{ JLabel 11,12,13,14,15,16,17,18,19,110,11 1,112; JRadioButton 11,12,r3,r4; JButton b1,b2; JCheckBox €1,02,¢3,c4,c5,c6,c7; String formno; Signup3(String formno) {this.formno = formno; setTitle(/NEW ACCOUNT APPLICATION FORM - PAGE 3"); Imagelconi1 =new Imagelcon(ClassLoader.getSystemResource("atmsimulator/ icons/logo.png")); Image i2 = i1 .getImage().getScaledinstance(100, 100, Image. SCALE_DEFAULT); Imagelcon i3 = new Imagelcon(i2); JLabel 114 = new JLabel(i3); 114.setBounds(150, 0, 100, 100); ada(t14); It = new JLabel("Page 3: Account Details’); I1.setFont(new Font("Raleway", Font.BOLD, 22)); 12 = new JLabel(‘Account Type"); I2.setFont(new Font(‘Raleway’", Font.BOLD, 18)); [3 = new JLabel(‘Card Number"); 13.setFont(new Font(‘Raleway", Font.BOLD, 18)); 4 = new JLabel('XXXX- XXXX-XXXK-4184"); |4.setFont(new Font(‘Raleway", Font BOLD, 18); 15 ew JLabel((Your 16-digit Card number)");15.setFont(new Font("Raleway", FontBOLD, 12)); 6 = new JLabel("It would appear on ATM Card/Cheque Book and Statements’); 16.setFont(new Font("Raleway’, Font.BOLD, 12)); 17 = new JLabel("PIN"); I7.setFont(new Font(‘Raleway'", Font.BOLD, 18)); 8 = new JLabel('XXXX’); 18. setFont(new Font(Raleway", Font.BOLD, 18)); I9 = ew JLabel('(4-digit paseword)');19.setFont(new Font('Raleway', Font. BOLD, 12));110 = new JLabel("Services Required"); 110.setFont(new Font("Raleway", Font.BOLD, 18)); 111 = new JLabel("Form No"); 111.setFont(new Font("Raleway", Font.BOLD, 14));I12 = new JLabel(formno); 112.setFont(new Font("Raleway", Font.BOLD, 14));b1 = new JButton("Submit’); b1.setFont(new Font('Raleway’, Font.BOLD, 14)); b1.setBackground(Color BLACK); b1.setForeground(Color WHITE); b2 = new JButton('Cancel’); b2.setFont(new Font("Raleway’, Font.BOLD, 14)); b2.setBackground(Color BLACK); b2.setForeground(Color WHITE); cl = new JCheckBox("ATM CARD"); c1.setBackground(Color WHITE); c1.setFont(new Font("Raleway’, Font.BOLD, 16)); c2 = new JCheckBox("Internet Banking"); ¢2.setBackground(Color WHITE); c2.setFont(new Font('Releway’, Font.BOLD, 16)); ¢3 = new JCheckBox("Mobile Banking’); ¢3.setBackground(Color WHITE); c3.setFont(new Font(’Releway’, Font.BOLD, 16); c4 = new JCheckBox("EMAIL Alerts"); c4.setBackground(Color WHITE); cA satFont(new Font("Raleway’, Font.BOLD, 16)); c5 = new JCheckBox("Cheque Book’); ¢5.setBackground(Color WHITE); c5.setFont(new Font('Releway’, Font.BOLD, 16)); ¢6 = new JCheckBox("E- Statement’); c6.setBackground(Color WHITE); c6.setFont(new Font("Raleway’, Font.BOLD, 16)); c7 = new JCheckBox("l hereby declares that the above entered details correct to th best of my knowledge." true); C7.setBackground(Color WHITE); c7.setFont(new Font('Releway’, Font.BOLD, 12); 1 =new JRadioButton("Saving Account’); r1.setFont(new Font('Raleway", Font.BOLD, 16); r1.setBackground(Color. WHITE); 12 = new JRadioButton('Fixed Deposit Account"); -2.setFont(new Font("Raleway’, Font.BOLD, 16)); 12.setBackground(Color. WHITE); 3 = new JRadioButton(‘Current Account’); 13.setFont(new Font('Raleway", Font.BOLD, 16)); 13.getBackground(Color WHITE); r4.= new JRadioButton(‘Recurring Deposit Account’); r4.setFont(new Font("Raleway’, Font.BOLD, 16); r4.setBackground(Color WHITE); ButtonGroup groupgender = new ButtonGroup(); groupgender.add(r1); groupgender.add(r2); groupgender.add(r3); groupgender.add(r4); setLayout(null); 111.setBounds(700,10,70, 30); add(111); 112.setBounds(770,10,40, 30); ada(112); I1.setBounds(280,40,400, 40); add(I1); [2.setBounds(100,140,200 30); add(2); r1.setBounds(100,180,15 0,30); add('1); r2.getBounds(350,180,30 0,30); ada(r2); 13.setBounds(100,220,250, 30); add(r3); r4.setBounds(350,220,250, 30); adda); 13.setBounds(100,300,200, 30); add({3); 14.setBounds(330,300,250, 30); add(4); 15.setBounds(100,330,200, 20); add({5); 16. setBounds(330,330,500, 20); add({6); 17.setBounds(100,370,200, 30);add(7); 18.setBounds(330,370,200, 30); add({8); 19.setBounds(100,400,200, 20); add({9); 110.setBounds(100,450,20 0,30); add(110); cl.setBounds(100,500,200, 30); add(c1); c2.setBounds(350,500,200, 30); add(c2); ¢3.setBounds(100,550,200, 30); add(c3); c4.setBounds(350,550,200, 30); add(c4); c5.setBounds(1 00,600,200, 20); add(c5); c6.setBounds(350,600,20 0,30); add(e6); c7.setBounds(100,680,60 0,20); add(e7); b1.setBounds(250,720,10 0,30); add(b1); b2.setBounds(420,720,10 0,30); add(b2); getContentPane().setBackground(Color. WHITE); setSize(850,850); setLocation(500,120); setVisible(true); b1.addActionListener(t his); b2.addActionListener(t his); public void actionPerformed(ActionEvent ae) {String atype = null; if(r1.isSelected()){ atype = "Saving Account", } else if(2.isSelected()){ atype = "Fixed Deposit Account’, } else if(r3.isSelected()){ atype = "Current Account’, Jelse if((4.isSelected(){ atype = "Recurring Deposit Account’;

You might also like