JAVA课程设计银行管理系统.docx
- 文档编号:5603018
- 上传时间:2022-12-28
- 格式:DOCX
- 页数:18
- 大小:58.18KB
JAVA课程设计银行管理系统.docx
《JAVA课程设计银行管理系统.docx》由会员分享,可在线阅读,更多相关《JAVA课程设计银行管理系统.docx(18页珍藏版)》请在冰豆网上搜索。
JAVA课程设计银行管理系统
大连科技学院
java程序设计课程设计(B)
题目银行取款管理系统
<
学生姓名姚伟奇专业班级计算机(Z)13-1
指导教师李红职称 讲师
所在单位信息科学系软件工程教研室
教学部主任王立娟
@
完成日期2016年9月30日
课程设计报告单
学号
32
姓名
…
姚伟奇
专业班级
计算机(Z)13-1
考核项目
评分
备注
1
平时工作态度及遵守纪律情况
(10分)
2
掌握基本理论、关键知识、基本技能的程度和阅读参考资料的水平
:
(10分)
3
独立工作能力、综合运用所学知识分析和解决问题能力及实际工作能力提高的程度
|
(20分)
4
完成课程设计说明书及软件的情况与水平(小组分工情况、规范性、整洁清楚、叙述完整性、思路清晰程度、工作量及实际运行情况和创新性)
@
(60分)
总评成绩
#
&
综合评定:
(优、良、中、及格、不及格)
、
指导教师签字:
*
2016年9月30日
《java程序设计课程设计(B)》任务书
{
一、课程设计任务及要求:
任务:
针对小型信息管理系统或若干综合性设计题目,选择一种软件开发模型,完成从需求分析、系统设计、系统实现,软件测试的全过程。
要求:
(1)根据软件系统开发的一般原则,完成相应系统的功能设计,完成主要功能模块的程序实现并进行测试训练,给出代码运行结果和相应的设计文档。
可以分组进行,但所有学生必须经历整个系统的开发全过程,以便加深对系统开发全过程的认识。
(2)提交课程设计报告。
(3)指标:
要求完成课程设计报告3000字以上(约二十页);完成所设计的题目,设计题目的语句行数的和在200行语句以上。
二、工作量
2周(10个工作日)时间
三、计划安排
第1个工作日:
查找相关资料、书籍,阅读示例文档,选择题目。
第2个工作日-第4个工作日:
设计程序结构、模块图。
第5个工作日-第9个工作日:
完成程序的编码,并且自己调试、测试。
穿插进行课程设计报告的撰写。
第10个工作日:
上交课程设计报告,由教师检查软件测试效果、检查课程设计报告,给出学生成绩。
—
指导教师签字:
2016年9月19日
题目:
1
1.需求分析1
2.概要设计1
3.详细设计2
4.编码3
5.调试分析11
6.测试结果及运行效果11
7.系统开发所用到的技术13
8.课程设计总结14
参考文献15
附录全部代码16
题目:
银行取款管理系统的设计与实现
1.需求分析
在传统的银行帐户管理中,其过程往往是很复杂的,繁琐的,帐户管理以入帐和出帐两项内容为核心,在此过程中又需要经过若干道手续,因为整个过程都需要手工操作,效率十分低下,且由于他们之间关联复杂,统计和查询的方式各不相同;且会出现信息的重复传递问题,因此该过程需要进行信息化,以利用计算机进行帐目管理。
为了提高银行的办事效率,减低银行工作人员的办事效率,降低传统银行的出入账计算方式,因此急需开发一套信息化的方式,开发合适的系统就成为了解决这一问题的核心。
2.概要设计
根据以上所说的功能,银行取款管理系统应该有以下的功能:
(1)定、活期存款操作:
在定期,活期的存款操作上,根据自己需要存放的金额进行存放,并填写需要存储的年限,点击确认,进行存款,在设计定、活期存款上,首先判断输入的现金数是否为负数,不为负继续存入,为负不存入,主要是actionPerformed()函数实现,存款按钮与内层界面的确定按钮。
(2)取款操作:
在取款操作上,根据自己所需要的金额进行取款,若银行里面的金额满足自己所取款的金额,则系统显示取款的金额,并显示剩余的金额,若银行里面的金额不满足自己所需的金额,则系统显示金额不足,不能取出相应的金额。
该模块主要实现:
账户中现金的取出,余额的扣除。
借助函数get()函数实现。
(3)查询账户余额:
在查询账户余额操作上,根据自己的存款,取款的操作,进行计算后,显示出银行账户的余额,该模块主要实现:
当前账户现金加利息的查询以及输出,借助函数balance()实现。
(4)计算当前利息:
在计算当前利息操作上,根据在定、活期存款的选择的基础上,根据个人的选择,系统会自动算出利息。
该模块只要实现:
当前账户利息的查询机输出。
借助函数lixid()与lixih()实现。
3.详细设计
系统模块结构设计如图1-1所示:
图1-1银行系统功能图
通过上图的功能分析,把整个系统划分为6个模块:
(1)存款操作。
该模块主要实现:
现金的存放,余额的累加。
借助内外层两个actionPerformed()函数实现;
(2)取款操作。
该模块主要实现:
账户中现金的取出,余额的扣除。
借助函数get()函数实现;
(3)当前余额查询操作。
该模块主要实现:
当前账户现金加利息的查询以及输出,借助函数balance()实现;
(4)当前利息查询操作。
该模块只要实现:
当前账户利息的查询机输出。
借助函数lixid()与lixih()实现;
(5)定活期的设置。
该模块主要实现:
定期与活期存款的设定;利息的计算。
借助界面以及里层的actionPerformed()函数实现。
4.编码
(一)存款操作:
分析:
首先判断输入的现金数是否为负数,不为负继续存入,为负不存入,主要是actionPerformed()函数实现,存款按钮与内层界面的确定按钮;
该模块的具体代码如下所示。
if()==button_queding);
import.*;
importclassbankJFrameextendsJFrameimplementsActionListener{
privateJTextFieldtext_zhanghao,text_kahao;dd(panel1,"North");
(newJLabel("账户"));
text_zhanghao=newJTextField("zj",6);
(false);dd(panel2,"South");dd(panel1);
JPanelpanel_rb=newJPanel(newGridLayout(1,2));
(panel_rb);
(true);
ButtonGroupbgroup=newButtonGroup();
radio_dingqi=newJRadioButton("定期存款");
(radio_dingqi);
(radio_dingqi);
(this);
radio_huoqi=newJRadioButton("活期存款");
(radio_huoqi);
(radio_huoqi);
(true);
(this);
JPanelpanel_rm=newJPanel();
(panel_rm);
(jlabel_dingqi=newJLabel("请选择定期期限(年)"));
box_dingqi=newJComboBox(dingqis);
(true);
(this);
(box_dingqi);
(true);
JPanelpanel_rn=newJPanel();
(panel_rn);
(jlabel_huoqi=newJLabel("请输入活期期限(年):
"));
(text_huoqi=newJTextField("1",7));
button_queding=newJButton("确定");
(button_queding);
(true);
(this);试分析
在取款的过程中,若银行里面剩余的金额不足自己所取的金额,则应该显示余额不足,如图1-2所示:
图1-2显示余额不足的界面
在进行编码的过程中,对于取款的金额方面,判断剩余的金额是否满足顾客索取的金额时,判断的地方出了些小的额问题,但在最后和同学沟通之后,把问题解决了
6.测试结果及运行效果
(1)程序运行时,则主界面显示如图1-3所示:
图1-3程序主界面的显示效果
(2)当选择进行存款的按钮时,并选择定期存款时显示如图1-4所示:
图1-4存款的界面
当点击确定的按钮时,显示如图1-5所示:
图1-5显示存款成功的界面
当取款的时候,当输入100元时,显示界面如图1-6所示:
图1-6输入存款金额的界面
当取出100元时,显示的界面如图1-7所示:
图1-7取款成功的界面
(3)当取款100元后点击查询余额时,显示结果如图1-8所示:
图1-8账户余额的界面
(4)当点击当前利息的按钮时,显示如图1-9所示:
图1-9账户利息显示界面
7.系统开发所用到的技术
jdk-1_5_0-windows-i586版本
8.课程设计总结
通过这次课程设计,使我灵活应用所学数据结构知识,独立完成问题分析,结合数据结构理论知识,编写程序求解指定问题。
初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;提高综合运用所学的理论知识和方法独立分析和解决问题的能力;并用系统的观点和软件开发一般规范进行软件开发,巩固、深化学生的理论知识,提高编程水平,并在此过程中培养我们严谨的科学态度和良好的工作作风。
熟练掌握数据的存储表示和基本操作的实现,能够利用存储设计算法解决简单的航空订票问题。
同时在这学期的实验中,培养了独立思考、动手操作的能力,在各种其它能力上也都有了提高。
在实验课上,我学会了很多学习的方法。
而这是日后最实用的。
要面对社会的挑战,只有不断的学习、实践,再学习、再实践。
这对于我的将来也有很大的帮助。
以后,不管有多苦,我想我都能变苦为乐,找寻有趣的事情,发现其中珍贵的事情。
就像中国提倡的艰苦奋斗一样,我都可以在实验结束之后变的更加成熟,会面对需要面对的事情,以及学会遇到问题,不急不慌,慢慢解决它。
这次课程设计本人主要参与了系统实现以及系统测试,还有参与小组共同完成的编写代码、实现功能模块。
历时两个星期终于在大家的一起努力下顺利完成了。
虽然过程辛苦是不可避免,但收获还是令人感到尤其的欣慰。
在这次的课程设计中不仅检验了我所学习的知识,也培养了我的实践能力,让我知道遇到一个问题,如何去寻找思路,如何去解决问题,最终完成整个事情。
在设计过程中,与同学分工设计,和同学们相互探讨,相互学习,相互监督。
学会了合作,学会了宽容,学会了理解,也学会了做人与处世。
课程设计是我们专业课程知识综合应用的实践训练,是我们迈向社会,从事职业工作前一个必不少的过程。
实验过程中,也十分感谢实验指导老师马骏老师的指点与教导。
这次课程设计不仅是对这学期所学知识的一种综合检验,而且也是对自己动手能力的一种提高,增强了自己实践能力。
通过这次课程设计使我明白了自己知识还比较欠缺,只是学习书本知识还是远远不够的,自己不会的东西还有太多,学习需要自己长期的积累,在以后的学习、工作中都应该不断的学习,将课本的理论知识与生活中的实践知识相结合,不断提高自己文化知识和实践能力。
参考文献
[1] Eric. Java编程思想[M]. 第4版. 机械工业出版社, 机械工业出版社.
[2] 张峋, 杨三成.关键技术:
JSP与JDBC应用详解[M].中国铁道出版社, 2010年11月.
[3]Weiss, MA. 数据结构与算法分析:
Java语言描述[M]. 第2版. 机械工业
[4]萨师煊,王珊.《数据库系统概论》高等教育出版社,2002年2月
[5]耿祥义,张跃平。
《java2实用教程》第四版清华大学出版社2012年8月第4版
附录全部代码
import.*;
import.*;
importclassbankJFrameextendsJFrameimplementsActionListener{
privateJTextFieldtext_zhanghao,text_kahao;dd(panel1,"North");
(newJLabel("账户"));
text_zhanghao=newJTextField("zj",6);
(false);dd(panel2,"South");dd(panel1);
JPanelpanel_rb=newJPanel(newGridLayout(1,2));
(panel_rb);
(true);
ButtonGroupbgroup=newButtonGroup();
radio_dingqi=newJRadioButton("定期存款");
(radio_dingqi);
(radio_dingqi);
(this);
radio_huoqi=newJRadioButton("活期存款");
(radio_huoqi);
(radio_huoqi);
(true);
(this);
JPanelpanel_rm=newJPanel();
(panel_rm);
(jlabel_dingqi=newJLabel("请选择定期期限(年)"));
box_dingqi=newJComboBox(dingqis);
(true);
(this);
(box_dingqi);
(true);
JPanelpanel_rn=newJPanel();
(panel_rn);
(jlabel_huoqi=newJLabel("请输入活期期限(年):
"));
(text_huoqi=newJTextField("1",7));
button_queding=newJButton("确定");
(button_queding);
(true);
(this);//注册文本编辑事件监听器
}
publicStringstr()//成员方法:
获取文本框输入存款数字符串
{
Stringstr=();
returnstr;
}
publicdoubledlixi()//成员方法:
计算定期利息
{
doublea=balance;
doublec=dnianfeng;
switch((int)(c*4)){
case1:
return(a**c);
case2:
return(a**c);
case4:
return(a**c);
case8:
return(a**c);
case12:
return(a**c);
case20:
return(a**c);
default:
return0;
}
}
publicdoublehlixi()//成员方法:
计算活期利息方法
{
doublehnianfeng=(()));
doublea=balance;
doublec=hnianfeng;
doubles=a**c;
returns;
}
publicvoidactionPerformed(ActionEvente)//内部对话框类单击事件处理方法
{
if())//定期单选框选中
{
(false);
(false);
(true);
(true);
rlixi=dlixi();
}
elseif())//活期单选框选中
{
(false);
(false);
(true);
(true);
rlixi=hlixi();
}
if()==button_queding)//单击确定按钮
{
doublecunkuanzhi=());//存款数文本框字符串强制转换双精度型
if(cunkuanzhi>0)//存款操作
{
balance+=cunkuanzhi;//存款操作使余额值增加
}
(this,"存款"+cunkuanzhi+"成功!
");
if())//定、活期单选框利息计算传送
rlixi=dlixi();
if())
rlixi=hlixi();
}
if()==box_dingqi)//定期组合框的选择
{
Stringnianfeng=(String)();
dnianfeng=(nianfeng);
}
}
}
publicdoubleget()//取款操作,参数为取款金额,返回实际取到金额
{
Stringpassword=(this,"请输入取款数");
doublequkuanzhi=(password);
if(qukuanzhi>0)
{
if(qukuanzhi<=
=qukuanzhi;//取款操作使余额值减少
else//账户余额不够所取时
{
qukuanzhi=+rlixi;//取走全部余额
=0;
(this,"您的余额不足,已为您取出全部余额!
");
}
returnqukuanzhi;//返回实际取款额
}
return0;
}
publicdoublebalance()//查看账户余额
{
returnbalance+rlixi;
}
publicvoidactionPerformed(ActionEvente)//单击事件处理方法
{
if()==button_cunkuan)//单击存款按钮
{
Stringdingqis[]={"","","1","2","3","5"};//组合框内容数组
newMessageJDialog(dingqis);//新建MessageJDialog类对象
}
if()==button_yue)//单击查询余额按钮
{
doublerelixi=balance();
(this,"尊敬的zj先生,您的当前账户余额为:
"+(relixi)+"元");
}
if()==button_qukuan)//单击取款按钮
{
doubleqk=get();
(this,"取款"+qk+"元成功!
");
}
if()==button_lixi)//单击计算利息按钮
{
(this,"尊敬的zj先生,您的当前账户利息为:
"+rlixi+"元");
}
}
publicstaticvoidmain(Stringargs[])//框架bankJFrame主函数
{
newbankJFrame();
}
}
'
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 课程设计 银行 管理 系统