Srs 2

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 3

1.

Introduction
1.1 Purpose

The purpose of this document is to outline the software requirement for the
development of an ATM simulation system in Python.

1.2 Scope

The ATM simulation system aims to replicate the functionality of a real world
Automated Teller Machine, allowing user to perform basic banking operations
such as withdrawing cash, checking account balance, and depositing funds.

2. Functional Requirements
2.1 User Authentication

1. The system shall authenticate users with a valid ATM card and PIN.

2. Users will be allowed three attempts to enter a correct PIN

. After three failed attempts, the system will lock the user account

. temporarily.

2.2 Account Operations


1. Users shall be able to check their account balance.
2. Users shall be able to withdraw cash from their account.
3. Users shall be able to deposit funds into their account.
2.3 Transaction History
1. The system shall maintain a transaction history for each account
including details such as date, time, type of transaction and amount.
2.4 Account Management
1. Users shall be able to change their PIN.
2. Users shall be able to view account details.
3. Non-Functional Requirement
3.1 Performance
1. The system shall respond to user inputs within 2 seconds.
2. The system shall handle at least 100 concurrent users.
3.2 Reliability
1. The system shall be available 99.9% of the time.
2. Backup and recovery procedures shall be in place to ensure data integrity.
3.3 Security
1. User authentication information shall be securely stores and encrypted.
2. All communication between the client and server shall be encrypted.

4. System Behavior
4.1 Login
1. Upon successful authentication, users shall be granted access to their
. accounts.
2. After three unsuccessful login attempt, user’s account shall be temporarily
. locked.
4.2 Withdrawal
1. User shall select the withdrawal amount.
2. The system shall dispense the requested amount if sufficient funds are
. available.
4.3 Deposit
1. User shall insert cash into the ATM.
2. The system shall update the account balance accordingly.
5. Constraints
1. The system shall only support transaction in the local currency.
2. The ATM simulation will not involve physical cash handling; it’s a
. software simulation.

6. Interfaces
1. The system shall provide a user-friendly interface for users to interact
. with.
2. The system shall communicate with the database to store and retrieve
. user account information.

7. Conclusion
This Software Requirement Specification outline the functional and non-
functional requirement for the development of an ATM simulation
system in Python. It serves as a foundation for the design and
implementation of the system.

You might also like