0% found this document useful (0 votes)
50 views17 pages

Cep Report Final

Uploaded by

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

Cep Report Final

Uploaded by

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

BANKING MANAGEMENT SYSTEM

CEP Report
By
NAME Registration Number
Muhammad Azaz CUI/ FA20-EEE-030/ATD
Azazullah Asif CUI/ FA23-BCE-055/ATD
Fahad Aftab Sethi CUI/ FA23-BCE-065/ATD
Ikram Zeb CUI/ FA23-BCE-066/ATD

For the course

Object Oriented Programming


Semester Fall 2024
Supervised by:
Dr. Syed Shahid Mustafa

Department of Electrical & Computer


Engineering
COMSATS University Islamabad – Abbottabad
Campus
DECLARATION

We Muhammad Azaz (CUI/FA20-EEE-030/ATD), Azazullah Asif (CUI/FA23-BCE-


055/ATD), Fahad Aftab Sethi (CUI/FA23-BCE-065/ATD) and Ikram Zeb (CUI/FA23-
BCE-066/ATD) hereby declare that we have produced the work presented in this report,
during the scheduled period of study. We also declare that we have not taken any
material from any source except referred to wherever due. If a violation of rules has
occurred in this report, we shall be liable to punishable action.

Date: _________________
_________________
Muhammad Azaz
(CUI/ FA20-EEE-030/ATD)

_________________
Azazullah Asif
(CUI/ FA23-BCE-055/ATD)

_________________
Fahad Aftab Sethi
(CUI/ FA23-BCE-055/ATD)

_________________
Ikram Zeb
ii
(CUI/ FA23-BCE-055/ATD)

ABSTRACT
The Banking Management System (BMS) project is an innovative solution designed to
transform traditional banking operations through automation and digitalization,
ultimately enhancing customer experience and operational efficiency. This system
addresses the increasing demand for streamlined banking services in an era where
customers expect immediate access to their financial information and the ability to
conduct transactions swiftly and securely. The BMS incorporates essential features such
as customer account management, transaction processing, loan management, and
customer relationship management into a single, user-friendly platform.
The primary objective of this project is to reduce the dependency on manual processes,
which are often time-consuming and prone to errors. By automating routine tasks like
account creation, fund transfers, and transaction monitoring, the BMS empowers bank
employees to dedicate more time to customer service and relationship-building activities,
thereby driving business growth. In addition, the system employs advanced security
protocols, including multi-factor authentication and encryption, to safeguard sensitive
customer information and comply with industry regulations.
Moreover, the BMS features real-time reporting and analytics tools, providing bank
management with insights into financial performance, customer behavior, and market
trends. This data-driven approach enables informed decision-making and the
development of tailored banking products that meet evolving customer needs.
Furthermore, with the inclusion of mobile banking capabilities, customers can access
their accounts, conduct transactions, and receive support anytime, anywhere, enhancing
their overall banking experience.
In conclusion, the Banking Management System project represents a significant leap
forward in modern banking practices, combining efficiency, security, and customer-
centric design. By implementing this comprehensive system, financial institutions can
improve operational performance, foster customer loyalty, and maintain a competitive
edge in a rapidly evolving market.

iii
iv
TABLE OF CONTENTS

1 Introduction.................................................................................................................1

2 Literature Survey........................................................................................................2

3 Proposed Methodology...............................................................................................3

4 Simulation Results.......................................................................................................4

5. Conclusions..................................................................................................................5

6. References.....................................................................................................................6

7. Appendix........................................................................................................................7

v
LIST OF FIGURES

Fig: 1.1 Title of the Picture...............................................................................................1

Fig: 3.1 Single Block Diagram..........................................................................................3

Fig: 3.2 Circuit Diagram...................................................................................................3

Fig: 3.3 Flow chart.............................................................................................................3

Fig: 4.1 Simulation results1..............................................................................................4

Fig: 4.1 Simulation results2.................................................................................................4

vi
1 Introduction
A Banking Management System is a software application designed to automate and
streamline the operations of a bank. It allows customers to manage their accounts,
perform transactions like deposits, withdrawals, and fund transfers, and access their
transaction history. The system ensures secure access through user authentication and
provides a simple interface for both customers and bank staff. Developed in C++, the
system aims to improve the efficiency, accuracy, and security of banking operations.

This project contains the banking information like Account number , Account holder
details, Initial amount in the specific account. Also, this project perform tasks that are
mandatory in banking management system like update account, delete account and show
the list of all accounts

1.1 Objectives
The aim of the Banking Management System project is to design and develop a C++
based system that automates core-banking operations such as account management,
transactions, and security, ensuring efficiency, security, and ease of use. The objectives
include creating, updating, and managing customer accounts; supporting deposits,
withdrawals, and fund transfers; implementing user authentication for secure access;
maintaining and displaying transaction records; developing a simple and intuitive
interface for users; validating inputs and managing errors in transactions; and generating
transaction and account activity reports.

1.2 Features and Cost Estimate of our Project


Features: The Banking Management System includes features like account management
(creating, updating, and searching accounts), transaction handling (deposits, withdrawals,
and transfers), user authentication and input validation for security, balance checking,
error handling (e.g., insufficient funds), report generation (transaction and account
reports), and a simple, user-friendly interface for both customers and bank staff.

Cost Estimate:
Development
450,000 PKR – 1,350,000 PKR
Software&Tools:
0 PKR – 90,000 PKR
Hardware:
0 PKR – 150,000 PKR
Testing:
0 PKR – 60,000 PKR
Total cost:
600,000 PKR – 1,800,000 PKR

1
2 Literature Survey
1. Banking System Software:
Traditional vs. Digital Banking Systems: According to studies, traditional banking
systems have moved from paper-based processes to digital solutions for greater
efficiency, transparency, and customer satisfaction. Digital banking systems, which
automate core functions such as transactions, account management, and security, have
become widely adopted.
Core Banking Solutions (CBS): Many banks utilize core-banking solutions that
integrate all banking operations into a centralized platform. This includes customer
account management, loan processing, transaction handling, and reporting. Core banking
solutions reduce operational costs, improve data accuracy, and provide better customer
services.

2. Security and Authentication:


Authentication Mechanisms: Several studies focus on the importance of strong
authentication systems in banking software to prevent unauthorized access. Multi-factor
authentication (MFA) and biometric authentication methods (like fingerprint or facial
recognition) are increasingly being implemented for enhanced security in digital banking
systems.
Data Encryption: To protect sensitive customer data during transactions, encryption
algorithms (such as AES or RSA) are used. Research in this area emphasizes the role of
encryption in maintaining the integrity and confidentiality of financial data.

3. Transaction Handling and Data Integrity:


Transaction Management Systems: Transaction handling is central to banking systems,
and several approaches have been proposed for improving transaction reliability and
reducing fraud. Databases like MySQL and PostgreSQL are often used for storing
transaction data, while methods such as ACID (Atomicity, Consistency, Isolation, and
Durability) are applied to ensure data integrity.
Distributed Ledger Technology (Blockchain): Some studies have explored the use of
blockchain for secure, transparent, and decentralized transaction processing.
Blockchain’s ability to prevent tampering and fraud makes it an area of interest in
modern banking systems.

4. Challenges in Banking Software Development:


System Integration: Integrating new banking software with existing legacy systems can
be challenging, requiring careful planning to avoid disruptions in service and maintain
data consistency.
Regulatory Compliance: Banks must comply with various legal and regulatory
requirements, such as GDPR (General Data Protection Regulation) and AML (Anti-
Money Laundering) laws. Research emphasizes the need for banking systems to integrate
features that ensure compliance with these regulations.

2
5. Automation and Artificial Intelligence (AI):
Automated Processes: Research has explored how artificial intelligence and machine
learning can automate several banking processes like fraud detection, risk assessment,
and customer service (e.g., chatbots). Automation helps reduce human error and
operational costs, while AI can enhance decision-making processes in lending,
investment, and transaction monitoring.

6. File Handling and Database Management:


Database Systems: Many banking systems use relational databases to store customer
data, transactions, and account information. Research into optimizing queries and
improving the scalability of databases is essential to manage the massive volumes of data
that banking systems generate.
File Management: For smaller systems or applications without a full database, file
handling in C++ is used to store data securely. This requires file encryption and efficient
management to ensure data integrity and security.

1 Proposed Methodology

a. Flow chart / Pseudocode / Algorithm … (if any)

3
Here's a textual description of the block diagram for the Banking Management System:

1. Start Block:
o Represents the start of the system.
2. Main Menu Block:
o Displays the options to the user:

1. Create Account

1. Deposit Funds

1. Withdraw Funds

1. Display Account Details

1. Exit

3. Decision Block:
o The user chooses one of the options.
4. Create Account Block (Option 1):
o Input Account Number
o Input Account Holder Name
o Input Initial Deposit
o Account Created Successfully → Return to Main Menu Block
5. Deposit Funds Block (Option 2):
o Input Account Number
o Search for Account
o Decision: Account Found?
 Yes → Input Deposit Amount → Deposit Funds → Return to
Main Menu Block
 No → Display Error → Return to Main Menu Block
6. Withdraw Funds Block (Option 3):
o Input Account Number
o Search for Account
o Decision: Account Found?
 Yes → Input Withdrawal Amount → Check Sufficient Balance

4
 Sufficient Balance → Withdraw Funds → Return to Main
Menu Block
 Insufficient Balance → Display Error → Return to Main
Menu Block

 No → Display Error → Return to Main Menu Block


7. Display Account Details Block (Option 4):
o Input Account Number
o Search for Account
o Decision: Account Found?
 Yes → Display Account Details → Return to Main Menu Block
 No → Display Error → Return to Main Menu Block
8. Exit Block (Option 5):
o Exit the program.
o Display Goodbye message.

2 Simulation Results
a. Hardware/software simulation results

5
Fig: 4.1 simulation results1

5. Conclusions

In conclusion, the Banking Management System project provides an efficient and auto-
mated solution for managing banking operations. By leveraging C++ programming, the
system allows users to perform essential tasks such as account creation, deposits, with-
drawals, fund transfers, and balance inquiries. It ensures security through user authentica-
tion and input validation, while also maintaining transaction history and generating re-
ports. The system offers a simple yet effective user interface for both customers and bank
staff, promoting ease of use. Overall, the project demonstrates the application of key con-
cepts in software development, including object-oriented programming, data manage-
ment, and security, contributing to a more streamlined and secure banking experience.

6
6. References

 Pressman, R. S. (2020). Software Engineering: A Practitioner's Approach (9th ed.).


McGraw Hill.

 Details methodologies for software development lifecycle, applicable to creating a


banking management system.

 ISO/IEC 27001. (2013). Information technology — Security techniques — Information


security management systems — Requirements.

 An international standard for managing information security, relevant for ensuring


secure banking systems.

Priti, S., & Aditya, J. (2020). "Design and Implementation of Online Banking Manage-
ment System." International Journal of Computer Science and Mobile Computing, 9(1),
120-125.

 Describes real-world implementation of an online banking system

7. Appendix
#include <iostream>
#include <string>
#include <vector>

using namespace std;

class Account {
private:
string accountNumber;
string accountHolderName;
double balance;

7
public:
// Constructor
Account(string accNumber, string accHolderName, double initialBalance)
: accountNumber(accNumber), accountHolderName(accHolderName),
balance(initialBalance) {}

// Getter for account number


string getAccountNumber() const {
return accountNumber;
}

// Display account details


void displayAccountDetails() {
cout << "Account Number: " << accountNumber << endl;
cout << "Account Holder: " << accountHolderName << endl;
cout << "Balance: $" << balance << endl;
}

// Deposit funds
void deposit(double amount) {
if (amount <= 0) {
cout << "Deposit amount must be positive!" << endl;
return;
}
balance += amount;
cout << "$" << amount << " deposited successfully." << endl;
}

// Withdraw funds
void withdraw(double amount) {
if (amount <= 0) {
cout << "Withdrawal amount must be positive!" << endl;
} else if (amount > balance) {
cout << "Insufficient funds!" << endl;
} else {
balance -= amount;
cout << "$" << amount << " withdrawn successfully." << endl;
}
}
};

// Bank Management System


class Bank {
private:
vector<Account> accounts;

8
public:
// Create a new account
void createAccount() {
string accNumber, accHolderName;
double initialBalance;

cout << "Enter Account Number: ";


cin >> accNumber;
cin.ignore(); // Clear the input buffer
cout << "Enter Account Holder Name: ";
getline(cin, accHolderName);
cout << "Enter Initial Deposit Amount: ";
cin >> initialBalance;

accounts.emplace_back(accNumber, accHolderName, initialBalance);


cout << "Account created successfully!" << endl;
}

// Find account by number


Account* findAccount(const string& accNumber) {
for (auto& account : accounts) {
if (account.getAccountNumber() == accNumber) {
return &account;
}
}
return nullptr;
}

// Deposit funds into an account


void depositFunds() {
string accNumber;
double amount;
cout << "Enter Account Number: ";
cin >> accNumber;

Account* account = findAccount(accNumber);


if (account) {
cout << "Enter Deposit Amount: ";
cin >> amount;
account->deposit(amount);
} else {
cout << "Account not found!" << endl;
}
}

9
// Withdraw funds from an account
void withdrawFunds() {
string accNumber;
double amount;
cout << "Enter Account Number: ";
cin >> accNumber;

Account* account = findAccount(accNumber);


if (account) {
cout << "Enter Withdrawal Amount: ";
cin >> amount;
account->withdraw(amount);
} else {
cout << "Account not found!" << endl;
}
}

// Display account details


void displayAccountDetails() {
string accNumber;
cout << "Enter Account Number: ";
cin >> accNumber;

Account* account = findAccount(accNumber);


if (account) {
account->displayAccountDetails();
} else {
cout << "Account not found!" << endl;
}
}

// Main menu
void menu() {
int choice;
do {
cout << "\n--- Bank Management System ---\n";
cout << "1. Create Account\n";
cout << "2. Deposit Funds\n";
cout << "3. Withdraw Funds\n";
cout << "4. Display Account Details\n";
cout << "5. Exit\n";
cout << "Enter your choice: ";
cin >> choice;

switch (choice) {
case 1:

10
createAccount();
break;
case 2:
depositFunds();
break;
case 3:
withdrawFunds();
break;
case 4:
displayAccountDetails();
break;
case 5:
cout << "Exiting system. Goodbye!" << endl;
break;
default:
cout << "Invalid choice! Please try again." << endl;
}
} while (choice != 5);
}
};

// Main function
int main() {
Bank bank;
bank.menu();
return 0;
}

11

You might also like