版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、u 旳斗和甲Fork即拿Rose实例:构造银行业务模型作者:Richard Felsinger著,盖九宇 译 本文选自:UMLChina 2002年11月07日在前面的文章 中,我们从Rational Rose开始,启动并建立了一个类图。今天我们的任务就是要 通过BankAPP实例来了解如何用 Rose构造业务模型。业务企业模型业务前景,目标,组织-分别提供业务事件UML信号事件-指定的激励表格或文档和过程(UML用例)过程名参与者事件/输入卜事件/输出约束描述弓 用I系 点WithdrawFromAc cou ntCustomer,Teller,Ba n kDBWithdrawReq ues
2、tupdateAcc lou ntWithdrawRe cord译注:Customer :客户;Teller数据库岀纳员 ;withdraw :取款;account :账户;BankDB:银行业务实体(问题域实体)Bus in ess Actors, Bus in ess Workers,业务参与者(UML参与者)业务员(UML参与 者)业务实体(UML类)CustomerTellerAccou nt,Sav in gsAccou nt,Check in gAccou ntOuHJbonw41RW1 ijkCvhp viwiTfrlwllrnm Liw G-VM I aki f -gjrkDS
3、译注:saving :储蓄; checking :支票业务规则目录规则标识符参与者,头体,过程描述:IF条件.then动作区1联系点(Point ofCon tact)ValidAccou ntAccou ntIf Accou ntNum 有 效,then Acccount 有效1 二业务接口(指定操作集)由架构师提供(Eriksson 和 Penker 著)业务模式目录参见 Busi ness Modeli ng with UML业务术语-待完备Q皿WBfinWipp业务系统体系结构由架构师提供fl EUiAfjE:r-Lq BDG需求模型需求:BankApp应该管理支票和存款账户的存款和取
4、款。将来(还要提供)查询,转账,透支,等等从 TellerGUI 到 BankApp的输入 /输岀:sAcctNum, nDeposit, nWithdraw,sText 。从 BankApp到 BankDB的输入 / 输岀:sAcctNum, nDeposit, nWithdraw.需求可追踪性表:需求号,名称,引用,用例名,UML元素,测试用例,描述,职责。需求可追踪性表(部分)需求一用例图一所有用例Rose用例图:在浏览器窗口,选择Use Case View ; Main Use CaseDiagram ;在图上放置参与者,用例,关系Rose单向关联(Unidirectional Ass
5、ociation),泛化;选择每一个参与者单击鼠标右键键入参与者的操作;选择 Tools-Check Model ;选择File-Save.需求一高级别协作图环境图(Con text Diagram )E廷UMb5 AfifcflBAccINum Wilhr-aw n De poutRose高级别协作图:在浏览器窗口,选择Use Case View ;选择 Browse-Interaction Diagram(交互图)-Use Case View-;选择 Collaboration Diagram;键入图名;在图上放置对象表示参与者;双击每个对象,然后从下拉列表中选择参与者名;在图的中央放置一
6、个对象以表示系统;双击对象,键入系统名;选择 Rose Object Link (对象连接符)并且在参与者和系统之间拖曳;选择 Rose文本框 TextBoxABC,键入传递的对象 /数据;选择 Tools-Check Model ;选择 File-Save 。需求一用例增量增量1:支票和储蓄账户的存款和取款增量2:查询和转账 增量3:透支 每个增量内进行迭代:乐观的,正常的,悲观的需求用例规约:名称,触发器,输入参数,输岀返回值,岀现的前置条件/异常,岀现的(raised ) 后置条件/异常,基本的/乐观场景,替代性可选的 /悲观的场景,业务规则,测试实例。WithdrawFromCheck
7、ingAccount 用例的用例规约用例名:WithdrawFromCheck in gAccou nt触发器:WithdrawFromCheck in gAccou nt输入参数: sAcctNum, nWithdraw输岀返回值:sText前置条件: ValidAccou nt = true and n Withdraw = n Curre ntBala nee出现的前置条件异常:待定的描述 / 转换:nCurrentBalanee = nCurrentBalanee - nWithdraw后置条件:n Curre ntBala nee n OldBala nee后置条件异常:无相关用例:
8、 Generalization, Includes, Extends/Extension Point: 无基本场景 / 乐观场景: Text( 文本 ) - 待定; Diagram (图) - 见 WithdrawFromCheckingAccount 乐观场景顺序图替代性可选场景 / 被动场景: Text - 待定; Diagram - 见 WithdrawFromCheckingAccount 活动图业务规则: ValidAccountRule, AdequateBalanceRule测试实例: 1 - 乐观的:输入: sAcctNum - BGates001, nWithdraw - 1
9、00, 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 -乐观场景 1 Fll注:getApp的第一笔事务需要达到应用程序的最高级别Rose顺序图:在浏览器窗口,选择 Use Case View ;选择 Use Case Diagram ;选择一个用例; 选择 Browse-Interaction Diagram-Use Case View-;选择 Sequenee Diagram ;键入图名 ,例女口 WithdrawFromChecki n
11、gAccou nt Optimi nticSce nario ;在图上放置对象以表示参与者;双击每 个对象,然后从下拉列表中选择参与者名;在图的中央放置一个对象以表示系统;双击对象,从下拉列表中键入系统名;选择Rose ObjectLink (对象连接符),在参与者和系统之间拖曳;选择 Tools-Check Model ;选择File-Save .4-WithdrawFromChecki ngAccou nt用例一所有场景的需求活动图 cii inqi 起 e Iktali Hl43b Ajecurill| Inil hl i a l r!HChEtolttBAEE-QHnl | |iRos
12、e 类图: 见使用 Rational Rose 分析包图IIn,口ilQfH C 血劇 目事內hD痔*呻in|lI . . Jpn_JRose 包图:在浏览器窗 口选择 Logical View ;选择 Browse Class Diagram Logical View 输入包图名;在图上放置包;从工具条中选择依赖箭头然后从源包到目的包拖曳,放置依赖关系在浏览器中,拖动每个类到适当的包;选择Tools-Check Model ;选择File-Save。分析 WithdrawFromCheckingAccount 顺序图一乐观场景注:getApp的第一笔事务需要达到应用程序的最高级别Rose 顺
13、序图:见使用 Rational Rose 8-分析Account类的状态图IHRose状态活动图:在浏览器窗口,选择 一个用例;选择 Browse - State DiagramUse Case View ;选择;如果State DiagramUse Case Diagram显示;选择是灰色,则返回到用例图并重新选择一个用例;在图上放置活动状态(activity states );通过在两个状态之间拖曳,放 置转移;选择 Tools-Check Model ;选择 File-Save .和/或操作规约:名称,输入,前置分析-复杂操作:待定的-每一个操作的活动图条件/异常,转换,后置条件 /异常
14、,业务规则,描述。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 - Subscri
15、ber )组件:应用文档,控制器实体边界,虚包( Facade )类设计:UML, Factory (工厂),事务JAVA 语言:Java Bea n, En terprise Java Bea n. Servlet, RMI设计包图LqqH ViewHbqhi C (11 B-Sink D * ft i g a - Irnp 1 nidi 1 莎设计类图 说明类型和参数-目标是完成编码fe .MM*. Vl-fMHlTC角idkJ 車钊利4|i Mg-feKWQ4*|-*jfeHi-i|-aM1qf 14-hC iii a-iJLc.cc:ai!* E- kAc-cihn uMifi* n
16、Milt dt av itri:* &acf*3nC-hE4L$A-eiij AlillsM P*H4*i liiM:k ”网|l7址1* sM| bMM4* h d4 t4O a Ah-fAH iti 4mhe li htA4*注:Check in gAccou nt 和Savi ngsAccou nt 提供多态操作的实现。乐观场景设计顺序图 WithdrawFromCheckingAccount注:getApp的第一笔事务需要达到应用程序的最高级别设计协作图 WithdrawFromCheckingAccount乐观场景在Rational Rose中打开顺序图,按 F5自动创建协作图。i
17、di |w.b#T| tttiifPI设计 CheckingAccount 类 withdraw() 操作的操作规约用例名: withdraw触发: withdraw输入参数: nWithdraw : int输出返回值: boolean前置条件: nWithdraw = nCurrentBalance出现的前置条件 / 异常: exInsuffientFunds描述 / 转换: nCurrentBalance = nCurrentBalance - nWithdraw后置条件: nCurrentBalance rw9bg! e呻嘴吋bi At*电鞠 hn-r*giIriri 母 1(*刖/Sa
18、mple IDL In terface Code( IDL 接口代码样本)module Ban kApp n terface IBa nkApp excepti on exIn suffie ntFun ds;IBankApp getApp();boolea n depositToCheck in gAcco unt (in stri ng sAcctNu m, in int nDeposit);boolea n depositToSav in gAcco unt (in stri ng sAcctNum, i n int nDeposit);boolea n withdrawFromChec
19、ki ngAcco unt (in stri ng sAcctNum, i n int nWithdraw)raises(exIn suffie ntFun ds);boolea n withdrawFromSav in gAcco unt (in stri ng sAcctNu m, in int nWithdraw) raises(exIn suffie ntFun ds);;/Sample Java In terface Code Using Remote Method Inv ocati on/(使用RMI的Java接口样本)mport java.rmi.*;package Ban k
20、App;public in terface IBa nkApp exte nds java.rmi.Remote boolea n depositToCheck in gAcco unt (Stri ng sAcctNum, i nt n Deposit) throwsava.rmi.RemoteExcepti on ;boolean depositToSavingAccount (String sAcctNum, int nDeposit) throws ava.rmi.RemoteExcepti on ;boolea n withdrawFromCheck in gAcco unt (St
21、ri ng sAcctNu m, int n Withdraw) throwsava.rmi.RemoteExcepti on;boolea n withdrawFromSav in gAcco unt (Stri ng sAcctNu m, int n Withdraw) throwsava.rmi.RemoteExcepti on;/Sample Microsoft IDL In terface Code for COM - Simplified/ (Microsoft IDL 的COMS口编码样本简化版)ibrary Ban kAppLib disp in terface IBa nkApp Ban kApp getApp();boolea n depositToCheck in gAcco unt
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026届陕西省西安高新第二初级中学物理九年级第一学期期末复习检测试题含解析
- 旅行社与企业合作协议书
- 汽车押证贷款合同(标准版)
- 店铺协议转让合同范本
- 全年保供协议书
- 培训 家长 协议书
- 2025至2030单芯发热电缆行业项目调研及市场前景预测评估报告
- 2025年汽车维修工具市场调研报告
- 康复科护理多选题题库及答案解析
- 智能化安全管理培训试题及答案解析
- 责任制整体护理工作方案及具体措施
- 肝衰竭诊治指南(2024年版)解读
- 2024-2025学年广东省深圳市宝安区七校联考八年级(上)期中历史试卷
- DLT 593-2016 高压开关设备和控制设备
- 红楼梦贾元春课件
- 全国中小学“学宪法、讲宪法”知识素养竞赛题库及答案
- 01685《动漫艺术概论》历年考试真题试题库(含答案)
- 高一英语完形填空专项训练100(附答案)及解析
- DL∕T 1052-2016 电力节能技术监督导则
- 输液港的使用及维护(精制手工图文)
- DL-T-5743-2016水电水利工程土木合成材料施工规范
评论
0/150
提交评论