Se Final Lab
Se Final Lab
1
2
Table of Contents
1. Objective and Abstract of the Project .....................................................................................5
Objective .................................................................................................................................5
Abstract ...................................................................................................................................5
2. Software Requirements Specifications (SRS) .............................................................................6
2.1 Introduction........................................................................................................................6
2.1.1 Purpose .......................................................................................................................6
2.1.2 Scope ..........................................................................................................................6
2.1.3 Definitions, Acronyms, and Abbreviations .....................................................................6
2.1.4 References ...................................................................................................................6
2.1.5 Overview ......................................................................................................................6
2.2 The Overall Description .......................................................................................................7
2.2.1 Product Perspective .....................................................................................................7
2.2.2 Product Functions ........................................................................................................7
2.2.3 User Characteristics .....................................................................................................7
2.2.4 Constraints ..................................................................................................................7
2.2.5 Assumptions and Dependencies ...................................................................................7
3.Functional Requirements.......................................................................................................8
3.1 Functional Requirements: ...................................................................................................8
3.1.1 User Authentication ......................................................................................................8
3.1.2 Cash Withdrawal ..........................................................................................................8
3.1.3 Balance Inquiry ............................................................................................................8
3.1.4 Fund Transfer ...............................................................................................................8
3.1.5 Mini-Statement Printing ................................................................................................8
3.1.6 Account Settings ..........................................................................................................8
3.1.7 Error Handling ..............................................................................................................8
3.2 External Interface Requirements .........................................................................................9
3.2.1 User Interfaces .............................................................................................................9
3.2.2 Hardware Interfaces .....................................................................................................9
3.2.3 Software Interfaces ......................................................................................................9
3.2.4 Communication Interfaces ...........................................................................................9
3.3 System Features .................................................................................................................9
3.3.1 User Interaction Features ........................................................................................... 10
3.3.2 Transaction Features .................................................................................................. 10
3
3.3.3 Operational Efficiency Features .................................................................................. 10
3.3.4 Security Features ....................................................................................................... 10
3.3.5 Compliance and Audit Features .................................................................................. 11
3.3.6 Maintenance and Support Features............................................................................. 11
3.3.7 Environmental Considerations .................................................................................... 11
3.4 Other Non-Functional Requirements ................................................................................. 11
3.4.1 Performance Requirements ........................................................................................ 11
3.4.2 Software System Attributes ......................................................................................... 11
3.4.3 Business Rules ........................................................................................................... 12
4. System and Architecture Design ............................................................................................. 13
4.1 Overview of Architecture ................................................................................................... 13
4.2 Hardware Components ..................................................................................................... 13
4.3 Software Components ...................................................................................................... 13
4.4 Interactions Between Components ................................................................................... 14
4.5 Architecture Diagram ........................................................................................................ 14
5. UML Diagrams........................................................................................................................ 16
5.1 Sequence Diagrams .......................................................................................................... 16
5.2 Activity Diagrams .............................................................................................................. 17
5.3 Use Case Diagrams........................................................................................................... 18
5.4 Class Diagrams ................................................................................................................ 18
5.5 Collaboration Diagrams .................................................................................................... 19
6. Data Flow Diagram ................................................................................................................. 20
6.1 Level 0 .............................................................................................................................. 20
6.2 Level 1 .............................................................................................................................. 21
6.3 Level 2 .............................................................................................................................. 22
7. Complete Design of ATM Application ...................................................................................... 24
7.1 Entities ............................................................................................................................. 24
7.1.1 User ........................................................................................................................... 24
7.1.2 ATM ........................................................................................................................... 25
7.1.3 Admin ........................................................................................................................ 25
7.2 Relationships.................................................................................................................... 25
7.2.1 User Uses ATM ........................................................................................................... 25
7.2.2 Admin Maintains ATM ................................................................................................. 25
8. Design of Test Cases .............................................................................................................. 26
9. Test Cases ............................................................................................................................. 29
10. Vulnerabilities and Analysis .................................................................................................. 31
4
1. Objective and Abstract of the Project
Objective
The objective of this project is to develop a robust Bank ATM Application that addresses the
limitations of current ATM systems by enhancing user experience, improving security, and
expanding available services. The application aims to provide a reliable and user-friendly
platform for customers to conduct financial transactions independently while integrating
advanced features like fund transfers and bill payments. By tackling issues such as confusing
interfaces, security vulnerabilities, and limited functionality, the project seeks to improve
customer satisfaction and trust in ATM services.
Abstract
As demand for convenient banking grows, traditional ATMs often fail to meet user expectations
due to poor interfaces, limited features, and security flaws. These issues can frustrate users and
pose risks to sensitive information, affecting overall trust in the service. This project proposes a
comprehensive Bank ATM Application designed to enhance user interaction and provide a
broader range of services, including fund transfers and bill payments. By prioritizing a seamless
user experience and implementing robust security measures, the application aims to meet
evolving customer needs and deliver a secure, versatile, and satisfying banking experience.
5
2. Software Requirements Specifications (SRS)
2.1 Introduction
2.1.1 Purpose
The purpose of this Bank ATM Application is to deliver a secure, efficient, and user-friendly
interface for customers to perform various banking activities, such as cash withdrawals, balance
inquiries, fund transfers, and obtaining account statements through ATM kiosks.
2.1.2 Scope
The ATM application will encompass the following functionalities:
• User authentication and security protocols
• Checking account balances
• Cash withdrawal and deposit functionalities
• Fund transfers between accounts
• Printing mini-statements
• Notifications regarding account maintenance
This application will integrate seamlessly with the bank's core systems to ensure real-time data
processing and retrieval.
2.1.4 References
• Banking security guidelines and standards
• User interface design standards for banking applications
• Compliance documents relevant to financial transactions
2.1.5 Overview
This document provides a comprehensive description of the ATM application, detailing its
functionalities, user roles, interface requirements, and non-functional requirements. It serves as a
guide for the development and implementation of the system.
6
2.2 The Overall Description
2.2.1 Product Perspective
The ATM Application is an integral part of the broader banking ecosystem, designed to enhance
customer service. It should:
• Interface securely with the bank’s existing systems.
• Implement stringent security measures for user authentication.
• Support offline functionality for limited transactions during connectivity disruptions.
2.2.4 Constraints
• Adherence to banking regulations for data protection and user privacy.
• Physical limitations regarding cash storage capacity within the ATM.
• Dependence on network connectivity for real-time updates and transaction processing.
7
3.Functional Requirements
3.1 Functional Requirements:
The functional requirements outline specific behaviors and functions the ATM application must
support:
8
• The system shall log all errors and unusual activities for auditing purposes.
9
3.3.1 User Interaction Features
• 3.3.1.1 User-Friendly Interface: The application will feature an intuitive interface
that allows users to navigate easily through options with clear visual cues and minimal
steps.
• 3.3.1.2 Multilingual Support: Users will have the option to select from multiple
languages, catering to diverse user demographics and enhancing accessibility.
• 3.3.1.3 Transaction Guidance: The system will provide step-by-step instructions
during transactions to assist users, ensuring a smooth and understandable process.
10
• 3.3.4.4 Session Timeout: Automatic logout features will terminate sessions after
periods of inactivity to safeguard user data.
11
3.4.2.2 Availability
The system must achieve an uptime of 99.9%, ensuring it is available for user transactions as
needed.
3.4.2.3 Security
Robust data encryption and secure transaction protocols are mandatory to protect user data and
financial information.
3.4.2.4 Maintainability
The software should facilitate easy updates and maintenance processes to minimize user
disruption.
12
4. System and Architecture Design
This section will describe the overall architecture of the ATM application, highlighting hardware
and software components, their interactions, and how they support secure and efficient banking
operations.
13
• Application Software: The core ATM application that implements business logic, user
interface management, and communication with databases and external systems.
• Database Management System (DBMS): A secure database solution to manage
customer account data and transaction logs, ensuring data integrity and compliance with
regulations.
14
15
5. UML Diagrams
The UML Diagrams section will provide detailed diagrams representing the structure and
behavior of the ATM application, including:
16
5.2 Activity Diagrams
Illustrating workflows for user interactions.
17
5.3 Use Case Diagrams
Representing interactions between users and system functionalities.
18
5.5 Collaboration Diagrams
Highlighting the interactions between components during transactions.
19
6. Data Flow Diagram
The Data Flow Diagram (DFD) will outline how information flows through the ATM application,
detailing processes such as user authentication, balance inquiries, and cash withdrawals.
6.1 Level 0
This level provides a high-level view of the ATM system, representing it as a single process. It
shows interactions between the ATM and external entities, such as bank customers and the
banking system.
Components:
• External Entities: Customer, Banking System
• Process: ATM System
• Data Flows:
o Customer to ATM: Transaction requests (e.g., withdrawal request)
o ATM to Customer: Transaction responses (e.g., cash dispensed)
o ATM to Banking System: Requests for transaction validation
o Banking System to ATM: Confirmation of transaction success or failure
20
6.2 Level 1
This level breaks down the main ATM process from Level 0 into sub-processes, detailing key
functions such as authentication and transaction processing.
Components:
• Processes:
o Authenticate User
o Process Transaction
o Manage User Interface
• Data Stores:
o Customer Account Database
o Transaction Log
• External Entities: Customer, Banking System
• Data Flows:
o Customer to Authenticate User: PIN and card details
o Authenticate User to Customer Account Database: Verification of user
credentials
o Process Transaction to Customer Account Database: Update account balance
o Process Transaction to Banking System: Sends transaction details
21
6.3 Level 2
This level provides a more detailed view by breaking down the processes from Level 1 into finer
sub-processes.
Components:
• Processes:
o Validate Card
o Check PIN
o Withdraw Cash
o Deposit Funds
o Print Receipt
• Data Stores:
o Customer Account Database
o Transaction Log
• External Entities: Customer, Banking System
22
• Data Flows:
o Customer to Validate Card: Card information
o Validate Card to Check PIN: Successful card validation
o Check PIN to Customer Account Database: Retrieves account data
o Withdraw Cash to Customer Account Database: Updates account balance
o Deposit Funds to Customer Account Database: Updates account after deposit
23
7. Complete Design of ATM Application
The Entity Relationship Diagram (ERD) is a foundational element of the system design process
for the ATM application, providing a comprehensive visual representation of the data structure. It
outlines the various entities involved in the system, detailing not only their names but also the
attributes associated with each entity. For instance, entities such as User, ATM, and Admin are
represented, with the User entity including attributes like Name, Password, Account Number
(Acc No), Expiration Date (Exp Date), and Balance. The ERD also illustrates the relationships
between these entities, demonstrating how they interact within the application. This diagram
serves as a blueprint for how data will be stored, organized, and accessed, facilitating effective
database design and implementation.
7.1 Entities
7.1.1 User
Represents an ATM user and has several associated attributes:
• Name: The name of the user.
24
• Password: The password for authentication.
• AccNo (Account Number): The user's bank account number.
• ExpDate (Expiration Date): The expiration date of the user’s card.
• Balance: The balance in the user's account.
7.1.2 ATM
Represents the ATM machine itself, showing its role in the system but without direct
attributes in the diagram.
7.1.3 Admin
Represents an administrative entity for maintaining the ATM and its operations:
• LoginId: The login identifier for the administrator.
• Password: The password used for admin authentication.
7.2 Relationships
7.2.1 User Uses ATM
This relationship is indicated by the diamond symbol labeled "Uses." It suggests that a
user interacts with the ATM to perform transactions.
25
8. Design of Test Cases
The test cases for the ATM application are designed to validate both functional and non-
functional requirements, ensuring the system operates correctly under various scenarios. Below
are examples of the test cases, including the input and expected output.
26
Test Case 7: Deposit Funds
• Input: User deposits $500 into their account
• Expected Output: Balance updated, deposit confirmation message displayed
27
Test Case 15: Concurrent Transactions
• Input: Multiple users attempt to perform transactions simultaneously on different ATMs
• Expected Output: Each transaction processed independently without any errors
These test cases aim to cover a wide range of functionalities, ensuring that the ATM application
meets user requirements and handles errors effectively, providing a secure and reliable banking
experience.
28
9. Test Cases
This section will outline test scenarios for validating the ATM application’s functionalities,
ensuring compliance with requirements and performance expectations. It will include specific
cases for user authentication, cash withdrawals, fund transfers, and error handling.
29
User Authentication User enters correct card and PIN Access granted
Failed User fails to authenticate after Account locked, error message
Authentication multiple attempts
View Balance User requests to view current Balance displayed
balance
Network Failure ATM loses connection during a Transaction aborted, error
transaction message
Concurrent Multiple users attempt Each transaction processed
Transactions transactions simultaneously independently
Check Transaction User checks transaction history List of recent transactions
History displayed
Currency Selection User selects a specific Cash dispensed in selected
denomination for withdrawal denomination
User Guidance System prompts user with Appropriate guidance messages
Messages guidance messages displayed
Invalid Amount User attempts to withdraw an Transaction denied, error
invalid amount message
30
10. Vulnerabilities and Analysis
ATM systems, despite being critical components of the banking infrastructure, are often
vulnerable to various security risks. These vulnerabilities can lead to significant financial losses
and undermine customer trust. Analyzing these risks helps in implementing robust security
measures to protect both the bank and its customers. Below are some common vulnerabilities in
ATM applications and the analysis of potential threats:
31
10.4. User Authentication Weaknesses
• Brute Force Attacks: Hackers may attempt to guess a user’s PIN using automated tools,
especially if the ATM application lacks mechanisms to detect and block such attempts.
• Weak PINs: Users may select easily guessable PINs, increasing the risk of unauthorized
access. Without measures like PIN retry limits, an attacker could potentially guess the
PIN through repeated attempts.
Analysis: To mitigate these risks, ATMs should enforce strong PIN policies and implement
account lockout mechanisms after a limited number of failed attempts. Multi-factor
authentication (MFA) can also add an extra layer of security.
Conclusion
While ATM systems are integral to modern banking, their vulnerabilities pose significant risks to
both financial institutions and customers. A comprehensive approach to security—including
physical safeguards, regular software updates, strong encryption, robust authentication methods,
and continuous monitoring—is essential to address these threats. By understanding and
mitigating these vulnerabilities, banks can enhance the security of their ATM networks, thereby
ensuring a safer and more reliable banking experience for users.
32