Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 76

O perator

Add CashStartupValidate
PIN Shutdown

include

include Withdraw Query Transfer FundsAccountFundsinclude

Figure 19.1 Banking System use case model


ATM

Customer

2000Copyright H.Gomaa

Prints

Receipt

ReceiptPrinter CashDispenserCardReaATMCustomer Has derATMBank

ATMCashDispensesReads1..*11Op erator ATMCard

Maintains

11

1111
ATM11

Figure 19.2 Conceptual static model


for Banking Domain System -Problem

2000Copyright H.Gomaa

1
1 1..*1 1 1

system Banking external user SystemOperator

ReceiptPrinterInputs To Outputs To

external I/O
device ToCardReaderOutputs Interacts

userCashDispenser1With

external

Interacts outputexternal external output

Figure 19.3 Banking System context diagramATMCustomerdevicedevice1..*With


1Operator
1Outputs

1To
1
2000Copyright H.Gomaa

1..*

1
ATM 1..*Customer 1

1..*

entity PINValidation Transaction

Manages Identifies

1
1..*entity ATMInfoentity CustomerOwns

Modifies

*1,2
ngentity entity CheckiOwnsSavings AccountAccountHas Maintains entity

Figure 19.4 Conceptual static model

Account

for Banking classes System -entity


1 1..*1Provides 1Access to *entity
CardAccount entity 1..*

1..*0..1
Bank1..* entity ny etit DebitCard ATMTransaction
2000Copyright H.Gomaa

entity entity entity TransferQueryWithdrawaltion TransactionTransactionTransac

1..*

entityentity
DebitCardSavingsAccount cardId: String PIN: String startDate: Dateinterest: Real expirationDate: Date status:Integer limit: Real total: Real

entity entityCheckingAccount Customer

customerName: StringlastDepositAmount: Real customerId: String customerAddress: String

entityentity

19.5 Conceptual static model for Banking SystemBankAccountFigure

StringaccountNumber: String 2000Copyright H.GomaabankName:


bankAddress: Stringbalance: Real

entity TransferTransaction

fromAccountNumber: String entitytoAccountNumber: String PINValidationTransactionamount: Real

startDate: Date expirationDate: Date entity QueryTransaction

accountNumber: String entitybalance: Real ATMTransactionlastDepositAmount: Real transactionId: String cardId: String PIN: String date: Dateentity

19.6 Conceptual static time:model TimeWithdrawalTransactionFigure for Banking System

status: Integer
String 2000Copyright
H.Gomaa

accountNumber:
amount: Real balance: Real

entity ATMInfoentity ATMCard ATMId: String ATMLocation: StringcardId: String ATMAddress: StringstartDate: Date expirationDate: Date

entityentity CardAccountATMCash cashAvailable: Integer cardId: String fives: Integer accountNumber: String

Figure 19.7 Conceptual static model for Banking Systemtens: Integer


Integertwenties:
2000Copyright H.Gomaa

1
1

subsystem BankServer userSubsystemexternal 1 1..*Operator1 1 1 1

1 1 subsystem system ATMClient Banking external user Subsystem System1 ATMCustomer 1

Figure 19.8 Banking System -

subsystemsmajor

exter nal output


external output device deviceexternal input/ output CashDispense
2000Copyright H.GomaaReceiptPrinterdevicer

CardReader

subsystem ATMServerSubsystem

Server Server ServerServer Validate PINWithdraw Query Transfer FundsAccountFunds

includeincludeinclude include

subsystem ATMClientSubsystem include include Client Client ClientClient Validate PINWithdraw Query Transfer FundsAccountFunds include

Figure 19.9 Subsystem Packaging of

Use Cases

Add Cash

2000Copyright H.Gomaa

Startup

Shutdown

external user
Operator

user interface OperatorInterface

evice dCashDispenseroutput evice dinput/output Interfaceinterface system interfaceReceiptPrinteroutput evice d BankingSystemCardReaderInterfaceinterface ReceiptPrinterInterface

external output input/ device user interface CardReader CustomerInterface external userCashDispenser1 external output

Banking classes classesxternal and interface

deviceATMCustomerexternal output

e19.10 Systemdevice11Figure

1
1
2000Copyright H.Gomaa

1111

11 ATM 111Customer 1

11 Operator

interfaceuseruser interface
OperatorInterface CustomerInterface

entityentityentity state dependent controlATMTransactionATMCardATMCash ATMControl

19.11 ATM Client subsystemI/O deviceinterfaceFigure classes


ReceiptPrinter
InterfaceCardReader Interface

output device CashDispenser device interfaceoutput

subsystem Interfaceinterface ATMClient Subsystem


2000Copyright H.Gomaa

2.7a: Update Status tion :ATMTransac:ATMControl 1: Card Reader Input sys tem 1.2: Card Insrtsub eed:BankServer2.5 : Validate PIN (Custo m2.6 [Valid]: erIfo) Valid PIN n 2.7: Display 1.1: CardMenu Input Data 2.8: Selection Menu

2.4: PIN Entered (CustomerInfo) 1.3: Get PIN 2.2: Card 2.1: Card RequestDatastate ependent d co ntrol

device :CardReaderInterface1.4: Pin Prompt:ATMCardI/Oentity 2.3: Customer Infointerface :CustomerInterface 2: PIN Input

Figure 19.12 Collaboration diagram:


user intrfc e e entity

ATM Client -

PIN use caseaValidate


:ATMCustomer

external I/O 2000Copyright H.Gomaadevice :CardReader

Subsystem :BankServer

entity :ATMTransaction

user intrfc e ae :CustomerInterface

state ependent d control :ATMControl

entity 1: Card:ATMCard Input1.1: CardReader Input Data 1.2 : Card Inserted 1.3: Get PIN 1.4: PIN Prompt

Validate diagram 19.13 forPIN Sequence usease c2.1: Card Request:CardRearInterfaceFigure


2.2: Card Data 2.3: Customer Info 2.4: PIN Entered :ATM Validate PINCustomer 2000Copyright H.Gomaa2.5: Valid PIN2.6[Valid]:

ceterface2: PIN Input deviI/O in de

2.7: Display Menu 2.7a: Update Status 2.8: Selection Menu

Idle
Entry/ Display Welcome

1.2: Card Insrt eed / 1.3: Get PIN

Waiting for PINWaitingor f IN PValidating Customer Choice

2.4: PIN Entered / 2.5: Validate PIN

Figure for 19.14 Controltatechart ATM S useValidatePIN case

2.6: Valid PIN / 2.7: Display Menu, 2.7a: Update Status


2000Copyright H.Gomaa

V1: PIN
ValidationV6: :PIN CardAccountValidation Response (Status)Request (Card Id, PIN)

business logic:subsystem ATMClientPINValidation: TransactionManager

V2: ValidateV3: CardV5: Id, PIN)DataV4: Account:DebitCard(Card ReadNumbers

Figure 19.15Collaboration(Card Id) diagram


ATM Server -

PIN use caseentityentityValidate

2000Copyright H.Gomaa

external output external output devi ce device :ReceiptPrintr:CashDispenser e 3.9: Dispenser Output entity Interface:ATMCash Interfaceoutput device output device interface :ReceiptPrintrinterface e :CashDispenser

3.4: Request Withdrawal 3.5: Withdrawal (Transa ction Details) OK (Cash Details) 3.11b: ACK Cash Dispensed3.6: Dispense Card3.17: entity TransactionReaderCash (Cash details) Cash 3.8: Cash3.7: ependentsubsystem d:ATMstateOutputResponseWithdrawal3.18: Card AmountEjected :BankServer 3.10: Cashcontrol Dispensed:ATMControl

3.16: Eject Selected3.3 Withdrawal (Transaction details) 3.15: Receipt Printed 3.11: PrintInterface device Update StatusI/OReceipt3.6a: Details)interface(Cash Interface :CardReader user intrfc e ae :Customer3.1: Customer 3.12:Transaction Selectio nRequest 3: Selection3.2: Transaction 3.13: Input3.14:detailsTransaction Printer

Collaboration19.16 Client ATM Funds diagram:-Withdraw use case : Wait Prompt3.4a: Display WaitFigureOutputData3.4a.1
3.11a.1: Cash Dispensed Prompt:ATM

I/O Customer 2000Copyright H.Gomaa3.11a: Display Cashexternal 3.20: Card Ejected Prompt Dispenseddevice 3.19: Display Ejected:CardReader

subsystem :BankServer

odiPrinter :ReceiptInterface

entity :ATMCash

Interface3.8: Cash Responseodi :CashDispenser ACK Data3.11b:Transaction y Output Printer3.12: Transaction Request entit :ATMTransaction Receipt Printed 3.13:3.11: Print Receipt D3.4: Request Withdrawaltion SelectionInput 3.14:3: 3.1: Customer SelectionTransac3.2: 3.15:etails 3.16: 3.17:3.5: intrfc OKuser Withdrawal e ae :CustomerInterface 3.10: Cash Dispensed Display EjectedUpdate Selected3.3: Withdrawal Status3.6: Dispense Cash3.19: Cash Dispensed

sdc 3.7: Cash Withdrawal Amount 3.4a: Display Wait 3.11a: Display C Dispensed:ATMControlash 3.9: Dispenser Output Eject 3.6 a:

Figure 19.17 Sequenceithdraw diagram W Funds use case -ATM Client3.18: Card Ejected
3.4a.1: Wait PromptI/Odi 3.11a.1: Cash Dispensed Prompt:CardRdeterface earIn
rCard Reader Output 3.20: Card Ejected Prompt e

TMm :A
2000Copyright H.GomaaCusto

3.18: Card Ejected / 3.19: Display Ejected DispensingPrintingEjecting Terminating

3.15: Receipt Printed / 3.16: Eject

3.10: Cash Dispensed / 3.11: Print Receipt, 3.11a: Display C Dispensedash 3.11b: ACK Cash Dispensed Time)After [Closedown not Requested] (Elapsed Ok /3.5: Withdrawal 3.6: Dispense Cash, 3.6a: Update Status Selected /ithdrawal

case3.3: ATM -ithdraw FFigureunds for use Control 19.18 Statechart W3.4:Request Withdrawal, WWaProcessing3.4a: Display Wait
or Fiting Withdrawal

IdleCustomer Choice
Entry / Display Welcome

2000Copyright H.Gomaa

entity
:TransactionLog

Managerentity business logic :DebitCardsubsystem :WithdrawalTransaction:ATMClient W6: Update Dailyotal T (Card Id,Amount)

RequestW8:W1: Withdrawal Withdrawal (Transaction Details)Response (Cash Details)

Figure 19.19Collaboration diagram


ATM Server Funds use caseWithdraw

W4: DebitW2: Check


#,Amount)W7:imit Lentity(Account Log TransactionDaily Id,Amount):AccountW3:(Card Dailyimit L W5: Account

Response Data
2000Copyright H.Gomaa

Terminating Transaction

1.2: Card Insrt eed / Get PINat1.3: e Status a te,Upd / Third Invlid, Stolicieash a CsplInsuffnt acel EjectTime) [Closedown Requested] Cancel /Eject, Diay CnAfter(Elapsed en / Confisc Time)[Closedown not Requested] ProcessingAfter(Elapsed Transaction /Rejectedelected STransfer /Closedown Request Transfer,Eject, DisplayaitDisplay W ApologyIdle Ok / Transfer

DownEntryClosed / Display / Display Query Selected /Print StatusEntry Update Receipt,


DownRequest Query, Receipt, UpdaWelcomeSystem Ok / Print Query DisplayaittStartup W us te Sta

Figure 19.20 level statechart Top for ATM Control


Selected3.3: Withdrawal / Ok /3.5: Withdrawal 3.4: Request Withdrawal,3.6: Dispense Cash, 3.4a: Display Wait3.6a Update Status Processing Customer Input

2000Copyright H.Gomaa

Idle
Entry/ Display Welcome

1.2: Card Insrt eed / 1.3: Get PIN

Waiting for PINWaitingor f IN PValidating /Eject, Customer ChoiceCancel Display Cancel I N/ Prompt,PINInvalid 2.4: PIN Entered / PaProcessingInvalid Customer

2.5: Validate PINte,Figure ATM 19.21 Update StatusInput Third Invlid, Stol

Control - Statechart for

Customer Input superstateaProcessing


Update Status3.3: Selected Withdrawal / Query Selected / 3.4: Request Withdrawal,Request Query, en / Confisc 3.4a: Display W aitDisplayait W 2.6: Valid PIN /

2.7: Display Menu, 2.7a: Update Status /electedequest S Transfer, RTransfer ait W 2000Copyright H.GomaaDisplay

/elected S Ok /TransferTransfer Transfer,Print Receipt,Request Apology aitRejected W / DisplayEject,Update StatusDisplay Selected /Query Ok /Query Query,Print Receipt,Request ait WUpdate StatusDisplay

Selected Withdrawal / Ok /3.3:3.5: Withdrawal Request Withdrawal,3.6: Dispense Cash,3.4: Display Wait3.6a: Update Status3.4a: ProcessingProcessing TransferQueryProcessing Withdrawal

Processing Transaction

ATMFigure 19.22 - Statechart for


Processing T ransactionuperstate s

2000Copyright H.Gomaa

icieash / CInsuffnt Eject

3.18: Card Ejected / 3.19: Display Ejected DispensingPrintingEjecti ngTerminating

Rejected / DisplayEject, Apology

ransaction TTerminatingCard Confiscated / Display ConfiscatedConfiscating3.15: Receipt Printed / 3.16: Eject

Ok / Transfer Time)[ClosedownRequested]Print Receipt,After(Elapsed Time)[Closedown not Requested] Update StatusAfter(Elapsed 3.10: Cash Dispensed / Query Ok / 3.11: Print Receipt,

Print Receipt,3.11a: Display C Dispensedash Update Status3.11b: ACK Cash Dispensed Ok /3.5: Withdrawal 3.6: Dispense Cash,splyancel

for 19.23 Controltatechart ATM S -TerminatingIdleFigure Transaction superstate3.6a: Update


/Eject, Dia C StatusCancel aClosed DownEntry / Display te Entry / Display Third Invlid, StolSystem Down aWelcome en / Confisc
2000Copyright H.Gomaa

r terpuser niceint e ouiceisperatoernaltPr devv :OpextputeipernaldehD t nouext :Rec:Cas ser ttatio enutter tpupurm tprinInfo Operator DispOuPOuOperatorIn hse e ssponshvic

inter e erceCah

et ddedr eer acnseRipyCaAt defactPfacrfae terteratofacutrfeetedtit Cas inetertpteispfacRecrinenTMutpuintereipIn inhDteralP:Ao:Recser:OpInue awtuoicIn dev:Casshdroun Caithm, n WAtow dteipactionctiontt Uped ashhseincsDatasaquesStars CsenPrRerananReClo sesseetails) CaTTr en dDisp h ank esponDisp BR(Casr l m ve nt ntroy etitMction atedtrolnTsaster Coe stM:AranussynkSe depenconTTstatuba :As:B Status S actiontails), M sectione PIN

anected, a De ATTrsh rd Ejed Updatranpdat) aiscatT(CasUstails. , ectiontailst de nfoonfeen n dnys evpt , Card Cctioerctiolamer Imer Selserted stostoCatesatomsaDispProm Inect,fiscranusranCuCuard CT EjnC(T Co etm t cefacrdequesysten iceedererfanter CaRbsClie suMevaceafacterIyCard fetittT O dterterer inmenTMn:A I/in:CardRInussto:Ad tclie rpu :Curd CaInData CaData ut rdtrrdtpn eaderpueader

Figure 19.24la diagram for ATM ClientsubsystemorConsolidated collaboration


CustoInfOer dermDispIn I/ a naliceesto v xterdeardRMCu e:CT
2000Copyright H.Gomaa:A

metCaROu atioCaRIn puym

ReadsNotifiesControlsDispenses Updates

entity ATMStartup, CashClose

Replenishes NotifiesControls

rfentity ser intc PINValidationReadsCreatesueae TransactionOperator Interface

entity Transfer Updates Transaction

entityATMstate Transactiondependent

-Figure 19.25 Refined static modelcontrol

ATMControl

ATM subsystem Client


entity Query Transaction

entity ATM Card entity Withdrawal user intrfcdevice interface deviceidevice iTransaction e ae terface terface Customer CardReanCashDispensernReceiptPrinter InterfaceeInterfaceInterfaceInterface dr
2000Copyright H.Gomaa

Read entity :CardAccount business logic :PINValidationTransactionManager Account Check,Numbers Update entityd :DebitCar Daily Limit Response entity TransactionManager:SavingsAccount

Read ATMBankAccount TransactionsResponsesData Debit, PIN ValidationCredit, TransactionManagerRequestAccountentityRe ad system coorinator business logicData:TransactionLogLogsubDebit,

dCredit, :Bank TransactionServer:Query:ATMClient LogLogRead Read TransferQueryQueryWithdraw, ResponseTransactionResponseConfirm,

Figure 19.26 Server subsystemTransferWithdrawAbortPIN Consolidated diagram for collaboration Bank ValidationDebit,
TransactionCredit,Debit, ResponseResponseAccount Credit, DataRead Read business logic :Withdrawal entity Account subsystem:Checkinserver Validate business logicg:BankServer :TransferTransactionManagerAccount
2000Copyright H.GomaaAccountAccountData

DataData Card Data

serve
r subsystem :BankServer

externalevic e d output
: CashDispenser ATM Transactions

client
I/O devicesubsystemcardReadercardReaderexternal

:ATMClientInputOutput:Card Readerexternalevice d output


ReceiptPrinter
system :BankingSystem customerInput operator displayBank ResponsesInputoperator

Information

-Informationubsystem19.27 S Figure design level:Operatorhigh


diagramcollaboration Bankingfor System

terdispenser
OutputOutput
2000Copyright H.Gomaa:ATMCustomer

prin

serve
r subsystem :BankServer

externalevic e d output
ATMTransaction: CashDispenser

client
external I/O devicesubsystem :CardReader:ATMClientexternalevice d output cardReader
Input: ReceiptPrinter Output system :BankingSystem customerInputoperator Inputoperator

cardReader

Information displaybankResponse:Operator

-InformationFigure 19.28 interfaces Subsystem


concurrent high levelcollaboration diagram for Banking System

printerdispenser utput

2000Copyright H.GomaaOutput:ATMCustomer

rputterputser enut rinut oiceisperato oicetP vvev :OpssivedeeipssidehD npapa :Rec:Cas ser ttatio enutter tpupurm tprinIno DispOuPOuOperatorOperatorInf

hh acer ectionsdded raCasCa terfratofactMA ineterT abs:Aser:OpInata ud , n sealtow rawtshh Uped ponsdouns eCaesCaithmStar RAClo W esponsction kRsaData an banTr ller nr vetrolringntroata M ctionm onteCodTsatster csMtractio:Aranus, uessy cluTqbankSe :AabsTtatesu:B Status S R actiontails), M sectione PINction anected, a Dea ATTrshs rd Ejed Updatranpdatran) aiscatT(CasUTstails. ,

ectiontailst de nfoonfeen n dnys evpt , Card Cctioerctiolamer Imer Selserted stostoCatesatomsaDispProm Inect,fiscranusranCuCuard CT EjnC(T Co t temts e ou rdequesysnacefac ice eadererfternCaRbsClie suMhronfacefacterInCard ncterterr ractioMntT inmedata lie:AsyI/O devinCardRInsetotT a:usabs:Ardtc pu :Curd CaInData CaData ut rdtrrdtpn eaderpueader metCaROu atioCaRIn puym lar

19.29 Taskrchitecture A -ous CustoInfomerFigure collaboration concurrent subsystemder for ATM Client diagramDispIninitial
stoonicea

Cuhre TMsyncardR dev:C:AaI/O


2000Copyright H.Gomaa

rputterputser enut rinut oiceisperato oicetP vevvevD eeipe n:Opassidassidh rorp:Recp:Cas sert utotmatio enuinter tppuor tprInoperatf dispOupOuoperatIn

ha
h

acer ectionddCas raCas(infivesAdded, terfratofactMintensAdded, ineterTintwentiesAdded) abs:Aser:OpInata

, se)due, t,sseen shunpenenisp,n CaoisDrtUpw mo rawToDoDispsTstaedo sT thdcashAvesntieclos fitene sewi(intttw ouout nk sponou baRe ller nr vetrolringntroata M ctionm steronteCodTsan csMtractio:Aransy cluTsctiobankSe :AabsTussasu:B tat actionnSs), tran M snINStatut anetail ATTrected, d esactioDtePs),ou eha ectiot (nfocaupdatranpdread

tsT(casu(statuData) cardEji etails) merIIN) , merSel, ouetails)d,onfnt s ptstostonnDevenDay uerttiol eCuata, PcardCemerEacsp teCactiosdiProm daselectioscatsto updat(cardDup(intrancardInseje ct,iscu(tran conf t s eoutemt ou rdysnacefac ice eadererfternbsClie suMhronfacefacterInCardread (CaData) ncterterr ractioMntT inmedata lie:AsyI/O devinCardRInsetotT a:usabs:Aitec :Cu wr(card Data) utn rtpy atiot eaderpueader RIn ROularmcardmetcard pufo

Figure 19.30 Task collaboration -revised concurrent diagram ArchitectureATM Client subsystem for CustoInDispInerus
moder storoniceea Cunch ardR dev:CTMasyI/O
2000Copyright H.Gomaa:A

transactionId: String cardId: String Strin-N: PIg = null -tionT Transacypeselection: transactionData:TransactionRecord

tion D

data abstraction(outtransac
t)

ATMTransactionaa
eCustomerInfo (cardData, PIN) updatATMControl+ + updateCustomerSelection (inselection, outtransactionDetails) + updatePINStatus (status) + updateTransactionStatus (cashD + read etails)

stateependentcontrol d

+inevent, outaction)
processEvent ( : State ) +( currentState

data abstraction device interface ATMCash

ReceiptPrinterInterface Figure 19.31 ATMClientinformationhiding classescashAvailable+addCash(infivesAdded, sAdde intensAdded, = 0intwentie : Integer

: fives = Integer0)+incashAmount,

-dwithdrawCash(

fivesToDispense, data abstractiontens0-out : = Integer outtensToDispense,sToDispe ATMCardtwentiesInteger = : 0outtwentie+ initialize ( )

Stringns)erStus-:

+(inreceiptInfo, eprintReceiptoutprintat)

cardNumber
Date-: startDate Date-: expirationDate device interface + write (incardData)nterce CashDispenserIfa + read (outcardData)
2000Copyright H.Gomaa

+ initialize ( )
+incashAmount, dispenseCash ( outdispenseStatus)

control cluseiconnet trngcor :bankServerProxy ATMController send (inATMTransaction, outbankResponse) send (indisplayPrompt ) send (incardReaderMsg) receive (outATMControlRequest)

Queue conneMessageQconneconnet ctor MessageBuffcorpromptMessagector ATMControlcardReaderer

send (inATMControlRequest)

receive (outcardreaderMsg)receive (outdisplayPromt) send (inATMControlRequest)p

Figure 19.32 Design ofATM Controller connectors

Interface rf asynchronous I/O send (inATMControlRequest)user interfaceuser inteace device interface:OperatorInterface:CustomerInterface : CardReader
2000Copyright H.Gomaa

sactio ttran ouData) printerOutputdispenserOutputread (

InterfaceInterface
output device output device interface interface :ReceiptPrinter:CashDispenser
s)

s tatuu nS(stat s sactio), s ranNStatu etailI ateThDteP pdda printReceiptinu(casup ( receiptInfo,out printStatus)

send(inATMTransaction, outbankResponse)

coordinatorCoordinator
:ATMstate dependent control

Controller 19.33Design of ATM Detailed Software:ATMControlFigure


control clustering
:ATMControllerprocessEvent(inevent, outaction) send (incardReaderMsg)

2000Copyright H.Gomaareceivesend

(outATMControlRequest)(indisplayPrompt) dispe nseCashin ( cashA mount, out dispe nseStatus)

Delegates Delegates toDelegates Delegates to to to

entity Card Account entity y entit Bank ATMInfo entity Maintains Debit Card

Readsentity

Customer business logicbusiness logicOwns WithdrawalTransactionPINValidationTransactionReads ManagerManager Owns

coorinator d entity ManagesBankTransaction AccountServer Has

business logic QueryTransaction Manager Credits, Debits, ReadsCredits, Debits,


LogsReads

Credits,
LogsDebits,

Credits,Checks,Reads Debits,Updatesentity ngentity entity business logicTransactionLogCheckiReadsQueries Savings TransferTransactionAccountLogsValidates Account ManagerFigure

- 19.34 Refined static model


Server subsystem

2000Copyright H.Gomaa

Bank

se oun ccead atabarapperAR dward :Ct unbers m erateAccoNu cnag ogiatioanValid ss lMe nes ction usiINValidsaitCardnd b:Prandatabarapperr Tw:DebatiotnCaData, see equesatioseyitheckpdat m N ValidRsponDailLisponCU PIReRe N Validt PIun gerData gicalanaAcco w,, oawMse gsnt ru drairmess ldinnt ithonfAbortnithactiondatabarapperAccouit,it, WCbusi:Wsw:SavDataead ranAccoDebCredR T wse drait,it, sponead

Figure 19.35 Concurrent collaboration diagramWitheDebCredR


R

for Bank Server subsystemrReadg


veseLo r erery toronSecnagQuespon nactiogiaRse onL saeryMtiLo ogg

c oordiranness latabarappersa c:Quactiondwran ankTbusiansnt:T :BTreryctionug sa eQuranAccoDataLoRead seT sfert nt it,it, esponsansponunu reead MctionkRTRferctionDataDataDebCredR as ATsbanransaAccoAcco ranTan erTTrnt cagu ogier ane g tData fMsnAcco ss lsiun tneranappereck ctionatabahnm usi:TsadwrCAccomter bran:steCliesrve Tit,it,syMbsy b DebCredReadu:ATnkSe sa rver su:B se
2000Copyright H.Gomaa

ber, )

canagerse ogiMtNumpon ss lctionunres nesaccoq_ usiranat byT (inou y Queritialize ( )er + in+ qu

) r, se anagerbe cMr, pon umberes ogitNt_ um ss lactiontNt nenscoun, ou t usiraAccoun berTer (omAcoun sfsffrtoam anitialize ( ) Trininin + in+ tran er agN, anPI Min cnse) ogiactio scardId, pon ss linres neTran(v_ usinINt

Figure 19.36a BankServer information hiding classesbatioou


itialize ( ) alidateP NValidv PI+ in+

)t) erseunt) agmoun anber,spono rer, am conMNumw_ber, an ) te ogictiuntumbogn ) aouNapper ss lnsccot, tumrionLsactioctio neaaountNe wctsa usialTr (inounaccssattran bwam (ranoutran drawdrainirm (accoundatabaT (in ithitialize ( )ith W+ read (+ log + in+ w+ conf+ abort
2000Copyright H.Gomaa

database wrapper
CardAccount + read ( incardId, out accountNumber) + update (incardId, inaccountNumber)

Figure 19.36b Bankhiding classes Server information

database wrapper DebitCard

2000Copyright H.Gomaa

+ create (cardId)
PIN)+ validate (cardId, + updatePIN (cardId, PIN) + checkDailyLimitount) am(cardId, + updateDailyTotal(cardId, amount)

+ updateExpirationDate(cardId, expirationDate) + updateCardStatus(cardId,tatus) s + updateDailyLimit(cardId, newLimit) + clearTotal (cardId) + read (incardId, outPIN, outexpirationDate, outstatus, outlimit, outtotal) + delete (cardId)

database wrapper
Account

+ readBalance(accountNumber): Real+ (accountNumber)lose c amount) credit (accountNumber,Figure 19.36c BankServer information hiding classes+ + debit (accountNumber, amount) +(accountNumber open

database wrapperdatabase wrapper SavingsAccount + readLastDepositAmount (accountNumber,interestRate)CheckingAccount+ addInterest (accountNumber) : Real+ readCumulativeInterest(accountNumber) Real:

2000Copyright H.Gomaa

se oun c Ac
PI:outaccount#) in

databarapper N,wCardread (incardId,

er )cnagcardId, ogiatioan(insevalidate
PIN)(cardId,

ss lMe INpon

nesePres ction usiINValidsaitCardv_ b:Prandatabarapperalidatt Tw:Debvou

er clagecheckDailyLimit
st

ogiwaansgun(cardId, amount),
inupdateDailyTotal ss ldraMatabaapper(cardId, amount) neithdwr:SavAcco

ction usi:Wsa bran T


debit (account#,

amount), credit (account#,

19.37 Concurrent collaboration diagram


readBalance

amount),

Figure

account#,debit (amount), (amount),foraccount#, Bank Server subsystem-architecturelog (incredit readBalancereadBalance, n(intransaction)log nlog (inreadCumulativeInterest
toractiogicctioe ogtransaction)transaction) naserosawithdraw (inaccount#, sionL ranvss outw_response), laninamount,ct r canusierManagert#, abort (account#, amount)wran

oordikTSerneyTconfirm ( amount),account#, databarappersa

:Bb):T

:Que couns eacpon (in Mctionsponserytq_res a ATsRet#, ,quou ank Trount bancounmd
account#, ebit (amount),debitaccount#, (amount),

Acacredit (amount),creditaccount#, (amount),account#, cctionm,in)readBalance readBalance oe

frnt#soginsa ss lrase ingntincoupont n (cresreadBalance,neerTuer


m

steemrusisfManagerdatabarapperhecksftoAtt_readLastDepositAmount
branw:CAccotraninousyMCliestve

:TubTbsyr s:A ankSe rver su:B se


2000Copyright H.Gomaa

n{1ode}

wide area network

:ATMClient:BankServer per ATM} n{1ode

Figure 19.38 Deployment diagram for Banking System

2000Copyright H.Gomaa

You might also like