银行柜员系统Word格式文档下载.docx
- 文档编号:13604120
- 上传时间:2022-10-12
- 格式:DOCX
- 页数:27
- 大小:884.54KB
银行柜员系统Word格式文档下载.docx
《银行柜员系统Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《银行柜员系统Word格式文档下载.docx(27页珍藏版)》请在冰豆网上搜索。
在整个系统中,银行柜员是执行操作的人,储户将自己的信息通过银行柜员写入系统,从而进行银行的各种基础交易。
图10.2.1是该系统的用例图。
图10.2.1银行柜员系统用例图
10.2.3开发环境
JDK1.5以上、MyEclipse8.5以上
10.3设计与思路分析
10.3.1功能分析
结合上面的用例图,系统的功能可以分为以下几个模块:
储户开户
储户存款
储户取款
储户转账
储户当前明细输出
储户详细信息输出
退出
其中,各个功能需要完成的任务如下所示:
(1)储户开户
本模块实现的功能有:
分配账号、写入储户信息、开户信息回显等操作。
(2)储户存款
根据输入的账号查找储户信息、存款操作、存款信息回显、明细账输出询问等操作。
其中,操作完毕后系统会询问是否输出账户交易的明细账,如果储户需要,系统会输出该账户自开户日起的所有明细信息。
(3)储户取款
根据输入的账号查找储户信息、取款操作、取款信息回显、明细账输出询问等操作。
(4)储户转账
根据输入的账号查找欲转出的储户信息、查找欲转入的储户信息、询问是否确认转账、以及转账操作、转账信息回显、明细账输出询问等操作。
(5)储户当前明细账打印
根据输入的账号,查询相应储户的当前账户明细账功能。
(6)储户详细信息打印
根据输入的账号,查询相应储户的当前账户详细信息功能。
(7)退出
本系统建议分为5个类来实现,可以划分到3个不同的包中运行。
com.test.bank.bean包中的Account实体类和TradeInfo实体类,分别表示账户信息和交易明细信息。
com.test.bank.method包中的BankMethod业务类和BankFace界面业务类。
com.test.bank.main包中的BankMain主类。
其中,系统中这五个类的类图如下图10.2.2所示。
储户类交易信息类
交易业务类交易界面类
系统主类
图10.2.2系统各个类的类图
10.3.2数据要求
本系统没有任何数据文件,也没有任何数据库文件。
所有的信息都存储在系统运行时自动创建的长度为100的数组中。
也就是说,本项目的数据只在运行时存储在内存中,可同时存储100个以内的账户信息。
一旦系统退出,所有的储户信息都会丢失。
虽然如此设计不符合现实生活的实际情况,但是对于现阶段银行系统主要功能的模拟已经足够。
10.4实现步骤
(1)根据交易信息类TradeInfo的类图,设计交易信息类的详细信息,以打印交易明细账。
参考关键代码如下所示:
/**
*此类是交易明细类,用于记录每一笔银行交易的明细信息
*/
packagecom.test.bank.bean;
importjava.util.*;
importjava.text.*;
publicclassTradeInfo{
//账户交易号
//每个账户的交易号从1累加,等于该账户的accountId+tradeIndex;
//开户时tradeIndex=1,此后每交易一笔,tradeId++。
privateinttradeId;
privatechartradeDirection;
privatedoubletradeAmount;
//交易类型:
1开户、2存款、3取款、4、转账
privateinttradeType;
privateDatetradeDate;
privateStringtradeDescription;
publicTradeInfo(){
tradeId=-1;
}
publicTradeInfo(chartradeDirection,doubletradeAmount,inttradeType,
DatetradeDate,StringtradeDescription){
this.tradeId=-1;
this.tradeDirection=tradeDirection;
this.tradeAmount=tradeAmount;
this.tradeType=tradeType;
this.tradeDate=tradeDate;
this.tradeDescription=tradeDescription;
publicvoidsetTradeId(inttradeId){
this.tradeId=tradeId;
publicintgetTradeId(){
returnthis.tradeId;
//tradeId的自增方法
publicvoidaddTradeId(){
tradeId++;
//其他属性的getters和setters方法,略去。
......
publicStringtoString(){
DecimalFormatdf=newDecimalFormat("
¥0.00"
);
Stringstr_tradeType="
"
;
switch(this.getTradeType()){
case1:
str_tradeType="
开户"
break;
case2:
存款"
case3:
取款"
case4:
转账"
default:
其他交易"
}
SimpleDateFormatsdf=newSimpleDateFormat("
yyyy-MM-ddhh:
mm:
ss"
StringBufferstb=newStringBuffer();
stb.append(this.getTradeId());
stb.append("
"
stb.append(this.getTradeDirection());
\t"
stb.append(str_tradeType);
\t\t"
stb.append(df.format(this.getTradeAmount()));
stb.append(sdf.format(this.getTradeDate()));
\t"
stb.append(this.getTradeDescription());
returnnewString(stb);
}
(2)分析系统功能,根据类图设计储户类Account,编写储户类的详细信息。
*此类是银行账户类,用于记录银行的账户信息
publicclassAccount{
privateintaccountId;
//储户账户号
privateStringrealName;
//储户实名
privateStringpassword;
//储户账户密码
privatedoublebalance;
//储户账户余额
privateStringidentityId;
//储户身份证号码
privateStringaddress;
//储户联系地址
privateStringphone;
//储户联系电话
privateDateopenDate;
//储户开户日期
privateinttradeCount;
//储户当前交易记录数(该数目<
=100)
privateTradeInfo[]tradeList;
//储户交易明细
publicAccount(){
this.tradeCount=0;
tradeList=newTradeInfo[100];
publicAccount(intaccountId,StringrealName,Stringpassword,
doublebalance,StringidentityId,Stringaddress,Stringphone,
DateopenDate){
this.accountId=accountId;
this.realName=realName;
this.password=password;
this.balance=balance;
this.identityId=identityId;
this.address=address;
this.phone=phone;
this.openDate=openDate;
publicvoidsetAccountId(intaccountId){
publicintgetAccountId(){
returnthis.accountId;
//其他属性的getters和setters方法,此处省略。
//tradeCount的set方法不再设置
//addTradeCount()方法定义为私有的,只能为添加明细的方法调用(private修饰的方法是私有的方法,“私有”的概念将在后续学习中讲解)
privatevoidaddTradeCount(){
this.tradeCount++;
publicintgetTradeCount(){
returnthis.tradeCount;
publicvoidaddTradeInfo(TradeInfoinfo){
i
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 银行 系统