0% found this document useful (0 votes)
39 views11 pages

OOAD Final BankManagementSystem

The document outlines a Bank Management System where an admin hires employees and verifies user accounts for transactions such as deposits, withdrawals, and loans. It includes sequence and activity diagrams for account creation and loan applications, as well as statechart diagrams for money transfers and loans. The LCOM values for the User and Admin classes indicate cohesive method designs, which is favorable for system architecture.

Uploaded by

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

OOAD Final BankManagementSystem

The document outlines a Bank Management System where an admin hires employees and verifies user accounts for transactions such as deposits, withdrawals, and loans. It includes sequence and activity diagrams for account creation and loan applications, as well as statechart diagrams for money transfers and loans. The LCOM values for the User and Admin classes indicate cohesive method designs, which is favorable for system architecture.

Uploaded by

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

Course Name: Object Oriented Analysis and Design

Name of the Assignment: Bank Management System


Group Number: 32
Group Member’s Name ID Section
Shifat, Shadril Hassan 20-42451-1 D
Debnath, Pritom 20-42414-1 D

Brief Description of the system:


In a bank management system, only an admin can hire employees. To hire
employees, the admin needs to check the eligibility of an employee. Then
employees are provided username and password. A user can create a new account.
For this, the user must select which kind of account the user wants to create. A user
can create either a savings account or a fixed account. To create an account, the
user must submit an application and provide all details to the employees of the
bank. Employee sends all the documents of the user to the admin for further
verification. If the admin grants the new user, only then the user can create an
account. After creating the account, the bank will provide a username and a
password to the user. A user can do transactions. For this operation, a user has to
decide which kind of transaction the user wants to do. A user can deposit or
withdraw or transfer money. For the transaction, the bank needs to verify the user.
After the verification, a user does the transaction. A user can also take a loan from
the bank. For this, the user must apply for a loan. Then admin will verify the user’s
information, check due loan. After approval, the user can get loan from the bank.

Sequence Diagram:
1. Sequence diagram for opening an account:

2. Sequence diagram for applying loan:


Activity Diagram:
1.Activity diagram for applying loan:

2. Activity diagram for deposit and withdraw:


Statechart Diagram:
1.Statechart diagram for ‘TransferMoney’:

2.Statechart diagram for ‘Loan’:


Calculation of the LCOM value:
1.
<<user>>
User
{Last updated 25-04-21}
-name: String
-accNo:String
-accType: String
-mailAddress:String
-userId:String
-password:String
-address:String
-amount: Integer
+registration(name : String, mailAddress : String, address : String, accType :
String) : Boolean
+applyForAccount(name : String, accNo : String, mailAddress : String, address :
String) : String
+logIn(userId : String, mailAddress : String, password : String) : Boolean
+reqForLoan(accNo : String, amount : Integer)
+depositMoney(accNo : String, amountToDeposit : Integer)
+withdrawMoney(accNo : String, amountToWithdraw : Integer)

Calculating LCOM value for User class:


Pairs:
Cohesive Pairs:
(registration, applyForAccount) , (registration, logIn), (applyForAccount, logIn),
(applyForAccount, reqForLoan), (applyForAccount, depositMoney),
(applyForAccount, withdrawMoney), (reqForLoan, depositMoney), (reqForLoan,
withdrawMoney), (depositMoney, withdrawMoney)
So, Q= 9
Non-Cohesive Pairs:
(registration, reqForLoan), (registration, depositMoney), (registration,
withdrawMoney), (logIn, reqForLoan), (logIn, depositMoney), (logIn,
withDrawMoney)
So, P= 6
Here, Q>P
So, LCOM= 0
Comment: The LCOM value of the User class indicates that the methods of the
class are cohesive, and it is a desirable design.

2.

<< >>
Admin
{Last Updated 25-04-21}
-name: String
-accNo : User
-loanNo : Loan
-userDetails: User
-loanType: Loan
+verifyUser(name: String, accNo: User, userDetails: User): Boolean
+verifyLoan(accNo : User, loanNo: Loan, loanType: Loan): Boolean
+addUser(name : String, userDetails: User)
+createUsernamePass( accNo: User, UserDetails: User): String

Calculating LCOM value for Admin class:


Pairs:
Cohesive Pairs:
(verifyUser, verifyLoan), (verifyUser, addUser), (verifyUser,
createUsernamePass), (verifyLoan, createUsernamePass),
(addUser, createUsernamePass)
So, Q= 5
Non-Cohesive Pairs:
(verifyLoan, addUser)
So, P=1
Here, Q>P
So, LCOM= 0
Comment: The LCOM value of the Admin class indicates that the methods of the
class are cohesive, and it is a desirable design.

You might also like