《基于J2EE框架的电子商务在线支付平台的设计与实现毕业论文.doc》由会员分享,可在线阅读,更多相关《基于J2EE框架的电子商务在线支付平台的设计与实现毕业论文.doc(39页珍藏版)》请在三一办公上搜索。
1、 学号 200532580267 密级_ 武汉大学本科毕业论文 基于J2EE框架的电子商务在线支付平台的设计与实现院(系)名 称:国际软件学院专 业 名 称 :软件工程学 生 姓 名 :张学程 指 导 教 师 :江聪世 廖广志 二九年五月BACHELORS DEGREE THESIS OF WUHAN UNIVERSITYThe Design and Implementation of E-business Online Payment System Based on J2EECollege :International school of softwareSubject :Software
2、EngineeringName :Xuecheng ZhangDirected by :Congshi Jiang Guangzhi LiaoMay 2009郑 重 声 明本人呈交的学位论文,是在导师的指导下,独立进行研究工作所取得的成果,所有数据、图片资料真实可靠。尽我所知,除文中已经注明引用的内容外,本学位论文的研究成果不包含他人享有著作权的内容。对本论文所涉及的研究工作做出贡献的其他个人和集体,均已在文中以明确的方式标明。本学位论文的知识产权归属于培养单位。本人签名: 日期: 摘 要 伴随着电子商务的快速发展,网上支付业务也逐步兴起。作为电子商务活动的重要环节,在线支付网上支付的参与,可
3、以使电子商务由网上信息搜索和协议草签的阶段,转入实质性的交易阶段,形成完整的电子商务。通过对电子商务支付系统的研究,明确电子商务支付流程以及支付系统功能特点,提供系统的理论研究,设计并实现一个网上支付系统。关键字:电子商务;在线支付;设计;实现ABSTRACT Concomitant with rapid development of e-commerce,online payment transactions grow gradually. As a key link in e-business commerce,online payment makes transactions chang
4、e from papery state to totally online trading. By studying from some online payment systems,we gain a clear idea about e-commercial payment stream and functional behaviours of payment system.So we can provide systemic knowledge about design and implementation of an online payment system.Key words:e-
5、commerce;online payment;design;implement目 录摘 要IABSTRACTII第1章 绪论11.1 研究背景11.2 研究现状及发展趋势11.2.1 研究现状11.2.2发展趋势21.3 项目研究的目的和意义21.3.1研究目的21.3.2研究意义21.4 论文的主要内容31.5 本章小结3第2章 开发技术及开发环境42.1 开发技术42.1.1 J2EE42.1.2 应用框架52.1.3 Struts,Spring,Hibernate62.2 运行环境92.3 本章小结9第3章 系统设计103.1 系统需求分析103.1.1 系统用户特征103.1.2 系
6、统依赖关系103.1.3 系统功能需求113.2 系统模块设计133.2.1 系统结构描述133.2.2 面向客户子系统143.2.3 面向管理者子系统153.2.4 系统管理子系统163.3 本章小结17第4章 数据库设计184.1 数据库需求分析184.2 数据库详细设计194.2.1 关系实体194.2.2 实体关系204.3 本章小结21第5章 子系统实现与验证225.1 系统实现225.1.1 清单查询的实现225.1.2 导出Excel的实现235.1.3 分页功能的实现245.1.4 简单安全控制的实现255.2 系统验证265.2.1 清单查询的验证265.2.2 导出到Exc
7、el的验证265.2.3 分页功能的验证275.2.4 简单安全控制的验证275.3 本章小结28第6章 总结29参考文献30致谢31附录 数据库表的设计说明32第1章 绪论本章将介绍论文的研究背景,研究现状和发展趋势,论文研究的目的与意义以及论文主要内容的介绍。1.1 研究背景随着计算机、网络、信息技术的发展和日益融合,Internet已进入我们生活的各个领域和各个环节,无论是机关、单位还是家庭、个人,都可以通过Internet获取和共享资源信息。在Internet的广阔联系与传统信息技术系统的丰富资源相互结合的背景下,一种相互关联的动态商务活动应运而生-电子商务,这种基于Internet的
8、电子商务给传统的交易方式带来了一场革命。据统计截至2008年底,中国电子商务市场交易额达到24000亿元1,是2004年交易额的5倍。电子商务市场发展如此迅猛,网络交易平台在满足顾客需求的设计上显得尤为重要。对于电子商务交易,解决网上支付是最关键问题之一。如果没有网上支付的参与,电子商务就停留在网上信息搜索和协议草签的阶段,无法进入实质性的交易阶段,因而不能形成完整的电子商务。目前我国消费者网上购物的主要付款方式还是货到付款或事先邮政汇款,这破坏了电子商务的完整性,而且造成很多不必要的麻烦。进行电子商务就是为了方便、提高效率、降低成本,一旦缺少了网上支付,电子商务的很多优势无法体现。此外,我们
9、必须清醒认识到,网上支付的基础环境还有许多的问题是值得我们关注和改善的:网上支付的安全,社会性、体系状况以及网上支付相关的法规等等,都是现在制约网上支付发展的重要因素。网上支付成了我国发展电子商务的瓶颈问题。1.2 研究现状及发展趋势1.2.1 研究现状电子商务于90年代初兴起于美国、加拿大等国,但在直到近几年,电子支付才被人们普遍接受。随着电子商务的发展,各种法规随之健全。两大国际信用卡组织VISA和MasterCard合作制订的安全电子交易(SET)协议定义了一种电子支付过程标准,其目的就是保护万维网上支付卡交易的 每一个环节。而国内,各大城市都处于实验探索阶段。各银行相继推出网上银行业务
10、。信用卡是目前最流行的支付方式,用卡付款代替传统的现金付款已越来越被人们所接受。电子支付为用户提供了很大的方便,目前国内网上支付主要有三种业务形态:银行或银联的电子支付平台;第三方支付服务商的电子支付平台;企业内部自行建设的电子支付平台。1.2.2发展趋势电子商务的一个瓶颈问题就是实现电子化的支付问题。电子化的支付手段的出现已有一段时间,只是应用范围主要在金融机构之间,大企业间和信用卡消费等对交易环境有限制的局部领域2。随着电子商务的广泛应用,因特网上的商品销售额迅猛增长,网上的资金流动已经成为电子商务发展的主要障碍之一,迫切需要金融业提供完善的网上支付中介服务。作为买卖双方交易过程中的“中间
11、桥梁”,第三方支付平台的崛起已是不峥的事实,大浪淘沙后,十大电子支付平台如支付宝,paypal,掌上通等已从中商家中脱颖而出,以其特定的技术优势,细分的服务市场,独特的经营处方,在电子支付市场各显身手,发展迅猛。这不仅带给人们快捷便利的支付服务,还推动电子支付产业链日益成熟,从十大支付平台的创业背景,应用特色,经营现状可以看出,电子支付市场正如朝阳般冉冉升起3。1.3 项目研究的目的和意义1.3.1研究目的本项目的研究主要基于以下几方面考虑:第一,系统了解电子商务支付流程以及存在问题;第二,明确电子商务支付的功能与特点;第三,设计并实现一个电子商务在线支付系统;1.3.2研究意义自九十年代以来
12、,因特网技术的飞速发展正在迅速地改变着人们的生活方式,因特网正在由科学工作者的工具变为普通百姓获取信息、进行交流的场所,而因特网的商业应用则尤为引人注目。全新的电子商务是指贸易活动各环节的电子化,它覆盖了与商务活动有关的所有方面。它突出的标志就是增加贸易机会,降低贸易成本,简化贸易流程,提高贸易效率。伴随着电子商务的快速发展,网上支付业务也逐步兴起。所谓网上支付就是交易过程中的资金转移环节,使货币友有形流动变为无形信用信息在网上流通,消费者可以跨越时间和地域的限制。网上支付的参与,可以使电子商务由网上信息搜索和协议草签的阶段,转入实质性的交易阶段,形成完整的电子商务。本文作者希望通过对电子商务
13、支付系统的研究,明确电子商务支付系统功能特点以及存在的问题,提供系统的理论研究,设计并实现一个网上支付系统。1.4 论文的主要内容以前人的研究为基础,了解并熟悉在线支付的整个流程,架构设计基于J2EE框架的电子商务在线支付平台的架构设计,并实现面向管理者子系统。本文以电子商务网上支付系统的实现过程为主线,分别对各个实现阶段作说明。其中主要包括初期系统技术调研,需求分析,架构设计,界面设计,子系统系统实现及验证测试。首先,确定开发语言,然后去支付宝等网站进行调研,了解在线支付的整个流程,并参照系统简介,分析系统需求,并同时进行知识储备,学习巩固J2EE相关知识,并学习Struts,Spring和
14、Hibernate应用框架。然后,需求分析的基础上,抽象出本系统与其他系统的接口,再设计出本系统内部的接口和函数,界面设计,并设计好数据库。搭建好系统框架,并编码实现面向管理者功能模块,同时进行单元测试,然后集成各个单元模块进行集成测试验证。1.5 本章小结 本章第一节介绍项目的研究背景,随后两节介绍项目的研究现状、发展趋势、目的以及意义所在。最后一节对论文项目的主要内容做了介绍。第2章 开发技术及开发环境本章主要介绍项目的开发技术,开发工具以及环境配置。2.1 开发技术2.1.1 J2EE1. J2EE简介目前,Java 2平台有3个版本,它们是适用于小型设备和智能卡的Java 2平台Mic
15、ro版(Java 2 Platform Micro Edition,J2ME)、适用于桌面系统的Java 2平台标准版(Java 2 Platform Standard Edition,J2SE)、适用于创建服务器应用程序和服务的Java 2平台企业版(Java 2 Platform Enterprise Edition,J2EE)。J2EE是一种利用Java 2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。它是一套不同于传统应用开发的技术架构,包含许多组件,主要可简化且规范应用系统的开发与部署,进而提高可移植性、安全与再用价值。2. J2EE的优势J2EE为搭建具有可伸缩
16、性、灵活性、易维护性的商务系统提供了良好的机制:保留现存的IT资产,由于企业必须适应新的商业需求,利用已有的企业信息系统方面的投资,而不是重新制定全盘方案就变得很重要。这样,一个以渐进的方式建立在已有系统之上的服务器端平台机制是公司所需求的。J2EE架构可以充分利用用户原有的投资。每一个供应商都对现有的客户提供了不用废弃已有投资,进入可移植的J2EE领域的升级途径。由于基于J2EE平台的产品几乎能够在任何操作系统和硬件配置上运行,现有的操作系统和硬件也能被保留使用。 高效的开发,J2EE允许公司把一些通用的、很繁琐的服务端任务交给中间件供应商去完成。这样开发人员可以集中精力在如何创建商业逻辑上
17、,相应地缩短了开发时间。支持异构环境,J2EE能够开发部署在异构环境中的可移植程序。基于J2EE的应用程序不依赖任何特定操作系统、中间件、硬件。因此设计合理的基于J2EE的程序只需开发一次就可部署到各种平台。这在典型的异构企业计算环境中是十分关键的。J2EE标准也允许客户订购与J2EE兼容的第三方的现成的组件,把他们部署到异构环境中,节省了由自己制订整个方案所需的费用。 可伸缩性,企业必须要选择一种服务器端平台,这种平台应能提供极佳的可伸缩性去满足那些在他们系统上进行商业运作的大批新客户。基于J2EE平台的应用程序可被部署到各种操作系统上。例如可被部署到高端UNIX与大型机系统,这种系统单机可
18、支持64至256个处理器(这是NT服务器所望尘莫及的)。J2EE领域的供应商提供了更为广泛的负载平衡策略。能消除系统中的瓶颈,允许多台服务器集成部署。这种部署可达数千个处理器,实现可高度伸缩的系统,满足未来商业应用的需要。 稳定的可用性,一个服务器端平台必须能全天候运转以满足公司客户、合作伙伴的需要。因为Internet是全球化的、无处不在的,即使在夜间按计划停机也可能造成严重损失。若是意外停机,那会有灾难性后果。J2EE部署到可靠的操作环境中,他们支持长期的可用性。一些J2EE部署在WINDOWS环境中,客户也可选择健壮性能更好的操作系统如Sun Solaris、IBM OS/390。最健壮
19、的操作系统可达到99.999%的可用性或每年只需5分钟停机时间。这是实时性很强商业系统理想的选择4。2.1.2 应用框架1.什么是应用框架 Spring框架的设计者Rod Johnson对框架技术的描述是:框架是可重用的、 半成品的应用程序模块,它可以用来产生专门的定制程序。比如Sun 公司的J2EE技术规范和标准其实也就是一个框架体系、Microsoft公司的VS.Net技术平台其实也是一个框架体系5。2.为什么应用框架软件系统发展到今天,已经很复杂了,特别是服务器端软件,涉及到的知识、内容、问题太多。在某些方面使用别人成熟的框架,相当于别人帮你完成一些基础工作,你只需要集中精力完成系统的业
20、务逻辑设计。而且框架一般是成熟稳健的,可以处理系统中的很多细节问题,比如,事物处理,安全性,数据流控制等问题。还有框架一般都经过很多人使用,结构和扩展性都很好,而且它是不断升级的,你可以直接享受别人升级代码带来的好处。 软件工程中。强调一个很重要的概念:高内聚,低耦合。为了实现“高内聚、低耦合”,把问题划分开来,对软件进行分层,各个解决,易于控制,易于延展,易于分配资源。框架一般处在低层应用平台(如J2EE)和高层业务逻辑之间的中间层。2.1.3 Struts,Spring,Hibernate本项目中采用的是Struts2.0+Spring2.5 +Hibernate3.0的整合:1Strut
21、s框架-基于MVC的Web应用经典框架MVC模式,Model-View-Control的缩写,模型(Model)封装数据和所有基于对这些数据的操作,视图(View)封装对数据的显示,即用户界面。控制(Control)封装外界作用于模型的操作和对数据流向的控制等。MVC模式将业务处理与显示分离,运用MVC的应用程序的三个部件是相互对立,改变其中一个不会影响其它两个,所以依据这种设计思想你能构造良好的低偶合的构件。Struts最早是作为Apache Jakarta项目的组成部分,项目的创立者希望通过对该项目的研究,改进和提高JavaServer Pages 、Servlet、标签库以及面向对象的技
22、术水准。它采用MVC模式,能够很好地帮助Java开发者利用J2EE开发Web应用。和其他的java架构一样,Struts 也是面向对象设计,将MVC模式“分离显示逻辑和业务逻辑”的能力发挥得淋漓尽致。利用Struts框架进行Web应用系统开发时,不仅从整体上能够减轻构建J2EE Web应用系统项目的设计和开发实现的负担,也为Web应用系统提供国际化、异常处理和数据库连接池等方面的技术支持。开发者使用Struts 之类的框架是为了隐藏诸如对HTTP、CGI以及JSP之类技术应用的烦琐技术实现细节。“填空”式地开发实现应用系统。Struts 框架本身实现了MVC模式,也发展了MVC模式;应用系统的
23、开发者可以采用“填空”式的方式来进行开发,因为Struts 框架将一个标准的MVC的具体实现中的各个组件部分已经划分清晰和组件分离了。另外Struts框架还把标准的Servlet、JSP、自定义标签(TagLib)和信息资源(Message Resources)等整合到一个统一的应用框架中,开发人员利用该应用框架进行应用系统的开发时,不用再自己设计和编码实现MVC模式中的各个层的核心组件和应用系统的体系架构的正确性,因此能够节省开发时间和降低实现的风险。降低应用系统中的各个层组件之间的耦合度。采用Struts框架技术,可以加快应用系统的开发速度、增强应用系统的灵活性、降低应用系统中的各个层组件
24、之间的耦合度。因为它将应用系统中的表示层和控制层彼此松散地耦合在一起,这主要得益于采用struts-config.xml配置文件进行各个组件的配置管理;这样的设计方案也易于对系统的维护和功能扩展。 各个开发人员之间的分工明确。 由于基于Struts框架技术实现的Web应用系统中的控制层、业务层与表示层三者之间各自相互分离,所以这样的设计方案能够使应用系统中的表示层的开发者(网页设计人员)与后台业务功能具体实现的Java程序员各司其职和分工明确,并且可以并行开发,提高开发效率。 简化表示层页面的设计和实现。 在Struts框架中,应用系统的开发者可以在表示层的页面中大量地使用Struts框架中所
25、提供的定制标签库技术,以实现在页面中把业务逻辑处理的功能实现代码分离开。从而简化系统中表示层的设计和开发实现,进而避免在页面中出现大量的Java脚本代码6。本项目采用的是Struts 2.0 - 号称全新的框架,但这仅仅是相对Struts 1而言。Struts 2 与Struts 1相比,确实有很多革命性的改进,但它并不是新发布的新框架,而是在另一个赫赫有名的框架:WebWork基础上发展起来的。从某种程度上来讲,Struts2没有继承Struts 1的血统,而是继承WebWork的血统。或者说,WebWork衍生出了Struts2,而不是Struts 1衍生了Struts2。因为Struts
26、2是WebWork的升级,而不是一个全新的框架,稳定性、性能等各方面都有很好的保证:而且吸收了Struts 1和WebWork两者的优势,是一个非常值得学习的框架。2Spring框架Spring是一个开源框架,它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。传统J2EE应用的开发效率低,应用服务器厂商对各种技术的支持并没有真正统一,导致J2EE的应用没有真正实现Wri
27、te Once及Run Anywhere的承诺。Spring作为开源的中间件,独立于各种应用服务器,甚至无须应用服务器的支持,也能提供应用服务器的功能,如声明式事务等。Spring致力于J2EE应用的各层的解决方案,而不是仅仅专注于某一层的方案。可以说Spring是企业应用开发的“一站式”选择,并贯穿表现层、业务层及持久层。然而,Spring并不想取代那些已有的框架,而与它们无缝地整合。简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。Spring提供的控制反转和面向切面编程插件式架构降低了应用组件之间的依赖性。借助于XML定义文件,开发者能够在运行时连接不
28、同的应用组件,这对于单元测试特别有用,特别是那些需要针对不同客户实施不同的配置而言7。轻量从大小与开销两方面而言Spring都是轻量的。完整的Spring框架可以在一个大小只有1MB多的JAR文件里发布。并且Spring所需的处理开销也是微不足道的。此外,Spring是非侵入式的、典型地,Spring应用中的对象不依赖于Spring的特定类。 控制反转Spring通过一种称作控制反转(IoC)的技术促进了低耦合。当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。你可以认为IoC与JNDI相反不是对象从容器中查找依赖,而是容器在对象初始化时不
29、等对象请求就主动将依赖传递给它。面向切面Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计和事务管理)进行内聚性的开发。应用对象只实现它们应该做的完成业务逻辑仅此而已。它们并不负责(甚至是意识)其它的系统级关注点,例如日志或事务支持。 容器Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个bean如何被创建基于一个可配置原型(prototype),你的bean可以创建一个单独的实例或者每次需要时都生成一个新的实例以及它们是如何相互关联的。然而,Spring不应该被混同于传统的重量级的EJB容器,它们经常是庞大与笨
30、重的,难以使用。 框架Spring可以将简单的组件配置、组合成为复杂的应用。在Spring中,应用对象被声明式地组合,典型地是在一个XML文件里。Spring也提供了很多基础功能(事务管理、持久化框架集成等等),将应用逻辑的开发留给了你8。 Hibernate框架Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在
31、应用EJB的J2EE架构中取代CMP,完成数据持久化的重任9。2.2 开发环境操作系统::Microsoft Windows XP Professional SP2数据库:MySQL 5.0 服务器:Apache Tomcat 6.0开发平台:Myeclipse 7.0建模设计工具:Star UML,Power Designer2.3 本章小结本章第一小节主要对项目所用的J2EE技术以及基于J2EE的开源应用框架Struts,Spring,Hibernate作介绍;并随后在第二小节说明项目所用的软硬件配置环境。第3章 系统设计本章主要介绍项目的架构设计过程,包括需求分析,系统设计以及界面设计三
32、部分。3.1 系统需求分析电子商务网上支付系统的用户主要为为消费者和商家提供一个安全、快捷的网上交易平台。3.1.1 系统用户特征电子商务网上支付系统包含面向客户,面向管理者和系统管理三部分,根据功能分布特点,将系统用户划分为议以下三种:1客户展 使用网上支付系统进行付款、收款、账户和交易管理的客户。2管理者 使用后台管理系统进行报表清单查询。3超级管理员 负责对管理者进行增、删、维护。3.1.2 系统依赖关系 在原始设计上,本系统不是独立的,与银行卡系统和网上购物系统都有接口进行交互。系统依赖关系如图3.1所示。账户充值时,通过银行卡系统接口实现对账户进行充值。为了更具有商业价值,应该提供各
33、大大型网站的接口,方便用户适用本系统进行支付。 图3.1 系统上下文依赖关系示意图 3.1.3 系统功能需求这里只作需求的概括描述,具体需求规约可参见软件需求规格说明书。1需求描述客户模块用户注册:注册并邮件确认帐号。用户登录:输入用户名和密码以及验证码登入。账户管理:包括查询账户,我的账户以及账户充值。我的账户包括个人信息、账户信息,安全信息。网上支付:包括担保交易付款,即时到帐付款。网上收款:包括担保交易收款,即时到帐收款。交易管理:包括个人交易查询,交易处理和交易地址管理。个人交易包括买入交易,卖出交易,买入卖出交易。每种交易分:所有交易,进行中的交易,等待发货的交易,成功的交易,失败的
34、交易,退款的交易,合并付款。交易处理是对查询的交易执行的操作管理模块报表查询:包括日报、月报、年报以及某时间段报表查询。系统管理模块管理员用户管理 :包括管理员账户的添加,删除以及维护。 2Use case为了更直观的了解系统需求,通过用户图对系统用户以及每种用户对应的功能直观描述。 本系统的三类用户:客户,管理者,超级管理员,客户与管理者和超级管理员相对独立,其中客户模块用例图如图3.2所示,管理模块以及系统管理总用例图如图3.3所示。图3.2 客户模块用例图而超级管理员是继承自管理者,拥有管理者的所有功能,另外拥有自己特有的功能:对管理者的增、删、维护操作:图 3.3 管理模块以及系统管理
35、总用例图3.2 系统模块设计3.2.1 系统结构描述本系统按照不同的使用者来划分子系统,分为面向客户子系统,面向管理者子系统,系统管理子系统。其中,面向客户子系统是本系统的核心部分,是本系统存在的意义所在。面向客户子系统:该子系统向网上购物的客户和商家提供网上付款和收款的功能,有担保交易和即时到账交易的选择,同时提供个人账户管理和交易管理等功能,个人账户管理可以进行账户信息的修改,如用户名、密码的修改,网上充值,交易管理可以对相应交易进行处理,修改交易地址等。保障电子商务的正常进行。面向管理者子系统:该子系统向管理者提供对交易报表查询以及交易总额查询,是管理者对使用该系统进行交易的资金流动情况
36、有详细和总体的了解,以便做出相应调整和决策。系统管理子系统:该子系统主要向超级管理员提供对管理者的增、删以及维护。 3.2.2 面向客户子系统1. 业务流程面向客户子系统从客户注册开始,客户只有通过注册之后才可以登录此系统。账户管理、交易管理、网上付款、收款无先后执行之分,超时需要重新登录。业务流程如图3.4所示。图3.4 面向客户子系统业务流程2模块设计客户通过系统提供的平台进行担保交易和即时到账两种方式的付款和收款、对帐户信息进行查看和修改、对交易的查询和处理等操作。其主要功能与功能描述如表3.1所示。表 3.1 客户管理模块设计功能模块功能描述潜在客户注册在注册页面输入注册信息,邮箱确认
37、激活后才能登陆使用系统客户登陆在登陆页面输入登陆名与密码信息,验证成功则登陆本系统即时到账付款、收款买家付账,资金立即充到卖方的账户担保交易付款、收款买家付账,交易资金先由支付系统保管,买家收到货物以后,资金才付给卖方我的账户查询帐户的个人信息,帐户信息,安全信息修改帐户修改帐户相关信息,包括登录密码帐户充值提供网上银行和支付卡两种方式的充值交易查询按条件查询交易交易处理对查询出的信息进行相应的处理交易地址管理添加修改交易地址退出点击安全退出按钮退出本系统3.2.3 面向管理者子系统1. 业务流程管理者也需要登录并且账号处于激活状态才可以进入管理系统,操作过程如果session超时则需要重新登
38、录。面向管理者子系统业务流程如图3.5所示。图3.5 面向管理者子系统业务流程 2. 模块设计管理者查询注册、充值、交易三种情况的日报表,月报表,年报表,时间段报表,并提供导出到Excel功能。其主要功能与功能描述如表3.2所示。表3.2 面向管理模块设计功能模块功能描述注册用户清单查询根据日、月、年、时间段等条件选择查询注册用户清单充值用户清单查询根据日、月、年、时间段等条件选择查询充值用户清单交易用户清单查询根据日、月、年、时间段等条件选择查询交易用户清单导出Excel表点击导出Excel链接,将数据导出到Excel3.2.4 系统管理子系统1. 业务流程系统管理子系统中,超级管理员可以进
39、行系统管理员的所有操作,另外特有的功能是对普通管理者的增、删、改、查操作。系统管理子系统业务流程如图3.6所示。图3.6 系统管理子系统业务流程系统管理者对管理者进行增、删、改、查等操作。其主要功能与功能描述如表3.2所示。表3.3 系统管理模块功能模块功能描述查询管理者根据查询条件查询出符合条件的管理者增加管理者填写相应信息添加管理者删除管理者根据查询结果选择相应管理者进行删除维护管理者修改管理者密码,权限,邮件等信息报表查询同管理者子系统功能3.3 本章小结本章是主要讨论系统的架构设计。第一节描述系统的需求分析,包括系统的用户特征,系统上下文依赖关系,以及系统功能需求;第二节描述系统的结构
40、描述以及面向客户、面向管理者、系统管理子系统模块的业务流程以及模块设计。第4章 数据库设计本章主要介绍数据库层的设计,包括实体的以及实体之间关系的分析。4.1 数据库需求分析根据系统的需求,初步可以抽象出以下实体:客户基本信息,帐户信息,充值记录信息,交易地址信息,交易记录;管理者信息。可以映射成数据库中对应的表。因交易地址记录中省份和城市有大量重复内容,不满足第二范式,因此分出另一张城市表,因心分出的城市表中省份字段也有大量重复内容,为满足第二范式,因此再分出一张表省份表。本系统数据库设计概念模型中的实体包括客户登录信息,客户基本信息,账户信息,交易地址,充值记录,交易记录,管理者信息,权限
41、信息。它们在数据库中分别对应客户登录信息表,客户基本信息表,账户信息表,交易地址表,充值记录表,交易记录表,管理者信息表和权限信息表:客户信息表表存储客户登录名,登录密码、支付密码以及用户名,openId登录名,状态,证件号(身份证或护照)、电话号码、安全保护问题以及答案、注册日期以及最后登录时间;账户信息表存储客户的可用余额以及冻结资金;激活码表存储客户编号和激活码;交易地址表存储交易的相关信息,包括姓名,通信地址(地区,街道,邮编),联系方式;省份表存储省份编号以及对应省份名称;城市表存储隶属某一省份的城市列表编号和对应名称;充值记录表存储客户充值方式,时间,金额以及银行等信息;交易记录表
42、存储交易的订单号、商品编号、交易相关信息(起始时间、场所、金额、状态、)、买方、卖方、送货方式、备注描述。商品信息表存储商品编号,商品名称,单价,数量,展示网站以及商品介绍;送货信息表存储交易编号,送货方式,邮费承担方,邮费金额以及收货地址;管理者信息表存储管理者的登录名,密码,用户名,权限类型(普通管理员、超级管理员),邮箱,注册时间,状态4.2 数据库详细设计4.2.1 关系实体根据数据库需求分析,确定以下表以及对应的字段:客户信息表(客户ID,客户登录名,openid登录名,登录密码,支付密码,用户名,状态,证件号,证件类型,电话号码,手机号,注册日期,安全问题,安全问题答案,最后登录时
43、间):Customer(CID,userName,openID,userpsd,payPSD,name,enabled,identifyNo, identifyType,phoneNo,mobileNo,registerDate,psdQuestion,psdQAnswer, lastLoginTime)账户信息表(客户ID,可用余额, 冻结资金)Account(CID, availAcc, frozenAcc)激活码表(客户ID,激活码)customer_activate_code(CIDm,activateCode)交易地址表(地址编号,客户ID,姓名,城市编号,街道地址,邮编,电话号码,
44、手机号)adress_list(addID,CID,trueName,cityID,streetAdd,postalNo,phoneNo,mobileNo)省份表(省份编号,中文名称)province(provinceID, provinceName)城市表(城市编号,城市名称,所属省份编号)city(cityID,cityName,provinceID)充值记录表(充值记录ID,客户ID,充值类型,充值金额,充值时间,充值银行)prepaid_rec(dpositRecID,CID,dpositType,dpositSum,dposiTime,dpositBank)交易记录表(交易记录编号,
45、产品ID,交易开始时间,交易结束时间,交易状态,买家ID,卖家id,交易金额,送货方式,备注说明)trade_rec(tradeID,prodID,tradeSTime,tradeETime,tradeState,buyerID,sellerID,tradeSum,deliverType,details)商品信息表(产品编号,产品名称,单价,数量,展示网站,产品介绍)product(proId,proName,unitPrice,quantity,proNet,intro)送货信息表(交易编号,送货方式,邮费承担方,邮费金额,地址记录编号)deliver(tradeID,deliverType,postagePayer,postage,addID)管理者信息表(管理者ID,管理者登录名,密码,管理者类型,电子邮件,创建时间,状态)admin(adminID,adminName,adminPsd,adminType,email,createTime,status)4.2.2 实体关系在上节描述的实体中,激活码表,帐户信息表,充值记录表,帐户信息表,地址信息表,交易记录表均依赖于客户的存在,通过CID外键关联客户信息表cu