版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
UML系統(tǒng)分析與設(shè)計(jì)SystemAnalysis&Design冀振燕北京交通大學(xué)
第十四章銀行系統(tǒng)的分析與設(shè)計(jì)系統(tǒng)需求分析問題領(lǐng)域靜態(tài)結(jié)構(gòu)模型動(dòng)態(tài)行為模型物理模型UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi2系統(tǒng)需求域描述:銀行是與人們?nèi)粘I罹o密相關(guān)的一個(gè)機(jī)構(gòu),銀行可提供存款、取款、轉(zhuǎn)賬等業(yè)務(wù)。在銀行設(shè)立賬戶的個(gè)人或機(jī)構(gòu)通常被稱為銀行的客戶。一個(gè)客戶可以在銀行開多個(gè)賬戶,客戶可以存錢到賬戶中,也可以從自己的賬戶中取錢,還可以將存款從一個(gè)賬戶轉(zhuǎn)到另一個(gè)賬戶。另外,客戶還可以隨時(shí)查詢自己的賬戶情況,以及查詢以前所進(jìn)行的存款、取款等交易記錄??蛻粢灿袡?quán)利要求關(guān)閉自己的賬戶。UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi3系統(tǒng)需求在對(duì)上述銀行系統(tǒng)的基本需求進(jìn)行分析后,可知這個(gè)簡化的銀行系統(tǒng)至少應(yīng)該具有如下功能:一個(gè)銀行可以有多個(gè)賬戶一個(gè)銀行可以有多個(gè)客戶一個(gè)客戶可以持有多個(gè)賬戶一個(gè)賬戶可以有多個(gè)持有者可以開戶可以注銷賬戶可以取錢可以存錢可以在銀行內(nèi)的賬戶之間轉(zhuǎn)賬可以在不同銀行的賬戶之間轉(zhuǎn)賬UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi4分析問題領(lǐng)域識(shí)別參與者(1)Clerk(銀行職員)。描述:Clerk可以創(chuàng)建、刪除賬戶,并可以修改賬戶信息。示例:銀行的工作人員。(2)CustomerActor(客戶)。描述:CustomerActor可以存錢、取錢,還可以在不同的賬戶之間轉(zhuǎn)賬。示例:任何在銀行中開有賬戶的個(gè)人或組織。(3)BankActor(銀行)。描述:客戶可以在BankActor中設(shè)立或關(guān)閉賬戶。示例:任意一個(gè)提供存款、取款、轉(zhuǎn)賬等業(yè)務(wù)的銀行。UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi5分析問題領(lǐng)域識(shí)別用例(1)Login(登錄)。本用例提供了驗(yàn)證用戶身份的功能。(2)Depositfund(存款)。本用例提供了存錢到賬戶的功能。(3)Withdrawfund(取款)。本用例提供了從賬戶中取錢的功能。(4)MaintainAccount(管理賬戶)。本用例提供了創(chuàng)建、刪除賬戶,以及修改賬戶信息的功能。UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi6分析問題領(lǐng)域識(shí)別用例(5)Transferfundwithinabank(在銀行內(nèi)轉(zhuǎn)賬)。本用例提供了在屬于同一銀行的賬戶之間轉(zhuǎn)賬的功能。(6)Transferfundbetweenbanks(在不同的銀行之間轉(zhuǎn)賬)。本用例提供了在屬于不同銀行的賬戶之間轉(zhuǎn)賬的功能。(7)Transferfund(轉(zhuǎn)賬)。本用例描述了轉(zhuǎn)賬的通用行為,是用例(5)與(6)的父用例。UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi7系統(tǒng)用例圖UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi8分析問題領(lǐng)域用例的事件流描述—登錄1“Login”(登錄)1.1簡單描述本用例描述了用戶如何登錄到系統(tǒng)中。1.2前置條件(Pre-Conditions)無。1.3后置條件(Post-Conditions)如果用例成功,則用戶登錄到系統(tǒng)中。否則,系統(tǒng)狀態(tài)不變。1.4擴(kuò)充點(diǎn)(ExtensionPoints)無。1.5事件流1.5.1基流(BasicFlow)當(dāng)用戶想登錄到銀行信息系統(tǒng)中時(shí),用例啟動(dòng)。UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi9分析問題領(lǐng)域用例的事件流描述—登錄(1)系統(tǒng)提示用戶輸入用戶名和密碼。(2)用戶輸入自己的用戶名和密碼,提交。(3)系統(tǒng)驗(yàn)證輸入的名字和密碼(E-1),用戶登錄系統(tǒng)成功。1.5.2替代流(AlternativeFlow)E-1:如果輸入的用戶名和/或密碼無效,系統(tǒng)提示錯(cuò)誤信息,用戶可以重新輸入或終止該用例。UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi10“登錄”活動(dòng)圖UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi11分析問題領(lǐng)域用例的事件流描述—存款2“Depositfund”(存款)2.1簡單描述本用例允許客戶通過Clerk存款到賬戶中。2.2前置條件(Pre-Conditions)在本用例開始前,Clerk必須登錄到系統(tǒng)中。2.3后置條件(Post-Conditions)如果用例成功,則客戶CustomerActor賬戶中存款的金額發(fā)生變化。否則,系統(tǒng)狀態(tài)不變。2.4擴(kuò)充點(diǎn)(ExtensionPoints)無。2.5事件流UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi12分析問題領(lǐng)域用例的事件流描述—存款2.5.1基流(BasicFlow)當(dāng)CustomerActor想存錢到自己的賬戶時(shí),要向Clerk提交存款單和現(xiàn)金,用例啟動(dòng)。(1)系統(tǒng)提示Clerk輸入用戶姓名、用戶的id號(hào)、賬號(hào)和所存款項(xiàng)的金額。(2)Clerk輸入相關(guān)信息后提交,系統(tǒng)確認(rèn)賬戶是否存在并有效(當(dāng)用戶名、用戶id與賬戶的戶主信息一致,且賬戶處于非凍結(jié)狀態(tài)時(shí),賬戶有效)(E-1)。(3)系統(tǒng)建立存款事件記錄,并更新賬戶的相關(guān)信息。2.5.2替代流(AlternativeFlow)E-1:賬戶不存在或無效,顯示提示信息,用戶可以重新輸入信或終止該用例。UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi13“存款”活動(dòng)圖UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi14分析問題領(lǐng)域用例的事件流描述—取款3“Withdrawfund”(取款)3.1簡單描述本用例允許Clerk按照客戶的要求從客戶的賬戶中取款。3.2前置條件(Pre-Conditions)在本用例開始前,用戶必須登錄到系統(tǒng)中。3.3后置條件(Post-Conditions)如果用例成功,則客戶CustomerActor賬戶中存款的金額發(fā)生變化。否則,系統(tǒng)狀態(tài)不變。3.4擴(kuò)充點(diǎn)(ExtensionPoints)無。UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi15分析問題領(lǐng)域用例的事件流描述—取款3.5事件流3.5.1基流(BasicFlow)當(dāng)Customer想從自己的賬戶中取錢時(shí),要向Clerk提交取款單,用例啟動(dòng)。(1)系統(tǒng)提示Clerk輸入用戶姓名、用戶的id號(hào)、賬號(hào)和取款金額。(2)Clerk輸入相關(guān)信息后提交,系統(tǒng)確認(rèn)賬戶是否存在并有效(當(dāng)用戶名、用戶id與賬戶的戶主信息一致,且賬戶處于非凍結(jié)狀態(tài)時(shí),賬戶有效)(E-1),以及賬戶中的存款金額是否足夠支付所取款項(xiàng)(E-2)。(3)系統(tǒng)建立取款事件記錄,并更新賬戶的相關(guān)信息。3.5.2替代流(AlternativeFlow)E-1:若賬戶不存在或無效,顯示提示信息,用戶可以重新輸入或終止該用例。E-2:若賬戶中的存款金額不足,顯示提示信息,用戶可以重新輸入金額或終止該用例。UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi16“取款”活動(dòng)圖UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi17分析問題領(lǐng)域用例的事件流描述—轉(zhuǎn)賬4“Transferfund”(轉(zhuǎn)賬)4.1簡單描述本用例允許Clerk按照客戶的要求將指定數(shù)量的資金從一個(gè)賬戶轉(zhuǎn)到另一個(gè)賬戶。4.2前置條件(Pre-Conditions)在本用例開始前,用戶必須登錄到系統(tǒng)中。4.3后置條件(Post-Conditions)如果用例成功,則客戶CustomerActor賬戶中存款的金額發(fā)生變化。否則,系統(tǒng)狀態(tài)不變。4.4擴(kuò)充點(diǎn)(ExtensionPoints)無。UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi18分析問題領(lǐng)域用例的事件流描述—轉(zhuǎn)賬4.5事件流4.5.1基流(BasicFlow)當(dāng)Customer要求轉(zhuǎn)賬時(shí),用例啟動(dòng)。(1)系統(tǒng)提示Clerk輸入用戶姓名、用戶的id號(hào)、賬戶號(hào)碼和轉(zhuǎn)賬金額。(2)Clerk輸入相關(guān)信息后提交。(資金轉(zhuǎn)入賬戶所在的銀行只能在所提供的銀行列表中選擇。)(3)系統(tǒng)確認(rèn)資金轉(zhuǎn)出賬戶是否存在并有效(當(dāng)用戶名、用戶id與賬戶的戶主信息一致,且賬戶處于非凍結(jié)狀態(tài)時(shí),賬戶有效)(E-1),并確認(rèn)資金轉(zhuǎn)出賬戶中的金額是否足夠支付所轉(zhuǎn)款項(xiàng)(E-2)。(4)更新資金轉(zhuǎn)出賬戶的相關(guān)信息。(5)為資金轉(zhuǎn)出賬戶建立轉(zhuǎn)賬記錄。(6)存儲(chǔ)轉(zhuǎn)賬記錄。(7)判斷資金轉(zhuǎn)入賬戶是否屬于同一銀行。UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi19分析問題領(lǐng)域用例的事件流描述—轉(zhuǎn)賬如果資金轉(zhuǎn)入賬戶與資金轉(zhuǎn)出賬戶屬于同一銀行,則執(zhí)行分支流S-1:在同一銀行的賬戶間轉(zhuǎn)賬。如果資金轉(zhuǎn)入賬戶與資金轉(zhuǎn)出賬戶屬于不同銀行,則執(zhí)行分支流S-2:在不同銀行的賬戶間轉(zhuǎn)賬。4.5.2分支流(Subflows)S-1:在同一銀行的賬戶間轉(zhuǎn)賬(1)系統(tǒng)確認(rèn)資金轉(zhuǎn)入賬戶是否存在并有效(當(dāng)賬戶處于非凍結(jié)狀態(tài)時(shí),賬戶有效)(E-1)。(2)更新資金轉(zhuǎn)入賬戶的相關(guān)信息。(3)為資金轉(zhuǎn)入賬戶建立轉(zhuǎn)賬記錄。(4)存儲(chǔ)轉(zhuǎn)賬記錄。UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi20分析問題領(lǐng)域用例的事件流描述—轉(zhuǎn)賬S-2:在不同銀行的賬戶間轉(zhuǎn)賬發(fā)送轉(zhuǎn)賬通知給另一個(gè)銀行。4.5.3替代流(AlternativeFlow)E-1:賬戶不存在或無效,顯示提示信息,用戶可以重新輸入或終止該用例。E-2:賬戶中的存款金額不足,顯示提示信息,用戶可以修改所轉(zhuǎn)款項(xiàng)的金額或終止該用例。UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi21“轉(zhuǎn)賬”活動(dòng)圖UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi22分析問題領(lǐng)域用例的事件流描述—管理賬戶5MaintainAccount(管理賬戶)5.1前置條件(Pre-Conditions)在這個(gè)用例開始前,Clerk必須登錄到系統(tǒng)中。5.2后置條件(Post-Conditions)如果這個(gè)用例成功,新賬戶會(huì)被創(chuàng)建,或者賬戶信息被更新(修改),或賬戶從系統(tǒng)中被刪除。否則,系統(tǒng)的狀態(tài)沒有變化。5.3擴(kuò)充點(diǎn)(ExtensionPoints)沒有5.4事件流5.4.1基流(BasicFlow)當(dāng)Clerk想創(chuàng)建、修改或刪除賬戶信息時(shí),用例啟動(dòng)。系統(tǒng)要求Clerk選擇所要執(zhí)行的操作(創(chuàng)建賬戶、修改賬戶信息或刪除賬戶)。如果所選的操作是“創(chuàng)建賬戶”,則執(zhí)行分支流S-1:創(chuàng)建賬戶。如果所選的操作是“刪除賬戶”,則執(zhí)行分支流S-2:刪除賬戶。如果所選的操作是“修改賬戶”,則執(zhí)行分支流S-3:修改賬戶信息。UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi23分析問題領(lǐng)域用例的事件流描述—管理賬戶5.4.2分支流(Subflows)S-1:創(chuàng)建賬戶(1)系統(tǒng)要求Clerk輸入客戶信息(姓名、id號(hào)、地址、存儲(chǔ)金額等)(2)Clerk輸入所要求的信息后提交。(3)系統(tǒng)為客戶建立賬戶。(4)將賬戶信息存儲(chǔ)到數(shù)據(jù)庫中。S-2:刪除賬戶(1)系統(tǒng)提示Clerk輸入賬號(hào)(E-1)。(2)Clerk輸入賬號(hào)后提交。(3)系統(tǒng)檢索賬戶信息(E-2)。(4)顯示賬戶信息。(5)Clerk確認(rèn)刪除賬戶(E-3)。(6)關(guān)閉賬戶。(7)從系統(tǒng)中刪除賬戶。UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi24分析問題領(lǐng)域用例的事件流描述—管理賬戶S-3:修改賬戶信息(1)系統(tǒng)提示Clerk輸入賬號(hào)(E-1)。(2)Clerk輸入賬號(hào)后提交。(3)系統(tǒng)檢索賬戶信息(E-2)。(4)顯示賬戶信息。(5)Clerk修改賬戶信息。(6)Clerk修改完畢后提交。(7)系統(tǒng)更新賬戶信息。5.4.3替代流(AlternativeFlow)E-1:輸入無效的賬號(hào),Clerk可以重新輸入或終止該用例。E-2:賬戶不存在,系統(tǒng)顯示錯(cuò)誤信息,Clerk重新輸入賬號(hào)或取消操作(用例終止)。E-3:取消刪除,刪除賬戶操作被取消,用例終止。UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi25“創(chuàng)建賬戶”活動(dòng)圖UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi26“刪除賬戶”活動(dòng)圖UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi27“修改賬戶”活動(dòng)圖UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi28靜態(tài)結(jié)構(gòu)模型定義系統(tǒng)對(duì)象類(1)類Bank。類Bank代表物理存在的銀行。類Bank應(yīng)該具有下列私有屬性。bankCode:String
name:String
address:Stringphone:String
fax:String為了設(shè)置和訪問對(duì)象的私有屬性值,類Bank應(yīng)該具有下述方法。setBankCode(code:String) setName(name:String)setAddress(address:String) setPhone(phone:String)setFax(fax:String) getBankCode():String getName():StringgetAddress():String getPhone():String getFax():StringUML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi29靜態(tài)結(jié)構(gòu)模型(2)類Account。在確定類Account的屬性和方法時(shí),應(yīng)考慮如下需求。一個(gè)銀行可以有多個(gè)賬戶。一個(gè)賬戶可以有多個(gè)持有者。可以開戶??梢宰N賬戶??梢匀″X??梢源驽X??梢栽阢y行內(nèi)的賬戶之間轉(zhuǎn)賬。可以在不同銀行的賬戶之間轉(zhuǎn)賬。UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi30靜態(tài)結(jié)構(gòu)模型(3)類Customer。在確定類Account的屬性和方法時(shí),應(yīng)考慮如下需求。一個(gè)銀行可以有多個(gè)客戶。一個(gè)客戶可以有多個(gè)賬戶。查詢數(shù)據(jù)庫中是否存在指定客戶名和ID號(hào)的客戶信息。創(chuàng)建客戶對(duì)象。將客戶信息存儲(chǔ)到數(shù)據(jù)庫中。更新數(shù)據(jù)庫中的客戶信息。判斷客戶是否還持有賬戶。刪除數(shù)據(jù)庫中的客戶信息。UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi31靜態(tài)結(jié)構(gòu)模型(4)類Transaction。私有屬性如下。account:AccountcreateDate:Datefund:float公共方法如下。newTransaction(account:Account,fund:float,date:Date):void創(chuàng)建交易記錄。save():void將交易記錄存儲(chǔ)到數(shù)據(jù)庫中。UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi32靜態(tài)結(jié)構(gòu)模型(5)類Deposit。繼承類Transaction。私有屬性如下。無。公共方法如下。newDeposit(account:Account,fund:float,date:Date):void創(chuàng)建存款交易記錄。save():void將存款交易記錄存儲(chǔ)到數(shù)據(jù)庫中。UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi33靜態(tài)結(jié)構(gòu)模型(6)類Withdraw。繼承類Transaction。私有屬性如下。無。公共方法如下。newWithdraw(account:Account,fund:float,date:Date):void創(chuàng)建取款交易記錄。save():void將取款交易記錄存儲(chǔ)到數(shù)據(jù)庫中。UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi34靜態(tài)結(jié)構(gòu)模型(7)類Transfer。繼承類Transaction。私有屬性如下。transferAccountNo:StringtransferBank:Bank公共方法如下。newTransfer(account:Account,transferAccountNo:String,transferBank:Bank,fund:float,date:Date):void創(chuàng)建轉(zhuǎn)賬交易記錄。save():void將轉(zhuǎn)賬交易記錄存儲(chǔ)到數(shù)據(jù)庫中。UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi35靜態(tài)結(jié)構(gòu)模型定義用戶界面類(1)類BankGUI。BankGUI是系統(tǒng)的主界面,系統(tǒng)的主界面含有幾個(gè)按鈕,當(dāng)選擇不同按鈕時(shí),系統(tǒng)可以執(zhí)行不同的操作。當(dāng)程序退出時(shí),主界面窗口關(guān)閉。(2)類QueryDialog。界面類QueryDialog是用來根據(jù)賬戶的賬號(hào)查找賬戶的對(duì)話框。當(dāng)按下主窗口BankGUI中的“刪除賬戶”按鈕和“修改賬戶信息”按鈕時(shí),對(duì)話框QueryDialog彈出,銀行職員填寫賬號(hào)并提交,然后系統(tǒng)查詢數(shù)據(jù)庫中具有指定賬號(hào)的賬戶信息。UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi36靜態(tài)結(jié)構(gòu)模型(3)類DWDialog。界面類DWDialog是客戶在存款或取款時(shí)所需的對(duì)話框,其界面如圖14.9所示。當(dāng)按下主窗口BankGUI中的“存款”按鈕或“取款”按鈕時(shí),該對(duì)話框彈出,對(duì)話框中第1個(gè)按鈕的標(biāo)簽根據(jù)操作的不同顯示為“存款”或“取款”。(4)類AccountDialog。界面類AccountDialog是用來填寫或顯示賬戶信息的對(duì)話框UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi37靜態(tài)結(jié)構(gòu)模型(5)類TransferDialog。界面類TransferDialog是用來填寫轉(zhuǎn)賬信息的對(duì)話框。當(dāng)按下主窗口BankGUI中的“轉(zhuǎn)賬”按鈕時(shí),該對(duì)話框彈出,銀行職員填寫資金轉(zhuǎn)出賬戶、轉(zhuǎn)賬金額、資金轉(zhuǎn)入賬戶等信息,然后單擊“OK”按鈕確認(rèn)操作,系統(tǒng)執(zhí)行轉(zhuǎn)賬操作。(6)類LoginDialog。界面類LoginDialog是用來輸入用戶名和密碼的對(duì)話框。該對(duì)話框在啟動(dòng)系統(tǒng)時(shí)彈出,提示用戶輸入驗(yàn)證信息,若驗(yàn)證成功,則系統(tǒng)啟動(dòng);否則,用戶重新輸入驗(yàn)證信息或終止操作。UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi38靜態(tài)結(jié)構(gòu)模型系統(tǒng)類圖UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi39系統(tǒng)數(shù)據(jù)庫的邏輯模型UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi40動(dòng)態(tài)行為模型登錄首先,Clerk啟動(dòng)系統(tǒng),類LoginDialog的方法newLDialog()被調(diào)用,創(chuàng)建用來填寫登錄信息的對(duì)話框。Clerk填寫登錄信息后,提交信息,執(zhí)行方法validate()驗(yàn)證用戶名和密碼是否正確,若正確,發(fā)送消息newBankGUI()給類BankGUI,啟動(dòng)系統(tǒng),創(chuàng)建系統(tǒng)主界面;若不正確,則提示用戶重新輸入信息,對(duì)重新輸入的用戶信息進(jìn)行驗(yàn)證;若用戶連續(xù)三次輸入錯(cuò)誤信息,系統(tǒng)終止運(yùn)行。UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi41“登錄”順序圖UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi42動(dòng)態(tài)行為模型存款客戶要求存款,Clerk發(fā)送消息deposit()給類BankGUI,類BankGUI又發(fā)送消息newDWDialog()給類DWDialog,即類DWDialog的方法newDWDialog()被調(diào)用,創(chuàng)建用于填寫存款信息的窗口。Clerk填寫必要的信息后提交信息,類DWDialog的方法deposit()被調(diào)用,發(fā)送消息deposit()給類Account。在類Account的方法deposit()的執(zhí)行過程中,首先調(diào)用類Account的方法query(),確認(rèn)數(shù)據(jù)庫中是否存在該賬戶,若存在(若賬戶不存在,則顯示提示信息),則發(fā)送消息newDeposit()給類Deposit,創(chuàng)建一個(gè)存款交易記錄,然后調(diào)用方法save()將該記錄存儲(chǔ)到數(shù)據(jù)庫中。調(diào)用類Account的方法newBalance()計(jì)算新的賬戶余額,最后調(diào)用方法update()更新數(shù)據(jù)庫中該賬戶的信息。UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi43“存款”順序圖UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi44動(dòng)態(tài)行為模型取款客戶要求取款,類BankGUI的方法withdraw()被調(diào)用,類BankGUI發(fā)送消息newDWDialog()給類DWDialog,創(chuàng)建用于填寫取款信息的窗口。Clerk填寫必要的信息后,提交信息,類DWDialog的方法withdraw()被調(diào)用,發(fā)送消息withdraw()給類Account。在類Account的方法withdraw()的執(zhí)行過程中,首先調(diào)用類Account的方法query(),確認(rèn)數(shù)據(jù)庫中是否存在該賬戶,并確認(rèn)賬戶中的金額是否足夠支付所取款項(xiàng),若賬戶存在且金額足夠(否則,若賬戶不存在或賬戶中金額不足,則顯示提示信息),則發(fā)送消息newWithdraw()給類Withdraw,并創(chuàng)建一個(gè)取款交易記錄,然后再調(diào)用方法save()將該記錄存儲(chǔ)到數(shù)據(jù)庫中。調(diào)用方法newBalance()計(jì)算新的賬戶余額,最后調(diào)用方法update()更新數(shù)據(jù)庫中該賬戶的信息。UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi45“取款”順序圖UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi46動(dòng)態(tài)行為模型在銀行內(nèi)轉(zhuǎn)賬客戶要求在銀行內(nèi)轉(zhuǎn)賬,類BankGUI的方法transfer()被調(diào)用,類BankGUI發(fā)送信息newTDialog()給類TransferDialog,創(chuàng)建用于填寫轉(zhuǎn)賬信息的窗口。Clerk填寫必要的信息后提交信息,類TransferDialog的方法transfer()被調(diào)用,發(fā)送消息transferOut()給類Account的對(duì)象t1(資金轉(zhuǎn)出賬戶),調(diào)用方法query()查詢賬戶t1、t2是否存在且t1中資金是否足夠(即大于轉(zhuǎn)賬金額),如果賬戶t1或t2不存在,或資金不夠,發(fā)送操作失敗信息給Clerk;反之,如果賬戶t1、t2都存在且t1中資金足夠,調(diào)用方法newBalance()計(jì)算新的賬戶余額,再調(diào)用方法update()更新數(shù)據(jù)庫中t1的信息。然后發(fā)送消息newTransfer()給類Transfer,創(chuàng)建轉(zhuǎn)賬交易記錄,然后發(fā)送消息save()給類Transfer,存儲(chǔ)轉(zhuǎn)賬交易記錄。類TransferDialog還發(fā)送消息transferIn()給類Account的對(duì)象t2(資金轉(zhuǎn)入賬戶),調(diào)用方法newBalance()計(jì)算新的賬戶余額,再調(diào)用方法update()更新數(shù)據(jù)庫中t2的信息。最后發(fā)送消息newTransfer()給類Transfer,創(chuàng)建轉(zhuǎn)賬交易記錄,發(fā)送消息save()給類Transfer,存儲(chǔ)轉(zhuǎn)賬交易記錄。UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi47“在銀行內(nèi)轉(zhuǎn)賬”順序圖UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi48動(dòng)態(tài)行為模型在銀行之間轉(zhuǎn)賬客戶要求在銀行之間轉(zhuǎn)賬,類BankGUI的方法transfer()被調(diào)用,類BankGUI發(fā)送信息newTDialog()給類TransferDialog,創(chuàng)建用于填寫轉(zhuǎn)賬信息的窗口。Clerk填寫必要的信息后提交信息,類TransferDialog的方法transfer()被調(diào)用,發(fā)送消息transferOut()給Account對(duì)象,調(diào)用方法query()查詢賬戶是否存在且賬戶資金是否足夠(大于轉(zhuǎn)賬金額),如果賬戶不存在或賬戶資金不足,發(fā)送失敗消息給Clerk;如果賬戶存在且賬戶資金足夠,調(diào)用類Account的方法newBalance(),計(jì)算新的賬戶余額,再調(diào)用方法update()更新數(shù)據(jù)庫中的賬戶信息。然后發(fā)送消息newTransfer()給類Transfer,創(chuàng)建轉(zhuǎn)賬交易記錄,發(fā)送消息save()給類Transfer,存儲(chǔ)轉(zhuǎn)賬交易記錄。最后給另一個(gè)銀行發(fā)送轉(zhuǎn)賬通知。UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi49“在銀行之間轉(zhuǎn)賬”順序圖UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi50動(dòng)態(tài)行為模型創(chuàng)建新賬戶客戶要求創(chuàng)建新賬戶,Clerk發(fā)送消息newAccount()給類BankGUI,類BankGUI發(fā)送消息newADialog()給類AccountDialog,創(chuàng)建用于填寫賬戶信息的窗口。Clerk填寫必要的信息后提交信息,類AccountDialog的方法newAccount()被調(diào)用,發(fā)送消息newAccount()給類Account,創(chuàng)建Account對(duì)象。在方法newAccount()執(zhí)行過程中,要調(diào)用方法query()查詢?cè)摽蛻羰欠褚汛嬖谟跀?shù)據(jù)庫中(該客戶可能已在銀行開設(shè)其他賬戶,因此數(shù)據(jù)庫中已有該客戶信息),若該客戶信息已在數(shù)據(jù)庫中存在,類Account發(fā)送消息update()給類Customer,更新數(shù)據(jù)庫中該客戶的信息;反之,若數(shù)據(jù)庫中不存在該客戶信息,則類Account發(fā)送消息newCustomer()給類Customer,創(chuàng)建Customer對(duì)象,然后調(diào)用方法save()將客戶信息存儲(chǔ)到數(shù)據(jù)庫中。最后,調(diào)用類Account的方法save()將Account信息存儲(chǔ)到數(shù)據(jù)庫中。UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi51“創(chuàng)建新賬戶”順序圖UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi52動(dòng)態(tài)行為模型刪除賬戶客戶要求刪除賬戶,類BankGUI的方法delAccount()被調(diào)用,類BankGUI發(fā)送消息newQDialog()給類QueryDialog,創(chuàng)建用于填寫賬號(hào)的窗口。Clerk填寫賬號(hào)后提交信息,類QueryDialog的方法query()被調(diào)用,發(fā)送消息getAccount()給類Account,返回匹配指定賬號(hào)的賬戶信息,若賬戶信息為空,發(fā)送消息給Clerk;反之,若賬戶信息存在,調(diào)用方法newADialog()創(chuàng)建窗口并將賬戶信息顯示在窗口中。Clerk確認(rèn)刪除,類AccountDialog的方法delAccount()被調(diào)用,發(fā)送消息remAccount()給類Account。在方法remAccount()被執(zhí)行的過程中,首先調(diào)用類Account的方法closeAccount()結(jié)清賬戶的利息和余額,關(guān)閉賬戶,然后調(diào)用方法delete()從數(shù)據(jù)庫中刪除該賬戶,發(fā)送消息update()給類Cus
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度房地產(chǎn)項(xiàng)目投資分析委托合同3篇
- 銷售活動(dòng)方案策劃書
- 物聯(lián)網(wǎng)公有云下流量分析-洞察分析
- 2024年有限責(zé)任公司增資擴(kuò)股、健康醫(yī)療產(chǎn)業(yè)合作及市場拓展協(xié)議3篇
- 印刷質(zhì)量管理-洞察分析
- 2024年度地?zé)岬匕骞こ贪惭b與維護(hù)服務(wù)協(xié)議3篇
- 采購合同的履行保障3篇
- 采購合同跟蹤的案例分析與策略研究3篇
- 采購合同預(yù)付款的信用風(fēng)險(xiǎn)管理3篇
- 采購合同會(huì)審制度的特點(diǎn)分析3篇
- 小學(xué)科學(xué)實(shí)驗(yàn)圖片和文字
- 2023年法考鐘秀勇講民法講義電子版
- 施工單位自查自糾記錄表
- 產(chǎn)品合格證出廠合格證A4打印模板
- IEC60287中文翻譯版本第一部分課件
- 《公路隧道設(shè)計(jì)細(xì)則》(D70-2010 )【可編輯】
- 農(nóng)業(yè)開發(fā)有限公司章程范本
- GB 4806.11-2023食品安全國家標(biāo)準(zhǔn)食品接觸用橡膠材料及制品
- 化工企業(yè)隱患排查與治理
- 自然辯證法智慧樹知到課后章節(jié)答案2023年下浙江大學(xué)
- 循環(huán)冷卻水處理和“趨零”排放新技術(shù)
評(píng)論
0/150
提交評(píng)論