银行转账模块Word文件下载.docx
- 文档编号:13786460
- 上传时间:2022-10-13
- 格式:DOCX
- 页数:14
- 大小:127.04KB
银行转账模块Word文件下载.docx
《银行转账模块Word文件下载.docx》由会员分享,可在线阅读,更多相关《银行转账模块Word文件下载.docx(14页珍藏版)》请在冰豆网上搜索。
由于转账既可以在同一银行之间进行,也可以在不同的银行之间进行,因此这里用了二个用例,使用本行转账和跨行转账来描述。
他行转账是将当前账户的金额转向其他银行自己或者他人的账户;
本行转账是将当前账户的金额转向同行自己的其它账户或者同行他人的账户。
1.1用例中的类
1.2用例的业务逻辑
用例名:
转账
前置条件:
用户已登录账户,输入对方的账户信息和转账金额
后置条件:
转账成功扣除账户的余额,并记录转账信息
事件流:
1.输入对方的账号
2.输入转账金额
3.检查用户账户余额是否充足,若充足则继续否则提示错误并回到第2步
4.检查对方的账户是否存在,若存在则继续否则提示错误并回到第1步
5.检查是行内转账还是外行转账
6.处理行内转账或外行转账
7.转账成功
转账用例的活动图如下:
同一银行转账顺序图:
(1)用户在系统主界面请求转账操作,系统创建转账界面。
(2)用户输入转账信息
(3)数据库账户类确认是否存在该账户,并确认账户中的金额是否足够支付转账款项,如可足够支付则计算新的账户余额,更新数据库中该账户的信息,发送消息给转账类,创建转账交易记录,保存转账交易记录。
(4)转账信息传递给账户(转入),查询该账户是否存在。
如存在计算账户余额,然后更新数据库的数据。
发送消息给转账类,创建转账交易记录,保存转账交易记录。
不同银行转账顺序图:
(3)数据库的账户类确认是否存在该账户,并确认账户中的金额是否足够支付转账款项,如可足够支付则计算新的账户余额,更新数据库中该账户的信息,发送消息给转账类,创建转账交易记录,保存转账交易记录。
(4)最后,发送转账通知到另一家银行。
1.3需求描述术语表
类图描述:
账户:
用户注册的账户,里面包含金额和其他基本信息
转账信息:
用户转账的记录
二、概要设计
2.1体系结构
本系统采用MVC架构,表示层显示系统应用界面,逻辑层对用户的操作进行逻辑处理,数据库层对数据库进行读写操作。
MVC架构的分层降低了耦合度使系统更加的内聚。
三、详细设计
银行转账模块将自己账户存款余额转到他人的账户余额上,要考虑到账户余额不足时可以存款,能实现行内转账和外行转账。
归纳功能点为:
1)存款
2)行内转账
3)外行转账
3.1类图描述
3.2方法列表
类名:
TransferController
方法名称
完成功能
transferAction
用户账户金额转账给他人的账户
AccountController
depositAction
存款
ITransfer
transfer
转账接口
InTransfer
行内转账
OutTransfer
外行转账
3.3方法说明
方法原型
publicstaticvoiddepositAction(Accountaccount,Doublemoney)
功能说明
操作:
结果:
存款成功或失败
条件:
参数正确
调用关系
无
输入参数
acount:
Acount,账户
money:
Double,存款金额
返回值
备注
publicstaticinttransferAction(Accounta,Accountb,Doubleamount,
ITransferbank)
转账成功或失败
调用ITransfer接口实现行内或外行转账
a:
Acount,转账方账户
b:
Acount,收款方账户
amount:
Double,转账金额
bank:
ITransfer,行内或外行的转账方式
int,转账成功返回1,否则返回0
InTransferimplementsITransfer
publicinttransfer(Accounta,Accountb,Doubleamount)
实现ITransfer接口实现行内转账
OutTransferimplementsITransfer
四、程序代码
Account.java:
packagemodels;
publicclassAccount{
privateStringaccountNumber;
privateStringpassword;
privateStringname;
privateDoubledeposits;
publicStringgetAccountNumber(){
returnaccountNumber;
}
publicvoidsetAccountNumber(StringaccountNumber){
this.accountNumber=accountNumber;
publicStringgetPassword(){
returnpassword;
publicvoidsetPassword(Stringpassword){
this.password=password;
publicStringgetName(){
returnname;
publicvoidsetName(Stringname){
this.name=name;
publicDoublegetDeposits(){
returndeposits;
publicvoidsetDeposits(Doubledeposits){
this.deposits=deposits;
publicAccount(StringaccoutNumber,Stringpassword,Stringname,
Doubledeposits){
this.accountNumber=accoutNumber;
}
ITransfer.java:
publicinterfaceITransfer{
publicinttransfer(Accounta,Accountb,Doubleamount);
InTransfer.java:
publicclassInTransferimplementsITransfer{
@Override
publicinttransfer(Accounta,Accountb,Doubleamount){
if(a.getDeposits()<
amount){
return0;
}
Doubledeposits=b.getDeposits()+amount;
b.setDeposits(deposits);
a.setDeposits(a.getDeposits()-amount);
return1;
AccountController.java:
packagecontrollers;
importmodels.Account;
publicclassAccountController{
publicstaticvoiddepositAction(Accountaccount,Doublemoney){
account.setDeposits(account.getDeposits()+money);
OutTransfer.java:
packagemodels;
publicclassOutTransferimplementsITransfer{
if(a.getDeposits()<
TransferController.java:
importmodels.ITransfer;
publicclassTransferController{
publicstaticinttransferAction(Accounta,Accountb,Doubleamount,
ITransferbank){
returnbank.transfer(a,b,amount);
IndexView.java:
packageview;
importcontrollers.TransferCo
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 银行 转账 模块