版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、银行转账分析设计 一、系统定义银行转账系统是银行系统其中一个子系统,也是比较重要的模块,它实现了用户与其他用户、用户与自己其它本行账号或者其它行账号之间的金额交流,是银行货币流通的重要环节。它实现了由本人的活期账户中将款项转到自己或他人的活期账户或信用卡账户中。输入账户金额,进行核对,核对通过后可进行交易;不通过则返回重新输入。确认后提交易,更改双方用户账户信息,返回给用户账户信息,记录交易内容。银行转账系统又分为本行转账和它行转账,本行转账不需要收取手续费,外行转账则需要收取手续费并调用外行转账模块来处理转账。1. 银行转账用例描述银行转账用例包含以下几个:1. 存款:存钱到自己账户里面2.
2、 取款:从账户里面取钱出来3. 转账:由于转账既可以在同一银行之间进行,也可以在不同的银行之间进行,因此这里用了二个用例,使用本行转账和跨行转账来描述。他行转账是将当前账户的金额转向其他银行自己或者他人的账户;本行转账是将当前账户的金额转向同行自己的其它账户或者同行他人的账户。1.1用例中的类1.2用例的业务逻辑用例名:转账前置条件:用户已登录账户,输入对方的账户信息和转账金额后置条件:转账成功扣除账户的余额,并记录转账信息事件流:1.输入对方的账号2.输入转账金额3.检查用户账户余额是否充足,若充足则继续否则提示错误并回到第2步4.检查对方的账户是否存在,若存在则继续否则提示错误并回到第1步
3、5.检查是行内转账还是外行转账6.处理行内转账或外行转账7.转账成功转账用例的活动图如下:同一银行转账顺序图:(1) 用户在系统主界面请求转账操作,系统创建转账界面。(2) 用户输入转账信息(3) 数据库账户类确认是否存在该账户,并确认账户中的金额是否足够支付转账款项,如可足够支付则计算新的账户余额,更新数据库中该账户的信息,发送消息给转账类,创建转账交易记录,保存转账交易记录。(4)转账信息传递给账户(转入),查询该账户是否存在。如存在计算账户余额,然后更新数据库的数据。发送消息给转账类,创建转账交易记录,保存转账交易记录。 不同银行转账顺序图:(1) 用户在系统主界面请求转账操作,系统创建
4、转账界面。(2) 用户输入转账信息(3)数据库的账户类确认是否存在该账户,并确认账户中的金额是否足够支付转账款项,如可足够支付则计算新的账户余额,更新数据库中该账户的信息,发送消息给转账类,创建转账交易记录,保存转账交易记录。(4)最后,发送转账通知到另一家银行。1.3需求描述术语表类图描述:账户:用户注册的账户,里面包含金额和其他基本信息转账信息:用户转账的记录 二、概要设计2.1体系结构本系统采用MVC架构,表示层显示系统应用界面,逻辑层对用户的操作进行逻辑处理,数据库层对数据库进行读写操作。MVC架构的分层降低了耦合度使系统更加的内聚。三、详细设计银行转账模块将自己账户存款余额转到他人的
5、账户余额上,要考虑到账户余额不足时可以存款,能实现行内转账和外行转账。归纳功能点为:1) 存款2) 行内转账3) 外行转账3.1类图描述3.2方法列表类名:TransferController方法名称完成功能transferAction用户账户金额转账给他人的账户类名:AccountController方法名称完成功能depositAction存款类名:ITransfer方法名称完成功能transfer转账接口类名:InTransfer方法名称完成功能transfer行内转账类名:OutTransfer方法名称完成功能transfer外行转账3.3方法说明方法原型AccountControll
6、erpublic static void depositAction(Account account, Double money)功能说明操作:存款结果:存款成功或失败条件:参数正确调用关系无输入参数acount:Acount,账户money:Double,存款金额返回值无备注无方法原型TransferControllerpublic static int transferAction (Account a, Account b, Double amount, ITransfer bank)功能说明操作:转账结果:转账成功或失败条件:参数正确调用关系调用ITransfer接口实现行内或外行转账
7、输入参数a:Acount,转账方账户b:Acount,收款方账户amount:Double,转账金额bank:ITransfer,行内或外行的转账方式返回值int,转账成功返回1,否则返回0备注无方法原型InTransfer implements ITransferpublic int transfer(Account a, Account b, Double amount)功能说明操作:行内转账结果:转账成功或失败条件:参数正确调用关系实现ITransfer接口实现行内转账输入参数a:Acount,转账方账户b:Acount,收款方账户amount:Double,转账金额返回值int,转账成
8、功返回1,否则返回0备注无方法原型OutTransfer implements ITransferpublic int transfer(Account a, Account b, Double amount)功能说明操作:行内转账结果:转账成功或失败条件:参数正确调用关系实现ITransfer接口实现行内转账输入参数a:Acount,转账方账户b:Acount,收款方账户amount:Double,转账金额返回值int,转账成功返回1,否则返回0备注无四、程序代码Account.java:package models;public class Account private String a
9、ccountNumber;private String password;private String name;private Double deposits;public String getAccountNumber() return accountNumber;public void setAccountNumber(String accountNumber) this.accountNumber = accountNumber;public String getPassword() return password;public void setPassword(String pass
10、word) this.password = password;public String getName() return name;public void setName(String name) = name;public Double getDeposits() return deposits;public void setDeposits(Double deposits) this.deposits = deposits;public Account(String accoutNumber, String password, String name,Double d
11、eposits) this.accountNumber = accoutNumber;this.password = password; = name;this.deposits = deposits;ITransfer.java:package models;public interface ITransfer public int transfer(Account a, Account b, Double amount);InTransfer.java:package models;public class InTransfer implements ITransferO
12、verridepublic int transfer(Account a, Account b, Double amount) if(a.getDeposits() < amount)return 0;Double deposits = b.getDeposits() + amount;b.setDeposits(deposits);a.setDeposits(a.getDeposits() - amount);return 1;AccountController.java:package controllers;import models.Account;public class Ac
13、countController public static void depositAction(Account account, Double money) account.setDeposits(account.getDeposits() + money);OutTransfer.java: package models;public class OutTransfer implements ITransferpublic int transfer(Account a, Account b, Double amount) if(a.getDeposits() < amount)ret
14、urn 0;Double deposits = b.getDeposits() + amount;b.setDeposits(deposits);a.setDeposits(a.getDeposits() - amount);return 1;TransferController.java:package controllers;import models.Account;import models.ITransfer;public class TransferController public static int transferAction(Account a, Account b, D
15、ouble amount,ITransfer bank) return bank.transfer(a, b, amount);IndexView.java:package view;import controllers.TransferController;import models.Account;import models.InTransfer;import models.OutTransfer;public class IndexView public static void main(String args) Account x = new Account("62260000", "1", "林", 100D);Account y = new Account("62260001", "2", "王", 200D);Account z= new Account("62260002", "3", "李", 50D);InTransfer bank = new InTransfer();/本行转账Tra
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论