Um l Final Project Report

download Um l Final Project Report

of 81

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