银行业务模型Word下载.docx
- 文档编号:18852129
- 上传时间:2023-01-01
- 格式:DOCX
- 页数:17
- 大小:158.72KB
银行业务模型Word下载.docx
《银行业务模型Word下载.docx》由会员分享,可在线阅读,更多相关《银行业务模型Word下载.docx(17页珍藏版)》请在冰豆网上搜索。
业务实体(UML类)
Customer
Teller
Account,SavingsAccount,CheckingAccount
saving:
储蓄;
checking:
支票]
业务规则目录
规则标识符
参与者,实体,过程
描述:
IF条件..then动作
区域
联系点(PointofContact)
ValidAccount
Account
IfAccountNum有效,thenAcccount有效
业务接口(指定操作集)-由架构师提供
业务模式目录-参见《BusinessModelingwithUML》(Eriksson和Penker著)。
业务术语-待完备
业务系统体系结构-由架构师提供
需求模型
需求:
BankApp应该管理支票和存款账户的存款和取款。
将来(还要提供)查询,转账,透支,等等从TellerGUI到BankApp的输入/输出:
sAcctNum,nDeposit,nWithdraw,sText。
从BankApp到BankDB的输入/输出:
sAcctNum,nDeposit,nWithdraw.
需求可追踪性表:
需求号,名称,引用,用例名,UML元素,测试用例,描述,职责。
需求可追踪性表(部分)
需求编号
需求名
用例名
UML元素
测试实例
职责
1.1
DepositToSavingsAccount
BankPkg
1.2
DepositToCheckingAccount
1.3
WithdrawFromSavingAccount
1.4
WithdrawFromCheckingAccount
需求-用例图-所有用例
Rose用例图:
在浏览器窗口,选择UseCaseView;
MainUseCaseDiagram;
在图上放置参与者,用例,关系[Rose单向关联(UnidirectionalAssociation)],泛化;
选择每一个参与者-单击鼠标右键键入参与者的操作;
选择Tools-CheckModel;
选择File-Save.
需求-高级别协作图[环境图(ContextDiagram)]
Rose高级别协作图:
选择Browse-InteractionDiagram(交互图)-UseCaseView-;
选择CollaborationDiagram;
键入图名;
在图上放置对象表示参与者;
双击每个对象,然后从下拉列表中选择参与者名;
在图的中央放置一个对象以表示系统;
双击对象,键入系统名;
选择RoseObjectLink(对象连接符)并且在参与者和系统之间拖曳;
选择Rose文本框TextBox"
ABC"
键入传递的对象/数据;
选择File-Save。
需求-用例增量
增量1:
支票和储蓄账户的存款和取款
增量2:
查询和转账
增量3:
透支
每个增量内进行迭代:
乐观的,正常的,悲观的
需求用例规约:
名称,触发器,输入参数,输出返回值,出现的前置条件/异常,出现的(raised)后置条件/异常,基本的/乐观场景,替代性可选的/悲观的场景,业务规则,测试实例。
WithdrawFromCheckingAccount用例的用例规约
用例名:
触发器:
WithdrawFromCheckingAccount
输入参数:
sAcctNum,nWithdraw
输出返回值:
sText
前置条件:
ValidAccount=trueandnWithdraw<
=nCurrentBalance
出现的前置条件异常:
待定的
描述/转换:
nCurrentBalance=nCurrentBalance-nWithdraw
后置条件:
nCurrentBalance<
nOldBalance
后置条件异常:
无
相关用例:
Generalization,Includes,Extends/ExtensionPoint:
无
基本场景/乐观场景:
Text(文本)-待定;
Diagram(图)-见WithdrawFromCheckingAccount乐观场景顺序图
替代性可选场景/被动场景:
Text-待定;
Diagram-见WithdrawFromCheckingAccount活动图
业务规则:
ValidAccountRule,AdequateBalanceRule
测试实例:
1-乐观的:
输入:
sAcctNum-BGates001,nWithdraw-100,nCurrentBalance-1000Conditions:
None,输出:
"
BGates001withdraw$100OKandrecorded"
;
2...待定
输入/输出表单:
WithdrawFromCheckingAccount用例的输入/输出表单
WithdrawRequestForm(取款需求表单)
CustomerAccountNumber(客户账号)__________
WithdrawAmount(取款数量)________
Button-Submit(提交按钮)Button-Clear(清除按钮)
WithdrawResponseForm(取款响应窗体)
CustomerAccountNumber__________
WithdrawAmount__________
Status(状态)________________________
Button-OK(OK按钮)
需求-顺序图WithdrawFromCheckingAccount-乐观场景
注:
getApp的第一笔事务需要达到应用程序的最高级别
Rose顺序图:
选择UseCaseDiagram;
选择一个用例;
选择Browse-InteractionDiagram-UseCaseView-;
选择SequenceDiagram;
键入图名,例如WithdrawFromCheckingAccount-OptiminticScenario;
在图上放置对象以表示参与者;
双击对象,从下拉列表中键入系统名;
选择RoseObjectLink(对象连接符),在参与者和系统之间拖曳;
选择File-Save.
4-WithdrawFromCheckingAccount用例-所有场景的需求活动图
Rose状态-活动图:
在浏览器窗口,选择UseCaseView;
选择UseCaseDiagram显示图;
选择Browse-StateDiagram;
如果"
StateDiagram"
是灰色,则返回到用例图并重新选择一个用例;
在图上放置活动状态(activitystates);
通过在两个状态之间拖曳,放置转移;
选择File-Save。
需求-产品性能:
高可靠性,10个并发的用户,2秒响应时间。
需求/分析-高阶概念模型(HOCM--HighOrderConceptModel)
外部参与者:
TellerGUI,BankDB.内部实体(InternalEntities):
BankApp,Account,CheckingAccount,SavingsAccount
Rose高级别概念模型图:
推荐使用铅笔和纸做HOCM。
作为替代,创建不含属性和操作的Rose类图。
分析模型-草图
分析类图-最简结构
Rose类图:
见〈使用RationalRose〉
分析包图
Rose包图:
在浏览器窗口选择LogicalView;
选择Browse-ClassDiagram-LogicalView-。
输入包图名;
在图上放置包;
从工具条中选择依赖箭头然后从源包到目的包拖曳,放置依赖关系。
在浏览器中,拖动每个类到适当的包;
分析WithdrawFromCheckingAccount顺序图-乐观场景
Rose顺序图:
见〈使用RationalRose〉
8-分析Account类的状态图
Rose状态-活动图:
选择UseCaseDiagram显示;
如果"
分析-复杂操作:
待定的-每一个操作的活动图和/或操作规约:
名称,输入,前置条件/异常,转换,后置条件/异常,业务规则,描述。
Rose规约:
显示类图;
选择一个类;
按鼠标右键显示SpecificationDialogBox;
选择一个标签,例如Operations;
双击一个操作;
填写操作信息;
选择Tools-CheckModel;
选择File-Save.
设计模型-编码的基础
设计过程环境:
Linux6.2版,GNUC++6.2版,C++标准库,CORBA3。
设计潜在模式
企业级:
基于分布式CORBA,具有公共接口的组件
系统(组件到组件):
分层,会话-实体(Session-Entity),回调(Callbacks),发行者-订阅者(Publisher-Subscriber)
组件:
应用-文档,控制器-实体-边界,虚包(Facade)
类设计:
UML,Factory(工厂),事务
JAVA语言:
JavaBean,EnterpriseJavaBean,Servlet,RMI
设计包图
设计类图说明类型和参数-目标是完成编码
CheckingAccount和SavingsAccount提供多态操作的实现。
设计顺序图WithdrawFromCheckingAccount-乐观场景
设计协作图WithdrawFromCheckingAccount-乐观场景
在RationalRose中打开顺序图,按F5自动创建协作图。
设计CheckingAccount类withdraw()操作的操作规约
withdraw
触发:
withdraw
nWithdraw:
int
boolean
nWithdraw<
出现的前置条件/异常:
exInsuffientFunds
priorCurrentBalance
exIncorrectBalance
基本/乐观场景:
见WithdrawFromCheckingAccount顺序图
替代性场景/悲观场景:
见WithdrawFromCheckingAccount活动图
ValidAccountRule,AdequateBalanceRule
设计异常类(exceptionclasses)异常超类(操作:
Exception()/Exception(string);
异常子类:
exInsufiicientFunds[操作:
exInsufiicientFunds()、exInsufiicientFunds(string)];
exIncorrectBalance[操作:
exIncorrectBalance()、exIncorrectBalance(string)]。
设计CheckingAccount类的状态图
实施模型(ImplementationModels)
实施模型
设计过程环境
实施组件图
实施文件(ImplementationFiles):
TellerGUI.exe,BankApp.exe,BankDB.exe
组件接口选择:
1)BankApp具有单接口IbankApp,其所有操作都是公有的(exposed)
2)BankApp暴露(exposes)IBankApp,ICheckingAccount,&
ISavingAccount接口
3)BankApp暴露(exposes)IBankApp,IWithdraw,IDeposit,ICheckingAccount,&
CORBAIDL/C++需要对接口进行描述
Rose组件图:
在浏览器窗口,选择ComponentView;
,将"
Main"
重命名为"
ComponentView"
双击图名显示该图;
在图上放置组件和依赖关系(从client组件到supplier组件拖曳);
在浏览器中把每个类拖到相应的组件中;
实施部署图
Rose部署图:
在浏览器窗口选择DeploymentView;
双击以显示该图;
在图上放置节点和关系;
//使用CORBA的BankApp系统的接口
//SampleIDLInterfaceCode(IDL接口代码样本)
moduleBankApp{
interfaceIBankApp{
exceptionexInsuffientFunds;
IBankAppgetApp();
booleandepositToCheckingAccount(instringsAcctNum,inintnDeposit);
booleandepositToSavingAccount(instringsAcctNum,inintnDeposit);
booleanwithdrawFromCheckingAccount(instringsAcctNum,inintnWithdraw)raises
(exInsuffientFunds);
booleanwithdrawFromSavingAccount(instringsAcctNum,inintnWithdraw)raises
};
//SampleJavaInterfaceCodeUsingRemoteMethodInvocation
//(使用RMI的Java接口样本)
importjava.rmi.*;
packageBankApp;
publicinterfaceIBankAppextendsjava.rmi.Remote{
booleandepositToCheckingAccount(StringsAcctNum,intnDeposit)throws
java.rmi.RemoteException;
booleandepositToSavingAccount(StringsAcctNum,intnDeposit)throws
booleanwithdrawFromCheckingAccount(StringsAcctNum,intnWithdraw)throws
java.rmi.RemoteException;
booleanwithdrawFromSavingAccount(StringsAcctNum,intnWithdraw)throws
}
//SampleMicrosoftIDLInterfaceCodeforCOM-Simplified
//(MicrosoftIDL的COM接口编码样本-简化版)
libraryBankAppLib{
dispinterfaceIBankApp{
IBankAppgetApp();
booleandepositToCheckingAccount(BSTRsAcctNum,intnDeposit);
booleandepositToSavingAccount(BSTRsAcctNum,intnDeposit);
booleanwithdrawFromCheckingAccount(BSTRsAcctNum,intnWithdraw);
booleanwithdrawFromSavingAccount(BSTRsAcctNum,intnWithdraw);
coclassBankApp{
dispinterfaceIBankApp;
};
//SampleSOAP(SimpleObjectAccessProtocol)SDL(ServiceDescriptionLanguage)
withXML-Incomplete
//包含XML的SOAPSDL样本-不完全
<
?
xmlversion='
1.0'
>
serviceDescriptionname='
BankApp'
xmlns='
urn:
schemas-xmlsoap-org:
sdl.2000-01-25'
xmlns:
dt='
http:
//www.w3.org/1999/XMLSchema'
IBankApp='
IBankApp'
importnamespace='
location='
#IBankApp'
/>
soapxmlns='
soap-sdl-2000-01-25'
interfacename='
requestResponsename='
WithdrawFromCheckingAccount'
requestref='
IBankApp:
responseref='
WithdrawFromCheckingAccountResponse'
/requestResponse>
/interface>
service>
addresses>
addressuri='
//myserver/IBankApp.asp'
/addresses>
implementsname='
/service>
/soap>
schemaid='
targetNamespace='
elementname='
/element>
type>
return'
type='
dt:
boolean'
/type>
/IBankApp:
schema>
/serviceDescription>
构建
编码/命名标准;
接口代码-CORBAIDL;
C++代码;
CASE工具脚本/定制报告的VBA/代码生成
Rose代码生成-需要Rose专业版或企业版.见HelpTopicCodeGeneration(帮助主题-CodeGeneration)。
步骤:
1-检查模型;
2-创建组件;
3-映射/分配类到组件;
4-设定代码生成特性;
5-选择一个类、组件或包
6-生成代码;
7-检查生成的代码。
Rose逆工程-需要Rose专业版或企业版.见HelpTopic-Reverse
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 银行业务 模型