银行信息管理系统的设计与实现学士学位论文doc.docx
《银行信息管理系统的设计与实现学士学位论文doc.docx》由会员分享,可在线阅读,更多相关《银行信息管理系统的设计与实现学士学位论文doc.docx(37页珍藏版)》请在冰豆网上搜索。
银行信息管理系统的设计与实现学士学位论文doc
【摘要】随着银行服务的不断提高,各类的信息量也在不断增大,信息的处理成为管理者的一个庞大负担。
银行信息管理系统可以有效的记录和为管理者提供方便快捷的信息处理,极大减轻管理者的负担。
本文介绍了银行信息管理系统的设计和开发过程,详细阐述了整个应用系统的设计思想,最终达成一个完整的设计方案:
本系统采用目前流行的Java语言作为开发语言,使用Eclipse作为开发工具,使用Oracle11g作为后台数据库,采用B/S结构,采用Spring、Struts2、Hibernate整合框架,并大量使用AJAX技术,这些皆是目前的主流。
【关键词】银行,银行信息,JAVA,Spring,Struts2,Hibernate,AJAX
DesignandImplementationoftheBankInformationManagementSystem
【Abstract】Withthecontinuousimprovementofqualityofbankingservices,Theamountofdataofvarioustypesofinformationisalsoincreasing,Informationprocessingbecomeahugeburdenonmanagers.Thebankinformationmanagementsystemcaneffectivelyrecordthesenumbers,anditcanprovidemanagerswithaconvenientinformationprocessing,andgreatlyreduceetheburdenonmanagers。
Thisarticledescribesthebank'sinformationmanagementsystemdesigndanddevelopmentprocessing,whichUsingEclipseasadevelopmenttool,UsingOracle11gasthebackgrounddatabase,usingB/Sstructure,usingSpring,Struts2,Hibernateintegrationframework,AndextensiveuseofAJAXtechnology,theseareallthecurrentmainstreamtechnology.
【Keywords】BankInformationManagementSystem,B/Sstructer,java,spring,Struts2,Hibernate,AJAX
第1章引言
1.1课题来源
随着中国经济的发展和人们物质生活水平的不断提高,银行服务渐渐成为了人们日常及其工作中不可或缺的部分,并且随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
银行信息管理系统是一套完整的信息管理系统,其开发的功能主要包括:
计算机设备管理,公共信息管理,权限用户管理等。
在积极建立现代商业管理机制的今天,仅仅靠原始的手工管理或简单的单机管理,面对大量的信息,无法有效率地进行管理及其维护。
管理者的只能依据报表数据,在浪费大量人力、物力的同时无法做到实时监控,难以保证数据的准确性和及时性。
因此,先进的管理思想在商业中实现就成为了一个可望而不可及的目标。
银行部门非常急需一套既有先进管理思想的银行信息管理系统,作为实现目标和提高现有水平的一种重要手段。
1.2国内外现状
金融信息化发展水平是衡量一个国家国民经济发展水平的重要标志。
正因为如此,许多发达国家把金融信息化建设作为一项关系到国民经济全局的基础性建设,都使用最新科技成就来装备自己的金融业。
我国银行业计算机系统的引进,从早期的脱机处理系统到联机处理系统,再到计算机网络支撑下的综合银行处理系统,走过了二十多年的历程,银行计算机的普遍应用已从根本上改变了传统的方式,使银行的经营和管理发生了深刻的变革。
1.3研究意义
随着我国信息化进程的全面推进,各领域的信息化进程都在飞速的发展,同样也推动着物流领域的信息化进程飞快的向前发展。
由于信息化进程的全面推进,对现代银行服务提出更高的要求:
信息化、自动化、网络化、智能化和柔性化等。
客户需求的标准也越来越高,各银行要想在市场中占有一席之地,必须要为客户提供一流的服务,而这些都需要良好的设备作为第一保证。
1.4技术介绍
1.4.1JAVA开发语言的选择
Java技术已经成为当今Internet应用开发的核心与主流技术。
这一方面是因为Java语言具有面向对象、可移植性、强壮性与安全性等优良特性,另一方面也由于Java技术对各个层次的分布式应用(包括电器设备的嵌入式计算、桌面计算与企业级计算)都提供了全面系统的方法与技术。
因此,目前Java已经从单纯的程序设计语言发展成为支撑Internet计算的庞大技术体系,进入了发展与应用的高级阶段。
接下来具体的阐述一下Java的本质特征:
一、简单性
Java语法和语义都比较单纯,容易学习和使用。
并且,Java对C++中容易引起错误的成份进行了相当成功的改造,如去掉指针,取消多重继承和运算符重载,内存管理由程序员移向Java内嵌的自动内存回收机制等,简化语义,减少出错机会,减轻程序员负担。
Java还提供大量功能丰富的可重用类库,简化了编程工作量。
二、面向对象
作为一种面向对象的编程语言,Java不仅最为“纯洁”,同时,它对面向对象方法的支持也最为全面。
与C++一样,Java的对象有模块化性质和信息隐藏能力,满足面向对象的封装要求。
Java支持面向对象的继承性。
另外,Java通过抽象类和接口支持面向对象的多态性要求。
三、分布式特征
Java包括一个支持HTTP和FTP等基于TCP/IP协议的子库。
因此,Java应用程序可凭借URL打开并访问网络上的对象,其访问方式与访问本地文件系统几乎完全相同。
四、健壮性
Java提供自动垃圾回收机制来进行内存管理,防止程序员在管理内存时容易产生的错误。
通过集成的面向对象的异常处理机制,在编译时,Java提示可能出现但未被处理的异常,帮助程序员正确的进行选择,以防止系统的崩溃。
五、安全性
Java的安全性可从两个方面得到保证。
一方面,内存布局并不像C和C++一样由编译器决定,而是由运行系统决定,内存布局依赖于Java运行系统所在的软、硬件平台的特性。
因此,Java的内存分配对于程序员是透明的,它完全由底层的运行系统控制,Java程序无法破坏不属于它的内存空间。
另一方面,当Java用来创建浏览器时,语言功能和浏览器本身提供的功能结合起来,使它更安全。
1.4.2SSH整合框架以及AJAX技术介绍
SSH整合框架,即Spring、Struts2以及Hibernate三大主流框架的集成框架,是目前最为流行的一种web应用的开源框架。
集成SSH框架的系统从职责上分为四层:
表示层、业务逻辑层、数据持久层和域模块层,以帮助开发人员在短期内搭建出结构清晰、可复用性好、维护方便的web应用程序。
Hibernate(提供对持久层的支持):
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。
Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。
Hibernate通过xml配置文件设置java类与数据库表之间的映射。
Spring(提供对业务逻辑层的支持):
是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架,提供促进了松解耦。
当应用了Ioc技术,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建依赖的对象。
应用对象被声明式地组合,典型的是在一个xml文件里。
Spring有如下特点:
轻量——从大小与开销两方面而言Spring都是轻量的。
完整的Spring框架可以在一个大小只有1MB多的JAR文件里发布。
并且Spring所需的处理开销也是微不足道的。
此外,Spring是非侵入式的:
典型地,Spring应用中的对象不依赖于Spring的特定类。
控制反转——Spring通过一种称作控制反转(IoC)的技术促进了松耦合。
当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。
你可以认为IoC与JNDI相反——不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。
面向切面——Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计(auditing)和事务(transaction)管理)进行内聚性的开发。
应用对象只实现它们应该做的——完成业务逻辑——仅此而已。
它们并不负责(甚至是意识)其它的系统级关注点,例如日志或事务支持。
容器——Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个bean如何被创建——基于一个可配置原型(prototype),你的bean可以创建一个单独的实例或者每次需要时都生成一个新的实例——以及它们是如何相互关联的。
然而,Spring不应该被混同于传统的重量级的EJB容器,它们经常是庞大与笨重的,难以使用。
框架——Spring可以将简单的组件配置、组合成为复杂的应用。
在Spring中,应用对象被声明式地组合,典型地是在一个XML文件里。
Spring也提供了很多基础功能(事务管理、持久化框架集成等等),将应用逻辑的开发留给了你。
Spring的这些特性可以使代码更干净、可管理、更易测试代码。
Spring的一个最大的目的就是使J2EE开发更加容易。
同时,Spring之所以与Struts、Hibernate等单层框架不同,是因为Spring致力于提供一个以统一的、高效的方式构造整个应用,并且可以将单层框架以最佳的组合揉和在一起建立一个连贯的体系。
可以说Spring是一个提供了更完善开发环境的一个框架,可以为POJO(PlainOldJavaObject)对象提供企业级的服务。
Struts2:
是在struts和WebWork的技术基础上进行了合并的全新的Struts2框架。
Struts2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开。
Struts2框架的大概处理流程如下:
1、加载类(FilterDispatcher)
2、读取配置(struts配置文件中的Action)
3、派发请求(客户端发送请求)
4、调用Action(FilterDispatcher从struts配置文件中读取与之相对应的Action)
5、启用拦截器(WebWork拦截器链自动对请求应用通用功能,如验证)
6、处理业务(回调Action的execute()方法)
7、返回响应(通过execute方法将信息返回到FilterDispatcher)
8、查找响应(FilterDispatcher根据配置查找响应的是什么信息如:
SUCCESS、ERROR,将跳转到哪个jsp页面)
9、响应用户(jsp--->客户浏览器端显示)
10、struts2标签库(相比struts1的标签库,struts2是大大加强了,对数据的操作功能很强大)。
AJAX:
即AsynchronousJavascriptAndXml(异步Javascript和XML)。
通过AJAX,Javascript可使用Javascript的XMLHttpRequest对象直接与服务器进行通信,即在不刷新页面的情况下完成页面与服务器的数据交互。
1.4.3B/S模式
B/S(Browser/Server,浏览器/服务器)模式又称B/S结构。
它是随着Internet技术的兴起,对C/S模式应用的扩展。
在这种结构下,用户工作界面是通过IE浏览器来实现的。
随着JavaWeb技术的不断发展,B/S结构在企业级应用中得到广泛的认可。
1.4.4开发环境
操作系统:
Windows7;
运行工具:
IE7.0
开发工具:
EclipseJEE
数据库:
Oracle11g
服务器:
Tomcat6.0
第2章需求分析
2.1系统定义
系统定义阶段的总体任务是根据用户的具体要求解决系统"做什么?
"。
具体任务可以分为三部分:
问题定义,可行性研究和需求分析。
问题定义必须回答的关键问题是"要解决的问题是什么?
"。
首先进行有关信息的收集,分析,明确用户提出的要求。
然后把用户的要求准确,完整的描述下来,产生的结果是问题描述书。
接下来要做的工作是可行性研究,它要回答"用户提出的问题可否可解?
可解的价值如何?
",产生的结果是可行性报告。
然后进行需求分析。
在前两个步骤完成后,着手进行系统需求分析的工作,其目的是明确该系统"做什么?
"。
该阶段结束时要产生软件计划,需求说明书等文档。
对于小型软件来说,可以不进行可行性研究,相应的文档也可以省去,但需求说明书是不可少的。
2.2系统开发设计思想
本系统采用的是典型的J2EE平台下的三层结构,分为持久层、控制层、视图层。
在持久层使用Hibernate作为持久层框架,在控制层使用Struts2作为控制层框架,在试图层大量使用Ajax技术提供更好的用户体验,使用Spring框架为系统提供支持。
2.3功能需求
软件需求分析阶段的工作和任务是在对问题进行调查了解的基础上,用一定得方法和手段对问题进行分析建模。
需求分析的结果应该反映的是系统必须完成哪些工作,而不是怎么完成它的工作。
它的主要用途是为系统的设计与实现提供依据和保障。
银行信息管理系统的一个最主要的目的就是为管理员提供方便快捷的信息处理,因此其主要的功能有如下7条。
1能够快速添加计算机设备的信息。
2能够方便的对计算机设备及其相关设备进行管理。
3能够快速添加文章的信息。
4能够方便的对文章信息进行管理。
5能够快速添加用户信息。
6能够方便的对用户信息进行管理。
7能够方便的对机构信息进行添加和管理。
系统结构图如图2-1:
图2-1功能模块图
2.4数据需求
1.员工信息
员工信息包括员工的自然信息(员工号、员工姓名、性别、出生日期、部门、职务、密码等描述信息)。
2.机构信息
机构信息包括(机构编号、机构名称、上级单位、机构描述信息)。
3.部门信息
部门信息包括(部门编号、部门名称、所属机构、部门类别)。
4.文章信息
文章信息包括(文章编号、文章标题、文章副标题、摘要、作者编号、作者姓名、发表日期、文章内容信息)。
5.计算机及其相关设备信息
计算机及其相关设备信息包括(设备编号、设备品牌型号、CPU型号、内存大小、硬盘大小、操作系统、IP地址、MAC地址、使用人id、使用人姓名、使用人单位、工作间号、责任人编号、用途、购买时间、领用时间、设备类型信息)。
2.5数据需求
1.实用性
本系统是本着实用的原则进行开发的,本着按照用户需求的原则开发此系统。
为的是给用户带去更多的使用价值。
2.易维护性
易维护是一个优秀的软件所必备的性能,由于管理员并非专门的软件开发人员,所以在开发设计的时候要考虑到软件的易维护性。
3.安全可靠性
对于数据库的设计,一个关键的内容就是数据库的安全性。
设计开发此软件,一定要考虑使用合理的、安全可靠的数据库。
4.可扩充性和标准化原则
考虑到将来扩充的方便,尽量把文档及其代码写的标准化,学习分层思想,有利于将来软件的扩充。
2.6非功能性需求
1.用户界面需求如表2-1
表2-1用户需求界面表
需求名称
详细要求
风格
美观大方,实用性强
分辨率
最佳效果1024*768
2.软硬件环境需求如表2-2
表2-2软硬件环境需求表
需求名称
详细要求
运行速度
系统运行时间不超过10秒,人机交互时间不超过5秒
容量
占用内存不大于100MB
操作系统性能
WindowsXP、Windows7
3.产品质量需求如表2-3
表2-3产品质量需求表
主要质量属性
详细要求
健壮性
本产品具有一定的健壮性,包括有效性验证等
可靠性
测试质量合格。
性能,效率
性能先进,效率高。
易用性
本产品应用十分方便。
清晰性
整个程序的代码和窗体相对清晰
安全性
本系统具有很好的安全性,对于每个进入系统的用户进行身份的验证确认。
兼容性
兼容性相对来说比较好
可移植性
有比较强的移植性。
4.运行环境需求
1硬件需求
CPU:
Intel或者兼容机,Celeron(R)2.40GHZ或更高。
内存(RAM):
512MB或更高。
硬盘:
40G或更高。
监视器:
1024*768分辨率
2软件需求
操作系统软件:
WindowsXP、Windows7
数据库管理系统:
Oracle11g
服务器:
Tomcat6.0
运行工具:
IE7.0
第3章数据库设计
3.1数据库
本系统将使用一直以来使用都最为广泛的关系模型作为数据库的建设依据。
在用户的观点下,关系模型中数据的逻辑结构是一张二维表,一个关系对应通常说的一张表,并且关系的每一个分量必须是一个不可分的数据项。
而一个基于关系模型的数据库则是由若干个二维表组成的。
对于一些大型和中型的数据库,如Oracle,DB2等都属于关系型数据库,同时它们所带有的数据库管理工具是其他小型数据库所没有的,而同时这些工具又为管理员的工作节省了很多的时间和财力。
3.2数据库的选择
数据库按应用的不同目的,可以分为两类数据模型,它们分别属于两个不同的层次。
第一类是概念模型,第二类是逻辑模型和物理模型。
概念模型也称信息模型,它是按用户的观点来对数据和信息建模,主要用于数据库设计。
逻辑模型主要包括层次模型(HierarchicalModel)、网状模型(NetWorkModel)、关系模型(RelationalModel)、面向对象模型(ObjectOrientedModel)和对象关系模型(ObjectRelationalModel)等。
它是按计算机系统的观点对数据建模,主要用于DBMS的实现。
第二类中的物理模型是对数据最底层的抽象,它描述数据在系统内部的表示方式和存取方法,在磁盘或磁带上的存储方式和存取方法,是面向计算机系统的。
银行信息管理系统必须拥有数据库的支持,所有设备的数据都应该存储到数据库中,便于管理员管理及其维护。
由于银行信息管理系统是一个数据会不断增多的系统,Oracle数据库完全满足上文提及的需求,并且本系统采用Java语言实现的,而Oracle公司已将Java进行了收购,Java与Oracle必定会是最好的搭档,因此本人选择当今最大的商业型数据库Oracle11g作为数据的存储介质,以便能更好研究一下Java与Oracle的融合使用。
3.3数据库设计
数据库设计的目标是为用户和各种应用系统提供一个信息基础设施和高效率的运行环境。
高效率的运行环境包括:
数据库数据的存取效率、数据库存储空间的利用率、数据库系统运行管理的效率等都是高的。
基础数据的收集、入库是数据库建立初期工作量最大、最烦琐、最细致的工作。
在以后数据库运行过程中更需要不断地把新的数据加到数据库中,使数据库成为一个“活库”,否则就成为“死库”。
数据库一旦成了“死库”,系统也就失去了应用价值,原来的投资也就失败了。
根据上文对银行信息管理系统做的需求分析,整理出银行信息管理系统的实体关系E-R图。
其中包括员工实体、机构实体、部门实体、文章信息实体和设备信息实体。
如图3-1:
图3-1实体E-R图
3.3.1员工实体
员工实体用于存储员工的登录名称、密码信息及其自然人信息,包括员工号、员工姓名、性别、出生日期、部门、职务、密码等描述信息。
员工实体图如图3-2所示。
图3-2员工实体
3.3.2机构实体
机构实体包括机构编号、机构名称、上级单位、机构描述信息。
机构实体图如图3-3所示。
图3-3机构实体
3.3.3部门实体
部门实体包括部门编号、部门名称、所属机构、部门类别。
部门实体图如图3-4所示。
图3-4部门实体
3.3.4文章实体
文章实体包括文章编号、文章标题、文章副标题、摘要、作者编号、作者姓名、发表日期、文章内容信息。
文章实体图如图3-5所示。
图3-5文章实体
3.3.5数据库表
3.3.5.1员工表(EMP)
员工表用于存储员工的登录名称、密码信息及其自然人信息,包括员工号、员工姓名、性别、出生日期、部门、职务、密码等描述信息。
该数据表的结构见表3-1。
表3-1员工表
字段
数据类型
长度
非空
描述
主键
外键
说明
id
NUMBER
自增
Y
Y
序号
workerid
NUMBER
10
Y
登录名称
唯一
password
VARCHAR2
20
Y
登录密码
name
VARCHAR2
20
Y
员工姓名
sex
VARCHAR2
1
性别
birthday
DATE
出生日期
department
VARCHAR2
50
Y
部门名称
Y
jobname
VARCHAR2
50
Y
职务
Y
3.3.5.2机构表(UNITL)
机构表包括机构编号、机构名称、上级单位、机构描述信息。
该数据表的结构见表3-2。
表3-1机构表
字段
数据类型
长度
非空
描述
主键
外键
说明
id
NUMBER
自增
Y
Y
序号
unitid
NUMBER
20
Y
机构编号
唯一
unitname
VARCHAR2
50
Y
机构名称
upnnit
VARCHAR2
50
上级单位
3.3.5.3部门表(DEPTNO)
部门表包括部门编号、部门名称、所属机构、部门类别。
该数据表的结构见表3-3。
表3-3部门表
字段
数据类型
长度
非空
描述
主键
外键
说明
id
NUMBER
自增
Y
Y
序号
deptnoid
VARCHAR2
10
Y
部门编号
deptnoname
VARCHAR2
50
Y
部门名称
Departmentunit
VARCHAR2
50
Y
所属机构
Y
3.3.5.4文章表(ARTICLE)
文章表包括文章编号、文章标题、文章副标题、摘要、