Download as pdf or txt
Download as pdf or txt
You are on page 1of 18

Software Requirements

Specification
For

HDFC- Banking System


Software Requirements Specification for <ATM> - ii -

Table of Contents

1. Introduction ..............................................................................................................................1
1.1 Purpose.................................................................................................................................1
1.2 Document Conventions ........................................................................................................1
1.3 Intended Audience and Reading Suggestions ......................................................................1
1.4 Definitions, acronyms, abbreviations ..................................................................................1
1.5 Scope…………………………………………………………………………………… 3
2. Overall Description ..................................................................................................................3
2.1 Product Perspective ..............................................................................................................3
2.2 Product Features...................................................................................................................5
2.3 User Classes and Characteristics .........................................................................................7
2.4 Operating Environment ........................................................................................................7
2.5 Design and Implementation Constraints ..............................................................................8
2.6 Assumptions and Dependencies ..........................................................................................9
3. Specific Requirements .............................................................................................................7
3.1 Functional Requirement .......................................................................................................7
3.2 Requirements of the Hdfc banking system…………………………………… ………..11
4. External Interface Requirements .........................................................................................14
4.1 User Interfaces ...................................................................................................................14
4.2 Hardware Interfaces ...........................................................................................................14
4.3 Software Interfaces ............................................................................................................15
5. Other Nonfunctional Requirements .....................................................................................15
5.1 Performance Requirements ................................................................................................15
5.2 Safety Requirements ..........................................................................................................15
5.3 Security Requirements .......................................................................................................16
5.4 Software Quality Attributes ...............................................................................................16
6. Other Requirements ..............................................................................................................16
Software Requirements Specification for <ATM> Page 1

1.Introduction

1.1 Purpose

This document describes the software requirements and specification for an HDFC Banking
System.

1.2 Document Conventions: font: TNR 11

1.3 Intended Audience and Reading Suggestions

The document is intended for all the stakeholders customer and the developer (designers, testers,
maintainers). The reader is assumed to have basic knowledge of banking accounts and account
services. Knowledge and understanding of UML diagrams is also required.

1.4 Definitions, abbreviations

1.4.1 Definitions

• Account
A single account in a bank against which transactions can be applied. Accounts may be of various
types with at least checking and savings. A customer can hold more than one account.

• ATM
A station that allows customers to enter their own transactions using cash cards as identification.
The ATM interacts with the customer to gather transaction information, sends the transaction
information to the central computer for validation and processing, and dispenses cash to the
customer. We assume that an ATM need not operate independently of the network.

• Bank
A financial institution that holds accounts for customers and that issues cash cards authorizing
access to accounts over the ATM network.

• Bank computer
Software Requirements Specification for <ATM> Page 2

The computer owned by a bank that interfaces with the ATM network and the bank’s own cashier
stations. A bank may actually have its own internal network of computers to process accounts, but
we are only concerned with the one that interacts with the network.

• Cash Card
A card assigned to a bank customer that authorizes access to accounts using an ATM Machine.
Each card contains a bank code and a card number, coded in accordance with national standards on
credit cards and cash cards. The bank code uniquely identifies the bank within the consortium. The
card number determines the accounts that the card can access. A card does not necessarily access all
of a customer’s accounts. Each cash card is owned by a single customer, but multiple copies of it
may exist, so the possibility of simultaneous use of the same card from different machines must be
considered.

• Customer
The holder of one or more accounts in a bank. A customer can consist of one or more persons or
corporations, the correspondence is not relevant to this problem. The same person holding an
account at a different bank is considered a different customer.

• Transaction
A single integral request for operations on the accounts of a single customer. We only specified that
ATMs must dispense cash, but we should not preclude the possibility of printing checks or
accepting cash or checks. We may also want to provide the flexibility to operate on accounts of
different customers, although it is not required yet. The different operations must balance properly.

1.4.2 Abbreviations

Throughout this document the following abbreviations are used:


HDFC - Housing Development Finance Corporation
SRS - Software Requirements Specification
UI - User Interface
UX - User Experience
DB - Database
API - Application Programming Interface
GUI - Graphical User Interface
SQL - Structured Query Language
Software Requirements Specification for <ATM> Page 3

1.5 Project Scope

This Product will automate of banking transaction process. This Project investigates the
entrythreshold for providing a new transaction service channel via the real options approach,where
the entry threshold is established by using an Internet banking system designed for theuse of normal
users(individuals), Industrialists, Entrepreneurs, Educational Institutions(Financialsections),
Organizations and Academicians under transaction rate uncertainty

2. Overall Description

2.1 Product Perspective

The client will have client interface in which he can interact with the banking sys tem. It is a web
based interface which will be the web page of the banking application. Starting a page is displayed
asking the type of customer he is whether ordinary or a corporate customer. Then the page is
redirected to login page where the user can enter the login details. If the login particulars are valid
then the user is taken to a home page where he has the entire transaction list that he can perform
with the bank. All the above activities come under the client interface.
Communication interface:
The HDFC banking system utilizes HTTPS/TLS protocols and RESTful APIs for secure
communication between ATMs and its infrastructure, ensuring encrypted data transfer and efficient
transaction processing.
Software interface:
1. Any windows and mac operating system.
2. The PHP must be installed. For the database handling MYSQL must be installed. These
products are open source products.
3. The final application must be packaged in a set up program, so that the products can be easily
installed on machines. This application must be networked to corresponding banks.
Hardware interface: Various interfaces for the product could be
1. Touch screen/Monitor
2. Keypad
3. Continuous battery backup
4. Printer which can produce the hard copy.
Software Requirements Specification for <ATM> Page 4

5. Interface that connects the device to bank’s computer.


6. An interface that can count currency notes

User interfaces
Online Banking Web Portal:

• This UI allows users to access their HDFC bank accounts through a web browser on their
desktop or mobile device.

• Features could include account balances, transaction history, fund transfers, bill payments,
account settings, and customer support.

• Design considerations should prioritize accessibility, responsiveness across devices, and


intuitive navigation.

Mobile Banking App:

• This UI provides users with a dedicated mobile application for managing their HDFC bank
accounts on smartphones and tablets.

• Key functionalities may include account overview, fund transfers, mobile check deposit,
ATM/Branch locator, personalized notifications, and biometric authentication.

• The UI design should focus on simplicity, ease of use with touch interactions, and
integration of native mobile features like GPS and camera.

Interactive Voice Response (IVR) System:

• This UI offers a telephone-based interface allowing customers to interact with the HDFC
banking system using spoken commands or keypad inputs.

• Functions may include balance inquiries, fund transfers, bill payments, card activations, and
other basic banking tasks.

• Design considerations should ensure clear audio prompts, intuitive menu structures, and
robust error handling for user inputs.
Software Requirements Specification for <ATM> Page 5

2.2 Product Features

24/7 Availability:

• The HDFC ATM system ensures round-the-clock availability, allowing customers to


perform transactions at any time.
Customer Authentication:

• Customers are authenticated using a combination of a cash card and password to access
ATM services securely.
Software Requirements Specification for <ATM> Page 6
Software Requirements Specification for <ATM> Page 7

2.3 User Classes and Characteristics

Regular Customers:

• Individuals or businesses holding accounts with HDFC bank.

• Perform routine banking tasks like balance checks, fund transfers, and bill payments.

HDFC Staff/Administrators:

• Bank employees managing customer accounts, transactions, and compliance.

• Access internal applications with elevated privileges.

Third-Party Developers/Partners:

• External entities like developers or vendors integrating with HDFC systems.

• Develop applications or services to extend banking functionality.

2.4 Operating Environment

Web Browser Environment:

• Users access banking services through web browsers on various devices (desktops, laptops,
tablets, smartphones).

• Supported browsers may include Google Chrome, Mozilla Firefox, Apple Safari, Microsoft
Edge, and others.
Mobile Application Environment:

• HDFC provides dedicated mobile banking applications for smartphones and tablets.

• Supported platforms may include iOS for Apple devices and Android for other smartphones
and tablets.
Server Environment:

• The banking system operates on server infrastructure hosted by HDFC or third-party cloud
providers.
Software Requirements Specification for <ATM> Page 8

• Servers may run on operating systems like Linux, Windows Server, or other compatible
platforms.

2.5 Design and Implementation Constraints

• Login
Validate Bank Card:

• Validate for Card Expiration Date

• Validate that the card's expiration date is later than today's date

• If card is expired, prompt error message "Card is expired"

Validate for Stolen or Lost Card:

• Validate that the card is not reported lost or stolen

• If card is lost, prompt error message, "Card has been reported lost"

• If card is stolen, prompt error message, "Card has been reported stolen"
Validate for Disabled Card:

• Validate that the card is not disabled

• If card is disabled, prompt error message, "Card has been disabled as of <expiration date>"
Validate for Locked Account:

• Validate that the account is not locked

• If account is locked, prompt error message "Account is locked"


Validate PIN:

• Validate that the password is not blank

• If PIN is blank, prompt error message "Please provide PIN"

• Validate that the password entered matches the password on file

• If password does not match, prompt error message "Password is Incorrect"


Lock Account:

• If number of consecutive unsuccessful logins exceeds three attempts, lock account


Software Requirements Specification for <ATM> Page 9

• Maintain Consecutive Unsuccessful Login Counter

• Increment Login Counter

• For every consecutive Login attempt, increment logic counter by 1.

• Reset login counter to 0 after login is successful.

• Get Balance Information

• Withdraw Cash

• Transfer Funds

2.6Assumptions and Dependencies

• Hardware never fails

• ATM casing is impenetrable

• Limited number of transactions per day (sufficient paper for receipts)

• Limited amount of money withdrawn per day (sufficient money)

3. Specific Requirements

3.1 Functional Requirements

3.1.1 Requirements of the Hdfc banking system

Functional Requirement 1:
• Description: The system should allow customers to create a new account.
• Input: Customer's personal information such as name, address, and identification details.
• Processing: Validate the input data and generate a unique account ID.
• Output: Confirmation message displaying the newly created account details.

Functional Requirement 2:
• Description: Customers should be able to log in securely to their accounts.
• Input: Username and password.
Software Requirements Specification for <ATM> Page 10

• Processing: Verify the entered credentials against the database.


• Output: Grant access to the account dashboard upon successful authentication.

Functional Requirement 3:
• Description: Customers should be able to view their account balance.
• Input: Request for account balance.
• Processing: Retrieve the account balance associated with the logged-in customer.
• Output: Display the current account balance on the screen.

Functional Requirement 4:
• Description: The system should facilitate fund transfers between HDFC accounts.
• Input: Source and destination account details, transfer amount.
• Processing: Deduct the transfer amount from the source account and credit it to the destination
account.
• Output: Confirmation message for the successful fund transfer.

Functional Requirement 5:
• Description: Customers should be able to transfer funds to other bank accounts.
• Input: Beneficiary account details, transfer amount.
• Processing: Initiate a transaction to transfer the specified amount to the designated external bank
account.
• Output: Confirmation message upon successful fund transfer.

Functional Requirement 6:
• Description: The system should allow customers to pay utility bills online.
• Input: Bill details including biller name, account number, and amount.
• Processing: Initiate a transaction to transfer the specified amount to the designated biller.
• Output: Confirmation message upon successful bill payment.
Software Requirements Specification for <ATM> Page 11

Functional Requirement 7:
• Description: Customers should be able to apply for new debit or credit cards.
• Input: Card type (debit/credit), delivery address.
• Processing: Generate a new card and dispatch it to the provided address.
• Output: Confirmation message indicating the successful card application.

Functional Requirement 8:
• Description: Customers should be able to update their personal information.
• Input: Updated personal details such as address, phone number, etc.
• Processing: Validate and update the customer's information in the database.
• Output: Confirmation message for the successful update.

Functional Requirement 9:
• Description: The system should provide transaction history for customers.
• Input: Request for transaction history.
• Processing: Retrieve and display the transaction records associated with the logged-in customer.
• Output: Display the transaction history on the screen.

Functional Requirement 10:


• Description: Customers should be able to set up recurring payments.
• Input: Frequency and amount of the recurring payment, beneficiary details.
• Processing: Schedule automatic transfers according to the specified frequency.
• Output: Confirmation message for successful setup of recurring payments.

Functional Requirement 11:


• Description: The system should provide a secure messaging feature for customer inquiries.
Software Requirements Specification for <ATM> Page 12

• Input: Customer query or issue description.


• Processing: Route the query to the appropriate support channel (e.g., chat support, email support).
• Output: Resolution of the customer query or guidance provided through the support channel.

Functional Requirement 12:


• Description: Customers should be able to apply for loans or credit facilities.
• Input: Loan type, amount, repayment period, and supporting documents.
• Processing: Evaluate the application based on predefined criteria and provide approval/rejection.
• Output: Notification of loan approval or rejection to the customer.

Functional Requirement 13:


• Description: The system should allow customers to set up account alerts and notifications.
• Input: Preferences for types of alerts (e.g., balance alerts, transaction alerts).
• Processing: Configure the system to send alerts based on the specified preferences.
• Output: Delivery of alerts through chosen communication channels (e.g., email, SMS).

Functional Requirement 14:


• Description: Customers should be able to request for cheque books.
• Input: Number of cheque leaves required.
• Processing: Generate a new cheque book and dispatch it to the customer's address.
• Output: Confirmation message indicating successful cheque book request.

Functional Requirement 15:


• Description: The system should support multi-factor authentication for enhanced security.
• Input: Additional authentication factors such as OTP (One-Time Password), biometric
verification.
• Processing: Validate the additional authentication factors before granting access to sensitive
operations.
Software Requirements Specification for <ATM> Page 13

• Output: Access granted upon successful multi-factor authentication.

Functional Requirement 16:


• Description: Customers should be able to initiate stop payments for issued cheques.
• Input: Cheque details including cheque number, amount, and beneficiary.
• Processing: Mark the specified cheque as "stopped" to prevent its encashment.
• Output: Confirmation message for successful stop payment initiation.

Functional Requirement 17:


• Description: The system should provide investment options for customers.
• Input: Investment preferences, risk tolerance, and investment amount.
• Processing: Recommend suitable investment products based on the customer's profile.
• Output: Display investment options and facilitate investment transactions.

Functional Requirement 18:


• Description: Customers should be able to apply for various banking services online.
• Input: Service type (e.g., fixed deposit, recurring deposit, locker facility), required details.
• Processing: Process the service application according to the specified requirements.
• Output: Confirmation message indicating successful application submission.

Functional Requirement 19:


• Description: The system should support international fund transfers.
• Input: Beneficiary bank details, SWIFT/BIC code, transfer amount.
• Processing: Initiate an international transfer according to regulatory guidelines.
• Output: Confirmation message upon successful international fund transfer.

Functional Requirement 20:


Software Requirements Specification for <ATM> Page 14

• Description: The system should provide real-time customer support through chatbots.
• Input: Customer query or issue description.
• Processing: Use natural language processing to understand and respond to customer inquiries.
• Output: Resolution of the customer query or escalation to human support if necessary.

4. External Interface Requirements

4.1 User Interfaces

The customer user interface for HDFC Banking should prioritize ease of use, ensuring that 99.9% of
all new users can complete their banking transactions without assistance. Key features of the user
interface include:

• Intuitive navigation and layout for easy transaction completion.

• Clear instructions and prompts guiding users through each step.

• Accessibility features to accommodate users with disabilities.

• Multilingual support to cater to a diverse customer base.

• Visual cues and feedback to enhance user understanding and confidence.

4.2 Hardware Interfaces

The hardware used in HDFC Banking systems should meet the following specifications:

• Ability to read ATM cards securely and accurately.

• Currency note counting functionality to process deposits and withdrawals.

• Touchscreen interface for convenient interaction.

• Physical keypad as an alternative input method in case of touchscreen failure.

• Reliable and continuous power supply to ensure uninterrupted service.


Software Requirements Specification for <ATM> Page 15

• Connectivity to HDFC Bank's network for real-time transaction processing and data
synchronization.

• Capability to accept user inputs such as PIN codes and transaction amounts securely.

• Biometric or card reader for user authentication and validation.

4.3 Software Interfaces

The software interfaces for HDFC Banking systems are tailored to integrate seamlessly with the
bank's proprietary software solutions. Key aspects include:

• API integration with core banking systems for account management, transaction processing,
and data retrieval.

• Compatibility with existing banking applications for online banking, mobile banking, and
other digital services..

5. Other Nonfunctional Requirements

5.1 Performance Requirements

The HDFC online banking system must be capable of functioning efficiently in adverse conditions,
including high/low temperatures, to ensure continuous service availability.

• Uninterrupted connections must be maintained to provide seamless access to online banking


services.

• The system should support high data transfer rates to facilitate swift and reliable transaction
processing.

5.2 Safety Requirements

Physical security measures must be implemented to ensure the safety of the online banking system:

• The system's servers and infrastructure must be securely housed in data centers or facilities
with controlled access.

• Data centers should be equipped with robust security features such as surveillance cameras,
access control systems, and physical barriers to prevent unauthorized entry.

• Emergency communication channels, such as dedicated phone lines or intercom systems,


should be available for immediate assistance in case of emergencies.
Software Requirements Specification for <ATM> Page 16

Physical access to critical infrastructure areas should be restricted to authorized personnel only.

5.3 Security Requirements

Stringent measures must be in place to safeguard user accessibility and protect sensitive
information:

• User authentication mechanisms, such as secure login credentials and multi-factor


authentication, should be implemented to verify user identity.

• Users must be prompted to change their login credentials, including passwords and PINs,
upon initial login to enhance security.

• Users should be educated about the importance of keeping their login credentials
confidential and advised against sharing them with anyone.

• The online banking system should enforce limits on the number of login attempts to mitigate
the risk of unauthorized access.

5.4 Software Quality Attributes

Security.
Performance.

5.4.1 Availability: The network has to be available 24 hours a day.

5.4.2 Security: The banking system should provide maximal security .In order to make that much
more transparent there are the following requirements:
1. It must be impossible to plug into the network.
5.4.3 Maintainability: Only authorized maintainers or administrators should be allowed to access
and modify the online banking system to ensure its integrity and stability.
Other Requirements
6.1 Data Base
The HDFC online banking system must support multiple database formats used by various banks
and ensure that transactions adhere to the ACID properties (Atomicity, Consistency, Isolation,
Durability) for data integrity and reliability.

You might also like