下载 >  开发技术 >  其它 > 基于Java开发的银行系统详细设计+源码

基于Java开发的银行系统详细设计+源码 评分:

基于Java开发的银行系统详细设计+源码 编写虚拟社区遇到的困难及解决方法 在编码的第一开始,我们就遇到了巨大的难题,分工是很细致了,但是如何来让每个人编写的代码其他人都能用呢? 这时候我们才发现设计和分工不是最难的,最难的是合作,但是我们并不惧怕困难,先考虑各个人编写的代码其他那几个人用得到,自己编码时要用到别人的那些代码,同时个人编码之前先写好Public 类名以及需要参数和返回参数。这样别人子要知道如何调用函数就行了。在对数据库操作方面我们也屡屡出错,为此我们到图书馆找来数据库SQL方面的书进行学习。后来,我们在RMI远程调用方面也遇到了问题。及使用安全策略文件来设置Java程序权限的问题,通过查找网上资料并向网上的高手请教,我们终于让问题得到了圆 满的解决。 代码编完后,我们花了近一半的时间进行整合,使得各自的代码能够互相调用,由于代码方面各人之间必须相互调用,因此,我们不得不一个一个事件驱动,一个一个函数的进行调试,虽然最后出来有一些代码编了没用,有一些代码重复编了,还有一些代码不得不重编,但是我们最后还是圆满实现了设计要求,完成了任务。 虚拟社区结构 本虚拟社区由三部分构成:银行端、服务端、客户端。 银行端 银行服务器,其界面如下图: ? 在这个界面上,我们可以查看银行数据库里边各个表的内容。 ? 同时,这个界面提供一个增加帐户和一个删除帐户按钮。 ? 作为提供给专业管理员的界面,我们在里面添加了一个直接输入SQL语言的文本框。 ? 管理员可直接使用数据库语言对数据库进行操作。 而整个银行服务器是由银行类、RMI接口及实现类、Mypane类构成: public static void main(String[] args) { // System.setSecurityManager(new RMISecurityManager()); try { BankServerInterfaceImpl obj = new BankServerInterfaceImpl(); registerToRegistry("BankServerInterfaceImpl", obj, true); System.out.println("Bank server " + obj + " registered"); } catch (RemoteException ex) { ex.printStackTrace(); } catch (MalformedURLException ex) { ex.printStackTrace(); } MyPanel applet = new MyPanel(); JFrame frame = new JFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setTitle("Bank Server SQL Operator "); frame.getContentPane().add(applet, BorderLayout.CENTER); applet.init(); applet.start(); frame.setSize(700, 500); Dimension d = Toolkit.getDefaultToolkit().getScreenSize(); frame.setLocation((d.width - frame.getSize().width) / 2, (d.height - frame.getSize().height) / 2); frame.setVisible(true); } public static void registerToRegistry(String name, Remote obj, boolean create) throws RemoteException, MalformedURLException{ if (name == null) throw new IllegalArgumentException( "registration name can not be null"); try { Naming.rebind(name, obj); } catch (RemoteException ex) { if (create) { try{ Registry r = LocateRegistry.createRegistry(Registry.REGISTRY_PORT); r.rebind(name, obj); } catch(Exception e){ System.out.println("Cann\'t rebind! "); System.out.println(e);} } else throw ex; } } public BankServerInterfaceImpl() throws RemoteException{ thebank = new Bank(); } public interface BankServerInterface extends Remote{ public double findBalance(String No,String pin) throws RemoteException; public boolean withdraw (String No,String pin,double num) throws RemoteException; public boolean deposit(String No,String pin,double num) throws RemoteException; public boolean deposit(String No,double num) throws RemoteException; public boolean changepin(String No,String pin,String newpin) throws RemoteException; public boolean findAccount(String No,String pin) throws RemoteException;} 服务端 虚拟社区服务器 该服务器界面跟银行类似,但功能有所不同。 通过两次输入IP,服务器完成与银行的RMI远程连接,同时建立RMI服务器等待客户来调用。 最后,服务器弹出面向虚拟社区管理员的窗口,与银行类似。不同之处在于: ? 有删除会员按钮但无添加会员按钮。 ? 添加向顾客送出所点菜肴按钮,负责向顾客送菜。 ? 添加增加菜肴按钮,为茶餐馆增加新菜服务。 ? 添加查看茶餐馆任务按钮。 以下是虚拟社区服务器对外的远程对象接口: public interface CommunityServerInterface extends Remote{ public boolean getpermission(String name,String password,String genere)throws RemoteException; public boolean addnewmember(String name,String password,String genere,String Address,String Account)throws RemoteException; public String[] findperson(String name,String password,String genere)throws RemoteException; public String changemessage(String name,String password,String genere,String[] information)throws RemoteException; public double findbalance(String name,String pin)throws RemoteException; public boolean changepin(String No,String pin,String newpin)throws RemoteException; public boolean withdraw(String No,String pin,double num)throws RemoteException; public boolean deposit(String No,String pin,double num)throws RemoteException; public Vector finddatabase(String table,int a,String name) throws RemoteException; public void orderdish(String name,String dish,double num) throws RemoteException; public void bid(String name,String soft,double price) throws RemoteException; public void putin(String name,String soft,String account) throws RemoteException; public void settlesoftware(String name,String soft) throws RemoteException; public void buysoftware(String name,String soft) throws RemoteException; public boolean addsoftware(String soft,String description, String needer,double sellingprice) throws RemoteException; } 客户端 客户端首先跳出的是登陆界面: ? 登陆界面要求提供用户名、密码、以什么身份登录以及服务器端IP地址。 ? 点击登录按钮,如果输入信息正确就可以登录到虚拟社区主界面了。 ? 如果没有用户名,或忘记密码可以点击注册按钮,进入注册界面(IP必须正确)。 它通过IP找到主服务器,并绑定远程对象,以后跳出的窗口都是利用这个IP找到远程对象的。然后,就可以调用远程接口里面的函数,实现与主服务器的通信。 如下面一段代码: 绑定: protected boolean initializeRMI(){ if(url!=null) return true; url = jTextField1.getText(); if(url.equals("default")) url = ""; url = "rmi://"+url+"/"; try{ thecommunity = (CommunityServerInterface)Naming.lookup(url+"CommunityServerInterfaceImpl"); System.out.println("Server object "+thecommunity+" found"); url = jTextField1.getText(); return true;} catch(Exception ex){ System.out.println(url); url = null; System.out.println(ex); JOptionPane.showMessageDialog(null,"Please enter right ID!","ID error",JOptionPane.ERROR_MESSAGE); return false; } } 调用远程方法: private void jButton1ActionPerformed(ActionEvent evt) { try { data = thecommunity.finddatabase("Software", 1, name); } catch (Exception ex) { System.out.println(ex); JOptionPane.showMessageDialog(null, "The internet is busy,please retry letter!", "Link error", JOptionPane.ERROR_MESSAGE);} tbmodel = new TbModel(data, titles1); jTable.setModel(tbmodel); model = 1; jTable.updateUI();} 整体描述 整个虚拟社区是这样设计的:首先运行的是银行服务器,他是银行的管理界面,同时伴随着运行的是他提供远程调用的RMIServer。然后,我们再运行虚拟社区服务器,他要求输入一个连到银行端的IP,这时虚拟社区服务器就运行起来了,它包括:面向管理员的界面、银行远程对象的调用、向客户端提供的远程调用RMIServer。最后,我们就可以在任何一台机子上运行客户端了,只要提供服务器的IP,我们就可以登录到虚拟社区进行相应活动。其中银行的转帐等业务必须通过虚拟社区再传达到银行,这样就使得银行的数据库相当安全。 考虑到,银行和服务器的管理员都是专业人士,我们还特意提供了一个供输入SQL语言并执行的文本域,使他们对数据库的操作非常方便和灵活。 补充:运行服务端及银行端时,必须先建VCDB 、BankDB数据源。 软件特色 我们编写的软件有如下特色: ? 在银行、虚拟社区管理界面,我们提供了输入SQL语言的文本域,使得专业管理员对虚拟社区的管理更有力,更方便,更灵活。 ? 在客户端的背后,我们的金钱流动机制都是要通过虚拟社区代收代发,即从一家用户比如投资公司扣费,转到虚拟社区,到适当时候再转到开发公司(如开发公司交货了),这使得用户在网上的消费更加安全。 ? 在远程通信方面,我们采用的是RMI方式,它比Sockets流更加方便,而且可扩展性非常好,还方便。我们只要改一下IP就可以在任何一台机子上运行服务端,而客户端更是随装随用。 ? 数据库上,我们只允许银行访问和修改,服务器又只有虚拟社区可以调用,用户只能通过虚拟社区进行操作,很好的保护了银行数据的安全。 软件实验心得 通过短学期的这次软件实践,我们小组获益匪浅。利用Java语言开发了这个虚拟社区不在话下。我们最重要的还是学习到了如何学习的能力。刚接到这个问题时,我们还一窍不通,但是通过自己上图书馆找资料、上网搜教程、上网找答案、上网求助等各种方法从无到有,从认识到运用,在老师的帮助下,我们大大提高了运用各种资料学习的能力。 其实,这还不是最重要的。更重要的是,在老师的一再督促下,我们终于实现了多人分工开发软件的任务,其实,多人开发和一个人有很大不同,他要求良好的沟通和合作。在完成任务过程中,我们慢慢掌握了与人沟通合作的能力,有了这种能力,相信以后再大的工程也难不倒我们。
...展开详情收缩
分享
收藏 (21) 举报

评论 共45条

zwf999 不错,挺详细
2017-12-04
回复
huang1125109 感谢分享,代码不错
2016-03-11
回复
sxxzq 具体是关于虚拟社区的,感谢分享~
2016-02-22
回复
u011075391 下载积分偏高,有其他下载路径,不过内容还可以。
2015-11-05
回复
qq_28564479 还不错,挺详细的
2015-10-08
回复
lv2506412283 系统挺复杂的,感觉还好
2015-06-01
回复
kevin_yi 很复杂的系统。不过10分也有些贵啊!
2015-04-19
回复
cxf_1201 C/S的网上银行,课程设计可以参考
2015-04-11
回复
wxd96 非常好的说明文档,适合学习研究
2014-12-19
回复
freeingchen 十分完整,虽然功能比较少
2014-12-10
回复
基于java的银行管理系统的设计毕业设计

随着科技的高速发展和经济时代的到,互联网在我们的生活中已经是非常的普遍,上网对我们来说也不是什么新鲜的事情了,传统银行的面貌也发生了根本的变化,非常的依赖于高科技,和现在告诉发展的经济相融合。从国外到国内,各个国家都非常重视银行的发展,银行在人民的生活中起到举足轻重的低位。我国改革开放到现在四十年的时间,银行业的信息化建设成绩令人瞩目,整体国家竞争能力和现代化水平的结果也令人鼓舞。 本论文主要阐述了设计一个基于Java语言的银行业务管理系统的整体流程和设计与实现银行业务管理系统的步骤,详细的分析了银行业务管理系统的设计方法,设计流程,开发过程。通过对开发技术的详细描述,可迅速了解银行业务管理

立即下载
Java开发银行管理系统
java 银行管理系统

本科软件工程作业,简单银行管理系统,javaGUI界面,内含用户登录注册,管理员模式

立即下载
基于Java的银行账户管理系统

论文讨论了一种通过Java语言构建的银行账户管理系统的方案。

立即下载
JAVA简单的银行管理系统
基于Java的毕业设计管理系统
银行管理系统

①基础信息管理:厂商信息、客户信息; ②进货管理:车辆采购、车辆入库; ③销售管理:车辆销售(处理车辆销售单)、销售代办(处理销售代办单)、 车辆查询、销售日记录、销售月记录; ④仓库管理:库存车辆、仓库明细、进销存统计; ⑤系统维护:如数据安全管理(含备份与恢复)、操作员管理、权限设置等;

立即下载
简单的纯java银行管理系统
JAVA小项目-银行管理系统(图形界面&&文件读写+源文件)
基于JAVA的简易银行系统

本系统是简单模仿银行的一般的存取款操作 相对简单 对于刚进入JAVA世界不久的人有一定的帮助 文件流 图形化界面等对深入的理解JAVA还需要对此文件做一些必要的修改

立即下载
java银行管理系统(实训项目)

用java实现银行管理系统简单的开户、挂失、存、取、贷款、转账等一系列操作(数据库是mysql,加载一下驱动就可以运行了)

立即下载
java开发详细设计文档模板

java开发详细设计文档模板java开发详细设计文档模板java开发详细设计文档模板java开发详细设计文档模板java开发详细设计文档模板

立即下载
java web个人博客开发(四详细设计)
Java模拟实现银行系统
关于java实用集合实现一银行系统
用JAVA编写一个银行客户系统,要求如下
Java+swing+mysql移动银行系统
JAVA小项目-银行管理系统(图形化界面)1-菜单
JAVA小项目--银行管理系统

热点文章

img

spring mvc+mybatis+mysql+maven+bootstrap 整合实现增删查改简单实例.zip

资源所需积分/C币 当前拥有积分 当前拥有C币
5 0 0
点击完成任务获取下载码
输入下载码
为了良好体验,不建议使用迅雷下载
img

基于Java开发的银行系统详细设计+源码

会员到期时间: 剩余下载个数: 剩余C币: 剩余积分:0
为了良好体验,不建议使用迅雷下载
VIP下载
您今日下载次数已达上限(为了良好下载体验及使用,每位用户24小时之内最多可下载20个资源)

积分不足!

资源所需积分/C币 当前拥有积分
您可以选择
开通VIP
4000万
程序员的必选
600万
绿色安全资源
现在开通
立省522元
或者
购买C币兑换积分 C币抽奖
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 4 45
为了良好体验,不建议使用迅雷下载
确认下载
img

资源所需积分/C币 当前拥有积分 当前拥有C币
50 0 0
为了良好体验,不建议使用迅雷下载
VIP和C币套餐优惠
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 4 45
您的积分不足,将扣除 10 C币
为了良好体验,不建议使用迅雷下载
确认下载
下载
您还未下载过该资源
无法举报自己的资源

兑换成功

你当前的下载分为234开始下载资源
你还不是VIP会员
开通VIP会员权限,免积分下载
立即开通

你下载资源过于频繁,请输入验证码

您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:webmaster@csdn.net!

举报

  • 举报人:
  • 被举报人:
  • *类型:
    • *投诉人姓名:
    • *投诉人联系方式:
    • *版权证明:
  • *详细原因: