网上银行毕业论文_第1页
网上银行毕业论文_第2页
网上银行毕业论文_第3页
网上银行毕业论文_第4页
网上银行毕业论文_第5页
已阅读5页,还剩69页未读 继续免费阅读

下载本文档

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

文档简介

1、网上银行毕业论文网上银行毕业论文 目录 1 项目概述 .1 1.1 现系统概述 .1 1.2 公司组织机构.2 1.3 系统业务流程 .3 1.4 系统功能模块 .3 2 系统需求分析 .5 2.1 需求陈述 .5 2.2 USE CASE建模 .6 2.2.1 定义活动者.6 2.2.2 Use Case 图.6 3 系统架构设计 .9 3.1 架构设计目标.9 3.2 系统架构设计 .9 3.3 系统架构类图 .13 4 系统详细设计 .15 4.1 业务逻辑对象类设计 .15 4.1.1 发现业务逻辑类.15 4.1.2 业务逻辑对象类图.15 4.2 系统交互图 .16 4.2.1 系

2、统架构类交互图.16 4.2.2 活动者与模块间的交互 .16 4.2.3 系统协作图.19 4.2.4 系统状态图.19 4.2.5 系统活动图.20 4.3 系统模块设计 .21 4.3.1 登陆.21 4.3.2 注册用户.22 4.4 数据库设计 .23 4.4.1 ER 图.23 4.4.2 物理表结构图.25 4.5 开发环境的选择 .27 4.5.1 系统开发工具.27 4.5.2 数据库的选择.27 5 编码 .28 5.1 概述开发工具及编程脚本 .28 5.1.1 JSP 技术.28 5.1.2 JavaBean 技术.28 5.1.3 JDBC 技术.29 5.1.4 用

3、 JDBC 访问数据库.30 5.2 脚本习惯说明 .33 6 系统测试 .34 6.1 程序的测试.34 6.11 测试原则及测试方法概述 .34 6.3 软件测试结论 .36 6.3.1 软件能力.36 6.3.2 缺陷和限制.36 6.3.3 建议.36 6.3.4 测试结论.37 致谢 .39 参考文献 .40 附录 A 中文译文.41 附录 B 英文原文.43 附录 C 源程序清单.45 1 项目概述项目概述 1.11.1 现系统概述现系统概述 中国农业银行于 1979 年 2 月恢复成立,总部设在北京。是四大国有独资商业银行之 一,是中国金融体系的重要组成部分。截至 2007 年末

4、,在中国内地设有分支机构 24452 个,同时在新加坡、香港设有分行,在伦敦、东京、纽约设有代表处,拥有员工人。 作为一家城乡并举、联通国际、功能齐备的大型国有商业银行,中国农业银行一贯 秉承以客户为中心的经营理念,坚持审慎稳健经营、可持续发展,立足县域和城市两大 市场,实施差异化竞争策略,着力打造“伴你成长”服务品牌,依托覆盖全国的分支机构、 庞大的电子化网络和多元化的金融产品,致力为广大客户提供优质的金融服务,与广大 客户共创价值、共同成长。截至 2007 年末,全行总资产达到 60501.27 亿元人民币,各项 存款 52833.14 亿元人民币,各项贷款 34801.05 亿元人民币。

5、 由于现在各大银行的全国联网,异地存款,取款,存钱,在全国任何地方可以及时 查询自己帐户等,甚至在家里,打开电脑,登录自己的网上银行,还可以实现足不出户, 了解自己帐户信息,给人们的生活和社会的经济带来了空前的变化。 在这样的一个背景下,为了适应网络的普及以及当今社会发展的需要,本次我利用 毕业之际,设计和模拟网上银行,以备以后作技术上的参考。出于系统的安全性等因素 的考虑,一个系统设计之前,需要进行方案和技术论证。所以不是一朝一夕能解决的。 所以本次设计的系统主要是模拟中国农业银行的网上银行电子交易,为广大的客户提供 查询余额、取款、转账等功能。 随着计算机技术的不断发展,计算机作为知识经济

6、时代的产物,已被广泛应用于社 会各个行业和领域。目前我国国企改革的深入和社会主义市场经济的日趋繁荣,金融体 系的规模更是日益庞大,客户对银行的服务要求也在不断提高,模拟一个快捷方便安全 智能的网上银行转系统有很高的实用价值。 本系统模拟银行帐户的管理,开发一个农行网上银行系统,设计主要实现用户在银 行正常交易的一些功能而且作为一个实用的管理系统,要有良好的容错性,在出现误操 作能尽量地给出警告,以便用户及时地更正,计算机地资源是受到限制的,因此要充分 利用 JSP 的功能,设计出功能强大的软件,同时要尽可能的减少对系统的资源的占用, 签于本系统的特殊性,还需要本程序有良好的保密性。 由于现在各

7、大银行的全国联网,异地存款,取款,存钱,在全国任何地方可以及时 查询自己帐户等,甚至在家里,打开电脑,登录自己的网上银行,还可以实现足不出户, 了解自己帐户信息,给人们的生活和社会的经济带来了空前的变化。 在这样的一个背景下,为了适应网络的普及以及当今社会发展的需要,本次我利用 毕业之际,设计和模拟网上银行,以备以后作技术上的参考。出于系统的安全性等因素 的考虑,一个系统设计之前,需要进行方案和技术论证。所以不是一朝一夕能解决的。 所以本次设计的系统主要是模拟中国农业银行的网上银行电子交易,为广大的客户提供 查询余额、取款、转账等功能。 我利用自己所学的计算机专业知识,模拟设计一个类似与农业银

8、行的网上银行系统, 使自己进一步掌握运用 JSP 语言编程的能力,并更深一步的了解有关网上银行电子交易 的相关知识。 1.21.2公司组织机构公司组织机构 目前公司组织机构如下图 1-1 所示: 公司实行董事长监管下的总经理负责制,总经理和办公室负责协调技术部门、人事 部门和财务部门之间相互合作。整个系统将上述部门连接成一体,共同协作完成整个银 行的运作。系统实施由总经理牵头,各部门主管领导负责,部门业务员配合系统研发人 员来完成。 图 1-1 公司组织机构图 Fig 1-1 Diagram of the Companys Organizational Structure 农业银行 财 务 科

9、 人 事 科 宣 传 科 办 公 室 工 会 分 行 技 术 科 1.31.3 系统业务流程系统业务流程 经过前期调研分析和综合其它各方面相关理论知识,给出整个系统的业务流程图如 下图 1-2 所示: 整个系统的开发主要围绕上述业务流程进行开发,开发过程采用面向对象的开发技 术,具体开发过程见下面的章节。 1.41.4 系统功能模块系统功能模块 根据上述业务流程,整个系统抽象出以下几个功能模块,如图 1-3 所示。 下面模块划分只是抽象意义上的划分,各模块之间需要共享数据,相互协作,完成 整个系统流程,单一事物功能模块间是相互独立的。 票据图像 业务数据 总结日报明细帐数据报表票证查询 刻制光

10、盘 审核(重点监督) 对帐(自动对帐,手工补充) 票证帐主机流水帐 票证图像银行主机业务流水 业务规则 票证 省分行会计、储蓄、信用卡务系统 数 图 1-2 系统流程 Fig 1-2 the Workflow of System 农业 银行 网上 银行 系统 管理员 用户 会员管理 系统维护 查询用户余额 账号管理 查询余额及转账 注册会员 交易明细 图 1-3 系统功能模块 Fig 1-3 Function Models of System 2 系统需求分析系统需求分析 2.12.1 需求陈述需求陈述 通常,需求陈述的内容包括:问题范围,功能需求,性能需求,应用环境及假设条 件等。总之,需求

11、陈述应该阐明“做什么”而不是“怎样做” 。它应该描述用户的需求而 不是提出解决问题的方法。应该指出哪些是系统必要的性质,哪些是任选的性质。应该 避免对设计策略施加过多的约束,也不要描述系统的内部结构,因为这样做将限制实现 的灵活性。对系统性能及系统与外界环境交互协议的描述,是合适的需求。此外,对采 用的软件工程标准、模块构造准则、将来可能做的扩充以及可维护性要求等方面的描述, 也都是适当的需求。下面以农业银行网上银行中的电子交易模块为例说明如何进行系统 需求陈述。 本系统需要具有以下功能: (1)由于一项新的软件在被使用之前,对于使用者来说是陌生和崭新的,所以要求系统 具有良好的人机界面。 (

12、2)能够实现转账功能,能成功的对各种信息进行查询及管理。 (3)查询数据方便,数据的稳定性和可靠性好。 系统采用 B/S 模式。整个系统最关键的就是数据库系统,一个强大的数据库可以支 持完善一个优秀的软件设计,通过软件系统与数据库系统的连接来实现通过软件界面观 察和处理操作数据。 系统任务确定之后,下面的工作就是进行系统分析。 面向对象的分析的主要任务是分析问题领域,找出问题解决方案,发现对象,分析对 象的内部构成和外部关系,建立软件系统的对象模型。 分析问题领域是软件系统开发的一项基本工作,是项目开发之初必须首先进行的重 要工作。分析问题领域的结果是对问题领域的清晰,精确的定义,明确目标系统

13、将做什 么。 分析问题领域的主要任务是:对问题领域进行抽象,提出解决方案;对未来的系统 进行需求分析,确定系统的职责范围,功能需求,性能需求,应用环境及假设条件等。 实施面向对象分析的一般步骤如下: 1分析用户需求,建立 Use Case 并通过用例图来描述用户的需求。 2通过建立域模型以识别类与对象,从而识别系统中的各种对象。 3确定对象的内部特征,从而定义出各个属性与服务,以进一步细化类的结构。 4识别对象之间的关系并使用设计模式对类的结构进行优化和改造。 5获得对象之间的行为关系,绘制出各种动态图形(顺序图、协作图、状态图等) 。 2.22.2 UseUse CaseCase建模建模 2

14、.2.12.2.1 定义活动者定义活动者 根据电子交易模块的需求可以确定 2 个活动者,即客户及系统管理员。 客户可以进行网上转账及余额查询; 系统管理员使用系统管理模块记录客户信息,管理客户的账户。 客户使用电子交易模块进行转帐,电子消费,修改资料,以及查询账户金额。 2.2.22.2.2 UseUse CaseCase 图图 根据系统需求分析,结合上节系统活动者的定义分析,得到系统电子交易模块的用 例如下: 管理员信息用例 客户信息用例 转帐用例 用户和用例电子交易模块的用例图图 2-1 如下: 图 2-1 电子交易 Use Case 图 Fig3-1 Use Case for Sales

15、 Management 1用例:管理员信息 参与者:管理员 说明: 管理员启动客户信息功能。 系统显示客户信息一览表 管理员添加客户信息 系统显示添加成功画面 客户信息添加成功 2用例:客户信息 参与者:管理员 说明: 管理员启动客户信息功能。 系统显示客户信息一览表 管理员添加客户信息 系统显示添加成功画面 客户信息添加成功 3用例:转帐 参与者:客户 说明: 客户启动转帐功能。 系统显示转帐信息 管理员添加转帐信息 系统显示添加成功画面 转帐信息添加成功 3 3 系统架构设计系统架构设计 3.13.1架构设计目标架构设计目标 本系统是适应现今网络的发展,通过网络实现对客户的管理,和客户业务

16、的办理,主 要实现如下目标: 1.对客户信息(客户基本信息、联系人信息、转帐信息)进行全面管理。 2.及时查看存款余额信息,并通过网站对收入、支出信息进行管理。 3.及时了解客户的交易信息,客户的余额信息,并以图表形式对数据进行分析。 实现信息查询功能。 4.实现了直接通过网络拨打用户电话及发送 E-mail。 5.管理员和客户可以随时修改自己的密码。 6.数据保密性强,为每个用户设置相应的权限。 7.系统运行稳定、安全可靠。 3.23.2 系统架构设计系统架构设计 下面我们将根据架构设计原则和信息系统原理来建立系统的架构设计模型。将信息 系统中比较关心的对象分层,可分为三层:用户界面层、业务

17、层、数据访问层(如下图 3-1所示),再把各层中的一些公共部分提出来:权限管理,这样得到包图如图3-2所示: 用用户户界界面面层层 业业务务逻逻辑辑层层 数数据据访访问问层层 JSP WEB FormsUser Processing Customer Service Bisiness Entities The amount transferredInto account SQL Server 2000 图3-1 系统体系架构图 Fig3-1 The Diagram of System Architecture 用用户户界界面面业业务务逻逻辑辑数数据据访访问问 权权限限管管理理 图3-2 客户关

18、系管理系统模块包图 Fig3-2 ERP module package plans 1.用户界面包 用户界面包的职责是: (1)与用户的交互,接收用户的各种输入以及输出各种提示信息或处理结果。 (2)对于输入的数据进行数据校验,过滤非法数据。 (3)向业务处理对象发送处理请求。 用户界面包图展开如图3-3所示: 用用户户界界面面 输入输出 数据验证 发送转帐处理请求 图3-3 用户界面包展开图 Fig3-3 Package Diagram of Users Interface 用户界面包包含的类见图3-4: +数据验证() +业务处理() -输入输出元素 -业务处理对象 用用户户界界面面类类

19、输输出出界界面面输输入入界界面面 图 3-4 用户界面类图 Fig3-4 Class Diagram of Users Interface 2.业务逻辑包 业务逻辑包的职责是: (1)实现各种业务处理逻辑或处理算法。 (2)验证请求者的权限。 (3)向数据访问对象发送数据持久化操作的请求。 (4)向用户界面层返回处理结果。 业务逻辑包图展开如图3-5所示: 业业务务逻逻辑辑 实现各种业务逻辑处理或处理算法 数据验证 向数据对象发送数据持久化操作的请求 向用户界面层返回结果 图 3-5 业务逻辑包图展开 Fig3-5 Package Diagram of Business 业务逻辑包包含的类见图

20、 3-6: +业务处理() -业务对象 业业务务处处理理类类 +业务处理() -数据对象 业业务务逻逻辑辑类类 图 3-6 业务逻辑类图 Fig3-6 Class Diagram of Business 3.表单封装包 表单封装的职责是: (1)实现表单数据的持久化操作。 表单封装包图展开如图3-7所示: 表表单单封封装装 实现表单数据操作 图 3-7 表单封装包图展开 Fig3-7 Package Diagram of Form encapsulation 4.数据访问包 数据访问的职责: (1)数据处理方法。 数据访问包图展开如图 3-8 所示: 数数据据对对象象 表单封装数据 功能实现

21、图 3-8 数据访问包图展开 Fig3-8 Package Diagram of Data access 数据访问包包含的类见图 3-9: +读取() +写入() -数据库连接 数数据据库库访访问问类类 +开始业务() +提交业务() 数数据据库库连连接接类类 图 3-9 数据访问类图 Fig3-9Class Diagram of Data Access 对于每一个业务处理中需要持久化操作的对象都可以对应为一个数据库访问对象, 在很多业务处理中需要请求多个数据库访问对象来进行数据的读写操作,而这些操作又 必须在同一个事务中,这时需要用同一个数据库连接对象来进行统一的事务处理。这里 的数据库连接

22、类的创建用到了单件(Singleton)模式,保证一个类仅有一个实例,一个客 户在同一时刻只能用一个数据库连接对象。 5.权限管理包 权限管理的主要职责是: (1)验证请求者的请求权限。 (2)提供请求者的权限列表。 权限管理包图展开如图3-10所示: 权权限限管管理理 验证请求者的请求权限 提供请求者的权限列表 图 3-10 权限管理包图展开 Fig3-10 Package Diagram of Access Authorization 权限管理包包含的类见图 3-11: +验证业务() +获取业务列表() -操作对象 管管理理类类 +登录() +退出() -管理员代码 -管理员名称 管管理

23、理员员类类 图 3-11 权限管理类图 Fig3-11 Class Diagram of Access Authorization 3.33.3 系统架构类图系统架构类图 将包图展开,得到类图,它是架构的静态结构图,表达了各个类之间的静态联系。银行 网站的系统架构类图如下图 3-12 所示。 +数据验证() +业务处理() -输入输出元素 -业务代理对象 用用户户界界面面类类 输输入入界界面面输输出出界界面面 +业务处理() -管理对象 -业务对象 业业务务代代理理类类 +业务处理() -数据库连接 -数据库访问 业业务务逻逻辑辑类类 +读取() +写入() -数据库连接 数数据据库库访访问问

24、类类 +开始业务() +提交业务() 数数据据库库连连接接类类 +验证业务() +获取业务列表() -操作对象 管管理理类类 +登录() +退出() -管理员代码 -管理员名称 管管理理员员类类 图 3-12 系统架构类图 Fig3-12 Class Diagram of System Architecture 4 系统详细设计系统详细设计 4.14.1 业务逻辑对象类设计业务逻辑对象类设计 4.1.14.1.1 发现业务逻辑类发现业务逻辑类 本小节的主要任务是对系统架构类图中的业务逻辑类进行设计,由系统分析中的 Use Case 交互图我们可以发现业务逻辑类包括在线转帐类,网络消费刷卡,查询

25、支出明细。 根据 Use Case 交互图中的消息找到对象类相应的方法。 4.1.24.1.2 业务逻辑对象类图业务逻辑对象类图 系统业务逻辑对象类图如下图 4-1 所示。 +管理员编号get() +管理员编号set() +管理员名get() +管理员名名set() +管理员密码get() +管理员密码set() -编号 -用户名 -密码 管管理理员员 +用户编号get() +用户编号set() +用户名get() +用户名set() +用户密码get() +用户密码set() +类型get() +类型set() -用户编号 -用户名 -用户密码 -类型 用用户户 +编号get() +编号se

26、t() +范围get() +范围set() +名称get() +名称set() +卡号get() +卡号set() -编号 -范围 -名称 -卡号 银银行行卡卡 +编码get() +编码set() +管理名get() +管理名set() +密码get() +密码set() -编码 -管理名 -密码 管管理理日日志志 +编号get() +编号set() +真实姓名get() +真实姓名set() +性别get() +性别set() +出生日期get() +出生日期set() +问题get() +问题set() -编号 -真实姓名 -性别 -出生日期 -问题 注注册册信信息息 n 1 n 1 1

27、n n 1 1 1 图 4-1 客户对象类图 Fig4-1 Class Diagram clientele 4.24.2 系统交互图系统交互图 4.2.14.2.1 系统架构类交互图系统架构类交互图 系统架构类的工作流程: 1.用户界面对象在接收了用户的输入请求后,向业务代理对象发送处理请求。 2.业务代理对象接收到请求后,向权限管理对象发送验证权限请求。 3.权限管理对象验证权限后将验证结果返回给业务代理对象。 4.业务代理对象根据验证结果进行以下处理:对于不符合权限的请求则返回提示信息; 对于符合权限的请求,则将请求转发给业务对象。 5.业务对象进行业务处理。对于业务处理中的数据持久化操作

28、,通过访问数据库访问对 象进行操作,期间的任何异常都交给异常处理对象处理。最后返回处理结果信息给业 务代理对象。 6.业务代理对象将处理结果信息返回给用户界面。 系统架构类的交互图如图 4-2 所示: 4.2.24.2.2 活动者与模块间的交互活动者与模块间的交互 与电子交易模块进行交互的活动者(角色)主要包括客户和银行管理者。 客户和银行管理者与电子交易模块的交互图如下图 4-3 和图 4-4 所示: 用户界面类业务代理类权限管理类业务逻辑类数据访问类 处理结果显示 处理结果显示 请求业务处理类 验证权限 验证结果 权限符合请求业务处理 读取 业务逻辑 写入 权限不附 图 4-2 系统架构类

29、的交互图 Fig4-2 Interactive Diagram of System Architecture Class 图 4-3 银行管理员与客户交互图 Fig 4-3 Bank manager and customer interaction diagram 下面对客户、客户与客户之间活动的情况进行动态建模,由于篇幅限制,在此仅以 客户与电子交易模块中的转帐管理进行时序图、协作图、状态图和活动图的建模。 转帐管理主要涉及: 1根据客户进行转帐生成转帐信息,在转帐之前可以修改转帐金额,转帐状态为 未完成。在转出金额之后,转帐完成。 2提供金额的查询功能(按帐号、转帐时间、客户名称、等查询)

30、 。 客户进行转帐的时序图如下图 4-4 所示。 客户 转帐转帐帐号 输入用户和密码 提交转帐信息 生成转帐命令提交转帐信息 验证结果 提示验证结果 提示转帐成功 登录 图 4-4 客户进行转帐的时序图 Fig 4-4 customers transfer timing diagram 4.2.34.2.3 系统协作图系统协作图 交互图用来说明系统如何实现一个用例或用例中的一个特殊场景。UML 提供两类交 互图:时序图和协作图。时序图按时间顺序描述系统元素之间的交互;协作图则按照时 间和空间顺序来描述系统元素之间的交互。 根据上节描述的客户创建转帐的时序图,给出客户创建转帐协作图如下图 4-5

31、 所示。 4.2.44.2.4 系统状态图系统状态图 状态图是通过类对对象的生命周期建立模型来描述对象随时间变化的动态行为。状 态图显示了一个状态机,它基本上是一个状态机中的元素的一个投影,也就意味着状态 图包括状态机的所有特性。 在电子交易模块中,主要有创建转帐金额、修改金额、查询余额同 3 种状态,这三 种状态完成过程非常相似,所以下面仅给出客户创建转帐金额的状态图如下图 4-6 所示。 登录 转帐信息验证转帐金额生成 图 4-5 客户创建转帐协作图 Fig 4-5 transfer customers to create collaborative plans 登录系统 登录成功页面 转

32、帐金额转入帐号状态 数据更新 用户和密码错误 输入用户和密码 正确 提交客户转帐信息 添加数据库提交客户转帐请求 转帐信息不完整 图 4-6 客户转帐状态图 Fig 4-6 Client transfer state diagram 4.2.54.2.5 系统活动图系统活动图 活动图是描述活动是如何协同工作的。当一个操作必须完成一系列事情,而又无法 确定以什么样的顺序来完成这些事情时,活动图可以更清晰地描述这些事情。在电子交 易模块中,主要涉及客户的活动。 客户首先登录系统,然后查看客户账户信息,根据需要生成转账;还可以对转帐的 金额进行修改;同时可以查询当前金额等活动。完成活动后退出系统,下

33、面给客户的活 动图,如下图 4-7 所示。 登录系统 查看金额 转帐金额生成余额查询转帐金额修改 转帐余额 修改金额 退出电子交易 否 否 是 是 转帐金额 是否正 是否转帐 图 4-7 客户在电子交易模块的活动图 Fig 4-7Customers in the electronic trading module activity diagram 4.34.3 系统模块设计系统模块设计 4.3.14.3.1 登陆登陆 在用户登录界面,在用户名对应的文本框中输入用户名,在密码对应的文本框中输 入密码,如果用户名和密码同时与数据库中的用户名和密码相对应,点击“确定”后进 入系统的主界面。如果输入的

34、信息不正确,则给出提示。 输入:用户名和密码。 处理:校检字符的有效性。用户要登录本系统需要提供用户名和密码,在这里就是 要检验用户是否满足输入的要求,即检验用户名和密码文本框是否为空,若为空,则提 示用户输入用户名和密码。检验用户名是否存在或密码是否正确,即是否存在用户输入 的用户名,并且密码是否正确。 输出:登录成功,进入用户的系统使用资源页面,不成功则显示错误信息页面。 流程图如图 4-8 所示: 用户登陆 输入用户名和密 码 验证密码是 否正确 返回首页 登陆成功 图 4-8 登陆流程图 Fig 4-8Landing flowchart 4.3.24.3.2 注册用户注册用户 输入:用

35、户的用户名、姓名,密码、身份证、性别、年龄、生日。 处理:添加会员信息。在这里可以添加会员。添加信息有:用户的户名、姓名,密 码、身份证、性别、年龄、生日。 输出:添加成功,提示成功信息,不成功则显示错误的信息页面。 流程图如图 4-9 所示: 图 4-9 注册用户流程图 Fig 4-9 Flow chart of registered users 4.44.4 数据库设计数据库设计 关系型数据库是目前应用最广泛的数据库。既然是面向对象系统设计,数据库设计 当然也要是面向对象的。现在要考虑如何对类进行持久化操作,即如何将对象类映射到 关系数据库的二维表。目前可以采用数据库建模工具来实现,象Po

36、werDesigner、Rose 等。 帐号卡号密码开户时间 用户编号 密码性别 联系电话 4.4.14.4.1 ERER 图图 1.帐户实体 E-R 图如图 4-10 所示: 图 4-10 账户实体 ER 图 Fig 4-10 Account entity E-R diagram 2. 操作员实体 E-R 图如图 4-11 所示: 图 4-11 操作员实体 ER 图 Fig 4-11 Operator E-R diagram entities 3客户部分功能 E-R 图如图 4-12 所示: 帐户实体 操作员实体 1 客户 管理员 查询余额 系统信息管理 用户注册管理 查询用户交易 转帐 修

37、改详细资料 修改密码 转帐收入明细 查询支出明细 模拟消费 管理 n 图 4-12 客户部分功能 E-R 图 Fig 4-12 Client functional ER diagram 4.4.24.4.2 物理表结构图物理表结构图 将电子交易 ER 模型中的实体转换为物理表,得到物理表结构如下: 设计表“admin” (管理员表) 表 4-1(Table 4-1) 列名数据类型长度是否主键描述 IdInt4 是编号 UsernameNvarchar50 否用户名 PasswordNvarchar50 否密码 CreattimeDatetime8 否创建时间 FlagInt4 否标记 Logi

38、ntimesInt4 否登录时间 QuanxianNvarchar1000 否权限 设计表“system” (系统表) 表 4-2(Table 4-2) 列名数据类型长度是否主键描述 IdInt4 是编号 SitenameNvarchar100 否地址名 KeywordNvarchar500 否关键字 DescriptionNvarchar500 否种类 EmailNvarchar100 否邮箱 UpInt4 否返回 设计表“member” (成员表) 表 4-3(Table 4-3) 列名数据类型长度是否主键描述 IdInt4 是编号 Usernamenvarchar50 否用户名 Pass

39、wordNvarchar100 否密码 TypeNvarchar50 否类型 LogintimesInt4 否注册时间 LasttimeDatetime8 否最终时间 LastipNvarchar50 否最终地址 设计表“card”(银行卡表) 表 4-4(Table4-4) 列名数据类型长度允许空描述 IdInt4 是编号 TypeVarchar50 否范围 TitleVarchar50 否名称 NumFloat8 否卡号 AddtimeDatetime8 否添加时间 UidInt4 否用户编码 设计表“bank” (银行表) 表 4-5(Table4-5) 列名数据类型长度是否主键描述 I

40、dInt4 是编号 UidInt4 否用户编码 CunVarchar50 否存入 AddtimeDatatime8 否添加时间 设计表“pemember” (注册信息表) 表 4-6(Table4-6) 列名数据类型长度是否主键描述 IdInt4 是编号 RealnameNvarchar100 否真实姓名 SexNvarchar50 否性别 BirNvarchar50 否出生日期 ShengNvarchar50 否省份 CityNvarchar50 否城市 TelphoneNvarchar50 否电话 EmailNvarchar50 否邮箱 QuestionNvarchar50 否问题 Ans

41、werNvarchar100 否答案 设计表“adminlog” (管理日志表) 表 4-7(Table4-7) 列名数据类型长度是否主键描述 IdInt4 是编码 UsernameNvarchar50 否管理名 PasswordNvarchar50 否密码 LogintimeDatetime8 否登录时间 LoginipNvarchar50 否登录地址 4.54.5 开发环境的选择开发环境的选择 4.5.14.5.1 系统开发工具系统开发工具 本系统采用 VisualStuido2005 作为系统开发工具。Visual Studio 是微软公司推出 的开发环境,是目前最流行的 Windows

42、 平台应用程序开发环境。使用 Visual Studio 2005, 专业开发人员能够:使用改进后的可视化设计工具、编程语言和代码编辑器,享 受高效率的开发环境 ,在统一的开发环境中开发并调试多层次的服务器应用程序 使用 集成的可视化数据库设计和报告工具,创建 SQL Server 2005 解决方案 4.5.24.5.2 数据库的选择数据库的选择 SQL Server2000 是一个具备完全 Web 支持的数据库产品,其特点如下: 真正的客户机/服务器体系结构。 1图形化用户界面,使系统管理和数据库管理更加直观、简单。 丰富的编程接口工具,为用户进行程序设计提供了更大的选择余地 2SQL S

43、erver 与 Windows NT 完全集成,利用了 NT 的许多功能,如发送和接受消息, 管理登录安全性等。SQL Server 也可以很好地与 Microsoft BackOffice 产品集成。 3很好的伸缩性,可跨越从运行 Windows 95/98 的膝上型电脑 Windows 2000 的大 型多处理器等多种平台使用。 4对 Web 技术的支持,使用户能够很容易地将数据库中的数据发布到 Web 页面上。 5SQL Server 提供数据仓库功能,这个功能只在 Oracle 和其他更昂贵的 DBMS 中才 有。 5 编码编码 5.15.1 概述开发工具及编程脚本概述开发工具及编程脚

44、本 5.1.15.1.1 JSPJSP 技术技术 JSP 是由 Sun 微系统公司于 1999 年 6 月推出的一项技术,是基于 JavaServlet 以及 整个 Java 体系的 Web 开发技术,利用这一技术可以建立先进、安全和跨平台的动态网站。 JSP 技术在多个方面加速了动态 Web 页面的开发。 与微软公司的 ASP 技术相比,JSP 具有如下优点: (1) 开放的技术:JSP 技术基于平台和服务器的相互独立,技术支持来自广泛的、专 门的、各种工具包,有服务器的组件和数据库产品开发商提供。相比之下,ASP 技术主要 依赖 MICROSOFT 支持。 (2) 平台和服务器的独立性:J

45、SP 编写的代码可运行在任何符合 JAVA 语法结构的环 境中。这样 JSP 就能够运行在多种 WEB 服务器上并支持来自多家开发商提供的各种工具 包。 (3) 开放的开发过程,开放的源码:自 1995 年以来,SUN 用开放过程方法同国际 JAVA 组织合作开发和修改 JAVA 技术和规范。 (4) JSP 标记可扩充性:JSP 技术能够为开发者扩展 JSP 标记,充分利用与 XML 兼容 的标记技术强大的功能,大大减少对脚本语言的依赖。 (5)JSP 跨平台的可重用性:JSP 组件(EJB,JavaBean 或定制的 JSP 标记)都是跨平 台可重用的。 5.1.25.1.2 JavaBe

46、anJavaBean 技术技术 JSP 作为一个很好的动态网站开发语言得到了越来越广泛的应用,在各类 JSP 应用程 序中,JSP + JavaBean 的组合成为了一种事实上最常见的 JSP 程序的标准. JavaBean 是 描述 Java 的软件组件模型,有点类似于 Microsoft 的 COM 组件概念。在 Java 模型中, 通过 JavaBean 可以无限扩充 Java 程序的功能,通过 JavaBean 的组合可以快速的生成新 的应用程序。对于程序员来说,最好的一点就是 JavaBean 可以实现代码的重复利用,另 外对于程序的易维护性等等也有很重大的意义。JavaBean 通

47、过 Java 虚拟机(Java Virtual Machine)可以得到正确的执行,具有平台无关性。 一个 JavaBean 有三个部分组成: 1) 属性(Property) Bean 的属性就是对象的属性,但提供了属性读取和设置的接口支持。例如一个时钟 Bean 可以有时区和镇铃属性,日历 Bean 可以有年份和月份属性。每个属性通常遵守简单 的方法命名规则。这样可以很方便的找出 Bean 提供的属性,然后查询属性值或改变属性 值,对 Bean 进行操作。 2) 方法(Method) 由于 Bean 本身是 Java 对象,调用这个对象的方法是与其交互作用的唯一途径。 JavaBean 严格

48、遵守面向对象的类设计逻辑,不让外界访问其任何实例字段(没有 Public 字段) 。这样,方法调用的是接触 Bean 的唯一途径。 3) 事件(Event) Bean 与其他软件组件交流信息的主要方式是发送和接收事件。这与对象之间通过消 息通信类似。 JavaBean 传统的应用在于可视化的领域,如 AWT 下的应用。自从 JSP 诞生后, JavaBean 更多的应用在非可视化领域,在服务器端应用方面表现出来了越来越强的生命 力。利用非可视化 JavaBean, 来封装事务逻辑、数据库操作等等,可以很好地实现业务 逻辑和前台程序(如 JSP)的分离,使得系统具有更好的健壮性和灵活性。 5.1

49、.35.1.3 JDBCJDBC 技术技术 JDBC 是 Java 的开发者Sun 的 JavaSoft 公司制定的 Java 数据库连接 JavaDataBaseConnectivity 技术的简称,是为各种常用数据库提供无缝联接的技术。 JDBC 在 Web 和 Internet 应用程序中的作用和 ODBC 在 Windows 系列平台应用程序中的作 用类似。JDBC 有一个非常独特的动态连接结构,它使得系统模块化。使用 JDBC 来完成对 数据库的访问包括以下四个主要组件:Java 的应用程序、JDBC 驱动器管理器、驱动器和 数据源。简单地说,JDBC 能完成下列三件事: (1)同一

50、个数据库建立连接; (2)向数据库发送 SQL 语句; (3)处理数据库返回的结果。 JDBC 是一种可用于执行 SQL 语句的 JavaAPI(ApplicationProgrammingInterface, 应用程序设计接口) 。它由一些 Java 语言写的类、界面组成。JDBC 给数据库应用开发人 员、数据库前台工具开发人员提供了一种标准的应用程序设计接口,使开发人员可以用 纯 Java 语言编写完整的数据库应用程序。 通过使用 JDBC,开发人员可以很方便地将 SQL 语句传送给几乎任何一种数据库。也 就是说,开发人员可以不必写一个程序访问 Sybase,写另一个程序访问 Oracle

51、,再写一 个程序访问 Microsoft 的 SQLServer。用 JDBC 写的程序能够自动地将 SQL 语句传送给相 应的数据库管理系统(DBMS) 。不但如此,使用 Java 编写的应用程序可以在任何支持 Java 的平台上运行,不必在不同的平台上编写不同的应用。Java 和 JDBC 的结合可以让 开发人员在开发数据库应用时真正实现“WriteOnce,RunEverywhere!” Java 具有健壮、安全、易用等特性,而且支持自动网上下载,是一种很好的与数据 库线连接而使用的编程语言。它所需要的是 Java 应用如何同各种各样的数据库连接, JDBC 正是实现这种连接的关键。 J

52、DBC 扩展了 Java 的能力,如使用 Java 和 JDBCAPI 就可以公布一个 Web 页,页中带 有能访问远端数据库的 Applet。或者企业可以通过 JDBC 让全部的职工(他们可以使用不 同的操作系统,如 Windwos,Machintosh 或 UNIX)在 Intranet 上连接到几个全球数据库 上,而这几个全球数据库可以是不相同的。 5.1.45.1.4 用用 JDBCJDBC 访问数据库访问数据库 所有的数据库的对象和方法都在 java.sql.* 里面,所以首先要 import java.sql.*,要 想连接数据库,首先要将驱动程序调入。 Class.forName

53、(sun.jdbc.odbc.JdbcOdbcDriver);这是 JDBC-ODBC 的驱动程序。 要想连接一个指定的数据库,必须创建 Connection 类的一个实例。 String url = jdbc:odbc:Grocery prices; Connection con = DriverManager.getConnection(url); 注意在此用到的数据库名称是在 ODBC 设置控制面板中输入的数据资源名。URL 语法 对于不同类型的数据库会很不一样。 语法是这样的: jdbc:subprotocol:subname 开头 都是 JDBC,后面是子协议,然后是 ODBC 名称

54、。 若要使用纯 JDBC 驱动程序,必须安装第三方软件提供的驱动程序,一般在数据库的 官方网站上可以找到这里不做讨论。 本系统采用 JDBC-ODBC 的驱动程序连接数据库,并使用 JavaBean 组件,有效的避免 了代码的重复,具体过程如下: package exam; import java.sql.*; public class ExamBean String strDBDriver=sun.jdbc.odbc.JdbcOdbcDriver;/JDBC-ODBC 驱动程 序 String strDBUrl=jdbc:odbc:exam; private Connection conn=

55、null; private Statement stmt=null; ResultSet rs=null; / public ExamBean() try Class.forName(strDBDriver); / catch(java.lang.ClassNotFoundException e) System.err.println(exam():+e.getMessage(); / public ResultSet executeQuery(String sql) rs=null; try conn=DriverManager.getConnection(strDBDriver);/创建数

56、据库连接对 象 stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UP DATABLE);/支持数据回滚 rs=stmt.executeQuery(sql); catch(SQLException ex) System.err.println(aq.executeQuery:+ex.getMessage(); return rs; / public void executeUpdate(String sql) stmt=null; try conn=DriverManager.getConnec

57、tion(strDBDriver); stmt=conn.createStatement(); stmt.executeUpdate(sql); stmt.close(); catch(SQLException ex) System.err.println(aq.executeQuery:+ex.getMessage(); / public void closeStmt() try stmt.close(); catch(SQLException e) e.printStackTrace(); public void closeConn() try conn.close(); catch(SQ

58、LException e) e.printStackTrace(); 5.25.2 脚本习惯说明脚本习惯说明 无论是哪一种 JSP 实现,在一定 的阶段,它们的某些版本都会出现给系统带来危险 的安全隐患,即使 JSP 开发者遵从了安全编程惯例也无济于事。例如,在 Allai re 的 JRun 的一个版本中,如果请求 URL 包含字符串“.js p%00”作为 JSP 脚本扩展名的一部 分,服务器不会忽略 nul l 字节,它会把页面视为一个静态的非 JSP 页面之类的东西。 这样 ,服务器会请求操作系统打开该页面,而这时 null 字节却被忽略 ,结果提供给用 户的是 JSP 页面的源代码而

59、不是页面的执行结果。 这里的骗局在于,%25 是 URL 编码的“%” ,而 70 是“p”的十 六进制值。Web 服务 器不会调用 JSP 处理器(因为 URL 没有以 “.jsp”结尾) ,但静态文件处理器会设法把 URL 映射到正确 的文件名字(再一次解码 URL) 。 另外,许多 Web 服务器和 JSP 实现都带有示 范脚本,这些示范脚本常常包含安全隐 患。在把服务器部署到一个不 无恶意的环境(即 Internet)之前,禁止对所有这些脚本 的 访问有利于安全。 6 系统测试系统测试 6.16.1程序的测试程序的测试 6.16.11 1 测试原则及测试方法概述测试原则及测试方法概述

60、表 6-1 测试用例 测试用例描述 操作过程及数据预期结果 用例 类别 对于客户登录页面输入 正常值进行测试 进入“客户登录”界面,分别在“用户名” 、 “密码”输入正常值,然后进行“登录” 登录成功,显示正常信 息。 功能 点 对于管理员页面输入正 常值进行测试 进入“管理员登陆”界面,分别在“用户名” 、 “密码”输入正常值,然后进行“登录” 登录成功,显示正常信 息。 功能 点 对“修改密码”修改进 行测试 在客户登录页面正确输入用户名和密码,进 入到客户页面-密码修改,输入“新密码”和 “确认密码” 显示密码修改成功 界面 校验 对管理员登陆页面”密 码修改”和”添加管理 员”进行测试

温馨提示

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

评论

0/150

提交评论