Você está na página 1de 41

Figure 19.

1 Banking System use case model


Withdraw Funds include

Query Account

include

Validate PIN

include Authenticated Customer Transfer Funds Add Cash

Startup

Shutdown

Bank

Copyright 2000 H.Gomaa

Figure 19.2 Conceptual static model for Banking System - Problem Domain
Bank

Has

1..*

Authenticated Customer

Site Visitor

Maintains

Bank Operator

1
Authenticated Customer

1
Acc. Balance

1
Cash Transfer

1
Acc. Update

1. Reads
Balance

1.Cash
Transferre d

1. Reads
Updated Bal.

Figure 19.4 Conceptual static model for Banking System - entity classes
entity Bank

1 1

Maintains

1..*

entity Acc. Info

Manages

Has

Identifies

1..*
Owns entity Customer Provides 1..* Access to Owns

1..* 0..1 entity *


Online Id

1..*

1..* 1,2
Modifies

* *
entity Online Transaction

entity Account

entity Acc. Details entity Checking Account entity Savings Account entity PINValidation Transaction

entity Withdrawal Transaction

entity Query Transaction

entity Transfer Transaction

Figure 19.5 Conceptual static model for Banking System


entity Bank bankName: String bankAddress: String entity Customer customerName: String customerId: String customerPassword: String entity Online Servies CustomerId: String Password: Strings Tranction Details: Strings Acount Details: Object PurchaseDetails:Object

entity CheckingAccount Last Deposit Amount: Real

<<entity>> Saving Account

Interest:Real

Figure 19.6 Conceptual static model for Banking System


entity ATMTransaction transactionId: String cardId: String PIN: String date: Date time: Time status: Integer entity WithdrawalTransaction accountNumber: String amount: Real balance: Real entity PINValidationTransaction

startDate: Date expirationDate: Date

entity QueryTransaction accountNumber: String balance: Real lastDepositAmount: Real

entity TransferTransaction fromAccountNumber: String toAccountNumber: String amount: Real

entity CardAccount cardId: String accountNumber: String

entity ATMInfo ATMId: String ATMLocation: String ATMAddress: String

entity ATMCash cashAvailable: Integer fives: Integer tens: Integer twenties: Integer

entity ATMCard cardId: String startDate: Date expirationDate: Date

Figure 19.8 Banking System - major subsystems


external output device ReceiptPrinter 1 system Banking System external input/ output device CardReader 1 1 subsystem ATMClient Subsystem 1 1..* 1 subsystem BankServer Subsystem external user 1 Operator

1 1 1

external output device CashDispenser

1 1

external user ATMCustomer

Copyright 2000 H.Gomaa

Figure 19.9 Subsystem Packaging of Use Cases


subsystem A subsystem ATMServerSubsystem

Client Validate PIN

include

Server Validate PIN

include Client Withdraw Funds include Add Cash Client Query Account include Client Transfer Funds Shutdown include Server Transfer Funds include Server Query Account Server Withdraw Funds

include

Startup

Copyright 2000 H.Gomaa

Figure 19.10 Banking System external classes and interface classes


system BankingSystem 1

external input/ output device 1 CardReader

input/output device interface CardReader Interface output device interface ReceiptPrinter Interface

1 1

external output device ReceiptPrinter

user interface OperatorInterface

external user Operator 1

1 ATM Customer 1 external output device CashDispenser 1 1 output device interface CashDispenser Interface external user ATMCustomer 1 1 user interface CustomerInterface

Operator

Copyright 2000 H.Gomaa

subsystem ATMClient Subsystem

Figure 19.11 ATM Client subsystem classes


state dependent control ATMControl

I/O device interface CardReader Interface

user interface OperatorInterface

entity output device interface ReceiptPrinter Interface ATMTransaction user interface entity ATMCard output device interface CashDispenser Interface entity ATMCash CustomerInterface

Copyright 2000 H.Gomaa

Figure 19.12 Collaboration diagram: ATM Client - Validate PIN use case
1: Card Reader Input

subsystem :BankServer

external I/O device :CardReader

I/O device interface :CardReader Interface

1.2: Card Inserted

2.5: Validate PIN

2.6 [Valid]:

1.1: Card Input Data

state dependent control :ATMControl

entity :ATMCard

2.4: PIN Entered (Customer Info) 1.3: Get PIN 2.7: Display Menu 2.3: Customer Info 2.7a: Update Status

2.2: Card Data 1.4: Pin Prompt 2.8: Selection Menu 2: PIN Input :ATMCustomer
Copyright 2000 H.Gomaa

2.1: Card Request

user interface :CustomerInterface

entity :ATMTransaction

Figure 19.13 Sequence diagram for Validate PIN use case


:ATM Customer 1: Card Reader Input I/O device interface :CardReaderInterface entity :ATMCard state dependent control :ATMControl user interface :CustomerInterface entity :ATM Transaction Subsystem :BankServer

1.1: Card Input Data 1.2 : Card Inserted 1.3: Get PIN

1.4: PIN Prompt 2: PIN Input 2.1: Card Request

2.2: Card Data 2.4: PIN Entered 2.5: Validate PIN 2.6[Valid]: Valid PIN 2.7: Display Menu 2.7a: Update Status 2.8: Selection Menu 2.3: Customer Info

Copyright 2000 H.Gomaa

Figure 19.14 Statechart for ATM Control - Validate PIN use case
1.2: Card Inserted / 1.3: Get PIN

Idle
Entry/ Display Welcome

Waiting for PIN 2.4: PIN Entered / 2.5: Validate PIN Validating PIN 2.6: Valid PIN / 2.7: Display Menu, 2.7a: Update Status Waiting for Customer Choice

Copyright 2000 H.Gomaa

Figure 19.15 Collaboration diagram ATM Server - Validate PIN use case
subsystem : ATMClient V1: PIN Validation Request (Card Id, PIN) V6: PIN Validation Response (Status)

business logic : PINValidation TransactionManager V2: Validate (Card Id, PIN) V3: Card V5: Data V4: Read Account (Card Id) Numbers entity : CardAccount

entity :DebitCard

Copyright 2000 H.Gomaa

Figure 19.16 Collaboration diagram: ATM Client - Withdraw Funds use case
subsystem :BankServer 3.4: Request Withdrawal (Transaction Details) 3.11b: ACK Cash Dispensed 3.5: Withdrawal OK (Cash Details) output device interface :CashDispenser Interface external output device :CashDispenser

3.17: Card Reader Output external I/O device :CardReader

3.6: Dispense Cash (Cash details) 3.7: Cash 3.8: Cash Response 3.18: Card Withdrawal I/O device Ejected Amount interface 3.10: Cash :CardReader entity Dispensed Interface :ATMCash 3.16: state dependent Eject control 3.3 Withdrawal Selected :ATMControl (Transaction details) 3.15: Receipt Printed 3.6a: Update Status (Cash Details)

3.9: Dispenser Output

3.4a.1 : Wait Prompt 3.11a.1: Cash Dispensed Prompt 3.20: Card Ejected Prompt

3.4a: Display Wait 3.11a: Display Cash Dispensed 3.19: Display Ejected 3.1: Customer Selection 3.2: Transaction details

3.11: Print Receipt

user interface :Customer Interface :ATM Customer 3: Selection Input

entity :ATM Transaction

3.12:Transaction Request output device interface :ReceiptPrinter 3.13: Interface Transaction Data

external output device :ReceiptPrinter 3.14: Printer Output

Copyright 2000 H.Gomaa

Figure 19.17 Sequence diagram - ATM Client Withdraw Funds use case
I/Odi :ATM Customer :CardReaderInterface sdc user interface :ATMControl :CustomerInterface 3: Selection Input entity :ATM Transaction 3.1: Customer Selection odi :Cash Dispenser Interface entity :ATMCash odi :Receipt Printer Interface subsystem :BankServer

3.2: Transaction Details 3.3: Withdrawal Selected 3.4: Request Withdrawal 3.4a: Display Wait 3.4a.1: Wait Prompt 3.5: Withdrawal OK 3.6: Dispense Cash 3.6 a: Update Status 3.7: Cash Withdrawal Amount 3.8: Cash Response 3.9: Dispenser Output 3.10: Cash Dispensed 3.11: Print Receipt 3.11a: Display Cash Dispensed 3.11b: 3.11a.1: Cash Dispensed Prompt 3.14: Printer Output 3.16: Eject 3.17: Card Reader Output 3.18: Card Ejected 3.20: Card Ejected Prompt
pyr

ACK Cash Dispensed

3.12: Transaction Request 3.13: Transaction Data 3.15: Receipt Printed

3.19: Display Ejected

Co

ight 2000 H.Gomaa

Figure 19.18 Statechart for ATM Control - Withdraw Funds use case
Idle Entry /
Display Welcome After (Elapsed Time) [Closedown not Requested]

Terminating 3.18: Card Ejected / 3.19: Display Ejected Ejecting 3.15: Receipt Printed / 3.16: Eject Waiting For Customer Choice 3.3: Withdrawal Selected / 3.4: Request Withdrawal, 3.4a: Display Wait Printing 3.10: Cash Dispensed / 3.11: Print Receipt, 3.11a: Display Cash Dispensed 3.11b: ACK Cash Dispensed Dispensing 3.5: Withdrawal Ok / 3.6: Dispense Cash, 3.6a: Update Status

Processing Withdrawal

Copyright 2000 H.Gomaa

Figure 19.19 Collaboration diagram ATM Server - Withdraw Funds use case
subsystem :ATMClient W1: Withdrawal Request (Transaction Details) W8: Withdrawal Response (Cash Details)

business logic :WithdrawalTransaction Manager W4: Debit (Account #,Amount) W2: Check Daily Limit (Card Id,Amount) W7: Log Transaction

W5: Account W6: Update Daily Total Data (Card Id, Amount) entity :Account

W3: Daily Limit Response

entity :DebitCard

entity :TransactionLog

Copyright 2000 H.Gomaa

Figure 19.20 Top level statechart for ATM Control


Insufficient Cash / Eject After(Elapsed Time) [Closedown Requested]

Closed Down
Entry / Display System Down Startup 1.2: Card Inserted / 1.3: Get PIN Closedown

Idle
Entry / Display Welcome After(Elapsed Time)[Closedown not Requested]

Processing Customer Input

Third Invalid, Stolen / Confiscate,Update Status Cancel / Eject, Display Cancel

Terminating Transaction

Transfer Selected / Request Transfer, Display Wait Query Selected / Request Query, Display Wait 3.3: Withdrawal Selected / 3.4: Request Withdrawal, 3.4a: Display Wait
Copyright 2000 H.Gomaa

Rejected / Eject, Display Apology Transfer Ok / Print Receipt, Update Status Processing Transaction Query Ok / Print Receipt, Update Status

3.5: Withdrawal Ok / 3.6: Dispense Cash, 3.6a Update Status

Figure 19.21 Statechart for ATM Control Processing Customer Input superstate
1.2: Card Inserted / 1.3: Get PIN Processing Customer Input

Idle
Entry/ Display Welcome Cancel / Eject, Display Cancel

Waiting for PIN 2.4: PIN Entered / 2.5: Validate PIN Invalid PIN / Invalid PIN Prompt, Update Status

Validating PIN 2.6: Valid PIN / 2.7: Display Menu, 2.7a: Update Status Waiting for Customer Choice

Third Invalid, Stolen / Confiscate, Update Status

Transfer Selected / Request Transfer, Display Wait

3.3: Withdrawal Selected / 3.4: Request Withdrawal, 3.4a: Display Wait

Query Selected / Request Query, Display Wait

Copyright 2000 H.Gomaa

Figure 19.22 Statechart for ATM Processing Transaction superstate

Processing Transaction Transfer Selected / Request Transfer, Display Wait Query Selected / Request Query, Display Wait 3.3: Withdrawal Selected / 3.4: Request Withdrawal, 3.4a: Display Wait Processing Transfer

Rejected / Eject, Display Apology

Transfer Ok / Print Receipt, Update Status Query Ok / Print Receipt, Update Status

Processing Query

Processing Withdrawal

3.5: Withdrawal Ok / 3.6: Dispense Cash, 3.6a: Update Status

Copyright 2000 H.Gomaa

Figure 19.23 Statechart for ATM Control - Terminating Transaction superstate


Closed Down
Entry / Display System Down After(Elapsed Time)[Closedown Requested]

Idle Entry /
Display Welcome

After(Elapsed Time)[Closedown not Requested]

Terminating Transaction Terminating Cancel / Eject, Display Cancel Third Invalid, Stolen / Confiscate Confiscating Ejecting 3.15: Receipt Printed / 3.16: Eject Printing 3.10: Cash Dispensed / 3.11: Print Receipt, 3.11a: Display Cash Dispensed 3.11b: ACK Cash Dispensed 3.5: Withdrawal Ok / 3.6: Dispense Cash, Insufficient Cash / Eject Card Confiscated / Display Confiscated 3.18: Card Ejected / 3.19: Display Ejected

Rejected / Eject, Display Apology Transfer Ok / Print Receipt, Update Status Query Ok / Print Receipt, Update Status
Copyright 2000 H.Gomaa

3.6a: Update Status

Dispensing

Figure 19.24 Consolidated collaboration diagram for ATM Client subsystem


subsystem :BankServer ATM Transactions Card Reader Input client subsystem :ATMClient I/O device interface :CardReader Interface Card Input Data entity :ATMCard Customer events (Transaction details) Card Data Card Request Update Transaction Status (Cash Details), Update PIN Status Card Inserted , Card Ejected, Card Confiscated Dispense Cash (Cash details) output device interface :CashDispenser Interface Cash Withdrawal Amount state dependent control :ATMControl Cash Dispensed Cash Response Bank Responses

external I/O device :CardReader

Card Reader Output

Dispenser Output external output device :CashDispenser

Eject, Confiscate

entity :ATMCash Cash Added user interface :Operator Interface Operator Information

Start Up, Closedown

Operator Input Print Receipt Receipt Printed Printer Output

:Operator

Display Prompts Customer Input

user interface :CustomerInterface

Customer Info. , Customer Selection

entity :ATM Transaction

Transaction Data

Display Information :ATMCustomer


Copyright 2000 H.Gomaa

Transaction details

Transaction Request

output device interface :ReceiptPrinter Interface

external output device :ReceiptPrinter

Figure 19.25 Refined static model ATM Client subsystem

user interface Customer Interface Reads Updates entity ATM Card

device interface CardReader Interface Notifies Controls Startup, Close

device interface CashDispenser Interface

device interface ReceiptPrinter Interface Dispenses

state dependent control ATMControl


Updates
entity

user interface Operator Interface

Replenishes

entity ATM Cash

Notifies

Controls

Creates

ATM Transaction

Reads

entity Withdrawal Transaction


Copyright 2000 H.Gomaa

entity Query Transaction

entity Transfer Transaction

entity PINValidation Transaction

Figure 19.26 Consolidated collaboration diagram for Bank Server subsystem


subsystem :ATMClient Bank Responses server subsystem :BankServer ATM Transactions PIN Validation Request

coordinator :Bank TransactionServer

Transfer Response

Transfer Transaction

Query Transaction

Query Response

business logic :Transfer TransactionManager

Account Data

Read

Withdraw Response business logic :Query Transaction Read Manager

Withdraw, Confirm, Abort

PIN Validation Response business logic :PINValidation TransactionManager Check, Update Validate Read

business logic :Withdrawal TransactionManager

Account Data

Debit, Credit, Read

Account Data Account Data Debit, Credit, Read Log

Account Data Log Log entity :TransactionLog Debit, Credit, Read

Account Data

Debit, Credit, Read

Daily Limit Response

Card Data entity :DebitCard

Account Numbers entity :CardAccount

entity :Checking Account


Copyright 2000 H.Gomaa

entity :SavingsAccount

Figure 19.27 Subsystem design - high level collaboration diagram for Banking System
external I/O device :CardReader cardReader Input system :BankingSystem customerInput display Information
:ATMCustomer

cardReader Output

client subsystem :ATMClient

ATM Transactions Bank Responses

server subsystem :BankServer

operator Input

operator Information

printer Output

dispenser Output

external output device : ReceiptPrinter


:Operator
Copyright 2000 H.Gomaa

external output device : CashDispenser

Figure 19.28 Subsystem interfaces - high level concurrent collaboration diagram for Banking System
external I/O device :CardReader cardReader Input system :BankingSystem

cardReader Output

customerInput display Information


:ATMCustomer

client subsystem :ATMClient

ATMTransaction bankResponse

server subsystem :BankServer

operator Input

operator Information

printer Output

dispenser Output

external output device : ReceiptPrinter


:Operator
Copyright 2000 H.Gomaa

external output device : CashDispenser

Figure 19.29 Task Architecture - initial concurrent collaboration diagram for ATM Client subsystem
subsystem :BankServer ATM Transaction Card Reader Input client subsystem :ATMClient asynchronous I/O device interface :CardReader Interface Card Input Data data abstraction :ATMCard Card Inserted , Card Ejected, Card Confiscated Eject, Confiscate control clustering :ATMController Customer events (Transaction details) bankResponse

asynchronous I/O device :CardReader

Card Reader Output

Dispenser Output passive output device :CashDispenser

Cash Withdrawal Amount Cash Response Start Up, Closedown

data abstraction :ATMCash Cash Added user interface :Operator Interface

Card Data

Operator Input

Card Request Update Transaction Status (Cash Details), Update PIN Status, Transaction Request Transaction Data

Operator Information :Operator

Display Prompts Customer Input

user interface :CustomerInterface

Customer Info. , Customer Selection

Display Information :ATMCustomer


Copyright 2000 H.Gomaa

data abstraction :A T M Transaction

Printer Output

passive output device :ReceiptPrinter

Transaction details

Figure 19.30 Task Architecture - revised concurrent collaboration diagram for ATM Client subsystem
subsystem :BankServer ATM Transaction card Reader Input client subsystem :ATMClient asynchronous I/O device interface :CardReader Interface write (card Data) data abstraction :ATMCard cardInserted , cardEjected, cardConfiscated eject, confiscate withdrawCash (in cashAmount, out fivesToDispense, out tensToDispense, out twentiesToDispense) control clustering :ATMController customerEvent (transactionDetails) update TransactionStatus (cashDetails), updatePINStatus display (status), Prompts read (out transaction Data) updateCustomerInfo (cardData, PIN) , updateCustomerSelection (in selection, out data transactionDetails) abstraction :A T M Transaction startUp, closedown data abstraction :ATMCash
addCash (in fivesAdded, in tensAdded, in twentiesAdded)

bank Response

asynchronous I/O device :CardReader

card Reader Output

dispenser Output passive output device :CashDispenser

read (out Card Data)

user interface :Operator Interface

operator Input

operator Information :Operator

Customer Input

user interface :CustomerInterface

printer Output

Copyright 2000 H.Gomaa

Display Information :ATMCustomer

passive output device :ReceiptPrinter

Figure 19.31 ATMClient information hiding classes data abstraction ATMCard - cardNumber : String - startDate : Date - expirationDate : Date + write (in cardData) + read (out cardData) data abstraction ATMCash - cashAvailable : Integer = 0 - fives : Integer = 0 - tens : Integer = 0 - twenties : Integer = 0
+ addCash (in fivesAdded, in tensAdded, in twentiesAdded) + withdrawCash (in cashAmount, out fivesToDispense, out tensToDispense, out twentiesToDispense)

data abstraction ATMTransaction


- transactionId: String - cardId: String - PIN: String = null - selection: TransactionType - transactionData:TransactionRecord + updateCustomerInfo (cardData, PIN) + updateCustomerSelection (in selection, out transactionDetails) + updatePINStatus (status) + updateTransactionStatus (cashDetails) + read (out transaction Data)

device interface CashDispenserInterface

device interface ReceiptPrinterInterface

state dependent control ATMControl

+ initialize ( ) + dispenseCash (in cashAmount, out dispenseStatus)

+ initialize ( ) + printReceipt (in receiptInfo, out printerStatus)

+ processEvent (in event, out action) + currentState ( ) : State

Copyright 2000 H.Gomaa

Figure 19.32 Design of ATM Controller connectors


receive (out cardreaderMsg) asynchronous I/O device interface : CardReader Interface connector cardReader MessageBuffer send (in ATMControlRequest) send (in cardReaderMsg) connector bankServerProxy

send (in ATMTransaction, out bankResponse)

user interface send (in ATMControlRequest) : OperatorInterface

connector ATMControl MessageQ

receive (out ATMControlRequest)

control clustering : ATMController

send (in ATMControlRequest) send (in displayPrompt) user interface : CustomerInterface receive (out displayPrompt) connector promptMessage Queue

Copyright 2000 H.Gomaa

Figure 19.33 Detailed Software Design of ATM Controller

send (in cardReaderMsg)

send(in ATMTransaction, out bankResponse)

control clustering :ATMController

printReceipt (in receiptInfo, out printStatus)

receive (out ATMControlRequest)

coordinator :ATM Coordinator

output device interface :ReceiptPrinter Interface

printerOutput

send (in displayPrompt) processEvent (in event, out action)

dispenseCash (in cashAmount, out dispenseStatus)

read (out transaction Data)

state dependent control :ATMControl

updateTransactionStatus (cashDetails), updatePINStatus (status)

output device interface :CashDispenser Interface

dispenserOutput

Copyright 2000 H.Gomaa

Delegates to business logic TransferTransaction Manager Credits, Debits, Reads


Logs Logs Logs

coordinator BankTransaction Server Delegates to business logic QueryTransaction Manager Reads Delegates to

Delegates to

business logic WithdrawalTransaction Manager

business logic PINValidationTransaction Manager

Checks, Credits, Updates Debits, Reads Credits, Debits, Validates Reads Reads Credits, Debits, Reads entity Savings Account

Queries

entity TransactionLog

entity Checking Account

entity Debit Card

entity Card Account

Owns entity Account Owns entity Customer Has

Manages entity Bank

Figure 19.34 Refined static model Bank Server subsystem

Maintains entity ATMInfo

Copyright 2000 H.Gomaa

ATM Transaction subsystem :ATMClient bankResponse server subsystem :BankServer

Figure 19.35 Concurrent collaboration diagram for Bank Server subsystem

coordinator :BankTransactionServer Transfer Transaction Query Transaction Transfer Response business logic :Transfer TransactionManager business logic :Query TransactionManager Read Read Debit, Credit, Read Account Data Log Log database wrapper :Checking Account
Copyright 2000 H.Gomaa

Query Response Withdraw Response

Withdraw, Confirm, Abort

PIN Validation Request

PIN Validation Response business logic :Withdrawal TransactionManager business logic :PINValidation TransactionManager

Account Data

Account Data Debit, Credit, Read Account Data

Account Data

Account Data

Check, Update Card Data Daily Limit Response database wrapper :DebitCard Validate Read Account Numbers database wrapper :CardAccount

Log database wrapper :TransactionLog

Debit, Credit, Read

Debit, Credit, Read

database wrapper :Savings Account

Figure 19.36a Bank Server information hiding classes

business logic WithdrawalTransactionManager

business logic PINValidationTransactionManager

business logic TransferTransactionManager

business logic QueryTransactionManager

+ initialize ( ) + withdraw (in accountNumber, in amount, out w_response) + confirm (accountNumber, amount) + abort (accountNumber, amount)

+ initialize ( ) + validatePIN (in cardId, in PIN, out v_response)

+ initialize ( ) + transfer ( in fromAccountNumber, in toAccountNumber, in amount, out t_response)

+ initialize ( ) + query (in accountNumber, out q_response)

database wrapper TransactionLog

+ read (out transaction ) + log (in transaction )

Copyright 2000 H.Gomaa

Figure 19.36b Bank Server information hiding classes

database wrapper DebitCard database wrapper CardAccount + create (cardId) + validate (cardId, PIN) + updatePIN (cardId, PIN) + checkDailyLimit (cardId, amount) + updateDailyTotal (cardId, amount) + updateExpirationDate (cardId, expirationDate) + updateCardStatus (cardId, status) + updateDailyLimit (cardId, newLimit) + clearTotal (cardId) + read (in cardId, out PIN, out expirationDate, out status, out limit, out total) + delete (cardId)

+ read ( in cardId, out accountNumber) + update (in cardId, in accountNumber)

Copyright 2000 H.Gomaa

Figure 19.36c Bank Server information hiding classes database wrapper Account

+ readBalance (accountNumber): Real + credit (accountNumber, amount) + debit (accountNumber, amount) + open (accountNumber) + close (accountNumber)

database wrapper CheckingAccount

database wrapper SavingsAccount

+ readLastDepositAmount (accountNumber) : Real


Copyright 2000 H.Gomaa

+ addInterest (accountNumber, interestRate) + readCumulativeInterest (accountNumber) : Real

subsystem :ATMClient

ATM Transaction bankResponse

Figure 19.37 Concurrent collaboration diagram for Bank Server subsystem- architecture

server subsystem :BankServer

coordinator :BankTransaction Server transfer (in fromAccount#, in toAccount#, in amount, out t_response) query (in account#, out q_response)

withdraw (in account#, in amount, out w_response), confirm (account#, amount), abort (account#, amount)

validatePIN (in cardId, in PIN, out v_response)

business logic :TransferTransaction Manager

business logic :QueryTransaction Manager

business logic :Withdrawal TransactionManager


readBalance, readCumulativeInterest

business logic :PINValidation TransactionManager

readBalance, readLastDepositAmount debit (account#, amount), credit (account#, amount), readBalance

debit (account#, amount), credit (account#, amount), readBalance log (in transaction) checkDailyLimit (cardId, amount), updateDailyTotal (cardId, amount)

validate (cardId, PIN)

read (in cardId, out account#)

log (in transaction) debit (account#, amount), credit (account#, amount), readBalance

log (in transaction)

database wrapper :Checking Account


Copyright 2000 H.Gomaa

database wrapper :TransactionLog

debit (account#, amount), credit (account#, amount), readBalance

database wrapper :Savings Account

database wrapper :DebitCard

database wrapper :CardAccount

Figure 19.38 Deployment diagram for Banking System

:ATMClient {1 node per ATM}

wide area network

:BankServer {1 node}

Copyright 2000 H.Gomaa

Você também pode gostar