




已阅读5页,还剩34页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
学号 200532580267 密级 武汉大学本科毕业论文武汉大学本科毕业论文 基于基于 J2EE 框架的电子商务在线支付平台框架的电子商务在线支付平台 的设计与实现的设计与实现 院 系 名 称 国际软件学院 专 业 名 称 软件工程 学 生 姓 名 张学程 指 导 教 师 江聪世 廖广志 二 九年五月 I BACHELOR S DEGREE THESIS OF WUHAN UNIVERSITY The Design and Implementation of E business Online Payment System Based on J2EE College International school of software Subject Software Engineering Name Xuecheng Zhang Directed by Congshi Jiang Guangzhi Liao May 2009 II 郑郑 重重 声声 明明 本人呈交的学位论文 是在导师的指导下 独立进行研究工作所 取得的成果 所有数据 图片资料真实可靠 尽我所知 除文中已经 注明引用的内容外 本学位论文的研究成果不包含他人享有著作权的 内容 对本论文所涉及的研究工作做出贡献的其他个人和集体 均已 在文中以明确的方式标明 本学位论文的知识产权归属于培养单位 本人签名 日期 摘 要 伴随着电子商务的快速发展 网上支付业务也逐步兴起 作为电子商务活 动的重要环节 在线支付网上支付的参与 可以使电子商务由网上信息搜索和协 议草签的阶段 转入实质性的交易阶段 形成完整的电子商务 通过对电子商务 支付系统的研究 明确电子商务支付流程以及支付系统功能特点 提供系统的理 论研究 设计并实现一个网上支付系统 关键字 电子商务 在线支付 设计 实现 I 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 change 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 commerce online payment design implement II 目目 录录 摘摘 要要 I I ABSTRACTABSTRACT IIII 第第 1 1 章章 绪论绪论 1 1 1 1 研究背景 1 1 2 研究现状及发展趋势 1 1 2 1 研究现状 1 1 2 2 发展趋势 2 1 3 项目研究的目的和意义 2 1 3 1 研究目的 2 1 3 2 研究意义 2 1 4 论文的主要内容 3 1 5 本章小结 3 第第 2 2 章章 开发技术及开发环境开发技术及开发环境 4 4 2 1 开发技术 4 2 1 1 J2EE 4 2 1 2 应用框架 5 2 1 3 Struts Spring Hibernate 6 2 2 运行环境 9 2 3 本章小结 9 第第 3 3 章章 系统设计系统设计 1010 3 1 系统需求分析 10 3 1 1 系统用户特征 10 3 1 2 系统依赖关系 10 3 1 3 系统功能需求 11 3 2 系统模块设计 13 3 2 1 系统结构描述 13 3 2 2 面向客户子系统 14 III 3 2 3 面向管理者子系统 15 3 2 4 系统管理子系统 16 3 3 本章小结 17 第第 4 4 章章 数据库设计数据库设计 1818 4 1 数据库需求分析 18 4 2 数据库详细设计 19 4 2 1 关系实体 19 4 2 2 实体关系 20 4 3 本章小结 21 第第 5 5 章章 子系统实现与验证子系统实现与验证 2222 5 1 系统实现 22 5 1 1 清单查询的实现 22 5 1 2 导出 Excel 的实现 23 5 1 3 分页功能的实现 24 5 1 4 简单安全控制的实现 25 5 2 系统验证 26 5 2 1 清单查询的验证 26 5 2 2 导出到 Excel 的验证 26 5 2 3 分页功能的验证 27 5 2 4 简单安全控制的验证 27 5 3 本章小结 28 第第 6 6 章章 总结总结 2929 参考文献参考文献 3030 致谢致谢 3131 附录附录 数据库表的设计说明数据库表的设计说明 3232 0 第第 1 章章 绪论绪论 本章将介绍论文的研究背景 研究现状和发展趋势 论文研究的目的与意义 以及论文主要内容的介绍 1 1 研究背景研究背景 随着计算机 网络 信息技术的发展和日益融合 Internet 已进入我们生活的 各个领域和各个环节 无论是机关 单位还是家庭 个人 都可以通过 Internet 获取和共享资源信息 在 Internet 的广阔联系与传统信息技术系统的丰富资源相 互结合的背景下 一种相互关联的动态商务活动应运而生 电子商务 这种基于 Internet 的电子商务给传统的交易方式带来了一场革命 据统计截至 2008 年底 中国电子商务市场交易额达到 24000 亿元 1 是 2004 年交易额的 5 倍 电子商务 市场发展如此迅猛 网络交易平台在满足顾客需求的设计上显得尤为重要 对于 电子商务交易 解决网上支付是最关键问题之一 如果没有网上支付的参与 电子 商务就停留在网上信息搜索和协议草签的阶段 无法进入实质性的交易阶段 因而 不能形成完整的电子商务 目前我国消费者网上购物的主要付款方式还是货到付 款或事先邮政汇款 这破坏了电子商务的完整性 而且造成很多不必要的麻烦 进 行电子商务就是为了方便 提高效率 降低成本 一旦缺少了网上支付 电子商务 的很多优势无法体现 此外 我们必须清醒认识到 网上支付的基础环境还有许 多的问题是值得我们关注和改善的 网上支付的安全 社会性 体系状况以及网 上支付相关的法规等等 都是现在制约网上支付发展的重要因素 网上支付成了 我国发展电子商务的瓶颈问题 1 2 研究现状及发展趋势研究现状及发展趋势 1 2 1 研究现状研究现状 电子商务于 90 年代初兴起于美国 加拿大等国 但在直到近几年 电子支 付才被人们普遍接受 随着电子商务的发展 各种法规随之健全 两大国际信用 卡组织 VISA 和 MasterCard 合作制订的安全电子交易 SET 协议定义了一种电 子支付过程标准 其目的就是保护万维网上支付卡交易的 每一个环节 而国内 各大城市都处于实验探索阶段 各银行相继推出网上银行业务 信用卡是目前最 流行的支付方式 用卡付款代替传统的现金付款已越来越被人们所接受 电子支 1 付为用户提供了很大的方便 目前国内网上支付主要有三种业务形态 银行或银 联的电子支付平台 第三方支付服务商的电子支付平台 企业内部自行建设的电 子支付平台 1 2 2 发展趋势发展趋势 电子商务的一个瓶颈问题就是实现电子化的支付问题 电子化的支付手段的 出现已有一段时间 只是应用范围主要在金融机构之间 大企业间和信用卡消费 等对交易环境有限制的局部领域 2 随着电子商务的广泛应用 因特网上的商品 销售额迅猛增长 网上的资金流动已经成为电子商务发展的主要障碍之一 迫切 需要金融业提供完善的网上支付中介服务 作为买卖双方交易过程中的 中间桥梁 第三方支付平台的崛起已是不峥 的事实 大浪淘沙后 十大电子支付平台如支付宝 paypal 掌上通等已从中商 家中脱颖而出 以其特定的技术优势 细分的服务市场 独特的经营处方 在电 子支付市场各显身手 发展迅猛 这不仅带给人们快捷便利的支付服务 还推动 电子支付产业链日益成熟 从十大支付平台的创业背景 应用特色 经营现状可 以看出 电子支付市场正如朝阳般冉冉升起 3 1 3 项目研究的目的和意义项目研究的目的和意义 1 3 1 研究目的研究目的 本项目的研究主要基于以下几方面考虑 第一 系统了解电子商务支付流程以及存在问题 第二 明确电子商务支付的功能与特点 第三 设计并实现一个电子商务在线支付系统 1 3 2 研究意义研究意义 自九十年代以来 因特网技术的飞速发展正在迅速地改变着人们的生活方式 因特网正在由科学工作者的工具变为普通百姓获取信息 进行交流的场所 而因 特网的商业应用则尤为引人注目 全新的电子商务是指贸易活动各环节的电子化 它覆盖了与商务活动有关的所有方面 它突出的标志就是增加贸易机会 降低贸 易成本 简化贸易流程 提高贸易效率 伴随着电子商务的快速发展 网上支付业 务也逐步兴起 所谓网上支付就是交易过程中的资金转移环节 使货币友有形流 动变为无形信用信息在网上流通 消费者可以跨越时间和地域的限制 网上支付 2 的参与 可以使电子商务由网上信息搜索和协议草签的阶段 转入实质性的交易 阶段 形成完整的电子商务 本文作者希望通过对电子商务支付系统的研究 明确 电子商务支付系统功能特点以及存在的问题 提供系统的理论研究 设计并实现 一个网上支付系统 1 4 论文的主要内容论文的主要内容 以前人的研究为基础 了解并熟悉在线支付的整个流程 架构设计基于 J2EE 框架的电子商务在线支付平台的架构设计 并实现面向管理者子系统 本文以电 子商务网上支付系统的实现过程为主线 分别对各个实现阶段作说明 其中主要 包括初期系统技术调研 需求分析 架构设计 界面设计 子系统系统实现及验 证测试 首先 确定开发语言 然后去支付宝等网站进行调研 了解在线支付的整个 流程 并参照系统简介 分析系统需求 并同时进行知识储备 学习巩固 J2EE 相关知识 并学习 Struts Spring 和 Hibernate 应用框架 然后 需求分析的基础上 抽象出本系统与其他系统的接口 再设计出本系 统内部的接口和函数 界面设计 并设计好数据库 搭建好系统框架 并编码实现面向管理者功能模块 同时进行单元测试 然 后集成各个单元模块进行集成测试验证 1 5 本章小结本章小结 本章第一节介绍项目的研究背景 随后两节介绍项目的研究现状 发展趋 势 目的以及意义所在 最后一节对论文项目的主要内容做了介绍 3 第第 2 2 章章 开发技术及开发环境开发技术及开发环境 本章主要介绍项目的开发技术 开发工具以及环境配置 2 1 开发技术开发技术 2 1 1 J2EE 1 J2EE 简介 目前 Java 2 平台有 3 个版本 它们是适用于小型设备和智能卡的 Java 2 平 台 Micro 版 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 为搭建具有可伸缩性 灵活性 易维护性的商务系统提供了良好的机制 保留现存的 IT 资产 由于企业必须适应新的商业需求 利用已有的企业信 息系统方面的投资 而不是重新制定全盘方案就变得很重要 这样 一个以渐进 的方式建立在已有系统之上的服务器端平台机制是公司所需求的 J2EE 架构可以 充分利用用户原有的投资 每一个供应商都对现有的客户提供了不用废弃已有投 资 进入可移植的 J2EE 领域的升级途径 由于基于 J2EE 平台的产品几乎能够在 任何操作系统和硬件配置上运行 现有的操作系统和硬件也能被保留使用 高效的开发 J2EE 允许公司把一些通用的 很繁琐的服务端任务交给中间 件供应商去完成 这样开发人员可以集中精力在如何创建商业逻辑上 相应地缩 短了开发时间 支持异构环境 J2EE 能够开发部署在异构环境中的可移植程序 基于 J2EE 的应用程序不依赖任何特定操作系统 中间件 硬件 因此设计合理的基于 J2EE 的程序只需开发一次就可部署到各种平台 这在典型的异构企业计算环境中 4 是十分关键的 J2EE 标准也允许客户订购与 J2EE 兼容的第三方的现成的组件 把他们部署到异构环境中 节省了由自己制订整个方案所需的费用 可伸缩性 企业必须要选择一种服务器端平台 这种平台应能提供极佳的 可伸缩性去满足那些在他们系统上进行商业运作的大批新客户 基于 J2EE 平台 的应用程序可被部署到各种操作系统上 例如可被部署到高端 UNIX 与大型机系 统 这种系统单机可支持 64 至 256 个处理器 这是 NT 服务器所望尘莫及的 J2EE 领域的供应商提供了更为广泛的负载平衡策略 能消除系统中的瓶颈 允许 多台服务器集成部署 这种部署可达数千个处理器 实现可高度伸缩的系统 满 足未来商业应用的需要 稳定的可用性 一个服务器端平台必须能全天候运转以满足公司客户 合作 伙伴的需要 因为 Internet 是全球化的 无处不在的 即使在夜间按计划停机也 可能造成严重损失 若是意外停机 那会有灾难性后果 J2EE 部署到可靠的操作 环境中 他们支持长期的可用性 一些 J2EE 部署在 WINDOWS 环境中 客户也 可选择健壮性能更好的操作系统如 Sun Solaris IBM OS 390 最健壮的操作系统 可达到 99 999 的可用性或每年只需 5 分钟停机时间 这是实时性很强商业系统 理想的选择 4 2 1 2 应用框架应用框架 1 什么是应用框架 Spring 框架的设计者 Rod Johnson 对框架技术的描述是 框架是可重用的 半成品的应用程序模块 它可以用来产生专门的定制程序 比如 Sun 公司的 J2EE 技术规范和标准其实也就是一个框架体系 Microsoft 公司的 VS Net 技术平 台其实也是一个框架体系 5 2 为什么应用框架 软件系统发展到今天 已经很复杂了 特别是服务器端软件 涉及到的知识 内容 问题太多 在某些方面使用别人成熟的框架 相当于别人帮你完成一些基 础工作 你只需要集中精力完成系统的业务逻辑设计 而且框架一般是成熟稳健 的 可以处理系统中的很多细节问题 比如 事物处理 安全性 数据流控制等 问题 还有框架一般都经过很多人使用 结构和扩展性都很好 而且它是不断升 级的 你可以直接享受别人升级代码带来的好处 软件工程中 强调一个很重要的概念 高内聚 低耦合 为了实现 高内聚 5 低耦合 把问题划分开来 对软件进行分层 各个解决 易于控制 易于延展 易于分配资源 框架一般处在低层应用平台 如 J2EE 和高层业务逻辑之间的中 间层 2 1 3 Struts Spring Hibernate 本项目中采用的是 Struts2 0 Spring2 5 Hibernate3 0 的整合 1 Struts 框架 基于 MVC 的 Web 应用经典框架 MVC 模式 Model View Control 的缩写 模型 Model 封装数据和所有基 于对这些数据的操作 视图 View 封装对数据的显示 即用户界面 控制 Control 封装外界作用于模型的操作和对数据流向的控制等 MVC 模式将业 务处理与显示分离 运用 MVC 的应用程序的三个部件是相互对立 改变其中一 个不会影响其它两个 所以依据这种设计思想你能构造良好的低偶合的构件 Struts 最早是作为 Apache Jakarta 项目的组成部分 项目的创立者希望通过 对该项目的研究 改进和提高 JavaServer Pages Servlet 标签库以及面向对象 的技术水准 它采用 MVC 模式 能够很好地帮助 Java 开发者利用 J2EE 开发 Web 应用 和其他的 java 架构一样 Struts 也是面向对象设计 将 MVC 模式 分离显示逻辑和业务逻辑 的能力发挥得淋漓尽致 利用 Struts 框架进行 Web 应用系统开发时 不仅从整体上能够减轻构建 J2EE Web 应用系统项目的设计和开发实现的负担 也为 Web 应用系统提供国际 化 异常处理和数据库连接池等方面的技术支持 开发者使用 Struts 之类的框架 是为了隐藏诸如对 HTTP CGI 以及 JSP 之类技术应用的烦琐技术实现细节 填空 式地开发实现应用系统 Struts 框架本身实现了 MVC 模式 也发展了 MVC 模式 应用系统的开发 者可以采用 填空 式的方式来进行开发 因为 Struts 框架将一个标准的 MVC 的 具体实现中的各个组件部分已经划分清晰和组件分离了 另外 Struts 框架还把标准的 Servlet JSP 自定义标签 TagLib 和信息资 源 Message Resources 等整合到一个统一的应用框架中 开发人员利用该应用框 架进行应用系统的开发时 不用再自己设计和编码实现 MVC 模式中的各个层的 核心组件和应用系统的体系架构的正确性 因此能够节省开发时间和降低实现的 风险 降低应用系统中的各个层组件之间的耦合度 6 采用 Struts 框架技术 可以加快应用系统的开发速度 增强应用系统的灵活 性 降低应用系统中的各个层组件之间的耦合度 因为它将应用系统中的表示层 和控制层彼此松散地耦合在一起 这主要得益于采用 struts config xml 配置文件进 行各个组件的配置管理 这样的设计方案也易于对系统的维护和功能扩展 各个开发人员之间的分工明确 由于基于 Struts 框架技术实现的 Web 应用系统中的控制层 业务层与表示 层三者之间各自相互分离 所以这样的设计方案能够使应用系统中的表示层的开 发者 网页设计人员 与后台业务功能具体实现的 Java 程序员各司其职和分工明 确 并且可以并行开发 提高开发效率 简化表示层页面的设计和实现 在 Struts 框架中 应用系统的开发者可以在表示层的页面中大量地使用 Struts 框架中所提供的定制标签库技术 以实现在页面中把业务逻辑处理的功能 实现代码分离开 从而简化系统中表示层的设计和开发实现 进而避免在页面中 出现大量的 Java 脚本代码 6 本项目采用的是 Struts 2 0 号称全新的框架 但这仅仅是相对 Struts 1 而言 Struts 2 与 Struts 1 相比 确实有很多革命性的改进 但它并不是新发布的新框架 而是在另一个赫赫有名的框架 WebWork 基础上发展起来的 从某种程度上来讲 Struts2 没有继承 Struts 1 的血统 而是继承 WebWork 的血统 或者说 WebWork 衍生出了 Struts2 而不是 Struts 1 衍生了 Struts2 因为 Struts2 是 WebWork 的升级 而不是一个全新的框架 稳定性 性能等各方面都有很好的保 证 而且吸收了 Struts 1 和 WebWork 两者的优势 是一个非常值得学习的框架 2 Spring 框架 Spring 是一个开源框架 它由 Rod Johnson 创建 它是为了解决企业应用开 发的复杂性而创建的 Spring 使用基本的 JavaBean 来完成以前只可能由 EJB 完成 的事情 然而 Spring 的用途不仅限于服务器端的开发 从简单性 可测试性和 松耦合的角度而言 任何 Java 应用都可以从 Spring 中受益 传统 J2EE 应用的开发效率低 应用服务器厂商对各种技术的支持并没有真 正统一 导致 J2EE 的应用没有真正实现 Write Once 及 Run Anywhere 的承诺 Spring 作为开源的中间件 独立于各种应用服务器 甚至无须应用服务器的支持 也能提供应用服务器的功能 如声明式事务等 7 Spring 致力于 J2EE 应用的各层的解决方案 而不是仅仅专注于某一层的方 案 可以说 Spring 是企业应用开发的 一站式 选择 并贯穿表现层 业务层及 持久层 然而 Spring 并不想取代那些已有的框架 而与它们无缝地整合 简单来说 Spring 是一个轻量级的控制反转 IoC 和面向切面 AOP 的容器框 架 Spring 提供的控制反转和面向切面编程插件式架构降低了应用组件之间的依 赖性 借助于 XML 定义文件 开发者能够在运行时连接不同的应用组件 这对 于单元测试特别有用 特别是那些需要针对不同客户实施不同的配置而言 7 轻量 从大小与开销两方面而言 Spring 都是轻量的 完整的 Spring 框架 可以在一个大小只有 1MB 多的 JAR 文件里发布 并且 Spring 所需的处理开销也 是微不足道的 此外 Spring 是非侵入式的 典型地 Spring 应用中的对象不依 赖于 Spring 的特定类 控制反转 Spring 通过一种称作控制反转 IoC 的技术促进了低耦合 当 应用了 IoC 一个对象依赖的其它对象会通过被动的方式传递进来 而不是这个 对象自己创建或者查找依赖对象 你可以认为 IoC 与 JNDI 相反 不是对象从 容器中查找依赖 而是容器在对象初始化时不等对象请求就主动将依赖传递给它 面向切面 Spring 提供了面向切面编程的丰富支持 允许通过分离应用的 业务逻辑与系统级服务 例如审计和事务管理 进行内聚性的开发 应用对象只 实现它们应该做的 完成业务逻辑 仅此而已 它们并不负责 甚至是意识 其它的系统级关注点 例如日志或事务支持 容器 Spring 包含并管理应用对象的配置和生命周期 在这个意义上它是 一种容器 你可以配置你的每个 bean 如何被创建 基于一个可配置原型 prototype 你的 bean 可以创建一个单独的实例或者每次需要时都生成一个新 的实例 以及它们是如何相互关联的 然而 Spring 不应该被混同于传统的重 量级的 EJB 容器 它们经常是庞大与笨重的 难以使用 框架 Spring 可以将简单的组件配置 组合成为复杂的应用 在 Spring 中 应用对象被声明式地组合 典型地是在一个 XML 文件里 Spring 也提供了很多 基础功能 事务管理 持久化框架集成等等 将应用逻辑的开发留给了你 8 Hibernate 框架 Hibernate 是一个开放源代码的对象关系映射框架 它对 JDBC 进行了非常轻 8 量级的对象封装 使得 Java 程序员可以随心所欲的使用对象编程思维来操纵数据 库 Hibernate 可以应用在任何使用 JDBC 的场合 既可以在 Java 的客户端程序 使用 也可以在 Servlet JSP 的 Web 应用中使用 最具革命意义的是 Hibernate 可以在应用 EJB 的 J2EE 架构中取代 CMP 完成数据持久化的重任 9 2 2 开发环境开发环境 操作系统 Microsoft Windows XP Professional SP2 数据库 MySQL 5 0 服务器 Apache Tomcat 6 0 开发平台 Myeclipse 7 0 建模设计工具 Star UML Power Designer 2 3 本章小结本章小结 本章第一小节主要对项目所用的 J2EE 技术以及基于 J2EE 的开源应用框架 Struts Spring Hibernate 作介绍 并随后在第二小节说明项目所用的软硬件配置 环境 9 第第 3 3 章章 系统设计系统设计 本章主要介绍项目的架构设计过程 包括需求分析 系统设计以及界面设计 三部分 3 1 系统需求分析系统需求分析 电子商务网上支付系统的用户主要为为消费者和商家提供一个安全 快捷的 网上交易平台 3 1 1 系统用户特征系统用户特征 电子商务网上支付系统包含面向客户 面向管理者和系统管理三部分 根据 功能分布特点 将系统用户划分为议以下三种 1 客户 展 使用网上支付系统进行付款 收款 账户和交易管理的客户 2 管理者 使用后台管理系统进行报表清单查询 3 超级管理员 负责对管理者进行增 删 维护 3 1 23 1 2 系统依赖关系系统依赖关系 在原始设计上 本系统不是独立的 与银行卡系统和网上购物系统都有接 口进行交互 系统依赖关系如图 3 1 所示 账户充值时 通过银行卡系统接口实现对账户进行充值 为了更具有商业价值 应该提供各大大型网站的接口 方便用户适用本系统 进行支付 Web 个个人人PC 防火墙 客客户户 银银行行卡卡系系统统 数数据据库库 网网上上购购物物系系统统 网网上上支支付付系系统统 图 3 1 系统上下文依赖关系示意图 10 3 1 3 系统功能需求系统功能需求 这里只作需求的概括描述 具体需求规约可参见软件需求规格说明书 1 需求描述 客户模块 用户注册 注册并邮件确认帐号 用户登录 输入用户名和密码以及验证码登入 账户管理 包括查询账户 我的账户以及账户充值 我的账户包括个人信 息 账户信息 安全信息 网上支付 包括担保交易付款 即时到帐付款 网上收款 包括担保交易收款 即时到帐收款 交易管理 包括个人交易查询 交易处理和交易地址管理 个人交易包括买入交易 卖出交易 买入卖出交易 每种交易分 所有交 易 进行中的交易 等待发货的交易 成功的交易 失败的交易 退款的交易 合并付款 交易处理是对查询的交易执行的操作 管理模块 报表查询 包括日报 月报 年报以及某时间段报表查询 系统管理模块 管理员用户管理 包括管理员账户的添加 删除以及维护 2 Use case 为了更直观的了解系统需求 通过用户图对系统用户以及每种用户对应的功 能直观描述 本系统的三类用户 客户 管理者 超级管理员 客户与管理者 和超级管理员相对独立 其中客户模块用例图如图 3 2 所示 管理模块以及系统 管理总用例图如图 3 3 所示 11 上上上上 上上上上上上 上上上上 上上上上 上上上上 上上上上 上上 上上上上 上上上上 上上上上上上 上上上上上上 上上上上上上 上上上上上上 上上上上上上 上上上上 上上上上 上上上上 上上上上 上上上上上上 图 3 2 客户模块用例图 而超级管理员是继承自管理者 拥有管理者的所有功能 另外拥有自己特有 的功能 对管理者的增 删 维护操作 12 上上上 上上上上上 上上上上上 上上上上上 上上上上 上上上上上上上 上上上上 上上上上 上上上上 上上上上上 上上上上上 上上上上上 上上上上上上上 图 3 3 管理模块以及系统管理总用例图 3 2 系统模块设计系统模块设计 3 2 1 系统结构描述 本系统按照不同的使用者来划分子系统 分为面向客户子系统 面向管理者 子系统 系统管理子系统 其中 面向客户子系统是本系统的核心部分 是本系统存在的意义所在 面向客户子系统 该子系统向网上购物的客户和商家提供网上付款和收款的 功能 有担保交易和即时到账交易的选择 同时提供个人账户管理和交易管理等 功能 个人账户管理可以进行账户信息的修改 如用户名 密码的修改 网上充 值 交易管理可以对相应交易进行处理 修改交易地址等 保障电子商务的正常 进行 面向管理者子系统 该子系统向管理者提供对交易报表查询以及交易总额查 13 询 是管理者对使用该系统进行交易的资金流动情况有详细和总体的了解 以便 做出相应调整和决策 系统管理子系统 该子系统主要向超级管理员提供对管理者的增 删以及维 护 3 2 2 面向客户子系统 1 业务流程 面向客户子系统从客户注册开始 客户只有通过注册之后才可以登录此系统 账户管理 交易管理 网上付款 收款无先后执行之分 超时需要重新登录 业 务流程如图 3 4 所示 结束 开始 客客户户注注册册 邮邮件件确确认认激激活活 登登陆陆 交交易易管管理理 网网上上付付款款 网网上上收收款款 失失败败 规规定定时时间间内内无无 确确认认激激活活操操作作 安安全全退退出出 账账户户管管理理 Session 超超时时 图 3 4 面向客户子系统业务流程 2 模块设计 客户通过系统提供的平台进行担保交易和即时到账两种方式的付款和收款 对帐户信息进行查看和修改 对交易的查询和处理等操作 其主要功能与功能描 述如表 3 1 所示 14 表 3 1 客户管理模块设计 功能模块功能模块功能描述功能描述 潜在客户注册 在注册页面输入注册信息 邮箱确认激活 后才能登陆使用系统 客户登陆 在登陆页面输入登陆名与密码信息 验证 成功则登陆本系统 即时到账付款 收款买家付账 资金立即充到卖方的账户 担保交易付款 收款 买家付账 交易资金先由支付系统保管 买家收到货物以后 资金才付给卖方 我的账户 查询帐户的个人信息 帐户信息 安全信 息 修改帐户修改帐户相关信息 包括登录密码 帐户充值提供网上银行和支付卡两种方式的充值 交易查询按条件查询交易 交易处理对查询出的信息进行相应的处理 交易地址管理添加修改交易地址 退出点击安全退出按钮退出本系统 3 2 3 面向管理者子系统面向管理者子系统 1 业务流程 管理者也需要登录并且账号处于激活状态才可以进入管理系统 操作过程如 果 session 超时则需要重新登录 面向管理者子系统业务流程如图 3 5 所示 结束 开始 登登陆陆 注注册册用用户户 报报表表查查询询 密密码码或或用用户户名名错错 误误 账账号号冻冻结结 安安全全退退出出 充充值值用用户户 报报表表查查询询 交交易易用用户户 报报表表查查询询 Session 超超时时 图 3 5 面向管理者子系统业务流程 2 模块设计 管理者查询注册 充值 交易三种情况的日报表 月报表 年报表 时间段 报表 并提供导出到 Excel 功能 其主要功能与功能描述如表 3 2 所示 表 3 2 面向管理模块设计 功能模块功能模块功能描述功能描述 注册用户清单查询 根据日 月 年 时间段等条件选择查询注 册用户清单 充值用户清单查询 根据日 月 年 时间段等条件选择查询充 值用户清单 交易用户清单查询 根据日 月 年 时间段等条件选择查询交 易用户清单 15 导出 Excel 表点击导出 Excel 链接 将数据导出到 Excel 3 2 4 系统管理子系统系统管理子系统 1 业务流程 系统管理子系统中 超级管理员可以进行系统管理员的所有操作 另外特有 的功能是对普通管理者的增 删 改 查操作 系统管理子系统业务流程如图 3 6 所示 结束 开始 登登陆陆 维维护护管管理理者者 安安全全退退出出 增增加加管管理理者者 删删除除管管理理者者 Session 超超时时 密密码码或或用用户户名名错错 误误 账账号号冻冻结结 报报表表查查询询 图 3 6 系统管理子系统业务流程 系统管理者对管理者进行增 删 改 查等操作 其主要功能与功能描述如 表 3 2 所示 表 3 3 系统管理模块 功能模块功能模块功能描述功能描述 查询管理者根据查询条件查询出符合条件的管理者 增加管理者填写相应信息添加管理者 删除管理者根据查询结果选择相应管理者进行删除 维护管理者修改管理者密码 权限 邮件等信息 报表查询同管理者子系统功能 3 3 本章小结本章小结 本章是主要讨论系统的架构设计 第一节描述系统的需求分析 包括系统的 16 用户特征 系统上下文依赖关系 以及系统功能需求 第二节描述系统的结构描 述以及面向客户 面向管理者 系统管理子系统模块的业务流程以及模块设计 第第 4 章章 数据库设计数据库设计 本章主要介绍数据库层的设计 包括实体的以及实体之间关系的分析 4 1 数据库需求分析数据库需求分析 根据系统的需求 初步可以抽象出以下实体 客户基本信息 帐户信息 充 值记录信息 交易地址信息 交易记录 管理者信息 可以映射成数据库中对应 的表 因交易地址记录中省份和城市有大量重复内容 不满足第二范式 因此分 出另一张城市表 因心分出的城市表中省份字段也有大量重复内容 为满足第二 范式 因此再分出一张表省份表 本系统数据库设计概念模型中的实体包括客户 登录信息 客户基本信息 账户信息 交易地址 充值记录 交易记录 管理者 信息 权限信息 它们在数据库中分别对应客户登录信息表 客户基本信息表 账户信息表 交易地址表 充值记录表 交易记录表 管理者信息表和权限信息 表 客户信息表表存储客户登录名 登录密码 支付密码以及用户名 openId 登录 名 状态 证件号 身份证或护照 电话号码 安全保护问题以及答案 注册 日期以及最后登录时间 账户信息表存储客户的可用余额以及冻结资金 激活码表存储客户编号和激活码 交易地址表存储交易的相关信息 包括姓名 通信地址 地区 街道 邮编 联系方式 省份表存储省份编号以及对应省份名称 城市表存储隶属某一省份的城市列表编号和对应名称 充值记录表存储客户充值方式 时间 金额以及银行等信息 17 交易记录表存储交易的订单号 商品编号 交易相关信息 起始时间 场所 金额 状态 买方 卖方 送货方式 备注描述 商品信息表存储商品编号 商品名称 单价 数量 展示网站以及商品介绍 送货信息表存储交易编号 送货方式 邮费承担方 邮费金额以及收货地址 管理者信息表存储管理者的登录名 密码 用户名 权限类型 普通管理员 超级管理员 邮箱 注册时间 状态 4 2 数据库详细设计数据库详细设计 4 2 14 2 1 关系实体关系实体 根据数据库需求分析 确定以下表以及对应的字段 客户信息表 客户 ID 客户登录名 openid 登录名 登录密码 支付密码 用户名 状态 证件号 证件类型 电话号码 手机号 注册日期 安全问题 安全问题答案 最后登录时间 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 姓名 城市编号 街道地址 邮编 电话 号码 手机号 adress list addID CID trueName cityID streetAdd postalNo phoneNo mobile No 省份表 省份编号 中文名称 province provinceID provinceName 城市表 城市编号 城市名称 所属省份编号 city cityID cityName provinceID 18 充值记录表 充值记录 ID 客户 ID 充值类型 充值金额 充值时间 充 值银行 prepaid rec dpositRecID CID dpositType dpositSum dposiTime dpositBank 交易记录表 交易记录编号 产品 ID 交易开始时间 交易结束时间 交易 状态 买家 ID 卖家 id 交易金额 送货方式 备注说明 trade rec tradeID prodID tradeSTime tradeETime tradeState buyerID s ellerID 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 外键关联客户信息表 customer 交易记录中的商品信息依赖产品表 通过外键产品 ID 关联 product 表 送货信息表 deliver 依赖于交易的存在 通过交易记录编号关联 trade rec 而送货 信息表中的地址信息依赖于地址信息表 通过外键地址编号关联地址信息表 address list 地址信息表中的地址中的城市依赖于城市表中的城市 通过外键 cityID 关联城市表 city 而城市表又通过外键 provinceID 与省份表 province 关联 各表关系如图 4 1 所示 19 admin PKadminID adminName adminPsd adminType email createTime status customer activate code PK FK1CID activateCode customer PKCID userName openID userPSD payPSD name enabled identifyNo identifyType phoneNo mobileNo registerDate psdQuestion psdQAnswer lastLoginTime account PK FK1CID availAcc frozenAcc prepaid rec PKdpositRecID FK1CID dpositType dpositSum dpositTime dpositBank adress list PKaddID FK1CID trueName FK2cityID streetAdd postalNo phoneNo mobileNo province PKprovinceID provinceName product PKproId proName unitPrice quantity proNet intro trade rec PKtradeID prodID tradeSTime tradeETime tradeStade FK2buyerID FK3sellerID tradeSum deliverType details FK1proId CID deliver PK FK1tradeID postagePayer postage FK2addID city PKcityID cityName FK1provinceID 1 1 1 0 0 1 1 1 1 11 1 0 1 1 1 1 1 1 1 图 4 1 实体关系示意图 4 3 本章小结本章小结 本章第一节主要分析数据库需求 根据数据库设计规范划分出实体 第二节 主要描述关系实体以及他们之间的关系 给出了关系图 20 第第 5 章章 子系统实现与验证子系统实现与验证 本章描述面向管理者子系统的实现 主要讲述关键技术点的实现 包括清单 查询 Excel 导出 分页功能以及简单安全控制的实现 5 1 系统实现系统实现 本系统采用 Struts 2 Spring Hibernate 框架 页面数据包含在 Action 中 通过 Getter 和 Setter 方法获取 大多时候 实现 Action 都会继承 com opensymphony xwork2 ActionSupport 类 并重写类里的 String execute 方法 execute 方法中调用 service 层的接口中的方法 service 层的实现类则调 用 Hibernate 层中的 DAO 类中的相应方法 Spring 框架的引入 IoC 控制反转 技术的应用 在服务器启动时 所有类和对象均实例化 为调用做好准备 5 1 1 清单查询的实现清单查询的实现 本系统中的清单查询涉及到日 月 年 以及时间段四种类型 经过分析 四种类型其实都是一个时间段 因此查询时在 Hibernate 层调用 DAO 里自定义了 同一个函数 Public List findByPeriod Timestamp sdate Timestamp edate open session Session session this getHibernateTemplate getSessionFactory openSession Criteria criteria session createCriteria Customer class criteria add Restrictions between registerDate sdate edate 添加查询条件 List list criteria list session close close session Return list 对于时间段 即传递的两个参数 处理 因从页面获取的时间是从日历控件 中获取的 格式是 YYYY MM DD 格式的 后面的时分秒均为零 而数据库中存 储的时间类型 注册日期是 Date 类型 充值时间和交易时间精确到时分秒 设 置的是 Timestamp 类型 调用查询函数前 需对开始时间和结束时 间进行处理 转成 Timestamp 格式 21 对于日报表查询 sdate 和 edate 是同一天 把 edate 增加一天 这里用到 了 Calendar 类里的 add Calendar DAY OF MONTH 1 方法 Calendar 类不用考 虑当前月是 30 天还是 31 天 是闰年还是平年的二月 函数里有判断 如查询 2009 04 30 的数据是把 sdate 设置为 2009 04 30 00 00 00 edate 设置为 2009 05 01 00 00 00 这样能保证查询到 2009 04 30 这一天的所有数据 对于月报表查询 讲页面传递的 year 和 month 变量设置到 Calendar 对象里 并且设置 Calendar Date 为当月第一天 然后调用 roll Calendar DATE 1 方 法 回滚一天 日期回到此月的最后一天 也不用考虑当前月的天数 Calendar 类实在很方便 推荐使用此类 对于年报表查询 直接将页面传递的参数设置到 Calendar 对象中 并且设
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 责任课件内容大纲
- 2025版上海房地产买卖合同范本涵盖交易税费及支付方式说明
- 2025年房地产营销代理及品牌策划服务合同
- 2025第一部分:生物制药研发合同协议书
- 2025年智能家居产品广告创意合同示范文本
- 2025版跨境贸易借款合同带保证人及汇率风险对冲下载
- 2025年度建筑材料代购与绿色建筑认证服务合同
- 2025版外籍技术人员引进与管理合同书
- 2025年度专业摄影棚租赁服务合同
- 2025版文化娱乐融资咨询与专业居间服务协议
- 2025年有害生物防治员初级理论知识考核试题及答案
- 新版2026统编版小学道德与法治三年级上册 第4课《 科技力量大》第1课时 科技改变生活和科技改变观念 教案设计(教案)
- 学会交流与沟通课件
- 铁路监理培训考试试题及答案
- 2025全国企业员工全面质量管理知识竞赛题库附答案
- 供应链与贸易安全培训课件
- 严禁燃放烟花炮竹课件
- 宫颈息肉课件
- 人工智能多智能体课件
- 人事任命书红头文件模板
- 探讨恶性肿瘤患者化疗后口腔溃疡治疗及护理的有效措施
评论
0/150
提交评论