Answered step by step
Verified Expert Solution
Question
1 Approved Answer
Assignment's Objective: The objective of this assignment is to test the student's understanding and mastery of object - oriented programming concepts such as abstraction ,
Assignment's Objective:
The objective of this assignment is to test the student's understanding and mastery of objectoriented
programming concepts such as abstraction encapsulation, polymorphism, inheritance, association,
aggregation, and composition which they have learnt throughout the semester. There are no restrictions
in the assignment as what data type you have to use ie vectors, strings or char arrays. However, you
must make sure that there is no hardcoding in this assignment and it uses the concepts of OOP.
Assignment's Description:
In this assignment, you need to develop a banking management system that can help ABC Bank to
manage their customers data efficiently. The system should be able to handle the requirements of the
following stakeholders:
User Client: An ordinary single user account which can only be opened by a person.
Company Client: A multiple user account which can be opened by a Company's CEO.
Banking Employee: An Employee of the bank who will be able to manage the User and
Company's bank accounts.
Assignment's Requirements:
There are types of accounts that a customer can open in the bank. The information is provided in the
table below for more details:
There are types of transactions in your banking app:
Deposit
Withdraw
Transfer to another User Client
Refer to Other Requirements Section for detailed explanation of these types.
User Client A user client can open a new bank account by providing the following information:
a Full Name
i Address
ii Phone
iii. CNIC
iv Login ID
v Password
vi Estimated Daily Withdrawal Limit
You have to employee proper checks here in order to verify the information is not
fraudulent. Once the banking employee approves the account, then assign the new
customer a randomly generated Digit Card Number and Prompt them to enter the
PIN Number.
You also need to assign an appropriate account type according to the customer's
estimated daily withdrawal limit
All of this information will be saved in a file "users.txt in the following format:
The file format is saved as: userid, username, user address, user cnic, user id user password, account
balance
b The user client should be able to do the following:
i They should be able to deposit and withdraw funds from their account.
ii They should be able to view their account balance and transaction history.
iii. They should be able to transfer funds to other accounts within the bank.
c Please note that you have to employee proper checks here ie the user cannot withdraw
amount greater than their balance or daily max limit is reached.
d Account balance will be for a new account
Company Client:
A company's CEO can open a shared bank account on behalf of their company, whose access
will be available to all of that company's employees. It is assumed that all of the company's
employees already have an User Client account with the bank, ie exist in the file "users.txt
a Therefore, to open the Company Client's Account, the CEO has to provide the
following:
i Company's Name
ii Company's Address
iii. Company's Tax Number
iv Estimated Daily Withdrawal Limit
v Account's ID
vi Account's Password
Upon entering valid information for all of the above, you can save the
information in a file named "companies.txt The format of the file is as
follows: b The Company Client can do the following:
i They should be able to deposit and withdraw funds from their account.
ii They should be able to view their account balance and transaction history.
iii. They should be able to transfer funds to only user client's accounts within the
bank.
iv They should be able to request loans from bank.
Remember that multiple user's can access this account via their Bank's User ID
as well if they are the part of the company. Therefore, you will have to maintain
the data in another file named "companiesemployees.txt which will contain
the following information:
The file format is saved as: user client id company id
This file depicts that User Client with ID Number are employees
of company with ID
Similarly, User Client with ID is employee of Company
If the user client ID does not exist in this file, it means that user is not an
employee of any company.
In order to give a choice to user, you can ask them which account would
they like to access whether the company's or their personal.
A User client & Company's Client ID should be unique
Banking Employee:
The banking employee can simply login to the system using their user id and password which
is stored in the file named "admin txt and can do the following: Banking Employee i They should be able to view the list of all client's accounts.
ii They should be able to approve or reject new account applications.
iii. They should be able to approve or reject loan requests of companies.
iv They should be able to view transaction history for a specific account.
v They should be able to freeze or close an account if necessary.
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started