JAVA课程设计银行管理系统_第1页
JAVA课程设计银行管理系统_第2页
JAVA课程设计银行管理系统_第3页
JAVA课程设计银行管理系统_第4页
JAVA课程设计银行管理系统_第5页
免费预览已结束,剩余21页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

精选文库大 连 科 技 学 院java程序设计课程设计(B)题 目 银行取款管理系统 学生姓名 姚伟奇专业班级 计算机(Z)13-1 指导教师 李红 职 称讲师 所在单位 信息科学系软件工程教研室 教学部主任 王立娟 完成日期 2016年9月30日课程设计报告单学号1306220232姓名姚伟奇专业班级计算机(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日目录题目:11.需求分析12.概要设计13.详细设计24.编码35.调试分析116.测试结果及运行效果117.系统开发所用到的技术138.课程设计总结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(e.getSource()=button_queding)/单击确定按钮 double cunkuanzhi=Integer.parseInt(text_cunkuanshu.getText();/存款数文本框字符串强制转换双精度型 if (cunkuanzhi0)/存款操作 balance+=cunkuanzhi; /存款操作使余额值增加JOptionPane.showMessageDialog(this,存款+cunkuanzhi+成功!);if(radio_dingqi.isSelected()/定、活期单选框利息计算传送rlixi=dlixi();if(radio_huoqi.isSelected()rlixi=hlixi();if(e.getSource()=button_cunkuan)/单击存款按钮String dingqis=0.25,0.5,1,2,3,5;/组合框内容数组new MessageJDialog(dingqis);/新建MessageJDialog类对象(二)取款操作:get()分析:先输入取款数,如果取款数大于余额,则取出账户中全部余额,否则继续取款,余额减少。该模块的具体代码如下所示。public double get() /取款操作,参数为取款金额,返回实际取到金额 String password=JOptionPane.showInputDialog(this,请输入取款数); double qukuanzhi=Integer.parseInt(password); if (qukuanzhi0) if (qukuanzhi0)/存款操作 balance+=cunkuanzhi; /存款操作使余额值增加 JOptionPane.showMessageDialog(this,存款+cunkuanzhi+成功!); if(radio_dingqi.isSelected()/定、活期单选框利息计算传送 rlixi=dlixi(); if(radio_huoqi.isSelected() rlixi=hlixi(); if(e.getSource()=box_dingqi)/定期组合框的选择 String nianfeng=(String) box_dingqi.getSelectedItem(); dnianfeng=Double.parseDouble(nianfeng); 5.调试分析在取款的过程中,若银行里面剩余的金额不足自己所取的金额,则应该显示余额不足,如图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 java.awt.event.*;import java.awt.*;import javax.swing.*;import java.awt.FlowLayout;public class bankJFrame extends JFrame implements ActionListenerprivate JTextField text_zhanghao,text_kahao;/定义账号,卡号文本行private JButton button_cunkuan,button_qukuan,button_yue,button_lixi;/定义存款,取款,查询余额按钮private double balance;/成员变量-查看余额private double rlixi;public bankJFrame()super(银行存取款管理系统);/主窗口标题this.setBounds(300, 240, 400, 150);/窗口初弹出坐标及大小this.setResizable(false);/窗口大小不能改变this.setBackground(Color.lightGray);/颜色设置this.setLayout(new java.awt.FlowLayout(FlowLayout.CENTER);/面板布局为居中this.setDefaultCloseOperation(EXIT_ON_CLOSE);JPanel panel1=new JPanel();/新建第一个面板this.getContentPane().add(panel1,North);panel1.add(new JLabel(账户);text_zhanghao=new JTextField(zj,6);text_zhanghao.setEditable(false);/文本行不可编辑panel1.add(text_zhanghao);panel1.add(new JLabel(卡号);/用户卡号标签及文本行text_kahao=new JTextField15);text_kahao.setEditable(false);/文本行不可编辑panel1.add(text_kahao);this.setVisible(true);/窗口可见JPanel panel2=new JPanel();this.getContentPane().add(panel2,South);/面板布局及添加面板至主面板button_cunkuan=new JButton(存款);/存款按钮panel2.add(button_cunkuan);button_cunkuan.addActionListener(this);button_qukuan=new JButton(取款);/取款按钮panel2.add(button_qukuan);button_qukuan.addActionListener(this);button_yue=new JButton(查询当前余额);/查询当前余额按钮panel2.add(button_yue);button_yue.addActionListener(this);button_lixi=new JButton(当前利息);/当前利息按钮panel2.add(button_lixi);button_lixi.addActionListener(this);this.setVisible(true);public class MessageJDialog extends JFrame implements ActionListener JTextField text_cunkuanshu,text_huoqi;/存款数与活期存款年份的输入JLabel jlabel_huoqi,jlabel_dingqi;/活期期限标签,定期期限标签JButton button_queding;/确定按钮JRadioButton radio_dingqi,radio_huoqi;/活、定期单选框JComboBox box_dingqi;/定期年份组合框double dnianfeng;/内部成员变量定期年份的声明 MessageJDialog(String dingqis) super(提示);this.setBounds(350,290,300,220);JPanel panel1=new JPanel();panel1.add(new JLabel(请输入存款数(元):);panel1.add(text_cunkuanshu=new JTextField(100,6);text_cunkuanshu.addActionListener(this);this.getContentPane().add(panel1);JPanel panel_rb=new JPanel(new GridLayout(1,2);panel1.add(panel_rb); this.setVisible(true);ButtonGroup bgroup=new ButtonGroup();radio_dingqi=new JRadioButton(定期存款);bgroup.add(radio_dingqi);panel_rb.add(radio_dingqi);radio_dingqi.addActionListener(this);radio_huoqi=new JRadioButton(活期存款);bgroup.add(radio_huoqi);panel_rb.add(radio_huoqi);this.setVisible(true);radio_huoqi.addActionListener(this);JPanel panel_rm=new JPanel();panel1.add(panel_rm);panel_rm.add(jlabel_dingqi=new JLabel(请选择定期期限(年));box_dingqi=new JComboBox(dingqis);box_dingqi.setEditable(true);box_dingqi.addActionListener(this);panel_rm.add(box_dingqi);this.setVisible(true);JPanel panel_rn=new JPanel();panel1.add(panel_rn);panel_rn.add(jlabel_huoqi=new JLabel(请输入活期期限(年):);panel_rn.add(text_huoqi=new JTextField(1,7);button_queding=new JButton(确定);panel1.add(button_queding);this.setVisible(true);button_queding.addActionListener(this);/注册文本编辑事件监听器public String str()/成员方法:获取文本框输入存款数字符串 String str=text_cunkuanshu.getText(); return str; public double dlixi()/成员方法:计算定期利息double a=balance;double c=dnianfeng; switch(int)(c*4)case 1: return(a*0.0248*c); case 2: return(a*0.0264*c); case 4: return(a*0.028*c); case 8: return(a*0.0352*c); case 12: return(a*0.04*c); case 20: return(a*0.044*c);default: return 0; public double hlixi()/成员方法:计算活期利息方法 double hnianfeng=Double.parseDouble(text_huoqi.getText(); double a=balance;double c=hnianfeng;double s=a*0.004*c; return s; public void actionPerformed(ActionEvent e)/内部对话框类单击事件处理方法if(radio_dingqi.isSelected()/定期单选框选中 text_huoqi.setVisible(false); jlabel_huoqi.setVisible(false); jlabel_dingqi.setVisible(true);box_dingqi.setVisible(true);rlixi=dlixi();else if(radio_huoqi.isSelected()/活期单选框选中jlabel_dingqi.setVisible(false);box_dingqi.setVisible(false);text_huoqi.setVisible(true);jlabel_huoqi.setVisible(true);rlixi=hlixi(); if(e.getSource()=button_queding)/单击确定按钮double cunkuanzhi=Integer.parseInt(text_cunkuanshu.getText();/存款数文本框字符串强制转换双精度型 if (cunkuanzhi0)/存款操作 balance+=cunkuanzhi; /存款操作使余

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论