![账目管理的网银模拟系统毕业设计_说明书毕业论文_第1页](http://file3.renrendoc.com/fileroot_temp3/2022-1/30/43307ede-1cba-4cde-8bb1-6a3e74050694/43307ede-1cba-4cde-8bb1-6a3e740506941.gif)
![账目管理的网银模拟系统毕业设计_说明书毕业论文_第2页](http://file3.renrendoc.com/fileroot_temp3/2022-1/30/43307ede-1cba-4cde-8bb1-6a3e74050694/43307ede-1cba-4cde-8bb1-6a3e740506942.gif)
![账目管理的网银模拟系统毕业设计_说明书毕业论文_第3页](http://file3.renrendoc.com/fileroot_temp3/2022-1/30/43307ede-1cba-4cde-8bb1-6a3e74050694/43307ede-1cba-4cde-8bb1-6a3e740506943.gif)
![账目管理的网银模拟系统毕业设计_说明书毕业论文_第4页](http://file3.renrendoc.com/fileroot_temp3/2022-1/30/43307ede-1cba-4cde-8bb1-6a3e74050694/43307ede-1cba-4cde-8bb1-6a3e740506944.gif)
![账目管理的网银模拟系统毕业设计_说明书毕业论文_第5页](http://file3.renrendoc.com/fileroot_temp3/2022-1/30/43307ede-1cba-4cde-8bb1-6a3e74050694/43307ede-1cba-4cde-8bb1-6a3e740506945.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、. . . . 目录1 概述11.1课题名称与其来源11.2 信息系统与管理信息系统11.3账目管理的网银模拟系统的现状与发展趋势21.4 账目管理的网银模拟系统的意义32 系统分析42.1 系统的功能42.2 用户需求分析42.2.1应用程序结构确定42.2.2 确定系统开发环境53 开发工具简介63.1 MyEclipse 6.0的JSP 语言63.2 JSP 简介103.3 SQL Server 2000114 系统的功能设计124.1 功能概述124.2 后台数据库设计134.2.1 存储过程介绍134.2.2 数据库的表的设计164.2.3 设计局部ER模式174.2.4 设计全局E
2、R模式194.2.5数据字典205 应用程序界面设计235.1 用户登陆235.2 系统主操作界面245.3 账户信息添加模块255.4 信息查询模块265.5 查询余额管理模块295.6 账户明细管理模块295.7 转账取现管理模块306 系统测试316.1 软件测试概念316.2 软件系统测试326.3 系统整体测试326.4 不足与改进32结论和建议33参考文献34致3634 / 361 概述1.1课题名称与其来源本课题根据银行商业运营中的实际需要而产生,随着社会的发展,互联网已经成为人们日常生活、学习办公中不可缺少的一部分,并在各个领域发挥着越来越重要的作用。特别是在商业运营管理方面发
3、展尤为迅速。本系统的开发主要是根据银行实际运营管理中需要而制作,系统整体包括:基础资料管理、银行业务管理、财务报表管理、系统维护管理四大功能模块。对其进行一条龙式的集中管理。“网银模拟系统”的出现打破了银行传统的经营管理模式,它凭借其银行信息更新速度快、信息存储量大、应用简便、安全性高等特点,为银行的人员管理等信息的管理带来了极大的方便,大大减轻了银行管理人员的工作量,使管理者足不出户便可对银行的货柜存储信息、进出场信息、财务信息等了如执掌,针对具体情况做出正确的决策。因此成为当今银行管理者不可缺少的管理工具之一,同时对于一个银行的正常运做也发挥着极为重要的作用,并且随着国家经济的不断发展,国
4、家和银行进出口贸易量的不断增加,“银行账目信息管理系统”必将在未来国家进出口贸易发展中发挥越来越重要的作用。1.2 信息系统与管理信息系统1.2.1信息系统信息系统是一个人造系统,它由人、硬件、软件和数据资源组成,目的是与时、正确地收集、加工、存储、传递和提供信息,实现组织中各项活动的管理、调节和控制。信息系统包括信息处理系统和信息传输系统两个方面。信息处理系统对数据进行处理,使它获得新的结构与形态或者产生新的数据。信息传输系统不改变信息本身的容,作用是把信息从一处传到另一处。从第一台电子计算机创始,50多年来,信息系统经历了由单片机到网络,由低级到高级,由电子数据处理到管理信息系统、再到决策
5、支持系统,由数据处理到智能处理的过程。EDPS是面向业务的信息系统,MIS是面向管理的信息系统,DSS则是面向决策的信息系统。EDPS、 MIS、DSS各自代表了信息系统发展过程中的某一阶段,至今它们仍各自不断地发展着,而且是相互交叉的关系。1.2.2管理信息系统管理信息系统是一个具有高度复杂性、多元性和综合性的人机系统,它全面使用计算机技术、网络通讯技术、数据库技术以与管理科学、运筹学、统计学、模型论和各种最优化技术、为经营管理和决策服务。从广义上说,管理信息系统是一个对组织进行全面管理的综合系统。随着计算机技术的发展,信息技术在人们生活中变得越来越重要,信息化成为人们生活的主要容。管理信息
6、系统作为信息化的一部分,在各行各业中,发挥着其不可替代的作用。管理信息系统综合的意义在于产生更高层次的管理信息,为管理决策服务。管理信息系统综合了管理科学、信息科学、系统科学、行为科学、计算机科学和通信技术。在一个国家里管理信息系统的建立,运行和发展水平,标志着这个国家的管理现代化水平和信息化水平。管理工作的成败,取决于能否作出有效的决策,而决策的正确与否则在很大程度上取决于信息的质量。随着人类进入信息时代,信息管理的水平越来越成为衡量国家综合实力的重要标志。管理信息系统是现代管理方法与手段相结合的系统。尤其是在银行管理信息系统中,计算机系统与现代管理方法的结合才能使系统在管理中发挥作用。管理
7、信息系统的目的是要使各级管理人员在计算机系统支持下,从各种繁琐的日常事务中解脱出来,以便更好地投入到决策工作中去。管理信息系统不能只是对原有手工系统的简单的模仿,它还必须能够在仿真原管理信息系统的基础上,改进管理系统,使银行管理在先进的技术手段和准确与时的信息支持下,达到一个新层次。1.3账目管理的网银模拟系统的现状与发展趋势网银模拟系统由自助银行账户管理系统、出入账管理系统等多个子系统组成。网银模拟系统在整个银行系统中占有十分重要的地位。自助银行账目管理是银行管理的重要方面,因为它和银行的日常运营息息相关。出入账管理是一项计算琐碎复杂,具有重复性,又牵涉到每个人的利益,必须与时准确地完成,一
8、般不容发生差错。计算机进行基础管理工作,不仅能够保证数据核算正确无误,快速输出,而且还可以利用工资数据库对相关各种信息进行统计,服务于财务部门其他方面的核算和帐务处理。现行的自助银行管理软件大多是基于单机版的,或者即使是网络版,其用户也是限制在一个。但牵涉到大型银行的管理时,这往往是不够的,一方面大型银行部的各个部门自己要进行工资管理,这样用户数就会很多,另一方面,其他的管理系统如财务系统等需要工资管理系统的一些数据,若网络化程度不够,则无法做到真正的自动化信息集成。信息管理网络化会在很大程度上提高办事效率,尤其工资管理方面的网络化,都会给公司与员工带来益处。1.4 账目管理的网银模拟系统的意
9、义现在社会各行各业崇尚的是高效管理,银行也不例外。为赢得更多从业人员的青睐,本系统大大提高现代银行管理效率,同时大大减轻对银行管理人员的工作量,有利的保障银行的正常经营,促进银行的发展。2 系统分析本系统采用了结构化生命周期法,结构化生命周期法是最常用的管理信息系统开发方法,分为四个步骤,即系统调研分析、数据库设计实现、界面设计实现和系统功能设计实现。其中系统调研分析阶段是最基础、也是最容易被开发人员忽视的环节。2.1 系统的功能系统开发的总体任务是实现自助银行的自动化管理,从而达到提高降低管理成本、提高作业效率、提高管理现代化水平,减少成本、促进相关产业的发展。首先要考虑项目的软件组成分为两
10、大类:前台的用户操作界面与整个程序的后台数据库部分。前台的用户操作界面要实现用户对仓库的各种操作,要能够实现基础资料管理、银行业务管理、财务报表管理、系统维护管理等功能。后台数据库方面要实现对项目中用到的所有信息的管理、储存。2.2 用户需求分析用户需求分析就是在用户需求调研的基础上,确定系统的总体结构方案,完成相应的需求分析报告。在确定系统的总体结构方案过程中,包括确定应用程序的结构、系统开发环境和系统的功能模块。用户需求调研结束之后,应该立即进行用户需求分析。根据对系统要实现的功能的分析用户操作界面设计了如下模块:自助银行账户管理模块、出入账管理模块、系统维护管理模块。2.2.1应用程序结
11、构确定从用户应用角度来看,可把应用程序系统的组成部分分成数据存储层、业务处理层和界面表示层等3个层次,而应用程序结构可归纳为:集中式应用程序结构、单用户应用程序结构、多层服务器应用程序结构、浏览器服务器应用程序结构、交易记录机服务器应用程序结构等5种类型。本系统的交易记录端程序部分就采用了当前最流行的交易记录机服务器应用程序结构(即B/S结构),此时,交易记录机提出请求,服务器对交易记录机的请求作出回应。通过对服务功能的分布实现了分工服务。数据存储层放在服务器上,业务处理层和界面表示层放在交易记录机上,因此又被称为“灵敏的交易记录机”结构。许多操作可以在本地的交易记录机上执行,只是当需要数据时
12、,才向服务器发出请求。并使应用程序的处理更接近用户,使整个系统具有较好的性能,可以并行地处理应用程序的请求、减少了数据传输量、降低了服务器的负荷。由于条件所限,将此系统所有程序都置于一台计算机上,以便调试运行。2.2.2 确定系统开发环境1. 数据库的选择:Microsoft SQL Server与Access,Orcale,Sybase都是当前比较流行的数据库管理系统(BDMS)。随着SQL Server的不断完善与发展,以与与网络操作系统的完美结合,为系统扩展为多机操作提供可能,SQL Server 2000是一个可缩放、高性能的数据库管理系统,有完善的数据库维护计划。而且在这个项目中,由
13、于数据量的考虑,本论文决定使用SQL Server 2000作为后台的数据库。2. 开发工具的选择:由于Microsoft Visual Studio .NET 2005的JSP语言是微软公司目前主推的编程语言,因此本项目决定选用JSP语言来进行代码的编写,这样既可以锻炼我的学习能力又可以是我了解目前先进的编程语言。由于大多数公司部使用的计算机平台都是基于Windows环境的。为了降低系统成本,应最大程度地利用现有的资源、兼容现有的环境,可确定使用下面的开发环境:(1) 网络操作系统:Windows XP;(2) 数据库服务器:SQL Server 2000;(3) 服务器平台:Windows
14、 XP; (4) 交易记录机平台:Windows XP;(5) 前台开发工具:Microsoft Visual Studio .NET 2005的JSP语言;(6) 数据访问对象:JAVA(7) 网络开发语言:JSP3 开发工具简介本系统中的前台程序使用的是Microsoft Visual Studio .NET 2005的JSP 语言;网络部分使用的是JSP技术;后台数据库系统使用的是SQL Server 2000。3.1 MyEclipse 6.0的JSP 语言自比尔盖茨宣布微软公司将成为一家以.NET平台为重点发展的公司后,微软己经将.NET发展成了新一代的平台标准。当前,Microso
15、ft .NET平台己经成为业界公认的开发平台。本系统的网络查询部分基于Microsoft .NET平台中的JSP采用JSP语言开发,交易记录端的应用程序也是采用了JSP语言进行开发,以保持整个项目的代码的开发语言的一致性1。.NET开发平台的主要组成部分:首先是整个开发框架的基础,即CLR(Common Language Runtime)以与它所提供的一组基础类库;在开发技术方面,.NET提供了全新的数据库访问技术JAVA,以与网络应用开发技术ASP NET和Windows编程技术Win Forms;在开发语言方面,.NET提供了Visual Basic, Visual C+,JSP和Java
16、script等多种语言支持,并具有如下新特性:(1)通用语言运行库除了通用语言运行库的字面含义外,在开发阶段和运行过程中它还扮演着另一个角色。在组件运行时,运行库负责管理存分配、启动和中止线程和进程、强化安全系数,同时还调整任何该组件涉与到的其他组件的附件配置。在开发阶段,运行库的角色稍微有点变化:因为很多方面可以自动实现(例如存管理等)。运行库可以使开发过程变得非常简单,特别是同今天的COM编程相比更是如此。特别典型的是,像Reflection(反射)这样的特性可以极缩小开发人员将商业逻辑转化成一个可重复使用的组件而不得不编写的代码数量。运行库对于编程语言来说并不是新鲜的东西。实际上每一种编
17、程语言都已包含一个运行库。Visual Basic开发系统有最明显的运行库(正规名字为VBRUN), Visual C+也有一个MSVCRT,此外,像Visual FoxPro,Jscript,SmallTalk,Perl,Python和Java等等都如此。.NET框架中的通用语言运行库的核心就是提供了一个跨所有编程语言的统一环境。(2)统一编程类.NET框架类为开发人员提供了一套可以使用的统一的面向对象、异步、层次结构的可扩展类库。现在,C+的使用者使用Microsoft Foundation Classes,Java程序员使用Windows Foundation Classes,Visua
18、l Basic的用户使用Visual Basic APIs a微软用.NET框架统一了这些不同的框架。结果是,开发人员不用去学多个框架来完成自己的工作。而且,通过创建一套跨编程语言的通用API, .NET框架可以实现跨语言继承、纠错处理以与程序调试。实际上,从JScript到C+的所有编程语言,对于.Net框架都是相互等同的,开发人员可以自由地选择他们想使用的任何语言。(3)JSPJSP的全称是Java Server Page,其页面有HTML代码和嵌入其中的Java代码组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Java Ser
19、vlet是JSP技术的基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用、完全面向对象、具有平台无关性且安全可靠、主要面向Internet的所有特点。JSP技术的优势系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。强大的可伸缩性。从只有一个Jar文件就可以运行Servlet和JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理、消息处理,一台服务器到无数台服务器,JSP显示出巨大的生命力。多样化和功能强大的开发工具支持。JSP已经有了许多非常
20、优秀的开发工具,而且有许多可以免费得到,并且其中许多已经可以顺利地运行于多种平台之下。在JSP第一次获得请求时,不管请求来自于客户端浏览器还是服务器上的Servlet,JSP文件将被JSP引擎(JSP engine)转换成为一个Servlet,而这个引擎本身也是一个Servlet。所有的JSP最终都会被编译成为Servlet。当Servlet接受到请求后,如果用户设置了使用最新的JSP的话,它就会去找JSP文件,检查JSP文件在上次编译后是否改动过,如果改动过的话,就会重新编译,最终还是会把请求转交给编译好的Servlet去运行的。在编译时候如果发现JSP文件有任何语法错误,转换过程将中断,并
21、向客户端发出出错信息;而如果编译成功了,则所转换产生的Servlet代码被编译,然后该Servlet被JSP引擎加载到存中。此时JSP引擎还请求了jspInit()方法的执行,并对此Servlet作初始化。jspInit()方法在Servlet的生命周期中只被请求一次,然后jspService()方法被调用用来处理客户端的请求和回复操作。由于Servlet始终驻于存,所以响应是非常快的。图3.1 NET开发平台结构如图Microsoft.eclipse计划将彻底改变我们对因特网的认识,从而在这样一个网络时代彻底改变我们的生活。软件是一种服务技术,是我们的仆人。时间与地点将不再是我们面前的障碍,
22、建立在CLR与类库基础上的.NET框架是.NET平台的核心组件之一。这为软件的可移植性与可扩展能力奠定了坚实的基础,并为JSP语言的应用创造了良好的环境2。JSP是.myeclispe平台的通用开发工具,它能够建造所有的.NET应用。其固有的特性保证了它是一种高效安全灵活的现代程序设计语言。从最普通的应用到大规模的商业开发JSP与.NET 平台的结合将为你提供完整的解决方案3。为了实现对数据的访问,可以利用.Net框架的ActiveX数据对象(JAVA)来实现。ADO .NET由Microsoft ActiveX Data Objects (ADO)改进而来,它提供平台互用和可收缩的数据访问功
23、能。由于XML(Extensible Markup Language,可扩展标示语言)是用于进行数据传送的格式,任何可以读取XML格式的应用程序都可以对数据进行处理。实际上,接收组件根本不需要JAVA组件。它可以是基于Microsoft Visual Studio的解决方案或在任何平台上运行的任何应用程序4。JAVA是一组提供数据访问服务的类,它提供了对数据库数据、XML中的数据和应用程序数据的访问;而且所有的访问都是按照一个相容的,标准化的设计模型来执行。ADO是Microsoft现有的、广泛应用的数据访问接口。但是,它却有一些自身难以改变的不适应于Web环境的缺陷:(1) Web环境要求一
24、定程度的互操作性,因为操作所涉与的各个服务可能运行在不同的软件和硬件平台上。然而,ADO对象天生地定位在Windows平台上。ADO基于COM的本性使得一记录集很难在一个分布式、异种平台构成的环境中使用。(2) ADO对象模型中的每一个地方都体现了以数据库为中心的思想。ADO把数据看成是一组来自数据源的记录,而不是把数据看成一些独立的信息。在ADO中,如果脱离了数据提供者用来保存和描述数据的结构,数据将不能独立存在。(3) JAVA从Web的角度对ADO进行检讨和改进。两个功能使得这方面的增强成为可能:脱机记录集,以与与生俱来的对XML的支持。这主要是通过其中的DataSet(数据集)对象来实
25、现以上两个功能。JAVA结构的一个核心元素是.NET数据提供程序,其目的是为了实现数据操作和对数据的快速、只进、只读访问,为此包含了几个对象:Connection对象提供与各种不同类型数据源的连接;Command对象能够访问用于返回数据、修改数据、运行存储过程以与发送或检索参数信息的数据库命令,其包含的可选Parameters集合中可以定义数据库命令或存储过程的参数;DataReader从数据源中提供高性能的数据流,以便对数据进行快速、只进、只读访问;最后,DataAdapter提供连接DataSet:对象和数据源的桥梁。DataAdapter使用SelectCommand对象在数据源中执行S
26、QL命令,以便将数据加载到DataSet中,并可以使用InsertCommand,UpdateCommand或DeleteCommand对象将DataSet中数据的更改返回到数据源中。可以为任何数据源编写.NET数据提供程序,在.NET框架中附带了两个.NET数据提供程序:SQL Server .NET数据提供程序和OLE DB .NET数据提供程序。JAVA有效地从数据操作中将数据访问分解为多个可以单独使用或一前一后使用的不连续组件。ADO. NET包含用于连接到数据库、执行命令和检索结果的.NET数据提供程序,它是一组包括Connection, Command, DataReader和Da
27、taAdapter对象在的组件:同时既可以直接处理检索到的结果,也可以将其放入JAVA中的另一核心组件:DataSet中。DataSet是JAVA的断开式结构的核心组件。相对于ADO,DataSet是在JAVA中加入的全新对象,使用该对象的目的是为了实现独立于任何数据源的数据访问。因此,它可以用于多种不同的数据源,DataSet包含一个或多个的集合,这些DataTable对象中可以包含主键、外键、约束等信息,DataTable对象之间还可以包含关系信息等。所以,可以将DataSet组件看做是一个脱机的、保存在存中的、由多个数据源提供其数据的微型关系数据库5。JAVA中各个组件对象之间的关系如图
28、3.2所示:图3.2 JAVA中各个组件对象之间的关系图3.2 JSP 简介基于WEB的应用系统,在Internet/Intranet技术推广以来,得到了迅速发展。无论是银行、政府的部计算机应用系统,还是在互联网上的应用服务系统,基于WEB的计算机应用系统都发挥着越来越多的作用。逐渐成为计算机应用系统的主流。JSP是微软公司的.NET框架技术的一部分,旨在建立WEB应用程序和XML WEB服务。JSP使用编译的、事件驱动编程模型从而提高运行速度和分离应用程序逻辑和用户界面。使用JSP可以很容易的开发基于三层架构的B/S应用程序6。JSP又叫ASP+,但并不是ASP的简单升级,而是Microso
29、ft推出的新一代Active Server Pages脚本语言。ASP NET是Microsoft发展的新型体系结构.NET框架中的核心要素。JSP完全基于模块和组件,具有更好的可扩展性和可定制性,JSP建立在CLR ( Common Language Runtime,通用语言运行库)基础之上,它主要用于在服务器上开发功能强大的Web应用。JSP具有如下的优点:(1) 速度奇快,所有的JSP代码(包括服务器脚本)都经过了编译后运行,所以执行效率极高。(2) 可用XCOPY轻松完成部署与应用升级。JSP支持应用程序的实时更新。管理员不必关掉网络服务器或者甚至不用停止应用程序的运行就可以更新应用程
30、序。(3) 代码与容分离。JSP程序通过Code-Behind、用户控件、自定义控件与组件这四种方法将程序结构与执行代码分离,使程序的逻辑结构一目了然,便于团队开发。(4) 广泛的移动设备支持。JSP的移动控件使开发人员可以面向广泛的移动设备,包括支持Web的移动、寻呼机和个人数字助理(PDA)。(5) 轻松构建和使用Web服务。由于JSP和.NET远程处理建立在.NET Framework之上,因此它们可以使创建XML Web services变得更为容易7。3.3 SQL Server 2000SQL Server 2000是建立在 SQL Server 7.0 在可伸缩性、可用性、可管理
31、性和数据仓库成功的基础上,并且引入了针对电子商务的重要新功能8。4 系统的功能设计4.1 功能概述本系统要实现用户对自助银行的所有操作:账户管理、出入账管理、系统维护管理等功能。(一) 自助银行账户管理模块:本模块又包括账户资料添加模块、账户资料管理模块等子模块。(二) 出入账管理模块:本模块又包括出入账资料添加、出入账资料管理模块等子模块。(三) 系统维护管理:本模块又包括公司用户设置模块、重新登录模块、数据管理模块等子模块。根据上功能模块图,可设计出相对应的系统数据流程图。如下:自助模拟银行管理系统登陆系统系统信息管理数据备份ATM账户管理出入账管理用户信息管理数据还原自助模拟银行管理系统
32、数据输出退出系统图4-1系统数据流程图4.2 后台数据库设计4.2.1 存储过程介绍1. 考虑使用存储过程的理由相对于使用一般的SqlCommand 对象的 T-SQL语句,使用存储过程可以使SqlCommand 对象的 T-SQL语句并入数据访问代码更好的位置。由于应用程序随着时间的推移增添了一些功能,因此其部可能包含一些复杂的 T-SQL 过程代码。存储过程为封装此代码提供了一个替换位置。大多数人可能对存储过程已有所了解,但对于那些不了解存储过程的人员而言,存储过程是指一组作为单个代码单元一起存储于数据库中的 T-SQL 语句。您可以使用输入参数传入运行时信息,并取回作为结果集或输出参数的
33、数据。存储过程在首次运行时将被编译。这将产生一个执行计划 - 实际上是 Microsoft SQL Server 为在存储过程中获取由 T-SQL 指定的结果而必须采取的步骤的记录。然后,执行计划在存中得到缓存,以备以后使用。这样会改善存储过程的性能,因为 SQL Server 无需为确定如何处理代码而重新分析它,而只需引用缓存的计划即可。这个缓存的计划一直可用,直到SQL Server 重新启动,或直到它由于使用率较低而溢出存9。2. 性能缓存的执行计划曾使存储过程较之查询更有性能优势。但对于 SQL Server 的几个最新版本,执行计划已针对所有 T-SQL 批处理进行了缓存,而不管它们
34、是否在存储过程中。因此,基于此功能的性能已不再是存储过程的卖点。任何使用静态语法,且提交频率足以阻止执行计划溢出存的 T-SQL 批处理将会获得同样的性能好处。“静态”部分是关键;任何更改,即使像添加注释这样无关紧要的更改,也将导致无法与缓存的计划相匹配,从而将无法重复使用计划。但是,当存储过程可以用于降低网络流量时,它们仍然能够提供性能好处。您只需在网络中发送 EXECUTE stored_proc_name 语句,而非整个 T-SQL 例程,这可以在复杂操作中广泛使用。设计良好的存储过程可以将交易记录端与服务器之间的许多往返过程简化为单个调用。此外,使用存储过程使您能够增强对执行计划的重复
35、使用,由此可以通过使用远程过程调用 (RPC) 处理服务器上的存储过程而提高性能。使用 StoredProcedure 的SqlCommand mandType 时,存储过程通过 RPC 执行。RPC 封装参数和调用服务器端过程的方式使引擎能够轻松地找到匹配的执行计划,并只需插入更新的参数值。考虑使用存储过程提高性能时,最后要考虑是否要充分利用 T-SQL 的优点。请考虑要如何处理数据。 (1) 是否要使用基于集合的操作,或执行 T-SQL 中完全支持的其他操作?那么存储过程就是一个选择,而联查询也可以使用。(2) 是否尝试执行基于行的操作,或复杂的字符串处理?那么可能要重新考虑在T-SQL
36、中进行这种处理,这不包括使用存储过程,至少要到 Yukon 发布并且公共语言运行库 (CLR) 集成可用后,才能使用存储过程。3. 可维护性和抽象要考虑的另一个潜在优势是可维护性。理想情况下,数据库架构从不更改,业务规则不被修改,但在现实环境中,情况则完全不同。既然情况如此,那么如果可以修改存储过程以包括新 X、Y 和 Z 表(为支持新的销售活动而添加了这些表)中的数据,而不是在应用程序代码中的某个位置更改此信息,则维护对您来说可能比较容易。在存储过程中更改此信息使得更新对应用程序而言具有透明性。您仍然返回一样的销售信息,即使存储过程的部实现已经更改。更新存储过程通常比更改、测试以与重新部署程
37、序集需要较少的时间和精力。 另外,通过抽象化实现并将此代码保存在存储过程中,任何需要访问数据的应用程序均可以获取一致的数据。您无需在多个位置维护一样的代码,用户便可获取一致的信息。在存储过程中存储 T-SQL 的另一个可维护性优点是更好的版本控制。您可以对创建和修改存储过程的脚本进行版本控制,就像可以对任何其他源代码模块进行版本控制一样。通过使用 Microsoft Visual SourceSafe 或某个其他源代码控制工具,您可以轻松地恢复到或引用旧版本的存储过程。 在使用存储过程提高可维护性时应值得注意的一点是,它们无法阻止您对架构和规则进行所有可能的更改。如果更改围大到需要对输入存储过
38、程的参数进行更改,或者要更改由其返回的数据,则您仍需要更新程序集中的代码以添加参数、更新GetValue()调用,等等。要注意的另一个问题是,由于存储过程将应用程序绑定到SQL Server,因此使用存储过程封装业务逻辑将限制应用程序的可移植性。如果应用程序的可移植性在您的环境中非常重要,则将业务逻辑封装在不特定于RDBMS的中间层中可能是一个更佳的选择。 4. 安全性考虑使用存储过程的最终原因是它们可用于增强安全性。 就管理用户对信息的访问而言,通过向用户授予对存储过程(而不是基础表)的访问权限,它们可以提供对特定数据的访问。存储过程可以看成是SQL Server视图,除非存储过程接受用户的
39、输入以动态更改显示的数据。存储过程还可以解决代码安全问题。它们可以防止某些类型的SQL插入攻击。主要是一些使用运算符(如AND或OR)将命令附加到有效输入参数值的攻击。在应用程序受到攻击时,存储过程还可以隐藏业务规则的实现。这对于将此类信息视为知识产权的公司非常重要。另外,使用存储过程使您可以使用JAVA中提供的SqlParameter类指定存储过程参数的数据类型。这为验证用户提供的值类型(作为深层次防御性策略的一部分)提供了一个简单方法。在缩小可接受用户输入的围方面,参数在联查询中与在存储过程中一样有用。使用存储过程仅仅能够增强数据库安全性,而不能完全使数据库免受攻击。如果数据库的安全性或编
40、码做法不完善仍然会受到攻击。对SQL Server角色创建和分配如果不加注意将导致人们访问到不应看到的数据。同时,如果认为使用存储过程便可防止所有SQL插入代码攻击(例如,将数据操作语言 (DML) 附加到输入参数),后果将是一样的。另外,无论T-SQL位于代码还是位于存储过程中,使用参数进行数据类型验证都不是万无一失的。所有用户提供的数据(尤其是文本数据)在传递到数据库之前都应受到附加的验证。5. 使用存储过程的优缺点使用存储过程封装应用逻辑的优点如下:(1) DBA+Developer分工明确,之间代码模块化。减少数据库操作员和程序员的错误。(2) 数据库安全性;可以设置连接字符串中账号只
41、可访问存储过程,不可操作表。这样数据完整性也有保证。(3) 存储过程是编译过的,执行快。(4) 事务的级别,存储过程级别的事务,JAVA级别的事务比较。一致性。(5) 减少网络通信量。一个需要数行 Transact-SQL 代码的操作由一条执行过程代码的单独语句就可实现,而不需要在网络中发送数行代码。使用存储过程封装应用逻辑的缺点如下:(1) 编程语言SQL功能较差(不包括 SQL 2005)(2) 与编程环境集成不够(不包括 SQL 2005)(3) 移植性差(不同数据库)(4) 数据库服务器压力大4.2.2 数据库的表的设计根据项目要求进行数据库中表格的建立。根据对用户的需求分析,在项目中
42、,需要记录银行的基本信息、交易记录的基本信息、银行的操作信息。数据库的设计式是数据库设计所需要满足的规,满足这些规的数据库是简洁的、结构明晰的,同时,不会发生插入(insert)、删除(delete)和更新(update)操作异常。反之则是乱七八糟,不仅给数据库的编程人员制造麻烦,而且面目可憎,可能存储了大量不需要的冗余信息。式的介绍:第一式(1NF):数据库表中的字段都是单一属性的,不可再分。这个单一属性由基本类型构成,包括整型、实数、字符型、逻辑型、日期型等。第二式(2NF):数据库表中不存在非关键字段对任一候选关键字段的部分函数依赖(部分函数依赖指的是存在组合关键字中的某些字段决定非关键
43、字段的情况),也即所有非关键字段都完全依赖于任意一组候选关键字。第三式(3NF):在第二式的基础上,数据表中如果不存在非关键字段对任一候选关键字段的传递函数依赖则符合第三式。所谓传递函数依赖,指的是如果存在“A B C”的决定关系,则C传递函数依赖于A。因此,满足第三式的数据库表应该不存在如下依赖关系:关键字段 非关键字段x 非关键字段y鲍依斯-科得式(BCNF):在第三式的基础上,数据库表中如果不存在任何字段对任一候选关键字段的传递函数依赖则符合第三式。可以消除第三式删除异常、插入异常和更新异常13。系统中还需要有用户的登录信息表用于记录用户的登录信息。登录信息表中应该有登录的用户名和密码,
44、其中登录名为主键。4.2.3 设计局部ER模式1实体和属性的定义:1)管理员用户类别(用户名,密码,权限,注册时间等)管理员用户用户名密码权限注册时间图4-2管理员用户实体与属性的定义2)账户信息类别(,性别,联系,地址,注册时间等)账户信息XX性别地址注册时间时间图4-3账户信息实体与属性的定义3)交易记录信息类别(,性别,地址)转入账户转出账户类型XX交易信息图4-4 交易记录信息实体与属性的定义2 实体关系定义:ER模型的“联系”用于刻画实体之间的关联。一种完整的方式是对局部结构中任意两个实体类型,依据需求分析的结果,考察局部结构中任意两个实体类型之间是否存在联系。若有联系,进一步确定是
45、1:1、1:N、M:N的关系。还要考察一个实体类型部是否存在联系,两个实体类型之间是否存在联系,多个实体类型之间是否存在联系,等等针对本系统分析如下:实体间的关系:一个管理员可以管理多个自助银行账户,而一个自助银行账户只能被一个管理员管理。管理员ATM账户1N管理图4-5 自助银行账户与管理员信息管理1:N(一对多的关系)管理员出入账信息1N管理 一个管理员可以管理多个出入账信息,而一个出入账信息只可以被一个管理员管理图4-6管理员与出入账信息1:N(一对多的关系)4.2.4 设计全局ER模式所有局部ER模式都设计好了后,接下来就是把它们综合成单一的全局概念结构。全局概念结构不仅要支持所有局部
46、ER模式,而且必须合理地表示一个完整、一致的数据库概念结构。1) 确定公共实体类型 为了给多个局部ER模式的合并提供开始合并的基础,首先要确定各局部结构中的公共实体类型。在这一步中我们仅根据实体类型名和键来认定公共实体类型。一般把同名实体类型作为公共实体类型的一类候选,把具有一样键的实体类型作为公共实体类型的另一类候选。2) 局部ER模式的合并 合并的原则是:首先进行两两合并;先合并那些现实世界中有联系的局部结构;合并从公共实体类型开始,最后再加入独立的局部结构。3) 消除冲突 冲突分为三类:属性冲突、结构冲突、命名冲突。 设计全局ER模式的目的不在于把若干局部ER模式形式上合并为一个ER模式
47、,而在于消除冲突,使之成为能够被所有用户共同理解和接受的同一的概念模型。4) 全局ER模式的优化 在得到全局ER模式后,为了提高数据库系统的效率,还应进一步依据处理需求对ER模式进行优化。一个好的全局ER模式,除能准确、全面地反映用户功能需求外,还应满足下列条件:实体类型的个数要尽可能的少;实体类型所含属性个数尽可能少;实体类型间联系无冗余。4.2.5数据字典数据字典是在新系统数据流程图基础上,进一步定义和描述所有数据项的工具,是关于数据的数据。它包括对一切动态数据和表态数据的数据结构和相互关系等的说明,是数据分析和数据管理的重要工具。数据字典实际上是新系统的所有数据流、数据存储、数据结构、数
48、据元素和处理功能等卡片的集合。这些卡片容是根据数据流程图,通过数据调查和分析得到的。数据字典可以汇总成清单形式,经过数据分析与规化转换成组织模式,进行数据库的逻辑设计;或者,直接用来进行文件设计。数据字典的卡片容不可能在系统分析阶段都填写完善,还须在系统设计和实施阶段进行补充和修改。数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。数据流图和数据字典共同构成系统的逻辑模型。1. 数据字典列表数据流数据存储名称:管理员信息数据来源:管理员信息表数据去向:管理员登陆模块数据组成:管理员信息管理员+管理员+管理员密码描述:存储了管理员的基本信息数据存储名称:自助银行信息数
49、据来源:自助银行信息表数据去向:自助银行模块数据组成:自助银行信息=编号+自助银行名称+类型+联系人+联系方式+添加时间等描述:存储了自助银行的基本信息数据存储名称:交易记录信息数据来源:交易记录信息表数据去向:交易记录模块数据组成:交易记录信息=编号+交易记录名称+性别+联系方式+添加时间等描述:存储了交易记录的基本信息表4-1数据流2. 数据字典列表数据处理表4-2数据处理描述:管理员登录系统进行管理员登录管理输入:管理员的用户名、密码过程:判断是否为合法的管理员输出:后台系统主界面名称: 查询信息描述:根据条件查询所需信息输入: 输入查询的条件过程:查询系统的用户所需的信息输出: 查询得
50、到的信息页面附表4-2数据处理名字:录入信息描述:账户信息,交易信息等的录入输入: 输入要添加录入的信息过程: 将需要添加录入的信息加入数据库中输出: 系统新的信息表页面输出: 查询得到的信息页面名字:修改、删除信息描述:对会员信息,资料信息等修改或删除后存入数据库中输入: 输入要修改或删除的信息过程:对需要修改的信息做修改、删除过时的信息输出: 系统新的信息表页面输出: 查询得到的信息页面3. 数据字典列表数据存储表4-3数据存储名字: 数据库信息别名:无描述:存储了数据库的基本信息数据组成:数据库信息=账户信息+资讯记录信息+管理员信息位置:数据库输出: 查询得到的信息页面4.数据表图例a
51、llusers表:表4-4 alluser表序号字段名称字段类型大小允许为空最大长度备注1IDInt 4自增编号102usernameVarChar 50是2553pwdVarChar 50是2554cxVarChar 50是2555addtimeDateTime 8是23zhanghuxinxi表:表4-5 zhanghuxinxi表序号字段名称字段类型大小允许为空最大长度备注1IDInt 4自增编号102zhanghaoVarChar 50是2553mimaVarChar 50是2554xingmingVarChar 50是2555xingbieVarChar 50是2556shenfen
52、zhengVarChar 50是2557dizhiVarChar 50是2558yueFloat 8是159zhuangtaiVarChar 50是25510beizhuVarChar 50是25511addtimeDateTime 8是23zhuanzhangjilu表:表4-6 zhuanzhangjilu表序号字段名称字段类型大小允许为空最大长度备注1IDInt 4自增编号102zhuanchuzhanghaoVarChar 50是2553zhuanruzhanghaoVarChar 50是2554zhuanzhangjineVarChar 50是2555beizhuVarChar 50是2556addtimeDateTime 8是237leixingVarChar 50是2555 应用程序界面设计5.1 用户登陆图5-1登录界面在运行程序后,首先看到的是用户登录窗口。用户要填写他的用户名和密
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 福建省福州市2024-2025学年九年级上学期期末语文试题(解析版)
- 执行中止申请书
- 学业奖学金申请书
- DB61T-地理标志产品 凤县大红袍花椒(凤椒)编制说明
- 初级公司信贷-初级银行从业资格考试《公司信贷》点睛提分卷2
- 企业数据转换与存储管理规范
- 高三补课申请书 范文
- 绿化工人用工合同(2篇)
- 100以内加减乘除基础知识回顾1000题(可打印)
- 2025届江西省景德镇市高三上学期二模英语试题(解析版)
- 造价员安全生产责任制
- 桥梁桩基专项施工方案-
- 高中生物竞赛课件 【知识精研+拓展提升】 细胞生物学
- 农产品食品检验员二级技师职业技能鉴定考试题库(含答案)
- 工厂车间划线标准与标识管理(共37张PPT)
- 完整版人教版PEP英语四年级下册全册课件ppt
- 水利工程建设管理概述课件
- 地理人教版七年级下册第三节-印度课件
- DSH中的常见语法考点
- 2023年民办中学三重一大事项决策规定
- 2022中和北美腰椎间盘突出症诊疗指南的对比(全文)
评论
0/150
提交评论