Hasil Babak Final National Scientific Paper Competition (NSPC) 2013 UM
Um l Final Project Report
Transcript of Um l Final Project Report
-
7/29/2019 Um l Final Project Report
1/81
TEAM PROJECT REPORT
BANK INFORMATION SYSTEM (BIS)
INFSCI 2511
INFORMATION SYSTEM ANALYSIS &DESIGN AND EVALUATION
SPRING 2005
Group Members:
Mr. Derek Pawlikowsky
Miss Jaruwan Laptrakool
Mr. Kittipong Techapanichgul
Mr. Warat Chesdavanijkul
-
7/29/2019 Um l Final Project Report
2/81
CLASS DIAGRAM ............. .............. .............. ............... .............. .............. .............. .............. .............. ........ ..... ...... ...... ...5
USE CASE 1: OPEN ACCOUNT ............. .............. .............. .............. .............. ............... .............. .............. ..... ...... ..... ...6
FULL USE CASE DESCRIPTIONWITH MAJORALTERNATIVE FLOWS ...........................................................................................6
SYSTEM SEQUENCE DIAGRAM..............................................................................................................................................7
OPERATION CONTRACT.......................................................................................................................................................8SEQUENCE DIAGRAMFORBASE SCENARIO............................................................................................................................. 9
USE CASE 2: CLOSE ACCOUNT ............. .............. .............. .............. ............... .............. .............. .............. .......... .....10
FULL USE CASE DESCRIPTIONWITH MAJORALTERNATIVE FLOWS.........................................................................................10
SYSTEM SEQUENCE DIAGRAM............................................................................................................................................11
OPERATION CONTRACT.....................................................................................................................................................12
SEQUENCE DIAGRAMFORBASE SCENARIO........................................................................................................................... 13
USE CASE 3: DEPOSIT FUND .............. .............. .............. .............. .............. .............. ............... .............. ........... ..... ...14
USE CASE DESCRIPTIONWITH MAJORALTERNATIVEFLOWS..................................................................................................14
SYSTEM SEQUENCE DIAGRAM............................................................................................................................................15
OPERATION CONTRACT.....................................................................................................................................................16
SEQUENCE DIAGRAMFORBASE SCENARIO .......................................................................................................................... 17USE CASE DESCRIPTIONWITH MAJORALTERNATIVEFLOWS..................................................................................................18
SYSTEM SEQUENCE DIAGRAM............................................................................................................................................19
OPERATION CONTRACT.....................................................................................................................................................20
SEQUENCE DIAGRAMFORBASE SCENARIO .......................................................................................................................... 21
USE CASE 5: TRANSFER FUND .............. .............. ............... .............. .............. .............. .............. ............... ........ ..... .22
USE CASE DESCRIPTIONWITH MAJORALTERNATIVEFLOWS..................................................................................................22SYSTEM SEQUENCE DIAGRAM............................................................................................................................................23
OPERATION CONTRACT.....................................................................................................................................................24
USE CASE 6: VIEW ACCOUNT HISTORY ............ ............... .............. .............. .............. .............. .............. ......... ....26
USE CASE DESCRIPTIONWITH MAJORALTERNATIVEFLOWS..................................................................................................26
SYSTEM SEQUENCE DIAGRAM............................................................................................................................................27OPERATION CONTRACT.....................................................................................................................................................28
SEQUENCE DIAGRAMFORBASE SCENARIO........................................................................................................................... 29
USE CASE 7: APPLY FOR LOAN .............. ............... .............. .............. .............. .............. ............... .......... ..... ..... ..... .30
USE CASE DESCRIPTIONWITH MAJORALTERNATIVEFLOWS..................................................................................................30
SYSTEM SEQUENCE DIAGRAM............................................................................................................................................31OPERATION CONTRACT.....................................................................................................................................................32
SEQUENCE DIAGRAMFORBASE SCENARIO .......................................................................................................................... 33
USE CASE 8: EVALUATE LOAN ............. .............. .............. .............. ............... .............. .............. .............. .......... .....34
USE CASE DESCRIPTIONWITH MAJORALTERNATIVEFLOWS..................................................................................................34SYSTEM SEQUENCE DIAGRAM............................................................................................................................................35
OPERATION CONTRACT.....................................................................................................................................................36SEQUENCE DIAGRAMFORBASE SCENARIO........................................................................................................................... 37
USE CASE 9: FINALIZE LOAN ............. .............. .............. .............. ............... .............. .............. .............. .............. ....38
USE CASE DESCRIPTIONWITH MAJORALTERNATIVEFLOWS..................................................................................................38
SYSTEM SEQUENCE DIAGRAM............................................................................................................................................39OPERATION CONTRACT.....................................................................................................................................................40
SEQUENCE DIAGRAMFORBASE SCENARIO........................................................................................................................... 41
USE CASE DESCRIPTIONWITH MAJORALTERNATIVEFLOWS..................................................................................................42
SYSTEM SEQUENCE DIAGRAM............................................................................................................................................43
2
-
7/29/2019 Um l Final Project Report
3/81
OPERATION CONTRACT.....................................................................................................................................................44
USE CASE DESCRIPTIONWITH MAJORALTERNATIVEFLOWS..................................................................................................46
SYSTEM SEQUENCE DIAGRAM............................................................................................................................................47
OPERATION CONTRACT.....................................................................................................................................................48
USE CASE 12: MANAGE CUSTOMER (CREATE, MODIFY, DEACTIVATE A CUSTOMER)
CUSTOMER, TELLER AND SERVICE REP............................................................................................................ 50
CREATE NEW CUSTOMER ............ ............... .............. .............. .............. .............. .............. ............... ............ ..... ..... .50
USE CASE DESCRIPTIONWITH MAJORALTERNATIVEFLOWS..................................................................................................50
SYSTEM SEQUENCE DIAGRAM............................................................................................................................................51
OPERATION CONTRACT.....................................................................................................................................................52
SEQUENCE DIAGRAMFORBASE SCENARIO........................................................................................................................... 53
MODIFY CUSTOMER INFORMATION ............. .............. .............. .............. .............. ............... .............. ........... ..... .54
USE CASE DESCRIPTIONWITH MAJORALTERNATIVEFLOWS..................................................................................................54SYSTEM SEQUENCE DIAGRAM............................................................................................................................................55
OPERATION CONTRACT.....................................................................................................................................................56
SEQUENCE DIAGRAMFORBASE SCENARIO........................................................................................................................... 57
DEACTIVATE CUSTOMER ............. .............. .............. ............... .............. .............. .............. .............. ............... .........57
USE CASE 13: MANAGE ACCOUNT INFORMATION MANAGE ACCOUNT INFORMATION (CREATE,
MODIFY DEACTIVATE ACCOUNT INFO) CUSTOMER, TELLER, SERVICE REP..................................58
CREATE NEW ACCOUNT ............. .............. .............. .............. .............. .............. ............... .............. .............. ....... .....58
USE CASE DESCRIPTIONWITH MAJORALTERNATIVEFLOWS..................................................................................................58
SYSTEM SEQUENCE DIAGRAM............................................................................................................................................59
OPERATION CONTRACT.....................................................................................................................................................60SEQUENCE DIAGRAMFORBASE SCENARIO........................................................................................................................... 61
MODIFY ACCOUNT INFORMATION ............. .............. .............. .............. .............. ............... .............. .............. ......62
USE CASE DESCRIPTIONWITH MAJORALTERNATIVEFLOWS..................................................................................................62
SYSTEM SEQUENCE DIAGRAM............................................................................................................................................63
OPERATION CONTRACT.....................................................................................................................................................64SEQUENCE DIAGRAMFORBASE SCENARIO........................................................................................................................... 65
DEACTIVATE ACCOUNT ............. .............. ............... .............. .............. .............. .............. .............. ....... ..... ..... ..... ....65
USE CASE 14: VIEW ACCOUNT PORTFOLIO .............. .............. .............. ............... .............. ............. ..... ..... ...... ..66
USE CASE DESCRIPTIONWITH MAJORALTERNATIVEFLOWS..................................................................................................66
SYSTEM SEQUENCE DIAGRAM............................................................................................................................................67
OPERATION CONTRACT.....................................................................................................................................................68
SEQUENCE DIAGRAMFORBASE SCENARIO.......................................................................................................................... 69
USE CASE 15: PROCESS ACCOUNT STATEMENT .............................................................................................70
USE CASE DESCRIPTIONWITH MAJORALTERNATIVEFLOWS..................................................................................................70
SYSTEM SEQUENCE DIAGRAM............................................................................................................................................71
OPERATION CONTRACT.....................................................................................................................................................72SEQUENCE DIAGRAMFORBASE SCENARIO........................................................................................................................... 73
USE CASE 16: MANAGE ACCOUNT PRODUCT (MANAGE NEW OR EXISTING BANK PRODUCTS,
E.G., SENIOR CITIZENS CHECKING ACCOUNT. SAMPLE CHARACTERISTICS OF A PRODUCT
INCLUDE A NAME, MONTHLY FEE, PER CHECK CHARGE, PERIODIC INTEREST RATE, ETC) ...... ..74
CREATE NEW ACCOUNT PRODUCT .............. ............... .............. .............. .............. .............. .............. ....... ..... ..... .74
USE CASE DESCRIPTIONWITH MAJORALTERNATIVEFLOWS..................................................................................................74
SYSTEM SEQUENCE DIAGRAM ...........................................................................................................................................75
3
-
7/29/2019 Um l Final Project Report
4/81
-
7/29/2019 Um l Final Project Report
5/81
Class Diagram
5
-
7/29/2019 Um l Final Project Report
6/81
Use Case 1: Open Account
Full Use Case Description with Major Alternative FlowsPre Conditions:
NonePost Conditions:
- Account is created.
Basic Flow
1. User selects open account option. OpenAccountOption()
2. Go toCreate New Customer use case.
3. Go toCreate New Accountuse case.
4. Go toDeposit Funds use case5. System presents options.
Alternative Flow
None
Lead Responsibility by Kittipong TechapanichgulSubstantive assistance by Jaruwan Laptrakool, Derek Pawlikowsky and Warat Chesdavanijkul
6
-
7/29/2019 Um l Final Project Report
7/81
System Sequence Diagram
Lead Responsibility by Kittipong Techapanichgul
Substantive assistance by Jaruwan Laptrakool, Derek Pawlikowsky and Warat Chesdavanijkul
7
-
7/29/2019 Um l Final Project Report
8/81
Operation Contract
Contract C01: OpenAccount
Operation Name Instances
Created
Associations Formed Attributes Modified
OpenAccountOption() - - -
Lead Responsibility by Kittipong TechapanichgulSubstantive assistance by Jaruwan Laptrakool, Derek Pawlikowsky and Warat Chesdavanijkul
8
-
7/29/2019 Um l Final Project Report
9/81
Sequence Diagram for Base Scenario
Lead Responsibility by Kittipong Techapanichgul
Substantive assistance by Jaruwan Laptrakool, Derek Pawlikowsky and Warat Chesdavanijkul
9
-
7/29/2019 Um l Final Project Report
10/81
Use Case 2: Close Account
Full Use Case Description with Major Alternative FlowsPre condition
- User is authenticated
Post condition- Account is deactivated
Basic Flow
1. User selects close account option. CloseAccountOption()
2. System requests customer identification
3. User enters customer identification IsValidCustomer(customerID)4. System verifies customer identification.
5. Go toWithdraw Funds use case.
6. Go toDeactivate Account use case.7. System presents options.
Alternative Flow
3a. User enters wrong customer identification.System presents error message.
Return to step 2.
Lead Responsibility by Kittipong TechapanichgulSubstantive assistance by Jaruwan Laptrakool, Derek Pawlikowsky and Warat Chesdavanijkul
10
-
7/29/2019 Um l Final Project Report
11/81
System Sequence Diagram
Lead Responsibility by Kittipong Techapanichgul
Substantive assistance by Jaruwan Laptrakool, Derek Pawlikowsky and Warat Chesdavanijkul
11
-
7/29/2019 Um l Final Project Report
12/81
Operation Contract
Contract C02: CloseAccount
Operation Name InstancesCreated
Associations Formed Attributes Modified
CloseAccountOption() - - -
IsValidCustomerID(customerID) - - -
Lead Responsibility by Kittipong TechapanichgulSubstantive assistance by Jaruwan Laptrakool, Derek Pawlikowsky and Warat Chesdavanijkul
12
-
7/29/2019 Um l Final Project Report
13/81
-
7/29/2019 Um l Final Project Report
14/81
-
7/29/2019 Um l Final Project Report
15/81
System Sequence Diagram
System
depositOption()
isValidAccountNumber(AccountNumber)
deposit(amount)
Deposit Fund
Lead Responsibility by Jaruwan Laptrakool
Substantive assistance by Warat Chesdavanijkul, Derek Pawlikowsky and Kittipong Techapanichgul
15
-
7/29/2019 Um l Final Project Report
16/81
Operation Contract
Contract C03: Deposit Fund
Operation Name Instances
Created
Associations Formed Attributes Modified
depositOption() - - -
isValidAccountNumber(AccountNumber) - - -
deposit(amount) - Transaction Associates Transaction with
Account
- Transaction.Amount = amount
- Acct.Balance = Acct.Balance +
amount
Lead Responsibility by Jaruwan LaptrakoolSubstantive assistance by Warat Chesdavanijkul, Derek Pawlikowsky and Kittipong Techapanichgul
16
-
7/29/2019 Um l Final Project Report
17/81
Sequence Diagram for Base Scenario
User
:BANK
depositOption()
isValidAccountNumber (AccountNumber)
:Transaction
deposit(amount)
Accounts: ArrayList
isValidAccountNumber (AccountNumber)
deposit(amount)
:Account
3. Deposit Fund
TransactionList: ArrayList
addTransaction(t)
acct = GetAccount(AccountNumber)
t = create(transactionType, amount)
updateBalance()
Lead Responsibility by Jaruwan Laptrakool
Substantive assistance by Warat Chesdavanijkul, Derek Pawlikowsky and Kittipong Techapanichgul
17
-
7/29/2019 Um l Final Project Report
18/81
Use Case 4: Withdraw fund
Use Case Description with Major Alternative flows
Pre Conditions:
- User is authenticated.
Post Conditions:- Balance is updated.
Basic Flow
1. User selects withdraw fund option. withdrawOption()
2. System request account number.
3. User enters account number. isValidAccountNumber(AccountNumber)
4. System verifies account number.5. System requests withdraw amount.
6. User enters withdraw amount. withdraw(amount)7. System verifies available balance.
8. System updates account balance.
9. System generates receipt.10. System presents user option.
Alternative Flow
a. The use case is requested from close account use case (account number is supplied.)
1. System starts step 2. to 9.2. Resume close account process.
b. The use case is requested from transfer fund use case (account number is supplied.)
1. System starts step 8.2. Resume transfer fund process.
4a. Account information is invalid.
1. System presents error message.
2. Resume step 2.7a. Available balance is lower than withdraw amount.
1. System presents error message.2. Resume step 5.
7b. balance is equal to zero.
System presents error message.
Resume close account process.
Lead Responsibility by Jaruwan Laptrakool
Substantive assistance by Warat Chesdavanijkul, Derek Pawlikowsky and Kittipong Techapanichgul
18
-
7/29/2019 Um l Final Project Report
19/81
System Sequence Diagram
System
Withdraw Fund
withdrawOption()
isValidAccountNumber(AccountNumber)
withdraw(amount)
Lead Responsibility by Jaruwan LaptrakoolSubstantive assistance by Warat Chesdavanijkul, Derek Pawlikowsky and Kittipong Techapanichgul
19
-
7/29/2019 Um l Final Project Report
20/81
Operation Contract
Contract C04: Withdraw Fund
Operation Name InstancesCreated
Associations Formed Attributes Modified
withdrawOption() - - -
isValidAccountNumber(AccountNumber) - - -
withdraw(amount) - Transaction Associates Transaction with
Account
- Transaction.Amount = amount
- Acct.Balance = Acct.Balance -
amount
Lead Responsibility by Jaruwan LaptrakoolSubstantive assistance by Warat Chesdavanijkul, Derek Pawlikowsky and Kittipong Techapanichgul
20
-
7/29/2019 Um l Final Project Report
21/81
Sequence Diagram for Base Scenario
User
:BANK
withdrawOption()
isValidAccountNumber(AccountNumber)
:Transaction
withdraw(amount)
Accounts: ArrayList
isValidAccountNumber(AccountNumber)
withdraw(amount)
:Account
4. Withdraw Fund
addTransaction(t)
TransactionList:ArrayList
acct = getAccount(AccountNumber)
t = create(transactionType, amount)
updateBalance()
IsAvailableBalance ()
Lead Responsibility by Jaruwan LaptrakoolSubstantive assistance by Warat Chesdavanijkul, Derek Pawlikowsky and Kittipong Techapanichgul
21
-
7/29/2019 Um l Final Project Report
22/81
Use Case 5: Transfer fund
Use Case Description with Major Alternative flows
Pre Conditions:
- User is authenticated.Post Conditions:
- Balance is updated.
- Fund is successfully transferred
Basic Flow
1. User selects transfer fund option. transferOption()
2. System requests source account number.
3. User enters source account number. isValidAccountNumber(srcAccountNumber)
4. System verifies source account.5. System requests destination account number.
6. User enters destination account number. isValidAccountNumber(destAccountNumber)
7. System verifies destination account.8. System requests amount to transfer.
9. User enters amount. transfer(amount)
10. System verifies available balance in source account.
11. System updates account balances.12. System generates receipt.
13. System presents user option.
Alternative Flow
4a. Source account is invalid.1. System presents error message.
2. Resume step 2.
7a. Destination account is invalid.1. System presents error message.
2. Resume step 5.
10a. Source accounts balance is not sufficient to transfer.1. System presents error message.
2. Resume step 8.
10b. Amount exceeds the transferred limit.1. System presents error message.
2. Resume step 8.
Lead Responsibility by Jaruwan LaptrakoolSubstantive assistance by Warat Chesdavanijkul, Derek Pawlikowsky and Kittipong Techapanichgul
22
-
7/29/2019 Um l Final Project Report
23/81
System Sequence Diagram
System
Transfer fund
transferOption()
isValidAccountNumber(srcAccountNumber)
isValidAccountNumber(destAccountNumber)
transfer(amount)
Lead Responsibility by Jaruwan Laptrakool
Substantive assistance by Warat Chesdavanijkul, Derek Pawlikowsky and Kittipong Techapanichgul
23
-
7/29/2019 Um l Final Project Report
24/81
Operation Contract
Contract C05: Transfer Fund
Operation Name InstancesCreated
AssociationsFormed
Attributes Modified
transferOption() - - -
isValidAccountNumber(srcAccountNumber)
- - -
isValidAccountNumber(destAccountNumber)
- - -
transfer(amount) - Transaction1
- Transaction2
- Associates Transaction1
with Account
- Associates Transaction2with Account
- Transaction1.Amount = amount
- sourceAcct.Balance =
sourceAcct.Balance amount- Transaction2.Amount = amount
- destAcctBalance = destAcct.Balance
+ amount
Lead Responsibility by Jaruwan Laptrakool
Substantive assistance by Warat Chesdavanijkul, Derek Pawlikowsky and Kittipong Techapanichgul
24
-
7/29/2019 Um l Final Project Report
25/81
-
7/29/2019 Um l Final Project Report
26/81
Use Case 6: View Account History
Use Case Description with Major Alternative flowsPre Conditions:
- User is authenticatedPost Conditions:
None
Basic Flow
1. User selects view account history option. ViewAccountHistoryOption()
2. System requests account number.
3. User enters account number. isValidAccountNumber(AccountNumber)
4. System verifies account number.
5. System requests start date and end date.
6. User enters start date and end date. isValidTimePeriod(StartDate, EndDate)
7. System verifies time period.
8. System gets all transactions based on account number within time period.9. System presents all the transactions.10. System present user options
Alternative Flow
4a. User enters incorrect account number.
1. System presents error message.
2. Return to step 2.7a. User enters invalid time period
1. System presents error message.
2. Return to step 5.
Lead Responsibility by Kittipong TechapanichgulSubstantive assistance by Warat Chesdavanijkul, Derek Pawlikowsky and Jaruwan Laptrakool
26
-
7/29/2019 Um l Final Project Report
27/81
System Sequence Diagram
Lead Responsibility by Kittipong TechapanichgulSubstantive assistance by Warat Chesdavanijkul, Derek Pawlikowsky and Jaruwan Laptrakool
27
-
7/29/2019 Um l Final Project Report
28/81
Operation Contract
Contract C06: ViewAccountHistory
Operation Name Instances
Created
Associations
Formed
Attributes Modified
ViewAccountHistoryOption() - - -
isValidAccountNumber(AccountNumber) - - -
isValidTimePeriod(StartDate, EndDate) - - -
Lead Responsibility by Kittipong TechapanichgulSubstantive assistance by Warat Chesdavanijkul, Derek Pawlikowsky and Jaruwan Laptrakool
28
-
7/29/2019 Um l Final Project Report
29/81
Sequence Diagram for Base Scenario
Lead Responsibility by Kittipong TechapanichgulSubstantive assistance by Warat Chesdavanijkul, Derek Pawlikowsky and Jaruwan Laptrakool
29
-
7/29/2019 Um l Final Project Report
30/81
Use Case 7: Apply For Loan
Use Case Description with Major Alternative flows
Pre Condition
NonePost condition
- Loan application is completed for evaluation.
Basic Flow
1. User selects apply for a loan option. ApplyNewLoanOption()2. System creates new loan application.
3. System request customer ID
4. User enters customer ID. IsValidCustomerID(CustomerID)5. System verifies customer ID.
6. System requests loan type ID.
7. User enters loan type ID. IsValidLoanDescriptionID(LoanTypeID)8. System verifies loan type ID.
9. System requests loan information.
Duration
Amount
Employment
Income
Interest rate
10. User enters loan information. CreateLoanApplication(Duration, Amount, Employment Income,InterestRate)
11. System validates loan information.
12. System creates loan application.
13. System records logs for loan application.
14. System presents options.Alternative Flow
5a. Customer is new.
1. Go toCreate New Customer use case.2. Return to step 3.
8a. Loan type ID is invalid. (Not active or not exist)
3. System presents invalid loan type ID
4. Return to step 6
11a. Loan information is incomplete.
1. System presents incomplete loan application.
2. Return to step 9.
Lead Responsibility by Derek PawlikowskySubstantive assistance by Kittipong Techapanichgul,, Jaruwan Laptrakool and Warat Chesdavanijkul
30
-
7/29/2019 Um l Final Project Report
31/81
System Sequence Diagram
User
ApplyNewLoanOption()
IsValidCustomerID(CustomerID)
IsValidLoanDescriptionID(LoanTypeID)
CreateLoanApplication(Duration, Amount, EmploymentIncome, InterestRate)
System
Process Account Statement
Lead Responsibility by Derek PawlikowskySubstantive assistance by Kittipong Techapanichgul,, Jaruwan Laptrakool and Warat Chesdavanijkul
31
-
7/29/2019 Um l Final Project Report
32/81
Operation Contract
Contract C07: ApplyForLoan
Operation Name Instances Created AssociationsFormed
AttributesModified
ApplyNewLoanOption()
IsValidCustomerID(customerID)
IsValidLoanDescriptionID(LoanTypeID)
CreateLoanApplication(Duration, Amount,
employment Income, InterestRate)
- LoanApplication - LoanApplication
with bank
- LoanApplication
with customer
- LoanDescription
with LoanApplication
- LoanApplication.
Duration = Duration
- LoanApplication.
Amount = amount
-
LoanApplication.Empl
oymentIncome =
EmploymentIncome
-LoanApplication.InterestRate = InterestRate
-
LoanApplication.Appr
oved = false
Lead Responsibility by Derek PawlikowskySubstantive assistance by Kittipong Techapanichgul,, Jaruwan Laptrakool and Warat Chesdavanijkul
32
-
7/29/2019 Um l Final Project Report
33/81
Sequence Diagram for Base Scenario
User
Apply For Loan
ApplyNewLoanOption()
:Bank
custList
:ArrayList
LoanDescList
:ArrayList
LoanAppList
:ArrayList
:Loan Application
currentCust
:Customer
IsValidCustomerID(CustomerID)
IsValidLoanDescriptionID(LoanTypeID)
CreateLoanApplication
(Duration, Amount, EmploymentIncome, InterestRate)
IsValidCustomerID(CustomerID)
Cust = GetCustomer(CustomerID)
IsValidLoanDescriptionID(LoanTypeID)
LoanType = GetLoanDescription(LoanTypeID)
CreateLoanApplication(LoanTypeID, Duration,
Amount, EmploymentIncome, InterestRate)
LoanApp = Create(LoanTypeID, Duration, Amount, EmploymentIncome, InterestRate)
AddLoanApplication(LoanApp)
Lead Responsibility by Derek Pawlikowsky
Substantive assistance by Kittipong Techapanichgul,, Jaruwan Laptrakool and Warat Chesdavanijkul
33
-
7/29/2019 Um l Final Project Report
34/81
Use Case 8: Evaluate Loan
Use Case Description with Major Alternative flows
Pre Conditions:
- User is authenticated- Customer has applied for a loan
Post Conditions:
- Loan application status is updated
Basic Flow
1. User selects evaluate loan option. evaluateLoanOption()
2. System requests customer ID.
3. User enters customer ID. isValidCustomer(customerID)4. System verifies customer ID.
5. System requests loan application ID.
6. User enters loan application ID. isValidLoanAppID(loanAppID)
7. System verifies load application ID.8. System submits customer and loan information to Credit Bureau system.
9. System requests credit score from Credit Bureau system.
10. System receives credit score from Credit Bureau system.11. System displays customer information, loan information and his credit score.
12. System requests loan approval.
13. User enters loan application approval status. updateApprovalStatus(status)14. System updates loan application status
15. System presents user option.
Alternative Flow
4a. Customer ID is invalid
1. System presents error message.
2. Resume step 2.7a. Loan application ID is invalid
1. System presents error message.
2. Resume step 5.
Lead Responsibility by Derek PawlikowskySubstantive assistance by Kittipong Techapanichgul,, Jaruwan Laptrakool and Warat Chesdavanijkul
34
-
7/29/2019 Um l Final Project Report
35/81
System Sequence Diagram
Lead Responsibility by Derek Pawlikowsky
Substantive assistance by Kittipong Techapanichgul,, Jaruwan Laptrakool and Warat Chesdavanijkul
35
-
7/29/2019 Um l Final Project Report
36/81
Operation Contract
Contract C08: Evaluate Loan
Operation Name InstancesCreated
Associations Formed Attributes Modified
evaluateLoanOption() - - -
IsValidCustomerID(CustomerID) - - -
isValidLoanAppID(loanAppID) - - -
updateApprovalStatus(status) - - LoanApplication.Approved =
status
Lead Responsibility by Derek PawlikowskySubstantive assistance by Kittipong Techapanichgul,, Jaruwan Laptrakool and Warat Chesdavanijkul
36
-
7/29/2019 Um l Final Project Report
37/81
Sequence Diagram for Base Scenario
Lead Responsibility by Derek PawlikowskySubstantive assistance by Kittipong Techapanichgul,, Jaruwan Laptrakool and Warat Chesdavanijkul
37
-
7/29/2019 Um l Final Project Report
38/81
Use Case 9: Finalize Loan
Use Case Description with Major Alternative flowsPre Conditions:
- User is authenticated.- The loan is approved.
Post Conditions:
- Loan is created.
Basic Flow
1. User selects finalize loan option. finalizeLoanOption()
2. System requests customer ID.
3. User enters customer ID. IsValidCustomerID(CustomerID)
4. System verifies Customer ID.
5. System requests loan application ID.
6. User enters loan application ID. IsValidLoanAppID(LoanAppID)
7. System verifies loan application ID.
8. System presents loan information.9. System requests approval of loan.
10. User approves loan. createLoanAgreement()
11. Go to Create New Accountuse case.
12. System generates the loan agreement.
13. System updates loan application status.
14. System present user options.
Alternative Flow
4a. Customer ID is invalid.
1. System presents invalid customer ID.
2. Return to step 2.
7a. Loan application ID is invalid.
1. System presents invalid loan application ID.2. Return to step 4.
10a. User cancels approval of loan.
1. Go to step 14.
Lead Responsibility by Warat ChesdavanijkulSubstantive assistance by Kittipong Techapanichgul,, Jaruwan Laptrakool and Derek Pawlikowsky
38
-
7/29/2019 Um l Final Project Report
39/81
System Sequence Diagram
Lead Responsibility by Warat Chesdavanijkul
Substantive assistance by Kittipong Techapanichgul,, Jaruwan Laptrakool and Derek Pawlikowsky
39
-
7/29/2019 Um l Final Project Report
40/81
-
7/29/2019 Um l Final Project Report
41/81
Sequence Diagram for Base Scenario
User
Finalize Loan
finalizeLoanOption( )
:BankcustList
:ArrayList
ActListOnBank :ArrayList
:AccountDescription
LoanAppList:ArrayList
:Loan Agreement
Loan :LoanApplication
currentCust:Customer
actInterestStgy:InterestStrategy
Description
isValidLoanAppID(ApplicationID)
IsValidCustomerID(customerID)
isValidLoanAppID(ApplicationID)
IsValidCustomerID(customerID)
Cust = GetCustomer(customerID)
isValidLoanAppID(AppID)
loanApp = getLoadApp(ApplicationID)
createLoanAgreement()
createLoanAgreement()
lnAgmt = createLoanAgreement()
Create(Duration,Amount, InterestRate)
ActDesc = getAccountDescription(Loan)
ActIntStgy = getInterestStrategy(Loan)
Act = Cr eate(ActDesc, ActIntStgy, LoanName, StartDate):Account
ActListOnCust:ArrayList
AddNewAccount(Act)
AddNewAccount(Act)
Lead Responsibility by Warat ChesdavanijkulSubstantive assistance by Kittipong Techapanichgul,, Jaruwan Laptrakool and Derek Pawlikowsky
41
-
7/29/2019 Um l Final Project Report
42/81
Use Case 10: Pay loan installment
Use Case Description with Major Alternative flows
Pre conditions:
- User is authenticated.
Post conditions:- Loan balance is updated.
Basic Flow
1. User selects pay loan. payLoanOption()
2. System requests loan account number.
3. User enters loan account number. isValidAccountNumber(AccountNumber)
4. System verifies loan account.
5. User enters payment amount enterPayment(amount)
6. System verifies payment amount.7. System updates loan account balance.
8. System generates receipt.
9. System presents user option.Alternative Flow
4a. Loan account number is invalid.
1. System presents error message.
2. Resume step 2.6a. Payment amount is lower than minimum payment
1. System present error message.
2. Resume step 5.
Lead Responsibility by Jaruwan LaptrakoolSubstantive assistance by Warat Chesdavanijkul, Derek Pawlikowsky and Kittipong Techapanichgul
42
-
7/29/2019 Um l Final Project Report
43/81
System Sequence Diagram
System
Pay loan installment
payLoanOption()
isValidAccountNumber(AccountNumber)
enterPayment(amount)
Lead Responsibility by Jaruwan LaptrakoolSubstantive assistance by Warat Chesdavanijkul, Derek Pawlikowsky and Kittipong Techapanichgul
43
-
7/29/2019 Um l Final Project Report
44/81
Operation Contract
Contract C10: Pay Loan Installment
Operation Name Instances
Created
Associations
Formed
Attributes Modified
payLoanOption() - - -
isValidAccountNumber(AccountNumber) - - -
enterPayment(amount) - Transaction Associates Transaction
with LoanAccount
- Transaction.Amount = amount
- loanAcct.Balance =
loanAcct.Balance amount
Lead Responsibility by Jaruwan Laptrakool
Substantive assistance by Warat Chesdavanijkul, Derek Pawlikowsky and Kittipong Techapanichgul
44
-
7/29/2019 Um l Final Project Report
45/81
Sequence Diagram for Base Scenario
User:BANK
payLoanOption()
isValidAccountNumber(AccountNumber)
Transactio
enterPayment(amount)
Accounts: ArrayList
isValidAccount(AccountNumber)
:Account
10. Pay Loan Installment
TransactionList: ArrayList
acct = getAccount(AccountID)
deposit(amount)
IsValidPayment()
updateBalance()
addTransaction(t)
t = create(transactionType, amount)
Lead Responsibility by Jaruwan LaptrakoolSubstantive assistance by Warat Chesdavanijkul, Derek Pawlikowsky and Kittipong Techapanichgul
45
-
7/29/2019 Um l Final Project Report
46/81
Use Case 11: Extinguish Loan
Use Case Description with Major Alternative flowsPre conditions:
- User is authenticated.
- Loan account exists.Post conditions:
- Loan account is closed.- Loan agreement is deactivated.
Basic Flow
1. User selects extinguish loan option. extinguishLoanOption()2.System requests customer ID.
3. User enters customer ID. IsValidCustomerID(CustomerID)4.System verifies Customer ID.
5.System presents loan account information.
6.System request extinguished loan account.
7. User enters loan account number. IsValidAccountNumber(AccountNumber)8.System verifies loan account balance.
9.System deactivates loan account.
10. System deactivates loan agreement.11. System presents user option.
Alternative Flow
4a. Customer ID is invalid.
3. System presents invalid customer ID.
2. Return to step 2.
8b. balance is negative
3. Go to Pay Loan Installment use case.
4. Return to step 8.
Lead Responsibility by Jaruwan LaptrakoolSubstantive assistance by Warat Chesdavanijkul, Derek Pawlikowsky and Kittipong Techapanichgul
46
-
7/29/2019 Um l Final Project Report
47/81
System Sequence Diagram
Lead Responsibility by Jaruwan Laptrakool
Substantive assistance by Warat Chesdavanijkul, Derek Pawlikowsky and Kittipong Techapanichgul
47
-
7/29/2019 Um l Final Project Report
48/81
Operation Contract
Contract C11: Extinguish loan
Operation Name Instances
Created
Associations Formed Attributes Modified
extinguishLoanOption() - - -
IsValidCustomerID(CustomerID) - - -
IsValidAccountNumber(AccountNumber) - - -
Lead Responsibility by Jaruwan Laptrakool
Substantive assistance by Warat Chesdavanijkul, Derek Pawlikowsky and Kittipong Techapanichgul
48
-
7/29/2019 Um l Final Project Report
49/81
Sequence Diagram for Base Scenario
Lead Responsibility by Warat ChesdavanijkulSubstantive assistance by Kittipong Techapanichgul,, Jaruwan Laptrakool and Derek Pawlikowsky
49
-
7/29/2019 Um l Final Project Report
50/81
Use Case 12: Manage customer(Create, modify, deactivate a customer) Customer, Teller and Service Rep.
Create New Customer
Use Case Description with Major Alternative flows
Preconditions:
Service Rep. is authenticated.
Post conditions:
Customer is created.
Basic Flow
1. User selects create new customer option. NewCustomerOption()2. System requests customer ID. (SSN or Passport ID)
3. User enters customer ID. IsNewCustomerID(CustomerID)
4. System verifies customer ID.5. System requests customer information.
User enters customer information. CreateNewCustomer(Name, Address, Email)
6. System verifies customer information.
7. System creates new customer8. System presents user options.
Alternative flow
a. The use case is requested from Open Account use case
1. System starts step 2. to 7.2. Resume open account process.
b. The use case is requested fromApply for Loan use case
2. System starts step 2. to 7.2. Resume open account process.
4a. System detects duplicate customer ID
1. System presents customer ID already exist on the system.2. Return to step 9.
7a. System detects missing information.
1. System presents error message.2. Return to step 5.
7b. System detects duplicate customer
3. System presents customer already exist on the system.
4. Return to step 5.
Lead Responsibility by Warat ChesdavanijkulSubstantive assistance by Jaruwan Laptrakool, Derek Pawlikowsky and Kittipong Techapanichgul
50
-
7/29/2019 Um l Final Project Report
51/81
System Sequence Diagram
Manage Customer : New Customer
User
System
NewCustomerOption()
IsNewCustomerID(customerID)
CreateNewCustomer(Name, Address, Email)
Lead Responsibility by Warat Chesdavanijkul
Substantive assistance by Jaruwan Laptrakool, Derek Pawlikowsky and Kittipong Techapanichgul
51
-
7/29/2019 Um l Final Project Report
52/81
Operation Contract
Contract C121: CreateNewCustomer
Operation Name InstancesCreated
AssociationsFormed
Attributes Modified
NewCustomerOption()
IsNewCustomerID(CustomerID)
CreateNewCustomer(Name,
Address, Email)
- Customer - Customer with
Bank
- Customer.active = True
- Customer.Name = Name
- Customer.Address =
Address- Customer.Email = Email
Lead Responsibility by Warat Chesdavanijkul
Substantive assistance by Jaruwan Laptrakool, Derek Pawlikowsky and Kittipong Techapanichgul
52
-
7/29/2019 Um l Final Project Report
53/81
Sequence Diagram for Base Scenario
User
Manage Customer : New Customer
NewCustomerOption()
IsNewCustomerID(customerID)
CreateNewCustomer(Name, Address, Email)
:BankCustList
:ArrayList
IsNewCustomerID(customerID)
:CustomerC = Create(Name, Address,Email)
AddNewCustomer(C)
Lead Responsibility by Warat Chesdavanijkul
Substantive assistance by Jaruwan Laptrakool, Derek Pawlikowsky and Kittipong Techapanichgul
53
-
7/29/2019 Um l Final Project Report
54/81
Modify Customer Information
Use Case Description with Major Alternative flows
Pre Conditions:
- Service Rep is authenticated.
Post Conditions:
Customer information is modified.
Basic Flow
1. User selects modify customer option. ModifyCustomerOption()2. System requests customer ID. (SSN or passport ID)
3. User enters customer ID. IsValidCustomerID(CustomerID)
4. System verifies customer ID.5. System presents customer information.
6. System requests changes in customer information and status of the customer.
7. User enters customer information and customer status.ModifyCustomer(Name,
Address, Email, ActiveStatus)8. System verifies customer information.
9. System updates customer information.
10. System updates customer status.11. System presents user options.
Alternative flow
4a. Invalid customer ID.
1. System presents error message.2. Return to step 2.
7a. System detects missing information.
1. System presents error message.2. Return to step 5.
Lead Responsibility by Warat ChesdavanijkulSubstantive assistance by Jaruwan Laptrakool, Derek Pawlikowsky and Kittipong Techapanichgul
54
-
7/29/2019 Um l Final Project Report
55/81
System Sequence Diagram
User
System
ModifyCustomerOption()
IsValidCustomerID(customerID)
ModifyCustomer(Name, Address, Email, ActiveStatus)
Manage Customer : Modify Customer
Lead Responsibility by Warat ChesdavanijkulSubstantive assistance by Jaruwan Laptrakool, Derek Pawlikowsky and Kittipong Techapanichgul
55
-
7/29/2019 Um l Final Project Report
56/81
Operation Contract
Contract C122: ModifyCustomerInformation
Operation Name Instances
Created
Associations
Formed
Attributes
ModifiedModifyCustomerOption()
IsValidCustomerID(CustomerI
D)
ModifyCustomer(Name,
Address, Email, ActiveStatus)
- Customer.Name =
Name
- Customer.Address =
Address
- Customer.Email =Email
- Customer.Active =
ActiveStatus
Lead Responsibility by Warat Chesdavanijkul
Substantive assistance by Jaruwan Laptrakool, Derek Pawlikowsky and Kittipong Techapanichgul
56
-
7/29/2019 Um l Final Project Report
57/81
Sequence Diagram for Base Scenario
User
Manage Customer : Modify Customer
ModifyCustomerOption()
IsValidCustomerID(customerID)
ModifyCustomer(Name, Address, Email, ActiveStatus)
:BankCustList
:ArrayList
IsValidCustomerID(customerID)
Cust:Customer
ModifyCustomer(Name, Address, Email, ActiveStatus)
cust = getCustomer(customerID)
Lead Responsibility by Warat Chesdavanijkul
Substantive assistance by Jaruwan Laptrakool, Derek Pawlikowsky and Kittipong Techapanichgul
Deactivate customerThis is already implemented on modify customer use case.
57
-
7/29/2019 Um l Final Project Report
58/81
Use Case 13: Manage account information Manage account information(Create, modify deactivate account info) Customer, Teller, Service Rep.
Create New Account
Use Case Description with Major Alternative flowsPreconditions:
Service Rep. is authenticated.
Post conditions:
Account is created.
Basic Flow
1. User selects create new account option. NewAccountOption()
2. System requests customer ID.
3. User enters customer ID. IsValidCustomerID(CustomerID)
4. System verifies customer ID.5. System requests account product.
6. User enters account product ID. IsValidAccountProductID(AccountProductID)
7. System verifies account product ID.8. System requests interest strategy ID.
9. User enters interest strategy ID. IsValidInterestStrategyID(InterestStrategyID)
10. System verifies interest strategy ID.11. System requests account information.
User enters account information. CreateAccount(Name, StartDate)
12. System verifies account information.13. System creates new account.
14. System presents account number.15. System presents user options.
Alternative Flow
a. The use case is called from Open Account use case (CustomerID is supplied)
1. System starts step 5. to 15.
2. Resume open account process.
4a. Customer ID invalid (not exist or not in active status).System presents invalid customer ID.
Return to step 2.
7a. Account Product ID invalid (not exist or not in active status).1. System presents invalid Product.
2. Return to step 5.10a. InterestStrategy ID is invalid (not exist or not in active status).
1. System presents invalid interest strategy ID.
2. Return to step 8.
13a. System detects missing information.System presents error message.
Return to step 11.Lead Responsibility by Warat Chesdavanijkul
58
-
7/29/2019 Um l Final Project Report
59/81
Substantive assistance by Jaruwan Laptrakool, Derek Pawlikowsky and Kittipong Techapanichgul
System Sequence Diagram
User
System
Manage Account : New Account
NewAccountOption()
IsValidCustomerID(customerID)
CreateNewAccount(Name, StartDate)
IsValidAccountProductID(AccountProductID)
IsValidInterestStrategyID(InterestStrategyID)
Lead Responsibility by Warat ChesdavanijkulSubstantive assistance by Jaruwan Laptrakool, Derek Pawlikowsky and Kittipong Techapanichgul
59
-
7/29/2019 Um l Final Project Report
60/81
Operation Contract
Contract C131: CreateNewAccount
Operation Name InstancesCreated
Associations Formed Attributes Modified
NewAccountOption()
IsValidCustomerID(CustomerID)
IsValidAccountProductID(AccountPr
oductID)
IsValidInterestStrategyID(InterestStr
ategyID)
CreateNewAccount(Name,
StartDate)
- Account - Account with Bank
- Account with
AccountDescription
- Account with Customer
- AccountDescription.Type = Type
Lead Responsibility by Warat ChesdavanijkulSubstantive assistance by Jaruwan Laptrakool, Derek Pawlikowsky and Kittipong Techapanichgul
60
-
7/29/2019 Um l Final Project Report
61/81
Sequence Diagram for Base Scenario
Manage Account : New Account
User
NewAccountOption()
IsValidCustomerID(customerID)
CreateNewAccount(Name, StartDate)
:BankCustList
:ArrayList
IsValidCustomerID(customerID)
ActListOnCustomer :ArrayList
Act = Create(ActProd, IntStgy, Name, StartDate):Account
AddNewAccount(Act)
AcctDescList:ArrayList
Cust = GetCustomer(customerID)
ActListOnBank:ArrayList
IsValidAccountProductID(AccountProductID)
IsValidAccountProductID(AccountProductID)
ActProd = GetAccountProduct(AccountProductID)
AddNewAccount(Act)
IsValidInterestStrategyID(InterestStrategyID)
IsValidInterestStrategyID(InterestStrategyID)
IntStgy = GetInterestStrategy(InterestStrategyID)
IntStrategyList:ArrayList
Lead Responsibility by Warat ChesdavanijkulSubstantive assistance by Jaruwan Laptrakool, Derek Pawlikowsky and Kittipong Techapanichgul
61
-
7/29/2019 Um l Final Project Report
62/81
Modify Account Information
Use Case Description with Major Alternative flows
Pre conditions:
- Service Rep is authenticated.
Post conditions:
- Account information is modified.
Basic Flow
1. User selects modify account option. ModifyAccountOption()
2. System requests account number.
3. User enters account number. IsValidAccountNumber(AccountNumber)
4. System verifies account number.5. System requests change in account product.
6. User enters account product ID. IsValidAccountProductID(AccountProductID)
7. System verifies account product ID.
8. System requests interest strategy ID.
9. User enters interest strategy ID. IsValidInterestStrategyID(InterestStrategyID)
10. System verifies interest strategy ID.
11. System requests changes in account.
12. User enters changes in account information.ModifyAccount(Name, ActiveStatus)
13. System verifies changes in account information.
14. System updates account information.
15. System updates account active status.16. System presents user options.
Alternative Flow
a. The use case is called from Close Account Use Case (AccountNumber is supplied, purposeis to deactivate account)
1. System starts step 12. to 15.
2. Resume close account process.
4a. Account number is invalid (not exist or not in active status).1. System presents invalid account number
2. Return to step 2.
7a. Account Product ID is invalid (not exist or not in active status).1. System presents invalid account product ID.
2. Return to step 5.
10a. InterestStrategy ID is invalid (not exist or not in active status).
1. System presents invalid interest strategy ID.2. Return to step 8.
13a. System detects missing information.
1. System presents error message.2. Return to step 14.
Lead Responsibility by Warat Chesdavanijkul
Substantive assistance by Jaruwan Laptrakool, Derek Pawlikowsky and Kittipong Techapanichgul
62
-
7/29/2019 Um l Final Project Report
63/81
System Sequence Diagram
User
System
Manage Account : Modify Account
ModifyAccountOption()
ModifyAccount(Name, ActiveStatus)
IsValidAccountNumber(AccountNumber)
IsValidAccountProductID(AccountProductID)
IsValidInterestStrategyID(InterestStrategyID)
Lead Responsibility by Warat ChesdavanijkulSubstantive assistance by Jaruwan Laptrakool, Derek Pawlikowsky and Kittipong Techapanichgul
63
-
7/29/2019 Um l Final Project Report
64/81
Operation Contract
Contract C132: ModifyAccountInformation
Operation Name InstancesCreated
AssociationsFormed
Attributes Modified
ModifyAccountOption()
IsValidAccountNumber(AccountNumber)
IsValidAccountProductID(Acco
untProductID)
IsValidInterestStrategyID(Inter
estStrategyID)
ModifyAccount(Name,
ActiveStatus)
- Account.AccountProductID =
AccontProductID
- Account.Name = Name- Account.Active = ActiveStatus
Lead Responsibility by Warat ChesdavanijkulSubstantive assistance by Jaruwan Laptrakool, Derek Pawlikowsky and Kittipong Techapanichgul
64
-
7/29/2019 Um l Final Project Report
65/81
Sequence Diagram for Base Scenario
Manage Account : Modify Account
User
ModifyAccountOption()
ModifyAccount(Name, ActiveStatus)
:BankActListOnBank
:ArrayList
ModifyAccount(ActProd, IntStgy, Name, ActiveStatus)
Act :AccountActProductList:ArrayList
IsValidAccountNumber(AccountNumber)
IsValidAccountNumber(AccountNumber)
Act = getAccount(AccountNumber)
IsValidAccountProductID(AccountProductID)
IsValidAccountProductID(AccountProductID)
ActProd = getAccountProduct(AccountAccountProductID)
IntStrategyLis
:ArrayList
IsValidInterestStrategyID(InterestStrategyID)
IsValidInterestStrategyID(InterestStrategyID)
IntStgy = GetInterestStrategy(InterestStrategyID)
Lead Responsibility by Warat ChesdavanijkulSubstantive assistance by Jaruwan Laptrakool, Derek Pawlikowsky and Kittipong Techapanichgul
Deactivate accountThis is already implemented on modify account information use case.
65
-
7/29/2019 Um l Final Project Report
66/81
Use Case 14: View Account Portfolio
Use Case Description with Major Alternative flowsPre Conditions:
- User is authenticated
Post Conditions:None
Basic Flow
1. User selects view account portfolio option. ViewAccountPortfolioOption()
2. System requests account product ID.
3. User enters account product ID. isValidAccountProductID(accountProductID)
4. System verifies account product ID.5. System gets a list of active customers.
6. For each customer, system gets all his active accounts based on account type.7. System gets each accounts balance.
8. System calculates aggregate results.
9. System presents aggregate results.10. System present user options.Alternative Flow
3a. User enters incorrect account type.
1. System presents error message.
2. Return to step 2.5a. There is no any active customer.
1. System presents error message.
2. Return to step 2.6a. Customer has no active account.
1. System presents error message.
2. Return to step 2.
Lead Responsibility by Kittipong Techapanichgul
Substantive assistance by Jaruwan Laptrakool, Derek Pawlikowsky and Warat Chesdavanijkul
66
-
7/29/2019 Um l Final Project Report
67/81
System Sequence Diagram
Lead Responsibility by Kittipong TechapanichgulSubstantive assistance by Jaruwan Laptrakool, Derek Pawlikowsky and Warat Chesdavanijkul
67
-
7/29/2019 Um l Final Project Report
68/81
Operation Contract
Contract C14: ViewAccountPortfolio
Operation Name Instances
Created
Associations Formed Attributes Modified
ViewAccountPortfolioOption() - - -
isValidAccountProductID(AccountPro
ductID)
- - -
Lead Responsibility by Kittipong TechapanichgulSubstantive assistance by Jaruwan Laptrakool, Derek Pawlikowsky and Warat Chesdavanijkul
68
-
7/29/2019 Um l Final Project Report
69/81
Sequence Diagram for Base Scenario
69
-
7/29/2019 Um l Final Project Report
70/81
Use Case 15: Process Account Statement
Use Case Description with Major Alternative flows
Pre Conditions:- Time reach the expiration of a monthly time period.
Post Conditions:
Balance, interest and fee of each account is calculated and updated.
Basic Flow
1. System requests start of monthly maintenance.
2. User selects monthly maintenance option.ProcessACStatementOption(Month, Year)3. For every account, system calculates fee.
4. For every account, system calculates interest.
5. For every account, system generates transaction for monthly maintenance.
6. For every account, system updates balance.Alternative Flow
None
Lead Responsibility by Warat ChesdavanijkulSubstantive assistance by Jaruwan Laptrakool, Derek Pawlikowsky and Kittipong Techapanichgul
70
-
7/29/2019 Um l Final Project Report
71/81
-
7/29/2019 Um l Final Project Report
72/81
Operation Contract
Contract C15: Process Account Statement
Operation Name Instances Created AssociationsFormed
AttributesModified
ProcessACStatementOption(Mo
nth, Year )
- Transaction for every
account.
- Each transaction with
each Account
- Account.balance =
CalculateNewBalance
Lead Responsibility by Warat Chesdavanijkul
Substantive assistance by Jaruwan Laptrakool, Derek Pawlikowsky and Kittipong Techapanichgul
72
-
7/29/2019 Um l Final Project Report
73/81
Sequence Diagram for Base Scenario
Loop
Loop
User
Process Account Statement
ProcessACStatementOption(Month, Year)
:BankcustList
:ArrayList
currentAccount:Account
custList = getActiveCustomerList()
ActListOnCust:ArrayList
actList = getActiveAccountList( )
fee = CalculateMonthlyMaintenance(Month,Year)
Transaction:ArrayList
trFee = create(fee):Transaction
trInt = create(int):Transaction
i = custList.size()
j = actList.s ize()
actDesc :AccountDescrip
tion
Fee = GetFee()
ActProd = GetAccountProduct()
Interest = CalculateInterest(Balance)
Balance = GetBalance()
AddTransaction(trFee)
AddTransaction(trInt)
currentCust:Customer
CalculateMonthlyMaintenance(Month,Year)
i++
j++
actInterestS:InterestStra
Descriptio
ActIntStgy = GetAccountIntStrategy()
UpdateBalance(Balance Fee + Interest)
Lead Responsibility by Warat ChesdavanijkulSubstantive assistance by Jaruwan Laptrakool, Derek Pawlikowsky and Kittipong Techapanichgul
73
-
7/29/2019 Um l Final Project Report
74/81
Use Case 16: Manage Account Product (Manage new or existing bankproducts, e.g., Senior Citizens Checking Account. Sample characteristics of a productinclude a name, monthly fee, per check charge, periodic interest rate, etc)
Create New Account Product
Use Case Description with Major Alternative flows
Pre Conditions:
Service Rep. is authenticated.
Post Conditions:
Account product is created.
Basic Flow
1. User selects create new account product option. NewAccountProductOption()
2. System requests account type.
3. User enters the new account product ID. IsNewAccountProductID(AccountTypeID)4. System verifies product ID.
5. System requests interest strategy ID.
6. User enters interest strategy ID. IsNewInterestStrategyID(InterestStrategyID)7. System verifies interest strategy ID.
8. System requests account product information.
User enters account product information. CreateNewAccountProduct(Name,MonthlyFee, PerCheckCharge, InterestRate)
9. System verifies account product information.
10. System creates new account product.11. System presents user options.
Alternative Flow4a. System detects existing account product ID.
System presents the account product already exist on the system.Return to step 2.
7a. InterestStrategy ID is invalid (not exist or not in active status).
System presents invalid interest strategy ID.
Return to step 5.10a. System detects missing information.
1. System presents error message.
2. Return to step 8.
Lead Responsibility by Warat Chesdavanijkul
Substantive assistance by Jaruwan Laptrakool, Derek Pawlikowsky and Kittipong Techapanichgul
74
-
7/29/2019 Um l Final Project Report
75/81
System Sequence Diagram
User
System
NewAccountProductOption()
IsNewAccountProductID(accountProductID)
CreateAccountProduct(Name, MonthlyFee, PCC, IntRate)
isNewInterestStrategyID(InterestStrategyID)
Manage Account Product : New Account Type
Lead Responsibility by Warat ChesdavanijkulSubstantive assistance by Jaruwan Laptrakool, Derek Pawlikowsky and Kittipong Techapanichgul
75
-
7/29/2019 Um l Final Project Report
76/81
Operation Contract
Contract C161: Create New Account Product
Operation Name InstancesCreated
AssociationsFormed
Attributes Modified
NewAccountProductOption()
IsNewAccountProductID(AccountTypeName)
IsNewInterestStrategyID(Intere
stStrategyID)
CreateAccountProduct(Name,
MonthlyFee, PerCheckCharge,
InterestRate)
- AccountDescription
-
InterestStrategyDescription
- AccountDescription
with Bank
- InterestStrategy withBank
- AccountDescription.Name =
Name
-AccountDescription.MonthlyF
ee = MonthlyFee
-
AccountDescription.PerCheckCharge = PerCheckCharge
-
AccountDescription.active=tru
e-
InterestDescription.InterestRat
e = InterestRate
Lead Responsibility by Warat ChesdavanijkulSubstantive assistance by Jaruwan Laptrakool, Derek Pawlikowsky and Kittipong Techapanichgul
76
-
7/29/2019 Um l Final Project Report
77/81
Sequence Diagram for Base Scenario
Manage Account Product : New Account Type
User
NewAccountProductOption()
IsNewAccountProductID(accountProductID)
CreateAccountProduct(Name, MonthlyFee, PCC, IntRate)
:Bank
IsNewAccountProductID(accountProductID)
ActDescList:ArrayList
actProd = Create(Name, MonthlyFee, PCC)
AddAccountProduct(actProd)
:AccountDescription
InterestStrategyList:ArrayList
:InterestStrategyDescription
isNewInterestStrategyID(InterestStrategyID)
IsNewInterestStrategyID(InterestStrategyID)
intStgy = Create(InterestRate)
addInterestStrategy(intStgy)
Lead Responsibility by Warat ChesdavanijkulSubstantive assistance by Jaruwan Laptrakool, Derek Pawlikowsky and Kittipong Techapanichgul
77
-
7/29/2019 Um l Final Project Report
78/81
Modify Account Product
Use Case Description with Major Alternative flows
Pre Conditions:
- Service Rep is authenticated.
Post Conditions:
- Account product is modified.
Basic Flow
1. User selects modify account product option.ModifyAccountProductOption()2. System requests account product ID.
3. User enters account product ID. IsValidAccountProductID(AccountProductID)4. System verifies account product ID.
5. System requests interest strategy ID.
6. User enters interest strategy ID. IsValidInterestStrategyID(InterestStrategyID)7. System verifies interest strategy ID.
8. System requests changes in account product information and the status of the account.
9. User enters account product information and the account status.
ModifyAccountProduct(MonthlyFee, PerCheckCharge, InterestRate, ActiveStatus)
10. System verifies account product information.
11. System updates account product information.12. System updates account product status.
13. System presents user options.
Alternative Flow
4a. Invalid account product ID.
3. System presents invalid account product ID.4. Return to step 2.
7a. InterestStrategy ID is invalid (not exist or not in active status).
15. System presents invalid interest strategy ID.16. Return to step 5.
10a. System detects missing information.
3. System presents error message.4. Return to step 8.
Lead Responsibility by Warat ChesdavanijkulSubstantive assistance by Jaruwan Laptrakool, Derek Pawlikowsky and Kittipong Techapanichgul
78
-
7/29/2019 Um l Final Project Report
79/81
System Sequence Diagram
User
System
ModifyAccountProductOption()
IsValidAccountProductID(accountProductID)
ModifyAccountProduct(Name, MonthlyFee, PCC, IntRate, ActiveStatus)
isValidInterestStrategyID(InterestStrategyID)
Manage Account Product : Modify Account Type
Lead Responsibility by Warat Chesdavanijkul
Substantive assistance by Jaruwan Laptrakool, Derek Pawlikowsky and Kittipong Techapanichgul
79
-
7/29/2019 Um l Final Project Report
80/81
Operation Contract
Contract C162: Modify Account Product
Operation Name InstancesCreated
AssociationsFormed
AttributesModified
ModifyAccountProduct()
IsValidAccountProductID(AccountProductID)
IsValidInterestStrategyID(InterestStrat
egyID)
ModifyAccountProduct(Name,
MonthlyFee, PerCheckCharge,
InterestRate, ActiveStatus)
- Account.MonthlyFee
= MonthlyFee
-Account.PerCheckCha
rge = PerCheckCharge
- Account.InterestRate
= InterestRate- Account.Active =
ActiveStatus
Lead Responsibility by Warat ChesdavanijkulSubstantive assistance by Jaruwan Laptrakool, Derek Pawlikowsky and Kittipong Techapanichgul
80
-
7/29/2019 Um l Final Project Report
81/81
Sequence Diagram for Base Scenario
Manage Account Product : Modify Account Type
User
ModifyAccountProductOption()
IsValidAccountProductID(accountProductID)
ModifyAccountProduct(Name, MonthlyFee, PCC, IntRate, ActiveStatus)
:Bank
IsValidAccountProductID(accountProductID)
ActProductList:ArrayList
ModifyAccountType(Name, MonthlyFee, PCC, ActiveStatus)
ActProd:AccountDescription
actProd = getAccountProduct(accountProductID)
InterestStrategyList:ArrayList
:InterestStrategiption
isValidInterestStrategyID(InterestStrategyID)
IsValidInterestStrategyID(InterestStrategyID)
ModifyInterestStrategy(IntRate)
Lead Responsibility by Warat Chesdavanijkul
Substantive assistance by Jaruwan Laptrakool, Derek Pawlikowsky and Kittipong Techapanichgul
Deactivate Account ProductThis is already implemented on modify account product use case.
81