0% found this document useful (0 votes)
124 views29 pages

Hemwati Nandan Bahuguna Garhwal University

This document is a project report submitted by students Akshay and Sakshi for their Bachelor of Technology degree in Computer Science and Engineering. It details the development of an Automated Teller Machine (ATM) system using Python. The report includes sections on introduction and literature review, methodology, software and hardware requirements, an overview of the Python programming language, requirements analysis, feasibility study, system analysis, system design, testing, project implementation, maintenance, and conclusions. The students developed the ATM system under the guidance of their professor Mr. Vijay Bijlwan to fulfill their degree requirements.

Uploaded by

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

Hemwati Nandan Bahuguna Garhwal University

This document is a project report submitted by students Akshay and Sakshi for their Bachelor of Technology degree in Computer Science and Engineering. It details the development of an Automated Teller Machine (ATM) system using Python. The report includes sections on introduction and literature review, methodology, software and hardware requirements, an overview of the Python programming language, requirements analysis, feasibility study, system analysis, system design, testing, project implementation, maintenance, and conclusions. The students developed the ATM system under the guidance of their professor Mr. Vijay Bijlwan to fulfill their degree requirements.

Uploaded by

Akshay Pal
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 29

HEMWATI NANDAN BAHUGUNA GARHWAL UNIVERSITY

(A Central University)
Srinagar Garhwal, Uttarakhand
School of Engineering and Technology

Session (2020 - 2021)


A PROJECT REPORT ON
“Automated Teller Machine Using Python ”
Submitted in Partial fulfillment for the award of the degree of
Bachelor of Technology
in Computer Science and Engineering
HNBGU, Srinagar Garhwal (Uttarakhand)

Guided By:- Submitted By:-


Mr. Vijay Bijlwan Akshay 18134501009
Dept. of Computer Science and Engg. Sakshi 18134501007
Sem B.Tech (C.S.E.) - VI
DECLARATION

I, Akshay and Sakshi bearing the roll no 18134501009 and 18134501007 , student of Computer
Science and Engineering Department at Hemvati Nandan Bahuguna Garhwal University (A
Central University), Srinagar (Garhwal), Uttarakhand, submit this project report entitled
“Automated Teller Machine Using Python” to Computer Science and Engineering
Department, Hemvati Nandan Bahuguna Garhwal University, for the award of the Bachelors of
Technology degree in Computer Science & Engineering and declaring that the work done is
genuine and produced under the guidance of Mr. Vijay Bijlwan., Department of Computer
Science and Engineering, Hemvati Nandan Bahuguna Garhwal University.
I further declare that the reported work in this project has not been submitted and will not be
submitted, either in part or in full, for the award of any other degree in this institute or any other
institute or university.

Student name
Roll no -
CERTIFICATE

This is to certify that, this project report titled “Automated Teller Machine Using Python”
submitted by Akshay and Sakshi bearing roll no 18134501009 and 18134501007 is bonafide
record of the work carried out by him/her in partial fulfilment for the requirement of the award of
Bachelor of Technology in Computer Science and Engineering degree from Hemvati Nandan
Bahuguna Garhwal University (A Central University) at Srinagar (Garhwal), Uttarakhand.
This Project report has not been submitted to any other University or Institution for the award
of any degree.

Mr. Vijay Bijlwan


Department of Computer Science & Engineering
Hemvati Nandan Bahuguna Garhwal University (A Central University)
Srinagar (Garhwal), Uttarakhand
ACKNOWLEDGEMENT

I would like to express my deepest gratitude to all people for sprinkling their help and kindness in the
completion of this Project. I would like to start this moment by invoking my purest gratitude to Mr.
Vijay Bijlwan, Department of Computer Science and Engineering, Hemwati Nandan Bahuguna
Garhwal University (A Central University), Srinagar (Garhwal), Uttarakhand, my project instructor.

The completion of this project could not have been possible without his expertise and invaluable
guidance in every phase at Hemvati Nandan Bahuguna Garhwal University (A Central University),
Srinagar (Garhwal), Uttarakhand for helping me.

I would like to thank Prof. M.M.S Rauthan, Prof. Y.P Raiwani, all the lab assistants and other staffs
of Computer Science and Engineering Department, Hemvati Nandan Bahuguna Garhwal University (A
Central University), Srinagar (Garhwal), Uttarakhand, for their kind support. Last but not least, I would
like to thank my parents and my friends for their unwavering belief despite ups and downs in my
journey.
ABSTRACT

Python is a high-level, general-purpose and a very popular programming language. Python


programming language (latest Python 3) is being used in web development, Machine Learning
applications, along with all cutting edge technology in Software Industry. Python Programming
Language is very well suited for Beginners, also for experienced programmers with other
programming languages like C++ and Java.

Python language is being used by almost all tech-giant companies like – Google, Amazon, Facebook,
Instagram, Dropbox, Uber… etc. The biggest strength of Python is huge collection of standard library
which can be used for the following:
● Machine Learning
● GUI Applications (like Kivy, Tkinter, PyQt etc. )
● Web frameworks like Django (used by YouTube, Instagram, Dropbox)
● Image processing (like OpenCV, Pillow)
● Web scraping (like Scrapy, BeautifulSoup, Selenium)
● Test frameworks
● Multimedia
● Scientific computing
● Text processing and many more..

ATM SYSTEM
The ATM System is the project which is used to access their bank accounts in order to make cash
withdrawals. Whenever the user need to make cash withdraws, they can enter their PIN number
(personal identification number) and it will display the amount to be withdrawn in the form of 100’s
500’s and 1000’s. Once their withdrawn was successful, the amount will be debited in their account.
The ATM System is developed in VB.Net and back-end database as Ms-Access. VB.Net is the one of
the powerful version of Framework and object oriented programming. Hence we use this software in our
project.
The ATM will service one customer at a time. A customer will be required to enter ATM Card number,
personal identification number (PIN) – both of which will be sent to the database for validation as part of
each transaction. The customer will then be able to perform one or more transactions. Also customer
must be able to make a balance inquiry of any account linked to the card.
The ATM will communicate each transaction to the database and obtain verification that it was allowed
by the database. In the case of a cash withdrawal, a second message will be sent after the transaction has
been physically completed (cash dispensed or envelope accepted). If the database determines that the
customer’s PIN is invalid, the customer will be required to re-enter the PIN before a transaction can
proceed.
If a transaction fails for any reason other than an invalid PIN, the ATM will display an explanation of
the problem, and will then ask the customer whether he/she wants to do another transaction.
The ATM will provide the customer with a printed receipt for each successful transaction, showing the
date, time, machine location, type of transaction, account(s), amount, and ending and available
balance(s) of the affected account (“to” account for transfers).
CONTENTS

CANDIDATE’S DECLARATION……………………………………………………… i
CERTIFICATE…………………………………………………………………………... ii
ACKNOWLEDGEMENT………………………………………………………………. iii
ABSTRACT ………………………………………………………………………… iv
1. CHAPTER 1: INTRODUCTION……………………………………………………. 1-8
1.1 LITERATURE SURVEY…………………………………………………………… 2
1.2 PROPOSED SYSTEM FEATURES………………………………………………... 7

2. CHAPTER 2: METHODOLOGY……………………………………………………. 9-11


2.1 SDLC MODEL USED………………………………………………………………. 10
3. CHAPTER 3: S/W H/W REQUIREMENTS…………………………………………. 12-14
3.1 SOFTWARE………………………………………………………………………… 13
3.2 HARDWARE………………………………………………………………………. 13
3.3 TOOLS/PLATFORM………………………………………………………………. 13
3.4 OPERATING SYSTEM……………………………………………………………. 13

4. CHAPTER 4: ABOUT THE TECHNOLOGY……………………………………… 15-19


4.1 INTRODUCTION OF JAVA ……………………………………………………… 15
4.2 NETBEANS IDE ………………………………………………………………….. 18
5. CHAPTER 5: REQUREMENT ANALYSIS………………………………………… 20-23
5.1 REQUREMENT GATHERING AND ANALYSIS………………………………… 21
5.2 REQUREMENT SPECIFICATION…………………………………………………. 22
5.2.1 PERFORMANCE REQUREMENTS………………………………………….. 22
5.2.2 FUNCTIONAL REQUREMENTS…………………………………………….. 22
6. CHAPTER 6: FEASIBILITY STUDY………………………………………………… 24-28
6.1 ECONOMIC FEASIBILITY ……………………………………………………….. 25
6.2 TECHNICAL FEASIBILITY ……………………………………………………… 27
6.3 OPERATIONAL FEASIBILITY…………………………………………………... 28
7. CHAPTER 7: SYSTEM ANALYSIS………………………………………………… 29-33
7.1 GANTT CHART …………………………………………………………………… 31
7.2 PERT CHART ……………………………………………………………………… 33
8. CHAPTER 8: SYSTEM DESIGN……………………………………………………. 34-43
8.1 DATA FLOW DIAGRAM…………………………………………………………. 36
8.2 ENTITY RELATIONSHIP DIAGRAM …………………………………………… 41
9. CHAPTER 9: TESTING …………………………………………………………….. 44-49
9.1 TEST PLAN……………………………………………………………………….. 47
9.1.1 UNIT TESTING ……………………………………………………………... 47
9.1.2 INTEGRITY TESTING ……………………………………………………... 47
9.1.3 SYSTEM TESTING ………………………………………………………… 48
10. CHAPTER 10: PROJECT IMPLEMENTATION………………………………… 50-59
10.1 PRODUCT MODULES DESCRIPTION………………………………………… 51
10.2 DATABASE USED.……………………………………………………………… 55
11. CHAPTER 11: PROJECT MAINTENANCE……………………………………... 60-61
12. CHAPTER 12: CONCLUSION…………………………………………………….. 62
13. CHAPTER 13: REFERENCES…………………………………………………….. 63
14. CHAPTER 14: BIBLIORAPHY…………………………………………………… 64
LIST OF TABLES

TAB TIT PAG


LE LE E
6.1 Methods of Object Class 13
7.1 Java String class methods 19

8.1 Java Exception Keywords 23


9.1 Useful Methods of Component class 26
LIST OF FIGURES / CHARTS

TAB TIT PAG


LE LE E
4.1 JRE 7
4.2 JDK 8

5.1 Flow Chart of Nested if-else statement 11


7.1 String implementations 17

7.2 CharSequence Interface 17


8.1 Hierarchy of Java Exception classes 22

9.1 Hierarchy of AWT 25


10.1 Hierarchy of Applet 28
LIST OF ABBREVIATIONS

ABBRIEVIATED EXPANDED FORM


FORM
AWT Abstract Window Toolkit
Java SE Java Platform, Standard Edition

JDK Java Development Kit


JRE Java Runtime Environment
JVM Java Virtual Machine
J2SE Java 2 Platform, Standard Edition
CHAPTER ONE
INTRODUCTION

1.1. Introduction to the ATM system:


Automated Teller Machine enables the clients of a bank to have access to their account
without going to the bank. This is achieved only by development the application using 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 enters the necessary option and
arguments. The product also provides services like 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 to operate 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. verification process
2. language, service and account selection
3. Banking services
4. Transactions
5. Special services
The program is designed in such a way that the user has to card and pin number. Once
verified, he is provided a menu and he/she had to enter the option provided in the menu. For
example, when the user wants to view the list of payment history than he/she had to enter the
option for payment history provided in the main menu. When the option is entered alone with
the respective argument, then the payment history is displayed on the screen.
The user also must be given option to browse through the pages like previous page, next
page, etc. The user may experience a delay in retrieving or viewing the data, when there are
many users logged on to the same bank branch system.
1.2. Need for the ATM system:
Millions of times per day around the globe people are instantly withdrawing money at automatic
teller machines (ATMs). Given the fast-pace of the world today, it is not surprising that the
demand for access to quick cash is so immense. The power of ATMs would not be possible
without secure connections. The final act of ATM dispending cash is the result of an amazingly
fast burst of the customer never sees, but a trust is being done in a confidential manner.
CHAPTER THREE
S/W H/W REQUIREMMode

3.1. Hardware Requirements:

Processor – Pentium 4
RAM – 1 GB
Hard Disk – 40GB
Mouse – Standard Mouse
Keyboard – Logitech Keyboard
Processor Speed – 2.4GHZ

3.2. Software Requirements:

Operating System – Microsoft Windows XP With Service Pack 2


Front-End – Microsoft Visual Studio 2005
Back-End – Microsoft Access 2003

3.3. Display Mode:

Color Quality – Highest[32 bit]


Screen Resolution – 1024 by 768 Pixels
CHAPTER FOUR
ABOUT THE TECHNOLOGY
4.1. Introduction of Python
Python, one of the most popular programming languages in the world, has created everything
from Netflix’s recommendation algorithm to the software that controls self-driving cars. Python is
a general-purpose language, which means it’s designed to be used in a range of applications,
including data science, software and web development, automation, and generally getting stuff
done.
4.2. What is Python?
Python is a computer programming language often used to build websites and software,
automate tasks, and conduct data analysis. Python is a general purpose language, meaning it can
be used to create a variety of different programs and isn’t specialized for any specific problems.
This versatility, along with its beginner-friendliness, has made it one of the most-used
programming languages today. A survey conducted by industry analyst firm RedMonk found that
it was the most popular programming language among developers in 2020
4.3. What is Python used for?
Python is commonly used for developing websites and software, task automation, data
analysis, and data visualization. Since it’s relatively easy to learn, Python has been adopted by
many non-programmers such as accountants and scientists, for a variety of everyday tasks, like
organizing finances.
● Data analysis and machine learning : Python has become a staple in data science,
allowing data analysts and other professionals to use the language to conduct complex
statistical calculations, create data visualizations, build machine learning algorithms,
manipulate and analyze data, and complete other data-related tasks.
● Web development : Python is often used to develop the back end of a website or
application—the parts that a user doesn’t see. Python’s role in web development can
include sending data to and from servers, processing data and communicating with
databases, URL routing, and ensuring security. Python offers several frameworks for web
development. Commonly used ones include Django and Flask.
● Automation or scripting : If you find yourself performing a task over and over again,
you could work more efficiently by automating it with Python. Writing code used to build
these automated processes is called scripting. In the coding world, automation can be used
to check for errors across multiple files, convert files, execute simple math, and remove
duplicates in data.
● Software testing and prototyping : In software development, Python can aid in tasks like
build control, bug tracking, and testing. With Python, software developers can automate
testing for new products or features. Some Python tools used for software testing include
Green and Requestium.
4.4. Tkinter
Tkinter is a standard library in python used for creating Graphical User Interface (GUI) for
Desktop Applications. With the help of Tkinter developing desktop applications is not a tough
task.
The primary GUI toolkit we will be using is Tk, which is Python's default GUI library. We'll
access Tk from its Python interface called Tkinter (short for Tk interface).
4.5. GUI Programming in Python
There are many ways to develop GUI based programs in Python. These different ways are
given below:
Tkinter:
In Python, Tkinter is a standard GUI (graphical user interface) package. Tkinter is Python's
default GUI module and also the most common way that is used for GUI programming in Python.
Note that Tkinter is a set of wrappers that implement the Tk widgets as Python classes.
wxPython:
This is basically an open-source, cross-platform GUI toolkit that is written in C++. Also an
alternative to Tkinter.
JPython:
JPython is a Python platform for Java that is providing Python scripts seamless access to Java
class Libraries for the local machine.
4.6. What is Tkinter?
Tkinter in Python helps in creating GUI Applications with a minimum hassle. Among various
GUI Frameworks, Tkinter is the only framework that is built-in into Python's Standard Library.
● An important feature in favor of Tkinter is that it is cross-platform, so the same code can
easily work on Windows, macOS, and Linux.
● Tkinter is a lightweight module.
● It is simple to use.
4.7. What are Tcl, Tk, and Tkinter?
● As mentioned, Tkinter is Python's default GUI library, which is nothing but a wrapper
module on top of the Tk toolkit.
● Tkinter is based upon the Tk toolkit, and which was originally designed for the Tool
Command Language (Tcl). As Tk is very popular thus it has been ported to a variety of
other scripting languages, including Perl (Perl/Tk), Ruby (Ruby/Tk), and Python
(Tkinter).
● GUI development portability and flexibility of Tk makes it the right tool which can be
used to design and implement a wide variety of commercial-quality GUI applications.
● Python with Tkinter provides us a faster and efficient way in order to build useful
applications that would have taken much time if you had to program directly in C/C++
with the help of native OS system libraries.

MYSQL DTABASE:
MySQL My SQL is an open-source relational database management system (RDBMS). Its name
is a combination of "My", the name of co-founder Michael Widenius's daughter, and "SQL", the
abbreviation for Structured Query Language. MySQL is free and open-source software under the
terms of the GNU General Public License, and is also available under a variety of proprietary
licenses. MySQL was owned and sponsored by the Swedish company MySQL AB, which was
bought by Sun Microsystems (now Oracle Corporation). In 2010, when Oracle acquired Sun,
Widenius forked the open-source MySQL project to create MariaDB. MySQL is a component of
the LAMP web application software stack (and others), which is an acronym for Linux, Apache,
MySQL, Perl/PHP/Python. MySQL is used by many database-driven web applications, including
Drupal, Joomla, phpBB, and WordPress. MySQL is also used by many popular websites,
including Facebook, Twitter, Flickr, and YouTube
CHAPTER FIVE
REQUREMENT ANALYSIS

It is a software engineering task that bridges gap between the system level requirements
engineering and software design. In ATM what the requirements system wants are mentioned
with the classification of requirements.
3.1 Types of Requirements in ATM System
There are different types of requirements including customer requirements, functional
requirements, performance requirements, design requirements. beh oural require ents, derived
requirements, and allocated requirement. In order to design the new system, information obtained
from methods that are used to identify customer, functional, and behavioural requirements is
used. The following sub-sections present common types of requirements categories in ATM
system.

Customer Requirements
Customer requirements define the expectations customer's in terms of objective, environment,
constraints and measure of effectiveness of the project/system.
They help identify the following:
a) Operational set-up:
At what location(s) will the system (ATM) be installed and used by stakeholders?
b) Mission:
What is the objective of the system? In other word, what is its mission and how will it
achieve this?
c) Performance:
What are the milestones and results that are needed to be achieved for comparison and
evaluation against the objective of the system?
d) Utilization:
The system will have many parts to it that make up the overall system. How will they be
used?
e) Effectiveness:
In order to achieve its objective, the ATM system has to be functioning effectively. This
effectiveness is measured.
f) Life Cycle:
Once the system is live and being used by the user, how long will its life cycle be.
g) Environment:
Similar to the operational set-up, this distinguishes the environments in which the system
will effectively operate in.
❖ Architectural requirements
Architectural requirements define system architecture that includes both structure and
behaviour of the ATM system.
❖ Structural requirements
Structural requirements define the ATM system structure.
❖ Behavioural requirements
Behavioural requirements identify the behaviour of the ATM system. In other words, it
identifies the way the system interacts with the user and the effect it will on the user.
❖ Functional requirements
Functional requirements define the tasks/activities of the ATM system.
❖ Non-Functional Requirements
This type of requirement focuses on the operation of the ATM system, not the way it
interacts with the user. It looks at the inside of the system rather than the interface.
❖ Performance requirements
Performance requirements define the expectation of the ATM system mission in terms of
the performance metrics such as quality, quantity, coverage, timeliness, and readiness.
❖ Design requirements
Design requirements define how the project/system processes are to be executed including
building/designing the system, coding the applications and buying requirements for
products.
❖ Derived requirements
Derived requirements are implied, derived, and transformed from a higher level
requirement.
❖ Allocated requirements
Allocated requirements are established by breaking down a key requirement into many
minor ones. And also it is related in ATM Systems.
So above mentioned are the classification of each and every requirements of ATM system.
3.2 Feasibility Study :
Feasibility Studies must be based on Conceptual Design decisions, ie, the definition of the main
technical and commercial aspects of a project, with any alternative solutions reduced to a
minimum. A Feasibility Study includes a number of steps, such as a technical analysis, market
analysis, project Cost Estimate, analysis of financial resources and Profitability evaluation.
ATM has the suitable experience to assist its Customers to;
1. Identify the optimum solutions for all automation and telecom aspects;
2. Perform any relevant technical and economic analyses;
3. Identify a possible overall Control System Architecture;
4. Minimize project risks and uncertainties;
5. Perform the cost estimate for Automation and Telecommunication.
In order to answer these critical questions, a project feasibility study must be conducted. The
project feasibility study is a document containing a detailed description of the project, followed
by a set of different feasibility areas. These are aspects of the project that will drive the success or
failure of the project. This study will provide the necessary information so that you can decide
whether or not your project will begin or whether it has a shot at success.

Steps to a Project Feasibility Study


1. Description of the Project :
What are the important details of the ATM System?
The project feasibility study should start with the basic details of the project And provide a
purpose or goal for the project. A project description must include a detailed description of
the project
Scope and what the project will do and how it will do it. Also included is information
regarding the stakeholders; those who have a vested interest in the project or will be
impacted by the project. The description of the project should contain a relatively detailed
timeline and task breakdown, including what will be done, when, and by whom. It is also
important to detail the end result of the project. What will the project produce or create for
the company?
2. Market Feasibility:
Does anyone need this product or service?
Does anybody want this product or service? Will anybody use it? Is there a similar
product/service currently available that will prevent project success? If your project
assumes customers will pay for use of a product/service, you must ensure that the market
exists. Where necessary, you must identify a pricing model and ensure similar
products/services are not currently available at a lower price. If you continue with the
project, investing time, money and resources, and nobody pays for the service, the project
will be a failure.
3. Team Feasibility:
What are your team's internal expectations for the campaign?
One of the most common challenges that non-profits face when preparing for a
fundraising campaign is a misalignment of internal expectations.
In fact, your organization risks fundraising failure if your executive leaders, staff, and
board aren't on the same page when it comes to important campaign goals and
expectations.
For example, as your non-profit prepares for the feasibility study your consultant should
determine if clarification is needed in areas such as:
● Campaign timeline.
● Fundraising goal.
● Stewardship strategy.
● Organizational growth strategies.
● Staffing assignments
● Board responsibilities.
If there are misunderstandings related to the campaign's fundraising plan. now is the time to iron
them out. By the time stakeholder interviews are conducted, your proposed fundraising plan
should be finalized and clearly understood by your whole team. After all, it different team
members are under different impressions of how the campaign will play out, the findings
collected during the study simply won't be useful.
4. Path :
What is a path forward with our non-profit consultant?
Your non-profit's feasibility study isn't over at the end of stakeholder interviews. After
your consultant has conducted interviews and gathered the findings of your study.
3.3 Project Planning:
Project planning is an organized and integrated management process, which focuses on
activities required for successful completion of the project. It prevents obstacles that arise
in the project such as changes in projects or organization's objectives, non-availability of
resources, and so on.

Project Planning Process


Project planning process consists of the following activities.
➔ Identification of project requirements: Before starting a project, it is essential to
identify the project requirements as identification of project requirements helps in
performing the activities in a systematic manner. These requirements comprise
information such as project scope, data and functionality required in the software. and
roles of the project management team members.
➔ Identification of cost estimates: Along with the estimation of effort and time, it is
necessary to estimate the cost that is to be incurred on a project. The cost estimation
includes the cost of hardware, network connections, and the cost required for the
maintenance of hardware components.
➔ Identification of risks: Risks are unexpected events that have an adverse effect on the
project. Software project involves several risks (like technical risks and business risks)
that affect the project schedule and increase the cost of the project.
➔ Identification of critical success factors: For making a project successful, critical
success factors are followed. These factors refer to the conditions that ensureBoronter che
greater chances of success of a project.
➔ Preparation of project charter: A project charter provides a brief description of the
project scope, quality, time, cost, and resource constraints as described during project
planning. It is prepared by the management for approval from the sponsor of the project.
➔ Preparation of project plan: A project plan provides information about the resources
that are available for the project, individuals involved in the project, and the schedule
according to which the project is to be carried out.
➔ Commencement of the project: Once the project planning is complete and resources are
assigned to team members, the software project commences.
3.2 Software Requirement Specification :
A SRS should be selected or defined at the starting of the Requirements Analysis. There is no
perfect SRS of any software, however a good SRS must have following characteristics:
1. Correct:
An SRS is correct if every requirement if every requirement included in the SRS
represents something required in the final system. Correctness ensure that what is
specified is done correctly, completeness ensures that everything is indeed
specified.
2. Complete:
An SRS is complete if this software is supposed to do the responses of the software
to all classes of input data are specified data into SRS.
3. Unambiguous (unmistakable):
An SRS is unambiguous if and only is every requirement stated or return has one
and only one interpretation.
4. Verifiable:
Verification of requirements is done through reviews. It also implies that an SRS is
understandable at least by the developer, by client and by the user.
5. Consistent:
An SRS is consistent if there is no requirement that conflict with another
terminology can cause in consistency. There may be logical conflict may be
requirement causing inconsistency.
Ranked of importance / Stability: An SRS is ranked for an importance a stable if
for each requirement the importance and stability of a requirements reflect a terms
of expected change stability of a requirement reflects in futures. Writing and SRS
is an interactive process, when the requirement systems are specified.
7. Modifiable:
They are later modified as the needs of the clients change. SRS should be easy to
modify. SRS is modifiable if its structures and style are such that any necessary
change can be made easily while continuing completeness and consistency.
8. Traceable:
An SRS is traceable if the origin of each of its requirement is clear and if it fulfil
the reference in of each requirement in feature development should be traceable to
some design and code element and back word traceability requirement. If be
possible to trace design and code element to the requirement.
9. Feasibility:
Though it may not be possible to confirm the feasibility of implementation of all
the requirements, any requirement which is apparent infeasible, should be
eliminated from SRS.
Sample SRS on ATM System
1. Introduction
1.1 Purpose of the ATM Software
1.2 Scope of the System
1.3 References
1.4 Overview of ATM System
2. General Description
2.1 Product Perspective.
2.2 Product Functions
2.3 User Characteristics
2.4 General Constraints
3. Specific Requirements
3.1 Functional Requirements
3.1.1 Introduction.
3.1.2 Inputs
3.1.3 Processing
3.1.4 Outputs
3.2 ExternalInterface Requirements
3.2.1 Hardware Interfaces
3.2.2 Software Interfaces
3.3 Performance requirements.
3.4 Design Constraints
3.4.1 Standard Compliance
3.4.2 Hardware Limitations 3.5 Attributes
3.5.1 Security
3.5.2 Maintainability 3.6 Other Requirement
CHAPTER SIX
FEASIBILITY STUDY
Once the problem is clearly understood, the next step is to conduct feasibility study, which
is high-level capsule version of the entered systems and design process. The objective is
to determine whether or not the proposed system is feasible. The tOBSee tests of feasibility
have been carried out.Technical FeasibilityEconomic FeasibilityOperational Feasibility
6.1. ECONOMIC FEASIBILITY :
As part of this, the costs and benefits associated with the proposed system compared
and the project is economically feasible only if tangible or intangible benefits outweigh costs.
The system development costs will be significant. So the proposed system is economically
feasible
6.2. TECHNICAL FEASIBILITY :
In Technical Feasibility study, one has to test whether the proposed system can be
developed using existing technology or not. It is planned to implement the proposed
system using java technology. It is evident that the necessary hardware and software are
available for development and implementation of the proposed system. Hence, the solution is
technically feasible.
6.3. OPERATIONAL FEASIBILITY :
It is a standard that ensures interoperability without stifling competition and innovation
among users, to the benefit of the public both in terms of cost and service quality. The
proposed system is acceptable to users. So the proposed system is operationally feasible.
CHAPTER SEVEN
SYSTEM ANALYSIS
7.1 GANTT CHART:
7.2 PERT CHART :
CHAPTER EIGHT
SYSTEM DESIGN
8.1 DATA FLOW DIAGRAM :
8.2 ENTITY RELATIONSHIP DIAGRAM :
CHAPTER NINE
TESTING
9.1 TEST PLAN
9.1.1 UNIT TESTING
9.1.2 INTEGRITY TESTING
9.1.3 SYSTEM TESTING
5.1 Introduction
Software testing is the process of evaluation a software item to detect differences between given
input and expected output. Also to assess the feature of A software item. Testing assesses the
quality of the product. Software testing is a process that should be done during the development
process. In other words, software testing is a verification and validation process.
5.2 Unit Testing
Unit testing is the testing of an individual unit or group of related units. It falls under the class of
white box testing. It is often done by the programmer to test that the unit he/she has implemented
is producing expected output against given input.
5.3 Integration Testing
Integration testing is testing in which a group of components are combined to produce output.
Also, the interaction between software and hardware is tested in integration testing if software and
hardware components have any relation. It may fall under both white box testing and black box
testing.
5.4 White box Testing
White-box testing (also known as clear box testing, glass box testing. transparent box testing and
structural testing, by seeing the source code] tests internal structures or workings of a program, as
opposed to the functionality exposed to the end-user. In white-box testing, an internal perspective
of the system, as well as programming skills, are used to design test cases.

5.5 Black box Testing


Black box testing is a testing technique that ignores the internal mechanism of the system and
focuses on the output generated against any input and execution of the system. It is also called
functional testing.Black box testing is often used for validation and white box testing is often used
for verification. One advantage of the black box technique is that no programming knowledge is
required. Whatever biases the programmers may have had, the tester likely has a different set and
may emphasize different areas of functionality. On the other hand, black-box testing has been said
to be like a walk in a dark labyrinth without a flashlight.
CHAPTER TEN
PROJECT IMPLEMENTATION
10.1 PRODUCT MODULES DESCRIPTION
10.2 DATABASE USED.
CHAPTER 11:
PROJECT MAINTENANCE

CHAPTER 12:
CONCLUSION
Conclusion and future scope
Conclusion
In this thesis we have tried to conclude various types of vulnerabilities exist in current scenario
and which type of security we are providing to overcome the vulnerabilities. Various security
aspects conclude in this thesis. Various tegories of vulnerabilities like physical, operational,
communicational vulnerabilities are studied and Various security issues are also studied and
concluded in our findings which may helpful to make the ATM transactions more safe and secure.
This thesis covering security and technical issues with ATM transaction. Because of our
particular experience in the area, we focused our research activities on ATM cards and
encryption, beginning with hardware vulnerability and security issues and then operational and
(xv) communicational vulnerability and security prospective and naturally continuing with
software aspects and operational issues of our present work.
Future Scope
The ATM technology has developed to such an extent that some ATMs can memorize consumer
preferences as per their past transactions, behaviour, and tailor services accordingly. In many
cases, ATMs have intemet scope which facilitates two way communications with live agents,
provide biometric options, and have the ability to demonstrate personalized advertisements.
Maintenance of web enabled ATMs are easy. These ATMs can be quickly connected to central
monitoring system of vendors.
Though ATM industry is growing rapidly, there are many challenges related to security issues of
the software, increase of rental costs by the day in major cities. housekeeping, and replenishment
of cash. Few banks have introduced biometric ATMs in rural India, which are quite secure and
easy to use by a common man.
CHAPTER 13:
REFERENCES

CHAPTER 14:
BIBLIORAPHY
Bibliography
Book Reference
Fundamentals of Software Engineering By Rajib Mall
Software EngineeringByIan Somerville
Analysis and Design of Information Systems By James
Senn
Website Reference
• www.google.com
•www.ask.com
•www.microsoft.com
•www.iit.edu.com

Note:
● Main Text Format and Size: Times New Roman 12
● Headings Text Format and Size: Times New Roman 14 BOLD
● Each image used in the report should be clear and should contain the name of
the image
● Draw any DFDs and ER diagram by your own. These diagrams should be
clear.
● Text should be justified align.
● There should be no grammatical errors in the report.
● Report should contain minimum 50 pages to max 60 pages.
● Any image taken from other sources must be referenced.
● Try to write unique report.
● This is a sample format of report structure, modify according to your Project.

Wish you Good Luck.

You might also like