ImageVerifierCode 换一换
格式:DOCX , 页数:56 ,大小:827.02KB ,
资源ID:10526039      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10526039.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(银行管理系统毕业设计.docx)为本站会员(zf)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

银行管理系统毕业设计.docx

1、银行管理系统毕业设计软件工程 实验报告课 题: 银行管理系统组员姓名: 解东风、严俊、韩晨、陈涛、吴杰 专业班级: 软件0925指导教师: 张以利 设计时间: 2011/01/06银行储蓄管理系统1.概要说明.22.前言2.1 开发背景.72.2 开发意义.72.3 项目目标.73.需求分析3.1 系统功能性需求.83.2 系统需求分析规格说明书.83.3 系统目标.83.4 编程语言和运行环境介绍.94.系统设计4.1银行管理系统的基本设想.114.2银行管理系统的功能模块.134.3功能模块介绍.144.4数据库设计.144.4.1 数据库设计需求分析.144.4.2 数据库概念设计.15

2、4.4.3 数据库逻辑结构设计.165.系统详细设计5.1 登陆界面的设计.185.2 操作主界面的设计.235.3 功能设计.255.3.1 开户窗口的实现.255.3.2 销户窗口的窗口实现.315.3.3 修改个人信息的窗口实现.365.3.4 查询用户信息的窗口实现.385.3.5 修改密码的窗口实现.405.3.6 实现存款,取款的窗口实现 .475.3.7 查询统计的实现.525.3.8 查看账单的实现.541.概要说明银行管理是银行业务流程过程中十分重要且必备的环节,在银行业务流程当中起着相当重要的作用。现在银行的业务越来越多,吸引的客户也越来越多,银行管理就越显重要。由于银行有

3、处理大量数据的要求,全部采用人工的方式处理明显不合适:这不仅要花费很高的成本,而且处理事务的效率和质量都存在很大的问题。出于这些问题的考虑,采用计算机来处理这类问题就是一个相当理想的解决方案。利用计算机可以极大地降低处理成本,更重要的是可以几乎没有错误地高效处理所有的事务。所以做一款基于银行管理方面的软件这是十分必要的,这样做会给银行的管理以及日常事务处理带来很好的效益,使人们能真正体会到这样一个系统的便捷,快速,以及方便基于这种理念以开发银行管理系统2.前言2.1 开发背景在国民经济不断向前发展的今天,人们手头的资金是越来越多。这导致人们对理财的要求提高。在这样的背景下,银行无疑就成为了人们

4、最佳的理财助手。由于银行有处理大量数据的要求,全部采用人工的方式处理明显不合适:这不仅要花费很高的成本,而且处理事务的效率和质量都存在很大的问题。出于这些问题的考虑,采用计算机来处理这类问题就是一个相当理想的解决方案。利用计算机可以极大地降低处理成本,更重要的是可以几乎没有错误地高效处理所有的事务。所以做一款基于银行管理方面的软件这是十分必要的,这样做会给银行的管理以及日常事务处理带来很好的效益,使人们能真正体会到这样一个系统的便捷,快速,以及方便本课题结合银行管理系统实际情况,经过可行性研究和深入的需求分析,采用最新的开发平台eclipse合作为开发工具而开发出来的银行管理系统。 C/S模式

5、设计本项目。2.2 开发意义这个项目的意义就在于利用先进的数据库管理技术和通讯技术加上本人对银行管理的独特理解对客户进行合理高效的管理。2.3 项目目标给银行的管理以及日常事务处理带来很好的效益,使人们能真正体会到这样一个系统的便捷,快速,以及方便3.需求分析系统中要求每个人银行管理者都有一个系统帐号,并每个帐号都有密码,系统的一切操作(如:增加存储用户,提高利率等)都由管理者执行,而不是由存诸用户执行,也主是说存储用户并不直接与系统交互,而是通过管理员与系统交互。该系统主要有两部份业务功能,存款与取款。储户填写的存款单或取款单由业务员输入系统,如果是存款则系统记录存款人姓名,住址(或电话号码

6、),身份证号码,存款类型,存款日期,到期日期,利率及密码(可选)等信息,并打印存单给储户;如果是取款而且存款时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算得利息并打印出利息清单给储户。 3(1系统的功能性需求系统为管理者提供主功能界面系统在启动时要求管理者输入登录帐号与密码系统要通过管理员执行一系操作(如:添加用户,修改,查询,删除等)管理员代用户实现存款,取款,查询等操作储户的一切信息,存储在数据库表中3(2系统需求分析规格说明书, 实现储户开户登记, 办理定期存款帐, 办理定期存款手续, 办理活期取款帐, 办理活期取款手续, 实现利息计算, 输出明细表, 数据备

7、份和数据恢复功能, 查看帐户信息3.3系统ER图系统主要关系模式:1( 储户(储户姓名,住址,身份证号码)2( 管理员(员工号,姓名)3( 存款(储户姓名,员工号,金额,存款类型,到期日期,存款日期) 4( 查询(储户姓名,员工号)5( 取款(储户姓名,员工号,金额,取款日期)3.5系统顶层数据流(DFD)图打印存单打印清单3(6系统0层数据流(DFD)图3(7第2层DFD图3(8第3层数据流图 储户信息文件3(9第5层数据流图3(10数据字典数据名字:注册申请表数据来源:储户数据目的:储户信息数据组成:姓名+密码+住址+身份证号码数据名字:储户信息表数据来源:储户数据目的:身份验证数据组成:

8、姓名+密码+住址+身份证号码+现有金额数据名字:利息清单数据来源:系统数据目的:储户数据组成:利息+姓名+取款时间数据名字:存单数据来源:存款信息表数据目的:储户数据组成:姓名+到期时间+存入类型+存入时间+利率+存入金额数据名字:取款单数据来源:储户数据目的:储户信息表数据组成:姓名+到期时间+存入类型+存入时间+利率+取款金额+身份证号数据名字:存款单数据来源:储户数据目的: 存款信息表数据组成:姓名+到期时间+存入类型+存入时间+利率+存入金额+身份证号4.系统设计4.1银行管理系统的基本设想本系统将银行管理系统分为三大基本模块:管理员模块,员工模块,客户模块基本的设想如图:4.1.1

9、基本设想4.1.2 管理员的模块4.1.3 员工模块4.1.4 用户模块管理员模块可以对员工,客户进行管理,并且是系统中权限最高的。 具有开户(管理员,员工,客户),销户(管理员,员工,客户),查询用户(管理员,员工,客户),修改个人信息,修改密码,查询统计的功能.员工模块仅次于管理员模块,仅仅只能对客户进行管理,可以开设账户(客户),销户(客户),查询用户(客户),修改个人信息,修改密码的功能.客户具有存款,取款,查看账单,修改个人信息,修改密码的功能.4.2 银行管理系统的功能模块L0层图L1层图4.2 总结构从上面的设计图来看,该银行管理系统分为三个功能模块,其中账目管理为最大的模块,两

10、个小模块:查询统计,系统选项;详细设计主要说明:/身份验证/if (jComboBox1.getSelectedItem().equals(管理员) int count = 0;/*定义一个int型变量*/DbConnection ct = new DbConnection(); /*设置连接*/ResultSet username = null;username = ct.executeQuery(select * from admindata whereusername=+ jTextField1.getText().toString().trim()+ ;);/*执行查询操作*/whil

11、e (username.next() count+; /*遍历结果集看结果集中是否存在有关的记录*/if (count = 0) jLabel6.setText(管理员名不存在!);jLabel6.setForeground(Color.red);jLabel5.setVisible(true); /*告诉用户出错信息*/ else /*通过用户名验证,进一步验证密码,通过连接数据库来提出密码并与用户的输入进行比对,以下都是*/username = ct.executeQuery(select * from admindata whereusername=+ jTextField1.getTe

12、xt().toString().trim()+ ;);/*执行查询操作*/ try while (username.next() if (username.getString(16).equals(锁定) jLabel5.setVisible(true);jLabel6.setText(用户已被锁定!);jLabel6.setForeground(Color.red); /*用户被锁定时告诉用户出错的信息*/else if(username.getString(3).toString().equals(jPasswordField1.getText().toString().trim() &

13、(username.getString(16).equals(未锁定) /*用户的用户名,密码,账户状态验证成功就显示主窗体*/jLabel6.setText(); /*将jlabel6清空*/this.setVisible(false); /*使当前的窗体不可见*/MainFrame f1 = new MainFrame();/*定义主窗体的对象*/f1.setLocation(257, 200); /*设置对象的坐标位置*/f1.flag = jTextField1.getText().toString().trim();f1.permiss = 1; /*设置f1对象所拥有的成员的值,管

14、理员的permiss值为1,员工的为2,客户的为3*/f1.setLogName(f1.flag + ,欢迎你!); /*调用f1对象所拥有的成员方法,来设置主窗体的欢迎信息*/f1.setTreeVisiable(f1.permiss);/*根据permiss来判断显示jTree的类型*/System.out.println(good movement!);/*一条简单的输出语句*/f1.setVisible(true);/*显示主窗体*/ else jLabel6.setText(密码错误,你只能尝试3次!);jLabel6.setForeground(Color.red);jLabel5

15、.setVisible(true); /*显示出错的信息*/Logtimes-; /*将变量做自减操作*/ catch (SQLException e) System.out.println(My Movement is wrong at: + e.getMessage();try ct.closeConnection(); catch (SQLException ex) Logger.getLogger(Login.class.getName().log(Level.SEVERE, null,ex);/*如果尝试失败,就将用户锁定*/if (Logtimes = 0) & (jComboBo

16、x1.getSelectedItem().equals(管理员) DbConnection lock = new DbConnection();/*定义DbConnection对象*/lock.executeUpdate(update admindata set locked=锁定 where username= + jTextField1.getText().trim() + );/*执行更新操作*/jLabel6.setText(您的账户已被锁定,无权登陆!);jLabel6.setForeground(Color.red);jLabel5.setVisible(true); /*告诉用户

17、错误信息*/Logtimes = 4;/*将用来进行判断登录次数的变量再次设为原值*/ try lock.closeConnection(); catch (SQLException ex) Logger.getLogger(Login.class.getName().log(Level.SEVERE, null,ex); else if (Logtimes = 0) & (jComboBox1.getSelectedItem().equals(员工) DbConnection lock = new DbConnection();/*定义DbConnection对象*/ where lock.

18、executeUpdate(update userdata set locked=锁定userid= + jTextField1.getText().trim() + );/*执行更新操作*/jLabel6.setText(您的账户已被锁定,无权登陆!);jLabel6.setForeground(Color.red);jLabel5.setVisible(true);/*告诉用户错误信息*/Logtimes = 4;/*将用来进行判断登录次数的变量再次设为原值*/ try lock.closeConnection(); catch (SQLException ex) Logger.getLo

19、gger(Login.class.getName().log(Level.SEVERE, null,ex); else if (Logtimes = 0) & (jComboBox1.getSelectedItem().equals(客户) DbConnection lock = new DbConnection();/*定义DbConnection对象*/lock.executeUpdate(update customerdata set locked=锁定 where customerid= + jTextField1.getText().trim() + );/*执行更新操作*/jLab

20、el6.setText(您的账户已被锁定,无权登陆!);jLabel6.setForeground(Color.red);jLabel5.setVisible(true);/*告诉用户错误信息*/Logtimes = 4;/*将用来进行判断登录次数的变量再次设为原值*/5.2 操作主界面的设计效果图:5.2 操作主界面主要说明:这个是用户登陆以后所见到的的第一个界面,也是用户基本的操纵界面,所以这个页面是很重要的一个页面,我采用jTree判断用户的动作,添加相应的监听器来监听事件,给出主要代码。/*根据权限的不同设置jtree的可见性*/public void setTreeVisiable(

21、int permiss) int a = permiss;if (a = 1) jTree3.setVisible(false);jTree2.setVisible(false);jTree1.setVisible(true); else if (a = 2) jTree3.setVisible(false);jTree1.setVisible(false);jTree2.setVisible(true); else jTree2.setVisible(false);jTree1.setVisible(false);jTree3.setVisible(true);/*设置欢迎的信息*/publ

22、ic void setLogName(String flag) jLabel6.setText(flag);jLabel6.setForeground(Color.red);public void getTime() Calendar c = Calendar.getInstance();/*定义一个calendar对象*/year = c.get(Calendar.YEAR); /*获取年份*/month = c.get(Calendar.MONTH) + 1; /*获取月份*/day = c.get(Calendar.DAY_OF_MONTH); /*获取一个月里的第几天*/jTree1.

23、addTreeSelectionListener(new javax.swing.event.TreeSelectionListener() public void valueChanged(javax.swing.event.TreeSelectionEventaccident) jTreeValueChanged1(accident); );/*为jtree1增加事件监听器*/jTree2.addTreeSelectionListener(newjavax.swing.event.TreeSelectionListener() public void valueChanged(TreeSe

24、lectionEvent tr) jTreeValueChanged2(tr););/*为jtree2增加事件监听器*/jTree3.addTreeSelectionListener(newjavax.swing.event.TreeSelectionListener() public void valueChanged(TreeSelectionEvent tr) jTreeValueChanged3(tr););/*为jtree3增加事件监听器*/5.3功能设计5.3.1 开户窗口的实现效果图:5.3.1 开户窗口主要说明:此窗口主要为开户的窗口,添加相应的用户,主要设计数据库的操作是插入

25、操作,主要问题就是数据库字符串的拼写,采用swing+awt组件来开发的基本窗口。/*仅以客户的模块作为参考*/ if (iscustomer.isSelected() DbConnection submitdata = new DbConnection();int count = 0;int acount = 0;int a = 0;int b = 0;int c = 0;int d = 0;/*以下代码为执行查询操作*/ResultSet query = submitdata.executeQuery(select * from customerdatawhere customerid=

26、+ setname.getText().trim() + );ResultSet care = submitdata.executeQuery(select * from userdata where userid= + setname.getText().trim() + );ResultSet watch = submitdata.executeQuery(select * from admindata where username= + setname.getText().trim() + );ResultSet aware = submitdata.executeQuery(selec

27、t * from customerdata where name= + petname.getText().trim() + );ResultSet info = submitdata.executeQuery(select * from admindata where name= + petname.getText().trim() + );ResultSet sek = submitdata.executeQuery(select * from userdata where name= + petname.getText().trim() + );try /*以下代码为遍历结果集*/while (query.next() count+;while (aware.next() acount+;while (care.next() a+;while (watch.next() b+;while (info.n

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1