UML系統(tǒng)分析與設計教程(第2版) 課件 第14章 銀行系統(tǒng)的分析與設計_第1頁
UML系統(tǒng)分析與設計教程(第2版) 課件 第14章 銀行系統(tǒng)的分析與設計_第2頁
UML系統(tǒng)分析與設計教程(第2版) 課件 第14章 銀行系統(tǒng)的分析與設計_第3頁
UML系統(tǒng)分析與設計教程(第2版) 課件 第14章 銀行系統(tǒng)的分析與設計_第4頁
UML系統(tǒng)分析與設計教程(第2版) 課件 第14章 銀行系統(tǒng)的分析與設計_第5頁
已閱讀5頁,還剩54頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

UML系統(tǒng)分析與設計SystemAnalysis&Design冀振燕北京交通大學

第十四章銀行系統(tǒng)的分析與設計系統(tǒng)需求分析問題領域靜態(tài)結構模型動態(tài)行為模型物理模型UML系統(tǒng)分析與設計第2版ZhenyanJi2系統(tǒng)需求域描述:銀行是與人們日常生活緊密相關的一個機構,銀行可提供存款、取款、轉賬等業(yè)務。在銀行設立賬戶的個人或機構通常被稱為銀行的客戶。一個客戶可以在銀行開多個賬戶,客戶可以存錢到賬戶中,也可以從自己的賬戶中取錢,還可以將存款從一個賬戶轉到另一個賬戶。另外,客戶還可以隨時查詢自己的賬戶情況,以及查詢以前所進行的存款、取款等交易記錄??蛻粢灿袡嗬箨P閉自己的賬戶。UML系統(tǒng)分析與設計第2版ZhenyanJi3系統(tǒng)需求在對上述銀行系統(tǒng)的基本需求進行分析后,可知這個簡化的銀行系統(tǒng)至少應該具有如下功能:一個銀行可以有多個賬戶一個銀行可以有多個客戶一個客戶可以持有多個賬戶一個賬戶可以有多個持有者可以開戶可以注銷賬戶可以取錢可以存錢可以在銀行內的賬戶之間轉賬可以在不同銀行的賬戶之間轉賬UML系統(tǒng)分析與設計第2版ZhenyanJi4分析問題領域識別參與者(1)Clerk(銀行職員)。描述:Clerk可以創(chuàng)建、刪除賬戶,并可以修改賬戶信息。示例:銀行的工作人員。(2)CustomerActor(客戶)。描述:CustomerActor可以存錢、取錢,還可以在不同的賬戶之間轉賬。示例:任何在銀行中開有賬戶的個人或組織。(3)BankActor(銀行)。描述:客戶可以在BankActor中設立或關閉賬戶。示例:任意一個提供存款、取款、轉賬等業(yè)務的銀行。UML系統(tǒng)分析與設計第2版ZhenyanJi5分析問題領域識別用例(1)Login(登錄)。本用例提供了驗證用戶身份的功能。(2)Depositfund(存款)。本用例提供了存錢到賬戶的功能。(3)Withdrawfund(取款)。本用例提供了從賬戶中取錢的功能。(4)MaintainAccount(管理賬戶)。本用例提供了創(chuàng)建、刪除賬戶,以及修改賬戶信息的功能。UML系統(tǒng)分析與設計第2版ZhenyanJi6分析問題領域識別用例(5)Transferfundwithinabank(在銀行內轉賬)。本用例提供了在屬于同一銀行的賬戶之間轉賬的功能。(6)Transferfundbetweenbanks(在不同的銀行之間轉賬)。本用例提供了在屬于不同銀行的賬戶之間轉賬的功能。(7)Transferfund(轉賬)。本用例描述了轉賬的通用行為,是用例(5)與(6)的父用例。UML系統(tǒng)分析與設計第2版ZhenyanJi7系統(tǒng)用例圖UML系統(tǒng)分析與設計第2版ZhenyanJi8分析問題領域用例的事件流描述—登錄1“Login”(登錄)1.1簡單描述本用例描述了用戶如何登錄到系統(tǒng)中。1.2前置條件(Pre-Conditions)無。1.3后置條件(Post-Conditions)如果用例成功,則用戶登錄到系統(tǒng)中。否則,系統(tǒng)狀態(tài)不變。1.4擴充點(ExtensionPoints)無。1.5事件流1.5.1基流(BasicFlow)當用戶想登錄到銀行信息系統(tǒng)中時,用例啟動。UML系統(tǒng)分析與設計第2版ZhenyanJi9分析問題領域用例的事件流描述—登錄(1)系統(tǒng)提示用戶輸入用戶名和密碼。(2)用戶輸入自己的用戶名和密碼,提交。(3)系統(tǒng)驗證輸入的名字和密碼(E-1),用戶登錄系統(tǒng)成功。1.5.2替代流(AlternativeFlow)E-1:如果輸入的用戶名和/或密碼無效,系統(tǒng)提示錯誤信息,用戶可以重新輸入或終止該用例。UML系統(tǒng)分析與設計第2版ZhenyanJi10“登錄”活動圖UML系統(tǒng)分析與設計第2版ZhenyanJi11分析問題領域用例的事件流描述—存款2“Depositfund”(存款)2.1簡單描述本用例允許客戶通過Clerk存款到賬戶中。2.2前置條件(Pre-Conditions)在本用例開始前,Clerk必須登錄到系統(tǒng)中。2.3后置條件(Post-Conditions)如果用例成功,則客戶CustomerActor賬戶中存款的金額發(fā)生變化。否則,系統(tǒng)狀態(tài)不變。2.4擴充點(ExtensionPoints)無。2.5事件流UML系統(tǒng)分析與設計第2版ZhenyanJi12分析問題領域用例的事件流描述—存款2.5.1基流(BasicFlow)當CustomerActor想存錢到自己的賬戶時,要向Clerk提交存款單和現(xiàn)金,用例啟動。(1)系統(tǒng)提示Clerk輸入用戶姓名、用戶的id號、賬號和所存款項的金額。(2)Clerk輸入相關信息后提交,系統(tǒng)確認賬戶是否存在并有效(當用戶名、用戶id與賬戶的戶主信息一致,且賬戶處于非凍結狀態(tài)時,賬戶有效)(E-1)。(3)系統(tǒng)建立存款事件記錄,并更新賬戶的相關信息。2.5.2替代流(AlternativeFlow)E-1:賬戶不存在或無效,顯示提示信息,用戶可以重新輸入信或終止該用例。UML系統(tǒng)分析與設計第2版ZhenyanJi13“存款”活動圖UML系統(tǒng)分析與設計第2版ZhenyanJi14分析問題領域用例的事件流描述—取款3“Withdrawfund”(取款)3.1簡單描述本用例允許Clerk按照客戶的要求從客戶的賬戶中取款。3.2前置條件(Pre-Conditions)在本用例開始前,用戶必須登錄到系統(tǒng)中。3.3后置條件(Post-Conditions)如果用例成功,則客戶CustomerActor賬戶中存款的金額發(fā)生變化。否則,系統(tǒng)狀態(tài)不變。3.4擴充點(ExtensionPoints)無。UML系統(tǒng)分析與設計第2版ZhenyanJi15分析問題領域用例的事件流描述—取款3.5事件流3.5.1基流(BasicFlow)當Customer想從自己的賬戶中取錢時,要向Clerk提交取款單,用例啟動。(1)系統(tǒng)提示Clerk輸入用戶姓名、用戶的id號、賬號和取款金額。(2)Clerk輸入相關信息后提交,系統(tǒng)確認賬戶是否存在并有效(當用戶名、用戶id與賬戶的戶主信息一致,且賬戶處于非凍結狀態(tài)時,賬戶有效)(E-1),以及賬戶中的存款金額是否足夠支付所取款項(E-2)。(3)系統(tǒng)建立取款事件記錄,并更新賬戶的相關信息。3.5.2替代流(AlternativeFlow)E-1:若賬戶不存在或無效,顯示提示信息,用戶可以重新輸入或終止該用例。E-2:若賬戶中的存款金額不足,顯示提示信息,用戶可以重新輸入金額或終止該用例。UML系統(tǒng)分析與設計第2版ZhenyanJi16“取款”活動圖UML系統(tǒng)分析與設計第2版ZhenyanJi17分析問題領域用例的事件流描述—轉賬4“Transferfund”(轉賬)4.1簡單描述本用例允許Clerk按照客戶的要求將指定數(shù)量的資金從一個賬戶轉到另一個賬戶。4.2前置條件(Pre-Conditions)在本用例開始前,用戶必須登錄到系統(tǒng)中。4.3后置條件(Post-Conditions)如果用例成功,則客戶CustomerActor賬戶中存款的金額發(fā)生變化。否則,系統(tǒng)狀態(tài)不變。4.4擴充點(ExtensionPoints)無。UML系統(tǒng)分析與設計第2版ZhenyanJi18分析問題領域用例的事件流描述—轉賬4.5事件流4.5.1基流(BasicFlow)當Customer要求轉賬時,用例啟動。(1)系統(tǒng)提示Clerk輸入用戶姓名、用戶的id號、賬戶號碼和轉賬金額。(2)Clerk輸入相關信息后提交。(資金轉入賬戶所在的銀行只能在所提供的銀行列表中選擇。)(3)系統(tǒng)確認資金轉出賬戶是否存在并有效(當用戶名、用戶id與賬戶的戶主信息一致,且賬戶處于非凍結狀態(tài)時,賬戶有效)(E-1),并確認資金轉出賬戶中的金額是否足夠支付所轉款項(E-2)。(4)更新資金轉出賬戶的相關信息。(5)為資金轉出賬戶建立轉賬記錄。(6)存儲轉賬記錄。(7)判斷資金轉入賬戶是否屬于同一銀行。UML系統(tǒng)分析與設計第2版ZhenyanJi19分析問題領域用例的事件流描述—轉賬如果資金轉入賬戶與資金轉出賬戶屬于同一銀行,則執(zhí)行分支流S-1:在同一銀行的賬戶間轉賬。如果資金轉入賬戶與資金轉出賬戶屬于不同銀行,則執(zhí)行分支流S-2:在不同銀行的賬戶間轉賬。4.5.2分支流(Subflows)S-1:在同一銀行的賬戶間轉賬(1)系統(tǒng)確認資金轉入賬戶是否存在并有效(當賬戶處于非凍結狀態(tài)時,賬戶有效)(E-1)。(2)更新資金轉入賬戶的相關信息。(3)為資金轉入賬戶建立轉賬記錄。(4)存儲轉賬記錄。UML系統(tǒng)分析與設計第2版ZhenyanJi20分析問題領域用例的事件流描述—轉賬S-2:在不同銀行的賬戶間轉賬發(fā)送轉賬通知給另一個銀行。4.5.3替代流(AlternativeFlow)E-1:賬戶不存在或無效,顯示提示信息,用戶可以重新輸入或終止該用例。E-2:賬戶中的存款金額不足,顯示提示信息,用戶可以修改所轉款項的金額或終止該用例。UML系統(tǒng)分析與設計第2版ZhenyanJi21“轉賬”活動圖UML系統(tǒng)分析與設計第2版ZhenyanJi22分析問題領域用例的事件流描述—管理賬戶5MaintainAccount(管理賬戶)5.1前置條件(Pre-Conditions)在這個用例開始前,Clerk必須登錄到系統(tǒng)中。5.2后置條件(Post-Conditions)如果這個用例成功,新賬戶會被創(chuàng)建,或者賬戶信息被更新(修改),或賬戶從系統(tǒng)中被刪除。否則,系統(tǒng)的狀態(tài)沒有變化。5.3擴充點(ExtensionPoints)沒有5.4事件流5.4.1基流(BasicFlow)當Clerk想創(chuàng)建、修改或刪除賬戶信息時,用例啟動。系統(tǒng)要求Clerk選擇所要執(zhí)行的操作(創(chuàng)建賬戶、修改賬戶信息或刪除賬戶)。如果所選的操作是“創(chuàng)建賬戶”,則執(zhí)行分支流S-1:創(chuàng)建賬戶。如果所選的操作是“刪除賬戶”,則執(zhí)行分支流S-2:刪除賬戶。如果所選的操作是“修改賬戶”,則執(zhí)行分支流S-3:修改賬戶信息。UML系統(tǒng)分析與設計第2版ZhenyanJi23分析問題領域用例的事件流描述—管理賬戶5.4.2分支流(Subflows)S-1:創(chuàng)建賬戶(1)系統(tǒng)要求Clerk輸入客戶信息(姓名、id號、地址、存儲金額等)(2)Clerk輸入所要求的信息后提交。(3)系統(tǒng)為客戶建立賬戶。(4)將賬戶信息存儲到數(shù)據(jù)庫中。S-2:刪除賬戶(1)系統(tǒng)提示Clerk輸入賬號(E-1)。(2)Clerk輸入賬號后提交。(3)系統(tǒng)檢索賬戶信息(E-2)。(4)顯示賬戶信息。(5)Clerk確認刪除賬戶(E-3)。(6)關閉賬戶。(7)從系統(tǒng)中刪除賬戶。UML系統(tǒng)分析與設計第2版ZhenyanJi24分析問題領域用例的事件流描述—管理賬戶S-3:修改賬戶信息(1)系統(tǒng)提示Clerk輸入賬號(E-1)。(2)Clerk輸入賬號后提交。(3)系統(tǒng)檢索賬戶信息(E-2)。(4)顯示賬戶信息。(5)Clerk修改賬戶信息。(6)Clerk修改完畢后提交。(7)系統(tǒng)更新賬戶信息。5.4.3替代流(AlternativeFlow)E-1:輸入無效的賬號,Clerk可以重新輸入或終止該用例。E-2:賬戶不存在,系統(tǒng)顯示錯誤信息,Clerk重新輸入賬號或取消操作(用例終止)。E-3:取消刪除,刪除賬戶操作被取消,用例終止。UML系統(tǒng)分析與設計第2版ZhenyanJi25“創(chuàng)建賬戶”活動圖UML系統(tǒng)分析與設計第2版ZhenyanJi26“刪除賬戶”活動圖UML系統(tǒng)分析與設計第2版ZhenyanJi27“修改賬戶”活動圖UML系統(tǒng)分析與設計第2版ZhenyanJi28靜態(tài)結構模型定義系統(tǒng)對象類(1)類Bank。類Bank代表物理存在的銀行。類Bank應該具有下列私有屬性。bankCode:String

name:String

address:Stringphone:String

fax:String為了設置和訪問對象的私有屬性值,類Bank應該具有下述方法。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)分析與設計第2版ZhenyanJi29靜態(tài)結構模型(2)類Account。在確定類Account的屬性和方法時,應考慮如下需求。一個銀行可以有多個賬戶。一個賬戶可以有多個持有者。可以開戶??梢宰N賬戶??梢匀″X??梢源驽X??梢栽阢y行內的賬戶之間轉賬??梢栽诓煌y行的賬戶之間轉賬。UML系統(tǒng)分析與設計第2版ZhenyanJi30靜態(tài)結構模型(3)類Customer。在確定類Account的屬性和方法時,應考慮如下需求。一個銀行可以有多個客戶。一個客戶可以有多個賬戶。查詢數(shù)據(jù)庫中是否存在指定客戶名和ID號的客戶信息。創(chuàng)建客戶對象。將客戶信息存儲到數(shù)據(jù)庫中。更新數(shù)據(jù)庫中的客戶信息。判斷客戶是否還持有賬戶。刪除數(shù)據(jù)庫中的客戶信息。UML系統(tǒng)分析與設計第2版ZhenyanJi31靜態(tài)結構模型(4)類Transaction。私有屬性如下。account:AccountcreateDate:Datefund:float公共方法如下。newTransaction(account:Account,fund:float,date:Date):void創(chuàng)建交易記錄。save():void將交易記錄存儲到數(shù)據(jù)庫中。UML系統(tǒng)分析與設計第2版ZhenyanJi32靜態(tài)結構模型(5)類Deposit。繼承類Transaction。私有屬性如下。無。公共方法如下。newDeposit(account:Account,fund:float,date:Date):void創(chuàng)建存款交易記錄。save():void將存款交易記錄存儲到數(shù)據(jù)庫中。UML系統(tǒng)分析與設計第2版ZhenyanJi33靜態(tài)結構模型(6)類Withdraw。繼承類Transaction。私有屬性如下。無。公共方法如下。newWithdraw(account:Account,fund:float,date:Date):void創(chuàng)建取款交易記錄。save():void將取款交易記錄存儲到數(shù)據(jù)庫中。UML系統(tǒng)分析與設計第2版ZhenyanJi34靜態(tài)結構模型(7)類Transfer。繼承類Transaction。私有屬性如下。transferAccountNo:StringtransferBank:Bank公共方法如下。newTransfer(account:Account,transferAccountNo:String,transferBank:Bank,fund:float,date:Date):void創(chuàng)建轉賬交易記錄。save():void將轉賬交易記錄存儲到數(shù)據(jù)庫中。UML系統(tǒng)分析與設計第2版ZhenyanJi35靜態(tài)結構模型定義用戶界面類(1)類BankGUI。BankGUI是系統(tǒng)的主界面,系統(tǒng)的主界面含有幾個按鈕,當選擇不同按鈕時,系統(tǒng)可以執(zhí)行不同的操作。當程序退出時,主界面窗口關閉。(2)類QueryDialog。界面類QueryDialog是用來根據(jù)賬戶的賬號查找賬戶的對話框。當按下主窗口BankGUI中的“刪除賬戶”按鈕和“修改賬戶信息”按鈕時,對話框QueryDialog彈出,銀行職員填寫賬號并提交,然后系統(tǒng)查詢數(shù)據(jù)庫中具有指定賬號的賬戶信息。UML系統(tǒng)分析與設計第2版ZhenyanJi36靜態(tài)結構模型(3)類DWDialog。界面類DWDialog是客戶在存款或取款時所需的對話框,其界面如圖14.9所示。當按下主窗口BankGUI中的“存款”按鈕或“取款”按鈕時,該對話框彈出,對話框中第1個按鈕的標簽根據(jù)操作的不同顯示為“存款”或“取款”。(4)類AccountDialog。界面類AccountDialog是用來填寫或顯示賬戶信息的對話框UML系統(tǒng)分析與設計第2版ZhenyanJi37靜態(tài)結構模型(5)類TransferDialog。界面類TransferDialog是用來填寫轉賬信息的對話框。當按下主窗口BankGUI中的“轉賬”按鈕時,該對話框彈出,銀行職員填寫資金轉出賬戶、轉賬金額、資金轉入賬戶等信息,然后單擊“OK”按鈕確認操作,系統(tǒng)執(zhí)行轉賬操作。(6)類LoginDialog。界面類LoginDialog是用來輸入用戶名和密碼的對話框。該對話框在啟動系統(tǒng)時彈出,提示用戶輸入驗證信息,若驗證成功,則系統(tǒng)啟動;否則,用戶重新輸入驗證信息或終止操作。UML系統(tǒng)分析與設計第2版ZhenyanJi38靜態(tài)結構模型系統(tǒng)類圖UML系統(tǒng)分析與設計第2版ZhenyanJi39系統(tǒng)數(shù)據(jù)庫的邏輯模型UML系統(tǒng)分析與設計第2版ZhenyanJi40動態(tài)行為模型登錄首先,Clerk啟動系統(tǒng),類LoginDialog的方法newLDialog()被調用,創(chuàng)建用來填寫登錄信息的對話框。Clerk填寫登錄信息后,提交信息,執(zhí)行方法validate()驗證用戶名和密碼是否正確,若正確,發(fā)送消息newBankGUI()給類BankGUI,啟動系統(tǒng),創(chuàng)建系統(tǒng)主界面;若不正確,則提示用戶重新輸入信息,對重新輸入的用戶信息進行驗證;若用戶連續(xù)三次輸入錯誤信息,系統(tǒng)終止運行。UML系統(tǒng)分析與設計第2版ZhenyanJi41“登錄”順序圖UML系統(tǒng)分析與設計第2版ZhenyanJi42動態(tài)行為模型存款客戶要求存款,Clerk發(fā)送消息deposit()給類BankGUI,類BankGUI又發(fā)送消息newDWDialog()給類DWDialog,即類DWDialog的方法newDWDialog()被調用,創(chuàng)建用于填寫存款信息的窗口。Clerk填寫必要的信息后提交信息,類DWDialog的方法deposit()被調用,發(fā)送消息deposit()給類Account。在類Account的方法deposit()的執(zhí)行過程中,首先調用類Account的方法query(),確認數(shù)據(jù)庫中是否存在該賬戶,若存在(若賬戶不存在,則顯示提示信息),則發(fā)送消息newDeposit()給類Deposit,創(chuàng)建一個存款交易記錄,然后調用方法save()將該記錄存儲到數(shù)據(jù)庫中。調用類Account的方法newBalance()計算新的賬戶余額,最后調用方法update()更新數(shù)據(jù)庫中該賬戶的信息。UML系統(tǒng)分析與設計第2版ZhenyanJi43“存款”順序圖UML系統(tǒng)分析與設計第2版ZhenyanJi44動態(tài)行為模型取款客戶要求取款,類BankGUI的方法withdraw()被調用,類BankGUI發(fā)送消息newDWDialog()給類DWDialog,創(chuàng)建用于填寫取款信息的窗口。Clerk填寫必要的信息后,提交信息,類DWDialog的方法withdraw()被調用,發(fā)送消息withdraw()給類Account。在類Account的方法withdraw()的執(zhí)行過程中,首先調用類Account的方法query(),確認數(shù)據(jù)庫中是否存在該賬戶,并確認賬戶中的金額是否足夠支付所取款項,若賬戶存在且金額足夠(否則,若賬戶不存在或賬戶中金額不足,則顯示提示信息),則發(fā)送消息newWithdraw()給類Withdraw,并創(chuàng)建一個取款交易記錄,然后再調用方法save()將該記錄存儲到數(shù)據(jù)庫中。調用方法newBalance()計算新的賬戶余額,最后調用方法update()更新數(shù)據(jù)庫中該賬戶的信息。UML系統(tǒng)分析與設計第2版ZhenyanJi45“取款”順序圖UML系統(tǒng)分析與設計第2版ZhenyanJi46動態(tài)行為模型在銀行內轉賬客戶要求在銀行內轉賬,類BankGUI的方法transfer()被調用,類BankGUI發(fā)送信息newTDialog()給類TransferDialog,創(chuàng)建用于填寫轉賬信息的窗口。Clerk填寫必要的信息后提交信息,類TransferDialog的方法transfer()被調用,發(fā)送消息transferOut()給類Account的對象t1(資金轉出賬戶),調用方法query()查詢賬戶t1、t2是否存在且t1中資金是否足夠(即大于轉賬金額),如果賬戶t1或t2不存在,或資金不夠,發(fā)送操作失敗信息給Clerk;反之,如果賬戶t1、t2都存在且t1中資金足夠,調用方法newBalance()計算新的賬戶余額,再調用方法update()更新數(shù)據(jù)庫中t1的信息。然后發(fā)送消息newTransfer()給類Transfer,創(chuàng)建轉賬交易記錄,然后發(fā)送消息save()給類Transfer,存儲轉賬交易記錄。類TransferDialog還發(fā)送消息transferIn()給類Account的對象t2(資金轉入賬戶),調用方法newBalance()計算新的賬戶余額,再調用方法update()更新數(shù)據(jù)庫中t2的信息。最后發(fā)送消息newTransfer()給類Transfer,創(chuàng)建轉賬交易記錄,發(fā)送消息save()給類Transfer,存儲轉賬交易記錄。UML系統(tǒng)分析與設計第2版ZhenyanJi47“在銀行內轉賬”順序圖UML系統(tǒng)分析與設計第2版ZhenyanJi48動態(tài)行為模型在銀行之間轉賬客戶要求在銀行之間轉賬,類BankGUI的方法transfer()被調用,類BankGUI發(fā)送信息newTDialog()給類TransferDialog,創(chuàng)建用于填寫轉賬信息的窗口。Clerk填寫必要的信息后提交信息,類TransferDialog的方法transfer()被調用,發(fā)送消息transferOut()給Account對象,調用方法query()查詢賬戶是否存在且賬戶資金是否足夠(大于轉賬金額),如果賬戶不存在或賬戶資金不足,發(fā)送失敗消息給Clerk;如果賬戶存在且賬戶資金足夠,調用類Account的方法newBalance(),計算新的賬戶余額,再調用方法update()更新數(shù)據(jù)庫中的賬戶信息。然后發(fā)送消息newTransfer()給類Transfer,創(chuàng)建轉賬交易記錄,發(fā)送消息save()給類Transfer,存儲轉賬交易記錄。最后給另一個銀行發(fā)送轉賬通知。UML系統(tǒng)分析與設計第2版ZhenyanJi49“在銀行之間轉賬”順序圖UML系統(tǒng)分析與設計第2版ZhenyanJi50動態(tài)行為模型創(chuàng)建新賬戶客戶要求創(chuàng)建新賬戶,Clerk發(fā)送消息newAccount()給類BankGUI,類BankGUI發(fā)送消息newADialog()給類AccountDialog,創(chuàng)建用于填寫賬戶信息的窗口。Clerk填寫必要的信息后提交信息,類AccountDialog的方法newAccount()被調用,發(fā)送消息newAccount()給類Account,創(chuàng)建Account對象。在方法newAccount()執(zhí)行過程中,要調用方法query()查詢該客戶是否已存在于數(shù)據(jù)庫中(該客戶可能已在銀行開設其他賬戶,因此數(shù)據(jù)庫中已有該客戶信息),若該客戶信息已在數(shù)據(jù)庫中存在,類Account發(fā)送消息update()給類Customer,更新數(shù)據(jù)庫中該客戶的信息;反之,若數(shù)據(jù)庫中不存在該客戶信息,則類Account發(fā)送消息newCustomer()給類Customer,創(chuàng)建Customer對象,然后調用方法save()將客戶信息存儲到數(shù)據(jù)庫中。最后,調用類Account的方法save()將Account信息存儲到數(shù)據(jù)庫中。UML系統(tǒng)分析與設計第2版ZhenyanJi51“創(chuàng)建新賬戶”順序圖UML系統(tǒng)分析與設計第2版ZhenyanJi52動態(tài)行為模型刪除賬戶客戶要求刪除賬戶,類BankGUI的方法delAccount()被調用,類BankGUI發(fā)送消息newQDialog()給類QueryDialog,創(chuàng)建用于填寫賬號的窗口。Clerk填寫賬號后提交信息,類QueryDialog的方法query()被調用,發(fā)送消息getAccount()給類Account,返回匹配指定賬號的賬戶信息,若賬戶信息為空,發(fā)送消息給Clerk;反之,若賬戶信息存在,調用方法newADialog()創(chuàng)建窗口并將賬戶信息顯示在窗口中。Clerk確認刪除,類AccountDialog的方法delAccount()被調用,發(fā)送消息remAccount()給類Account。在方法remAccount()被執(zhí)行的過程中,首先調用類Account的方法closeAccount()結清賬戶的利息和余額,關閉賬戶,然后調用方法delete()從數(shù)據(jù)庫中刪除該賬戶,發(fā)送消息update()給類Cus

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論