Upload
rachel-allin
View
233
Download
4
Tags:
Embed Size (px)
Citation preview
BANKING SYSTEMSoftware Requirements Document
CEN5011 - Advanced Software EngineeringFall Term - 2004
TEAM MEMBERS
Jing Zhang
Wei Peng
Erliang Zeng
Ramakrishna Varadarajan
Xiaosi Zhou
Fernando Farfán
BANKING SYSTEM
• Bank with services in South Florida.
• +200K Clients
• Next 5 years:– Statewide coverage.– More clients and transactions.– Easy to learn, easy to use.– Integration with peers.
OBJECTIVES
• Robust and flexible system => high-volume operations.
• Expand the branch office number => cost-effective computer network.
• Versatile system for client management and savings accounts transactions.
• Flexible infrastructure, interconnection with other systems and peers.
• Open systems to OLAP solutions .
FUNCTIONAL REQUIREMENTS
• Bank Officers:Maintenance to client records.Open and update clients’ accounts.
• Bank Tellers:Register monetary transactions.
NONFUNCTIONAL REQUIREMENTS
• User-friendly, easy to learn and use.
• Application and network security will be priorities.
• Highly infallible, fault traceable and transaction-based.
• The system has to respond within 5 seconds after any taken action.
USE CASE DIAGRAMSBanking System
CreateLogin
OpenAccount
Deposit
Withdraw
CheckBalance
UpdateAccount
CloseAccount
BankTeller
UpdateLogin
BankOfficer
Login
SCENARIO: Opening an Account
Scenario name: Opening an AccountParticipating Actors: John: Bank Officer.Flow of Events: 1. John has all the necessary information of a
customer to open an account.2. John then enters all the customer information
like the SSN, first, middle and last names, address and telephone number in the system.
3. The system then opens a new account and assigns a unique account number for the account for future references.
USE CASE: Open Account
Use case name OpenAccount
Participating actors Initiated by BankOfficer
Entry condition The customer has given all the necessary information to the BankOfficer for opening an account and the required initial deposit.
The BankOfficer must have logged into the system.
Flow of events 1. The BankOfficer activates the “open account” function.2. The system presents an open account form.3. The BankOfficer enters all the details like SSN, first, middle and last
names, address and telephone number, and submits the form to the system.
4. The system responds by either an error message stating the error or a new unique account number with all the account details confirming success.
5. The BankOfficer activates the “print” option, if he is requested to print the account details for the customer.
6. The system responds by printing out the details.
Exit condition The customer has a new account opened in the Bank along with a printout of the account details, or the account is not opened due to some error.
Quality Requirements The Banking System responds with the form within 3 seconds.The Banking System responds with the acknowledgement or error within
5 seconds.
: BankOfficer:FunctionSelect
Menu:OpenAccount
Control:OpenAccount
Form:Account :OpenAccountAc
knowledgement:OpenAccountRe
port
openAccount()
<<create>><<create>>
fillContents()
submit()
submitOpenAccount()
<<create>>
<<create>>displayResults()
reportResults()
<<destroy>>
dismiss()
print()
endOpenAccount()
<<destroy>>
<<create>>
<<destroy>>
SEQUENCE DIAGRAM: Open Account
SCENARIO: Update Account
Scenario name: Update an AccountParticipating Actors: John: Bank Officer.Flow of Events:
1. A customer enters the bank and wants to make some changes in her personal information.
2. John gives the customer an information changing form containing account number, address, date of birth, telephone number, and Email address, etc.
3. The customer fills out the form and hands it to John.
4. John makes those changes in the customer’s account and tells her whether it is done.
USE CASE: Update Account
Use case name UpdateAccount
Participating actors Initiated by BankOfficer
Entry condition The BankOfficer has logged into the Banking SystemThe BankOfficer has all the information to update the account
Flow of events 1. The Bank Officer selects the “UpdateAccount” function.2. The Banking System feeds back a form to the Bank Officer.3. The Bank Officer fills out the form by entering the account
number, address, date of birth, telephone number, and E-mail address. Once the form is completed, the Bank Officer submits the form.
4. The Banking System receives the form and updates the customer’s account information in database and responds the updated results to the Bank Officer with acknowledgement or error.
5. The Bank Officer gets the result information and confirms it.
Exit condition The Banking System updated the information in database successfully and responds with acknowledgement or error.
Quality Requirements
The Banking System responds with the form within 3 seconds.The Banking System responds with the acknowledgement or error
within 5 seconds.
SEQUENCE DIAGRAM: Update Account
: BankOfficer:FunctionSelect
Menu:UpdateAccount
Control:UpdateAccount Form :Account :UpdateAccount
Acknowledgement
updateAccount()<<create>>
<<create>>
fillContents()
submit()
submitForm()
updateAccount()
reportResults()
<<create>>
endUpdateAccount()
dismiss()
<<destroy>>
<<destroy>>
SCENARIO: Close Account
Scenario name: Close an AccountParticipating Actors: John: Bank Officer.Flow of Events: • John has all the necessary information of a customer
to close an account.• John enters customer’s account number into the
system.• John returns the balance to customer if customer
has any in his account.• John confirms the account closing.• Customer leaves the bank with an acknowledgement
for closing the account.
USE CASE: Close Account
Use case name CloseAccount
Participating actors Initiated by BankOfficer
Entry condition The customer has given all the necessary information to the BankOfficer for closing the account. The BankOfficer must have logged into the system
Flow of events 1. The BankOfficer selects the “close account” function.2. The system presents a close account form.3. The BankOfficer enters the customer’s account number into the system.4. The system displays the balance of the account and asks for confirmation.5. The BankOfficer confirms the operation and gives the balance to the customer.6.The system closes the account successfully and displays an acknowledgement for closing the account.
Exit condition The customer has either his account closed or not closed for some error.
Quality Requirements The Banking System responds with the form within 3 seconds.The Banking System responds with the acknowledgement or error within 5 seconds.
SEQUENCE DIAGRAM: Close Account
: BankOfficer:FunctionSelect
Menu:CloseAccount
Control:CloseAccount
Form:Account :CloseAcknowledgementCloseAccount
Report
closeAccount()<<create>>
<<create>>
fillContents()
submit()
submitCloseAccount()
getAccountInfo()
<<destroy>>
confirmCloseAccount()
reportResults()
<<destroy>>
endCloseAccount()
print()
dismiss()
<<destroy>>
closeAccount()
displayResults()
<<destroy>>
<<create>>
<<create>>
SCENARIO: Cash Deposit
Scenario name: Cash Deposit Participating Actors: Brenda: BankTeller.Flow of Events: 1. Brenda requests the deposit ballot and the money to
be deposited.2. Brenda verifies all the information in the ballot, and
verifies against the cash received. 3. Brenda records the transaction in the system, typing
the account number and the cash amount.4. Brenda prints the acknowledgement on the ballot.5. Brenda puts the cash in the drawer.6. Brenda keeps the original ballot for her file and gives
the copy of the ballot to the customer.
SCENARIO: Check Deposit
Scenario name: Check Deposit Participating Actors: Andrea: BankOfficer .Flow of Events: 1. Andrea requests the deposit ballot and the check to
be deposited. 2. Andrea verifies all the information in the ballot, and
verifies the check received. 3. Andrea records the transaction in the system, typing
the account number and the check amount.4. Andrea prints the acknowledgement on the ballot.5. Andrea puts the check in the drawer.6. Andrea keeps the original ballot for her file and gives
the copy of the ballot to the customer.
SCENARIO: Cash and Check Deposit Scenario name: Cash and Check Deposit Participating Actors: Lucy: BankOfficer.Flow of Events: 1. Lucy requests the deposit ballot and the check to be
deposited. 2. Lucy verifies all the information in the ballot, and verifies the
check received. 3. Lucy records the transaction in the system, typing the
account number, the cash amount and the check amount.4. Lucy prints the acknowledgement on the ballot.5. Lucy puts the check in the drawer.6. Lucy keeps the original ballot for her file and gives the copy of
the ballot to the customer.
USE CASE: Deposit
Use case name Deposit
Participating actors Initiated by Bank Employee
Entry condition The Bank Employee has logged into the system. The Bank Employee has received the deposit ballot and money from the customer.
Flow of events 1. The Bank Employee selects the “deposit” option in the system.2. The system presents the Deposit screen.3. The Bank Employee checks the ballot against the check or cash given, and then inputs the information on the screen.4. The system processes the operation, and certifies the ballot.5. The Bank Teller gives the certified ballot copy to the customer.
Exit condition The Bank Teller has received an acknowledgement of the operation and the customer has gotten his copy of the ballot, OR The BankTeller has received an error message and the deposit has not been processed.
Quality Requirements
The Banking System responds with the form within 3 seconds.The Banking System responds with the acknowledgement within 5 seconds.
SEQUENCE DIAGRAM: Deposit
: BankEmployee:FunctionSelect
Menu:DepositControl :DepositForm :Account :DepositAcknowledgement:Transaction
deposit()<<create>>
<<create>>
FillContents()
submit()
submitDeposit()
deposit()
<<destroy>>
reportResults()
<<create>>
<<create>>
dismiss()
endDeposit()
print()
<<destroy>>
<<destroy>>
SCENARIO: Withdraw
Scenario name: Withdraw Participating Actors: John: BankOfficer.Flow of Events: 1. A custom enters the bank and wants to withdrawn some
money from account.2. She meets John and tells him that she needs to withdrawn
some amount from her account.3. John asks for her account number and identifications.4. The custom gives her account number and identifications.5. The custom specifies the amount she wants to withdraw to
John.6. John checks if she has sufficient balance to withdraw the
amount.7. If she has sufficient balance John
USE CASE: Withdraw
Use case name Withdraw
Participating actors Initiated by BankEmployee
Entry condition The BankEmployee has logged into the bank system The BankEmployee has the customer’s account number to trace his information.
Flow of events 1. The BankEmployee activates the “Withdraw” function.2. The Banking System responds with a withdrawing form.3. The BankEmployee fills out the form with the customer’s account number and withdrawal amount, and then submits the form.4. The Banking System responds with displaying the customer’s withdrawal receipt.5. If the Banking System responds with displaying the customer’s withdrawal receipt, the BankEmployee activates “print” function to print the customer’s withdrawal receipt.
Exit condition The BankEmployee gives the amount to the customer. or the BankEmployee has received an error message and the withdraw has not been processed.
Quality Requirements
The Banking System responds with the form within 3 seconds.The Banking System responds with the acknowledgement or error within 5 seconds.
SEQUENCE DIAGRAM: Withdraw
: BankEmployee:FunctionSelect
Menu:WithdrawControl :WithdrawForm :Account :Withdraw
Acknowledgment:Transaction
withdraw()
submit ()
submitWithdraw ()
<<destroy>>
<<create>><<create>>
fillContents()
withdrawAccount()
print()
<<destroy>>
reportResults()
<<create>>
endWithdraw()
dismiss()
<<create>>
<<destroy>>
SCENARIO: CheckBalance
Scenario name: CheckBalance Participating Actors: John: BankEmployee.Flow of Events: 1. A custom enters the bank and meets john. She asks
John to check her account balance.2. John asks for the customer’s account number3. The customer gives John her account number.4. John enters the customer’s account number into the
banking system, checks her account balance and prints it.
5. The customer gets her balance information and leaves the bank.
USE CASE: CheckBalance
Use case name CheckBalance
Participating actors Initiated by BankEmployee
Entry condition BankEmployee has logged into the bank system BankEmployee has customer’s account number to trace his information.
Flow of events 1. The BankEmployee activates the “balance” function of the bank system.2. The Bank system responds with a check balance form.3. The BankEmployee fills out the form with the customer’s account number and submits it.4. The Bank system responds with displaying the customer’s balance information.5. The BankEmployee activates “print” function to print the customer’s balance.
Exit condition The BankEmployee prints the customer’s balance report.The BankEmployee has received an error message and the checkBalance has not been processed
Quality Requirements
The system responds with the form within 3 seconds.The system responds with the acknowledgement or error within 5 seconds.
SEQUENCE DIAGRAM: Check Balance
: BankEmployee:FunctionSelect
Menu:CheckBalance
Control:CheckBalance
Form:Account :CheckBalance
Report
checkBalance()
submit ()
submitCheckBalance()
<<destroy>>
<<create>><<create>>
fillContents()
getBalance()
print()
<<destroy>>
reportResults()
<<create>>
CLASS DIAGRAMBankEmployee
ID : StringFirstName : StringMiddleName : StringLastName : StringSSN : LongUserName : StringPassword : String
Login()UpdateLogin()LoginLookup()MakeDeposit()Withdraw()ViewStatement()
*
1
Account
FirstName : StringMiddleName : StringLastName : StringDOB : DateSSN : LongAccountNo : LongAddress : StringTelephone : LongEmail : StringBalance : Double
Deposit()Withdraw()PrintStatement()UpdateAccount()GetBalance()
Transaction
ID : LongType : StringDate : DateTime : TimeAccountNo : LongAmount : DoubleCurrentBalance : DoubleEmployeeID : Long
Deposit()Withdrawal()Statement()
BankOfficer
CreateLogin()CreateAccount()UpdateAccount()CloseAccount()
1
*
1
*
BankTeller