Note: Run the Makefile to access and use the program. ENJOY!
Project By Vidit Patel.
Introduction:
The project which I have created illustrates and replicates an online bank management system. Users can create and/or access an account within the bank that displays a randomly generated balance and can transfer money between the account types provided and can deposit and withdraw cash. Users are also able to apply for a fixed and variable rate home loan and get an instant decision if the loan is approved.
Class Diagram of the banking system:
The class diagram below is constructed to produce a blueprint of the banking system. The diagram highlights the explicit relationships between the classes and objects used in the system-moreover, how the classes and objects interact with each other.
Class Descriptions:
Loan:
Loan is an abstract base class in this system. There are two types of loans offered by the bank: Fixed rate loan and Variable rate loan. The behaviors in the Loan class allows the user to:
- Create a new loan
- Show the details of existing loan
- Modify the details of existing loan (for example, monthly payments)
- Deposit additional funds into the loan
FixedLoan:
FixedLoan class is the subclass of the Loan class. FixedLoan inherits class members from the Loan class to make the system more efficient and allows the code to be reused because all fixed rate loans are a type of loan. The class functions in the FixedLoan allow the user to:
- Check if they are eligible for a fixed rate loan, if so, then:
- Calculate how much they will need to pay the bank each month-and how much total money they will pay in interest.
VariableLoan:
VariableLoan class is the subclass of the Loan class. VariableLoan inherits class members from the Loan class to make the system more efficient and allows the code to be reused because all variable rate loans are a type of loan. The class functions in the FixedLoan allow the user to: 3. Check if they are eligible for a variable rate loan, if so, then: 4. Calculate how much they will need to pay the bank each month-and how much total money they will pay in interest.
Account:
The Account class is the superclass for the SavingsAcccount and FixedDepositAccount because both savings accounts and a fixed deposit account are types of bank accounts. The Account class allows the user to:
- Transfer money
- Deposit money
- Withdraw money
- Check if they have enough funds to transfer
- Check their account balance
SavingsAccount:
The savingsAccount class is a subclass of Accounts class. The savings account allows the user to:
- Set a saving goal
- Save for a goal
- Create a new type of bank account - which is the saving account
- Get interest on their account balance
FixedDepositAccount:
The FixedDepositAccount class is a subclass of Accounts class. The FixedDepositAccount account allows the user to:
- Create a fixed deposit bank account
- Select how long they wish to deposit the money for
- Stops the user from transferring money OUT of this account
User:
The User class allows the user to:
- Input username and password and check if the credentials are correct with the data in the system