




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、銀行業(yè)務(wù)模型作者:Richard Felsinger 著,蓋九宇 譯 本文選自:UMLChina2002年11月07日在前面的文章中,我們從Rational Rose開(kāi)始,啟動(dòng)并建立了一個(gè)類圖。今天我們的任務(wù)就是要通過(guò)BankAPP實(shí)例來(lái)了解如何用Rose構(gòu)造業(yè)務(wù)模型。業(yè)務(wù)企業(yè)模型業(yè)務(wù)前景,目標(biāo),組織分別提供業(yè)務(wù)事件UML信號(hào)事件-指定的激勵(lì)表格或文檔和過(guò)程(UML 用例)過(guò)程名參與者事件/輸入轉(zhuǎn)換事件/輸出約束描述引用聯(lián)系點(diǎn)WithdrawFromAccountCustomer,Teller,BankDBWithdrawRequestUpdateAccountWithdrawRecord譯注
2、:Customer:客戶;Teller:出納員 ;withdraw:取款;account:賬戶;BankDB:銀行數(shù)據(jù)庫(kù)Business Actors, Business Workers,業(yè)務(wù)實(shí)體(問(wèn)題域?qū)嶓w)業(yè)務(wù)參與者(UML 參與者)業(yè)務(wù)員(UML 參與者)業(yè)務(wù)實(shí)體(UML 類)CustomerTellerAccount,SavingsAccount,CheckingAccount譯注:saving:儲(chǔ)蓄;checking:支票業(yè)務(wù)規(guī)則目錄規(guī)則標(biāo)識(shí)符參與者,實(shí)體,過(guò)程描述:IF條件.then 動(dòng)作區(qū)域引用聯(lián)系點(diǎn)(Point of Contact)ValidAccountAccountIf
3、AccountNum 有效,then Acccount 有效業(yè)務(wù)接口(指定操作集)由架構(gòu)師提供業(yè)務(wù)模式目錄參見(jiàn)Business Modeling with UML(Eriksson 和Penker 著)。業(yè)務(wù)術(shù)語(yǔ)待完備業(yè)務(wù)系統(tǒng)體系結(jié)構(gòu)由架構(gòu)師提供需求模型需求:BankApp應(yīng)該管理支票和存款賬戶的存款和取款。將來(lái)(還要提供)查詢,轉(zhuǎn)賬,透支,等等從TellerGUI 到BankApp的輸入/輸出: sAcctNum, nDeposit, nWithdraw,sText。從BankApp 到BankDB的輸入/輸出: sAcctNum, nDeposit, nWithdraw.需求可追蹤性表:需
4、求號(hào),名稱,引用,用例名,UML元素,測(cè)試用例,描述,職責(zé)。需求可追蹤性表(部分)需求編號(hào)需求名引用用例名UML元素測(cè)試實(shí)例描述職責(zé)1.1DepositToSavingsAccountDepositToSavingsAccountBankPkg1.2DepositToCheckingAccountDepositToCheckingAccountBankPkg1.3WithdrawFromSavingAccountWithdrawFromSavingAccountBankPkg1.4WithdrawFromCheckingAccountWithdrawFromCheckingAccountBan
5、kPkg需求用例圖所有用例Rose用例圖:在瀏覽器窗口,選擇Use Case View;Main Use CaseDiagram;在圖上放置參與者,用例,關(guān)系Rose單向關(guān)聯(lián)(Unidirectional Association),泛化;選擇每一個(gè)參與者單擊鼠標(biāo)右鍵鍵入?yún)⑴c者的操作;選擇Tools-Check Model;選擇File-Save.需求高級(jí)別協(xié)作圖環(huán)境圖(Context Diagram)Rose高級(jí)別協(xié)作圖:在瀏覽器窗口,選擇Use Case View;選擇Browse-Interaction Diagram(交互圖)-Use Case View- ;選擇Collaboratio
6、n Diagram;鍵入圖名;在圖上放置對(duì)象表示參與者;雙擊每個(gè)對(duì)象,然后從下拉列表中選擇參與者名;在圖的中央放置一個(gè)對(duì)象以表示系統(tǒng);雙擊對(duì)象,鍵入系統(tǒng)名;選擇Rose Object Link (對(duì)象連接符)并且在參與者和系統(tǒng)之間拖曳;選擇Rose 文本框TextBoxABC ,鍵入傳遞的對(duì)象/數(shù)據(jù);選擇Tools-Check Model;選擇File-Save。需求用例增量增量1:支票和儲(chǔ)蓄賬戶的存款和取款增量2:查詢和轉(zhuǎn)賬增量3:透支每個(gè)增量?jī)?nèi)進(jìn)行迭代:樂(lè)觀的,正常的,悲觀的需求用例規(guī)約:名稱,觸發(fā)器,輸入?yún)?shù),輸出返回值,出現(xiàn)的前置條件/異常,出現(xiàn)的(raised)后置條件/異常,基本的
7、/樂(lè)觀場(chǎng)景,替代性可選的/悲觀的場(chǎng)景,業(yè)務(wù)規(guī)則,測(cè)試實(shí)例。WithdrawFromCheckingAccount用例的用例規(guī)約用例名:WithdrawFromCheckingAccount觸發(fā)器: WithdrawFromCheckingAccount輸入?yún)?shù): sAcctNum, nWithdraw輸出返回值: sText前置條件: ValidAccount = true and nWithdraw = nCurrentBalance出現(xiàn)的前置條件異常: 待定的描述/轉(zhuǎn)換: nCurrentBalance = nCurrentBalance - nWithdraw后置條件: nCurrent
8、Balance nOldBalance后置條件異常:無(wú)相關(guān)用例: Generalization, Includes, Extends/Extension Point: 無(wú)基本場(chǎng)景/樂(lè)觀場(chǎng)景: Text(文本) - 待定;Diagram(圖) -見(jiàn) WithdrawFromCheckingAccount樂(lè)觀場(chǎng)景順序圖替代性可選場(chǎng)景/被動(dòng)場(chǎng)景:Text -待定;Diagram -見(jiàn)WithdrawFromCheckingAccount 活動(dòng)圖業(yè)務(wù)規(guī)則: ValidAccountRule, AdequateBalanceRule測(cè)試實(shí)例:1 - 樂(lè)觀的:輸入: sAcctNum - BGates00
9、1, nWithdraw - 100, nCurrentBalance - 1000 Conditions: None, 輸出:BGates001 withdraw $100 OK and recorded;2 .待定輸入/輸出表單:WithdrawFromCheckingAccount用例的輸入/輸出表單Withdraw Request Form(取款需求表單)Customer Account Number(客戶賬號(hào))_Withdraw Amount(取款數(shù)量) _Button-Submit(提交按鈕) Button-Clear(清除按鈕)Withdraw Response Form(取款響
10、應(yīng)窗體)Customer Account Number _Withdraw Amount _Status (狀態(tài)) _Button-OK(OK 按鈕)需求順序圖WithdrawFromCheckingAccount - 樂(lè)觀場(chǎng)景注:getApp的第一筆事務(wù)需要達(dá)到應(yīng)用程序的最高級(jí)別Rose 順序圖:在瀏覽器窗口,選擇Use Case View;選擇 Use Case Diagram;選擇一個(gè)用例;選擇Browse-Interaction Diagram-Use Case View- ;選擇Sequence Diagram;鍵入圖名,例如WithdrawFromCheckingAccountOp
11、timinticScenario;在圖上放置對(duì)象以表示參與者;雙擊每個(gè)對(duì)象,然后從下拉列表中選擇參與者名;在圖的中央放置一個(gè)對(duì)象以表示系統(tǒng);雙擊對(duì)象,從下拉列表中鍵入系統(tǒng)名;選擇Rose Object Link (對(duì)象連接符),在參與者和系統(tǒng)之間拖曳;選擇Tools-Check Model;選擇File-Save .4-WithdrawFromCheckingAccount用例所有場(chǎng)景的需求活動(dòng)圖注:getApp的第一筆事務(wù)需要達(dá)到應(yīng)用程序的最高級(jí)別Rose狀態(tài)活動(dòng)圖: 在瀏覽器窗口,選擇Use Case View;選擇Use Case Diagram 顯示圖;選擇一個(gè)用例;選擇Browse
12、- State Diagram;如果State Diagram 是灰色,則返回到用例圖并重新選擇一個(gè)用例;在圖上放置活動(dòng)狀態(tài)(activity states);通過(guò)在兩個(gè)狀態(tài)之間拖曳,放置轉(zhuǎn)移;選擇Tools-Check Model;選擇File-Save 。需求產(chǎn)品性能:高可靠性,10個(gè)并發(fā)的用戶,2秒響應(yīng)時(shí)間。需求/分析高階概念模型(HOCM-High Order Concept Model)外部參與者:TellerGUI,BankDB.內(nèi)部實(shí)體(Internal Entities): BankApp, Account, CheckingAccount, SavingsAccountRos
13、e高級(jí)別概念模型圖: 推薦使用鉛筆和紙做HOCM。作為替代,創(chuàng)建不含屬性和操作的Rose類圖。分析模型草圖分析類圖 - 最簡(jiǎn)結(jié)構(gòu)Rose類圖: 見(jiàn)使用Rational Rose分析包圖Rose包圖:在瀏覽器窗口選擇Logical View;選擇BrowseClass DiagramLogical View 。輸入包圖名;在圖上放置包;從工具條中選擇依賴箭頭然后從源包到目的包拖曳,放置依賴關(guān)系。在瀏覽器中,拖動(dòng)每個(gè)類到適當(dāng)?shù)陌贿x擇Tools-Check Model;選擇File-Save。分析 WithdrawFromCheckingAccount順序圖樂(lè)觀場(chǎng)景注:getApp的第一筆事務(wù)需要
14、達(dá)到應(yīng)用程序的最高級(jí)別Rose順序圖:見(jiàn)使用Rational Rose8- 分析Account類的狀態(tài)圖Rose 狀態(tài)活動(dòng)圖:在瀏覽器窗口,選擇Use Case View;選擇Use Case Diagram 顯示;選擇一個(gè)用例;選擇Browse - State Diagram;如果 State Diagram 是灰色,則返回到用例圖并重新選擇一個(gè)用例;在圖上放置活動(dòng)狀態(tài)(activity states);通過(guò)在兩個(gè)狀態(tài)之間拖曳,放置轉(zhuǎn)移;選擇Tools-Check Model;選擇File-Save .分析復(fù)雜操作:待定的每一個(gè)操作的活動(dòng)圖 和/或操作規(guī)約:名稱,輸入,前置條件/異常,轉(zhuǎn)換,
15、后置條件/異常,業(yè)務(wù)規(guī)則,描述。Rose規(guī)約: 顯示類圖;選擇一個(gè)類;按鼠標(biāo)右鍵顯示Specification Dialog Box;選擇一個(gè)標(biāo)簽,例如Operations;雙擊一個(gè)操作;填寫操作信息;選擇 Tools - Check Model;選擇File - Save.設(shè)計(jì)模型 - 編碼的基礎(chǔ)設(shè)計(jì)過(guò)程環(huán)境:Linux 6.2版, GNU C+ 6.2版, C+ 標(biāo)準(zhǔn)庫(kù),CORBA 3。設(shè)計(jì)潛在模式企業(yè)級(jí):基于分布式CORBA,具有公共接口的組件系統(tǒng)(組件到組件):分層,會(huì)話實(shí)體(Session - Entity),回調(diào)(Callbacks),發(fā)行者-訂閱者(Publisher - Sub
16、scriber)組件:應(yīng)用文檔,控制器實(shí)體邊界,虛包(Facade)類設(shè)計(jì):UML, Factory(工廠),事務(wù)JAVA 語(yǔ)言:Java Bean, Enterprise Java Bean, Servlet, RMI設(shè)計(jì)包圖設(shè)計(jì)類圖 說(shuō)明類型和參數(shù)-目標(biāo)是完成編碼注:CheckingAccount和SavingsAccount 提供多態(tài)操作的實(shí)現(xiàn)。設(shè)計(jì)順序圖WithdrawFromCheckingAccount - 樂(lè)觀場(chǎng)景注:getApp的第一筆事務(wù)需要達(dá)到應(yīng)用程序的最高級(jí)別設(shè)計(jì)協(xié)作圖WithdrawFromCheckingAccount - 樂(lè)觀場(chǎng)景在Rational Rose中打開(kāi)順
17、序圖,按F5 自動(dòng)創(chuàng)建協(xié)作圖。設(shè)計(jì)CheckingAccount類withdraw()操作的操作規(guī)約用例名: withdraw觸發(fā):withdraw輸入?yún)?shù): nWithdraw : int輸出返回值: boolean前置條件: nWithdraw = nCurrentBalance出現(xiàn)的前置條件/異常: exInsuffientFunds描述/轉(zhuǎn)換: nCurrentBalance = nCurrentBalance - nWithdraw后置條件: nCurrentBalance priorCurrentBalance后置條件異常: exIncorrectBalance基本/樂(lè)觀場(chǎng)景 :見(jiàn)
18、WithdrawFromCheckingAccount 順序圖替代性場(chǎng)景/悲觀場(chǎng)景:見(jiàn)WithdrawFromCheckingAccount 活動(dòng)圖業(yè)務(wù)規(guī)則:ValidAccountRule, AdequateBalanceRule設(shè)計(jì)異常類(exception classes)異常超類(操作:Exception()/Exception(string);異常子類:exInsufiicientFunds 操作 :exInsufiicientFunds()、exInsufiicientFunds(string);exIncorrectBalance操作:exIncorrectBalance()、e
19、xIncorrectBalance(string)。設(shè)計(jì) CheckingAccount 類的狀態(tài)圖實(shí)施模型(Implementation Models)實(shí)施模型設(shè)計(jì)過(guò)程環(huán)境實(shí)施組件圖實(shí)施文件(Implementation Files): TellerGUI.exe, BankApp.exe, BankDB.exe組件接口選擇:1) BankApp具有單接口 IbankApp,其所有操作都是公有的(exposed)2) BankApp暴露(exposes) IBankApp, ICheckingAccount, & ISavingAccount 接口3) BankApp暴露(exposes)
20、IBankApp, IWithdraw, IDeposit, ICheckingAccount, & ISavingAccount 接口CORBA IDL/C+ 需要對(duì)接口進(jìn)行描述Rose 組件圖:在瀏覽器窗口,選擇Component View;,將Main重命名為Component View;雙擊圖名顯示該圖;在圖上放置組件和依賴關(guān)系(從client組件到supplier組件拖曳);在瀏覽器中把每個(gè)類拖到相應(yīng)的組件中;選擇Tools-Check Model;選擇File-Save.實(shí)施部署圖Rose 部署圖:在瀏覽器窗口選擇Deployment View;雙擊以顯示該圖;在圖上放置節(jié)點(diǎn)和關(guān)系
21、;選擇Tools-Check Model;選擇File-Save./使用CORBA的 BankApp系統(tǒng)的接口/Sample IDL Interface Code(IDL 接口代碼樣本)module BankApp interface IBankApp exception exInsuffientFunds; IBankApp getApp(); boolean depositToCheckingAccount (in string sAcctNum, in int nDeposit) ; boolean depositToSavingAccount (in string sAcctNum,
22、in int nDeposit) ; boolean withdrawFromCheckingAccount (in string sAcctNum, in int nWithdraw)raises(exInsuffientFunds); boolean withdrawFromSavingAccount (in string sAcctNum, in int nWithdraw) raises(exInsuffientFunds);/Sample Java Interface Code Using Remote Method Invocation/(使用RMI 的Java接口樣本)impor
23、t java.rmi.*;package BankApp;public interface IBankApp extends java.rmi.Remote boolean depositToCheckingAccount (String sAcctNum, int nDeposit) throws java.rmi.RemoteException ;boolean depositToSavingAccount (String sAcctNum, int nDeposit) throws java.rmi.RemoteException ;boolean withdrawFromCheckin
24、gAccount (String sAcctNum, int nWithdraw) throwsjava.rmi.RemoteException;boolean withdrawFromSavingAccount (String sAcctNum, int nWithdraw) throwsjava.rmi.RemoteException;/Sample Microsoft IDL Interface Code for COM - Simplified/(Microsoft IDL 的COM接口編碼樣本簡(jiǎn)化版)library BankAppLib dispinterface IBankApp
25、IBankApp getApp();boolean depositToCheckingAccount (BSTR sAcctNum, int nDeposit) ;boolean depositToSavingAccount (BSTR sAcctNum, int nDeposit) ;boolean withdrawFromCheckingAccount (BSTR sAcctNum, int nWithdraw);boolean withdrawFromSavingAccount (BSTR sAcctNum, int nWithdraw);coclass BankApp dispinte
26、rface IBankApp; ;/Sample SOAP (Simple Object Access Protocol) SDL (Service Description Language) with XML -Incomplete/包含XML 的SOAP SDL樣本不完全構(gòu)建編碼/命名標(biāo)準(zhǔn);接口代碼-CORBA IDL;C+代碼;CASE 工具腳本/定制報(bào)告的VBA /代碼生成Rose代碼生成-需要Rose 專業(yè)版或企業(yè)版. 見(jiàn)Help Topic Code Generation(幫助主題Code Generation)。步驟:1 - 檢查模型;2 - 創(chuàng)建組件;3 - 映射/分配類到組件;4 - 設(shè)定代碼生成特性;5 - 選擇一個(gè)類、組件或包6 - 生成代碼;7
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 軟密封固定式球閥項(xiàng)目投資可行性研究分析報(bào)告(2024-2030版)
- 商業(yè)計(jì)劃書的營(yíng)銷策略打造獨(dú)特的品牌形象
- 2025年電子商務(wù)項(xiàng)目可行性分析報(bào)告
- 2025年泡沫塑料制品項(xiàng)目可行性研究報(bào)告模板可編輯
- 商業(yè)計(jì)劃書(BP)萬(wàn)能公式
- 學(xué)生課桌椅項(xiàng)目可行性研究報(bào)告
- 2025年現(xiàn)代農(nóng)業(yè)旅游觀光融資投資立項(xiàng)項(xiàng)目可行性研究報(bào)告(咨詢)
- 潤(rùn)達(dá)潔能綜合利用2×5融資投資立項(xiàng)項(xiàng)目可行性研究報(bào)告(非常詳細(xì))
- 書店創(chuàng)業(yè)計(jì)劃書范文英語(yǔ)
- 自助攝影創(chuàng)業(yè)計(jì)劃書模板
- 人力資源經(jīng)營(yíng)分析報(bào)告
- 電競(jìng)酒店行業(yè)分析
- 煉鋼廠五臺(tái)英格索蘭空壓機(jī)維保技術(shù)協(xié)議
- 4G5G 移動(dòng)通信技術(shù)-LTE信令流程
- 江西省交通安全知識(shí)講座
- 【生鮮電商發(fā)展探究國(guó)內(nèi)外文獻(xiàn)綜述1800字】
- 杭州城市發(fā)展與歷史沿革
- 訂購(gòu)單模板(訂貨單模板)
- 干漆膜(涂層)厚度檢測(cè)報(bào)告
- 國(guó)內(nèi)外液壓機(jī)技術(shù)現(xiàn)狀及發(fā)展趨勢(shì)
- 指南針?biāo)较砑野娉鲎鈨r(jià)格
評(píng)論
0/150
提交評(píng)論