




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、銀行業務模型作者:Richard Felsinger 著,蓋九宇 譯 本文選自:UMLChina2002年11月07日在前面的文章中,我們從Rational Rose開始,啟動并建立了一個類圖。今天我們的任務就是要通過BankAPP實例來了解如何用Rose構造業務模型。業務企業模型業務前景,目標,組織分別提供業務事件UML信號事件-指定的激勵表格或文檔和過程(UML 用例)過程名參與者事件/輸入轉換事件/輸出約束描述引用聯系點WithdrawFromAccountCustomer,Teller,BankDBWithdrawRequestUpdateAccountWithdrawRecord譯注
2、:Customer:客戶;Teller:出納員 ;withdraw:取款;account:賬戶;BankDB:銀行數據庫Business Actors, Business Workers,業務實體(問題域實體)業務參與者(UML 參與者)業務員(UML 參與者)業務實體(UML 類)CustomerTellerAccount,SavingsAccount,CheckingAccount譯注:saving:儲蓄;checking:支票業務規則目錄規則標識符參與者,實體,過程描述:IF條件.then 動作區域引用聯系點(Point of Contact)ValidAccountAccountIf
3、AccountNum 有效,then Acccount 有效業務接口(指定操作集)由架構師提供業務模式目錄參見Business Modeling with UML(Eriksson 和Penker 著)。業務術語待完備業務系統體系結構由架構師提供需求模型需求:BankApp應該管理支票和存款賬戶的存款和取款。將來(還要提供)查詢,轉賬,透支,等等從TellerGUI 到BankApp的輸入/輸出: sAcctNum, nDeposit, nWithdraw,sText。從BankApp 到BankDB的輸入/輸出: sAcctNum, nDeposit, nWithdraw.需求可追蹤性表:需
4、求號,名稱,引用,用例名,UML元素,測試用例,描述,職責。需求可追蹤性表(部分)需求編號需求名引用用例名UML元素測試實例描述職責1.1DepositToSavingsAccountDepositToSavingsAccountBankPkg1.2DepositToCheckingAccountDepositToCheckingAccountBankPkg1.3WithdrawFromSavingAccountWithdrawFromSavingAccountBankPkg1.4WithdrawFromCheckingAccountWithdrawFromCheckingAccountBan
5、kPkg需求用例圖所有用例Rose用例圖:在瀏覽器窗口,選擇Use Case View;Main Use CaseDiagram;在圖上放置參與者,用例,關系Rose單向關聯(Unidirectional Association),泛化;選擇每一個參與者單擊鼠標右鍵鍵入參與者的操作;選擇Tools-Check Model;選擇File-Save.需求高級別協作圖環境圖(Context Diagram)Rose高級別協作圖:在瀏覽器窗口,選擇Use Case View;選擇Browse-Interaction Diagram(交互圖)-Use Case View- ;選擇Collaboratio
6、n Diagram;鍵入圖名;在圖上放置對象表示參與者;雙擊每個對象,然后從下拉列表中選擇參與者名;在圖的中央放置一個對象以表示系統;雙擊對象,鍵入系統名;選擇Rose Object Link (對象連接符)并且在參與者和系統之間拖曳;選擇Rose 文本框TextBoxABC ,鍵入傳遞的對象/數據;選擇Tools-Check Model;選擇File-Save。需求用例增量增量1:支票和儲蓄賬戶的存款和取款增量2:查詢和轉賬增量3:透支每個增量內進行迭代:樂觀的,正常的,悲觀的需求用例規約:名稱,觸發器,輸入參數,輸出返回值,出現的前置條件/異常,出現的(raised)后置條件/異常,基本的
7、/樂觀場景,替代性可選的/悲觀的場景,業務規則,測試實例。WithdrawFromCheckingAccount用例的用例規約用例名:WithdrawFromCheckingAccount觸發器: WithdrawFromCheckingAccount輸入參數: sAcctNum, nWithdraw輸出返回值: sText前置條件: ValidAccount = true and nWithdraw = nCurrentBalance出現的前置條件異常: 待定的描述/轉換: nCurrentBalance = nCurrentBalance - nWithdraw后置條件: nCurrent
8、Balance nOldBalance后置條件異常:無相關用例: Generalization, Includes, Extends/Extension Point: 無基本場景/樂觀場景: Text(文本) - 待定;Diagram(圖) -見 WithdrawFromCheckingAccount樂觀場景順序圖替代性可選場景/被動場景:Text -待定;Diagram -見WithdrawFromCheckingAccount 活動圖業務規則: ValidAccountRule, AdequateBalanceRule測試實例:1 - 樂觀的:輸入: sAcctNum - BGates00
9、1, nWithdraw - 100, nCurrentBalance - 1000 Conditions: None, 輸出:BGates001 withdraw $100 OK and recorded;2 .待定輸入/輸出表單:WithdrawFromCheckingAccount用例的輸入/輸出表單Withdraw Request Form(取款需求表單)Customer Account Number(客戶賬號)_Withdraw Amount(取款數量) _Button-Submit(提交按鈕) Button-Clear(清除按鈕)Withdraw Response Form(取款響
10、應窗體)Customer Account Number _Withdraw Amount _Status (狀態) _Button-OK(OK 按鈕)需求順序圖WithdrawFromCheckingAccount - 樂觀場景注:getApp的第一筆事務需要達到應用程序的最高級別Rose 順序圖:在瀏覽器窗口,選擇Use Case View;選擇 Use Case Diagram;選擇一個用例;選擇Browse-Interaction Diagram-Use Case View- ;選擇Sequence Diagram;鍵入圖名,例如WithdrawFromCheckingAccountOp
11、timinticScenario;在圖上放置對象以表示參與者;雙擊每個對象,然后從下拉列表中選擇參與者名;在圖的中央放置一個對象以表示系統;雙擊對象,從下拉列表中鍵入系統名;選擇Rose Object Link (對象連接符),在參與者和系統之間拖曳;選擇Tools-Check Model;選擇File-Save .4-WithdrawFromCheckingAccount用例所有場景的需求活動圖注:getApp的第一筆事務需要達到應用程序的最高級別Rose狀態活動圖: 在瀏覽器窗口,選擇Use Case View;選擇Use Case Diagram 顯示圖;選擇一個用例;選擇Browse
12、- State Diagram;如果State Diagram 是灰色,則返回到用例圖并重新選擇一個用例;在圖上放置活動狀態(activity states);通過在兩個狀態之間拖曳,放置轉移;選擇Tools-Check Model;選擇File-Save 。需求產品性能:高可靠性,10個并發的用戶,2秒響應時間。需求/分析高階概念模型(HOCM-High Order Concept Model)外部參與者:TellerGUI,BankDB.內部實體(Internal Entities): BankApp, Account, CheckingAccount, SavingsAccountRos
13、e高級別概念模型圖: 推薦使用鉛筆和紙做HOCM。作為替代,創建不含屬性和操作的Rose類圖。分析模型草圖分析類圖 - 最簡結構Rose類圖: 見使用Rational Rose分析包圖Rose包圖:在瀏覽器窗口選擇Logical View;選擇BrowseClass DiagramLogical View 。輸入包圖名;在圖上放置包;從工具條中選擇依賴箭頭然后從源包到目的包拖曳,放置依賴關系。在瀏覽器中,拖動每個類到適當的包;選擇Tools-Check Model;選擇File-Save。分析 WithdrawFromCheckingAccount順序圖樂觀場景注:getApp的第一筆事務需要
14、達到應用程序的最高級別Rose順序圖:見使用Rational Rose8- 分析Account類的狀態圖Rose 狀態活動圖:在瀏覽器窗口,選擇Use Case View;選擇Use Case Diagram 顯示;選擇一個用例;選擇Browse - State Diagram;如果 State Diagram 是灰色,則返回到用例圖并重新選擇一個用例;在圖上放置活動狀態(activity states);通過在兩個狀態之間拖曳,放置轉移;選擇Tools-Check Model;選擇File-Save .分析復雜操作:待定的每一個操作的活動圖 和/或操作規約:名稱,輸入,前置條件/異常,轉換,
15、后置條件/異常,業務規則,描述。Rose規約: 顯示類圖;選擇一個類;按鼠標右鍵顯示Specification Dialog Box;選擇一個標簽,例如Operations;雙擊一個操作;填寫操作信息;選擇 Tools - Check Model;選擇File - Save.設計模型 - 編碼的基礎設計過程環境:Linux 6.2版, GNU C+ 6.2版, C+ 標準庫,CORBA 3。設計潛在模式企業級:基于分布式CORBA,具有公共接口的組件系統(組件到組件):分層,會話實體(Session - Entity),回調(Callbacks),發行者-訂閱者(Publisher - Sub
16、scriber)組件:應用文檔,控制器實體邊界,虛包(Facade)類設計:UML, Factory(工廠),事務JAVA 語言:Java Bean, Enterprise Java Bean, Servlet, RMI設計包圖設計類圖 說明類型和參數-目標是完成編碼注:CheckingAccount和SavingsAccount 提供多態操作的實現。設計順序圖WithdrawFromCheckingAccount - 樂觀場景注:getApp的第一筆事務需要達到應用程序的最高級別設計協作圖WithdrawFromCheckingAccount - 樂觀場景在Rational Rose中打開順
17、序圖,按F5 自動創建協作圖。設計CheckingAccount類withdraw()操作的操作規約用例名: withdraw觸發:withdraw輸入參數: nWithdraw : int輸出返回值: boolean前置條件: nWithdraw = nCurrentBalance出現的前置條件/異常: exInsuffientFunds描述/轉換: nCurrentBalance = nCurrentBalance - nWithdraw后置條件: nCurrentBalance priorCurrentBalance后置條件異常: exIncorrectBalance基本/樂觀場景 :見
18、WithdrawFromCheckingAccount 順序圖替代性場景/悲觀場景:見WithdrawFromCheckingAccount 活動圖業務規則:ValidAccountRule, AdequateBalanceRule設計異常類(exception classes)異常超類(操作:Exception()/Exception(string);異常子類:exInsufiicientFunds 操作 :exInsufiicientFunds()、exInsufiicientFunds(string);exIncorrectBalance操作:exIncorrectBalance()、e
19、xIncorrectBalance(string)。設計 CheckingAccount 類的狀態圖實施模型(Implementation Models)實施模型設計過程環境實施組件圖實施文件(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+ 需要對接口進行描述Rose 組件圖:在瀏覽器窗口,選擇Component View;,將Main重命名為Component View;雙擊圖名顯示該圖;在圖上放置組件和依賴關系(從client組件到supplier組件拖曳);在瀏覽器中把每個類拖到相應的組件中;選擇Tools-Check Model;選擇File-Save.實施部署圖Rose 部署圖:在瀏覽器窗口選擇Deployment View;雙擊以顯示該圖;在圖上放置節點和關系
21、;選擇Tools-Check Model;選擇File-Save./使用CORBA的 BankApp系統的接口/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接口編碼樣本簡化版)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樣本不完全構建編碼/命名標準;接口代碼-CORBA IDL;C+代碼;CASE 工具腳本/定制報告的VBA /代碼生成Rose代碼生成-需要Rose 專業版或企業版. 見Help Topic Code Generation(幫助主題Code Generation)。步驟:1 - 檢查模型;2 - 創建組件;3 - 映射/分配類到組件;4 - 設定代碼生成特性;5 - 選擇一個類、組件或包6 - 生成代碼;7
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- T/CAS 677-2022美麗海島建設規范
- T/CAGIS 11-2023地理信息數據產品質量檢驗抽樣方法
- 船員英文面試題及答案
- 服務器管理面試題及答案
- 婚禮攝影面試題及答案
- 基層選調面試題及答案
- T/CAEPI 46-2022固定污染源廢氣排放口監測點位設置技術規范
- 農村改造拆房合同范本
- 土地收購委托居間協議書
- 業務經理入股合同范本
- 幼兒園安全教育課件:《私自離園危險多》
- 干漆膜(涂層)厚度檢測報告
- 國內外液壓機技術現狀及發展趨勢
- 特種設備風險管控清單
- 指南針私享家版出租價格
- 一年級100以內計算練習題(口算、豎式)-100以內的計算題
- 2023-2024年整形外科學(副高)考試參考題庫(真題考點版)帶答案解析
- 廣東省中山市八年級下學期期末考試語文試題
- 雙減背景下高中語文優化作業設計實踐與研究
- 《企業財務現狀的杜邦分析-以大疆科技為例》開題報告(含提綱)2400字
- 道德與法治六年級下冊7《多元文化 多樣魅力》(課件)
評論
0/150
提交評論