《基于SSH2的电子商务购书系统的设计与实现毕业设计论文(60页).docx》由会员分享,可在线阅读,更多相关《基于SSH2的电子商务购书系统的设计与实现毕业设计论文(60页).docx(60页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-基于SSH2的电子商务购书系统的设计与实现毕业设计论文-第 1 页本 科 毕 业 论 文题 目 基于SSH2架构的电子商务 购书系统的设计与实现 学 院 信息科学与技术学院 专 业 软 件 工 程 学生姓名 * * 学 号 200810410000 班级 2008-3 指导教师 * * * 职称 讲 师 2012 年 5 月 30 日基于SSH2架构的电子商务购书系统的设计与实现专 业:软件工程 学 号:200810414329学 生:* 指导教师:*摘要:网上购书系统使传统的购书流程数字化,可以大量减少人力、物力;同时突破了时间和空间的限制,使得交易活动可以在任何时间、任何地点进行,使购书
2、过程变得轻松、快捷、方便,从而大大提高了效率。本系统就是利用SSH2技术开发网上购书系统的实例。本系统采用模块化程序设计方法,充分整合了Struts2、Spring、Hibernate三种主流框架,采用MYSQL数据库服务器,实现了MVC设计模式,具备数据查询、修改、增加、删除、维护等功能,可以实现会员信息管理、订单管理、产品信息管理、购物车管理等功能。系统具有高可靠性、可扩展性和重用性的特点,为用户提供一个便利的购书平台。本系统开发环境采用了MyEclipse 8.5、JDK6.0和Tomcat6.0,后台数据库使用了MYSQL 5.5数据库服务器。关键词:购书系统;SSH2;MVCDesi
3、gn and Implementation of the Electronic Commerce Book Store System Based on SSH2Specialty: Software Engineering Student Number: 200810410000 Student: Wang Supervisor: Nie LiShaAbstract: Book online system make the traditional process book digitized, it can reduce human resources and material resourc
4、es, and it out of time and space limit ,.then trade may take up at any time and any place .whats more ,it makes buying books easier ,faster ,and more convenient, so the rapid grows up .It is an example of developing book online system by SSH2 Technology. The system uses the modularized program desig
5、n method, and to the full of Struts2,Spring, Hibernate , though MYSQL Database server, it comes out MVC design pattern, so it have data query, modify, add, delete, maintenance function., More over it can realize the member information management, order management, product information management, sho
6、pping cart management function and so on. This system is reliable, scalability, reusability, and it provides a convenient shopping platform for the users. The integrated development environment of the systems use MyEclipse 8.5, JDK6.0 and Tomcat 6.0, and the database use MYSQL 5.5 database server.Ke
7、y words: Book Store System; SSH2; MVC 目 录绪 论11 相关技术简介11.1 SSH2框架11.1.1 Struts211.1.2 Spring11.1.3 Hibernate11.1.4 SSH2整合框架11.2 web前端技术11.2.1 JQuery技术11.2.2 AJAX技术12 系统的需求分析12.1 系统的功能需求分析12.1.1 交易子系统功能需求分析12.1.2管理子系统功能需求分析12.2 系统的性能需求分析12.3 系统的安全需求分析13 系统的设计13.1 系统设计的原则13.2 系统架构设计13.3 系统功能模块的设计13.3.1
8、 登录模块需求分析13.3.2 注册模块需求分析13.3.3 购物车模块需求分析13.3.4 订单模块需求分析13.3.5 书籍管理模块需求分析13.3.6 后台管理模块需求分析13.4 系统的业务流程14 数据库设计14.1 系统库E-R图14.1.1 用户实体E-R图14.1.2 商品实体E-R图14.1.3 图书实体E-R图14.1.4 订单明细实体E-R图14.1.5 订单实体E-R图14.1.6 地址实体E-R图14.1.7 商品类别实体E-R图14.1.7 商品类别维护实体E-R图14.2 系统库表间关系14.3 系统库表的设计14.3.1 用户信息表的设计14.3.2 接收地址表
9、的设计14.3.3 商品分类表的设计14.3.4 商品表的设计14.3.5 商品类别关系表的设计14.3.6 图书信息表的设计14.3.7 订单表的设计14.3.8 订单明细表的设计15 系统的实现15.1系统开发环境及运行平台15.1.1 开发环境15.1.2 运行平台15.2 系统的目录结构15.3 MVC模式的实现15.4 系统功能模块的实现15.4.1 注册模块的实现15.4.2 登录模块的实现15.4.3 系统主界面的实现15.4.4 购物车模块的实现15.4.5 订单模块的实现1结 论1参考文献1致 谢1绪 论一、研究背景近年来随着计算机的日益普及和网络(特别是因特网)的迅速发展,
10、在全球范围内形成了一种新的企业经营方式。这种方式把所有的商业活动和贸易往来电子化, 利用发达的网络环境进行快速有效的商业活动。这就是最近成为世界上热门的话题:电子商务。当今世界网络、通信和信息技术的发展,Internet在全球迅速普及,使得商业空间发展到全球的规模,同时也使得现代企业需要具有不间断地供货能力、不断增长的用户需求和不断增长的全球竞争三大特征,这使得任何一个商业组织都必须调整自己的经营方式和产业结构,以适应新的市场发展的需要。因此,任何一个企业要在21世纪生存,就必须迅速地改变传统的经营观念,跟上当今世界发展的最新潮流,加入到电子商务大潮中1。相对于其他行业而言,实现图书的网上销售
11、更是具有其天然的优势:1) 改变企业的竞争方式网上销售图书不仅给消费者提供了更多选择消费与开拓销售市场的机会,而且也是提供了更加密切的信息交流场所,从而提高了企业把握和了解市场的能力2。同时扩大了企业的竞争范围,使企业常规的广告竞争,促销手段等领域的竞争扩大到无形的虚拟竞争空间。网上书店改变了企业竞争的成本。网上书店具有投入成本低,批发数量大及用户多的优势。电子商务也使企业规模影响竞争力的基础发生了改变,大书商与小书商之间的竞争变得微不足道。例如:美国西雅图亚马逊公司在网上开办了一家大型书店,提供250万图书供在线购买。只有两个人管理的网上书店提供的书目和服务,几乎可以与200个人管理的传统书
12、店提供的书目和服务一样3。2) 改变消费者的消费方式 书籍不同于其他的产品,它具有体积小,携带方便,不易损坏等特点,加之现在电子商务技术的成熟,物流配送方式的发达,这就让消费者可以更加放心地在网上购买书籍,而不用担心网上交易的安全性和在送货过程中书籍的损坏等问题。传统的去书店购买书籍,对于消费者来说,有几个天然的缺点:a、来回需要浪费许多时间。b、在书店挑选自己想买的书籍也要浪费许多时间。c、企业受销售成本的限制,消费者享受的优惠折扣相对较低。而网上购买图书克服上述所有的缺点。二、研究目的和研究意义随着人民生活水平的提高,消费观念的转变,网络技术的进步,社会化物流配送的发展,第三方支付系统的形
13、成,大范围应用B2C电子商务外部条件逐渐成熟。应用最新的网络技术和网络产品建立虚拟购书商场系统平台,利用连锁超市网点分布面广和物流配送体系的优势,借助于有信誉的第三方支付系统等货款结算方式,让消费者不受时间、空间的限制,达到更便捷地满足消费者需求是已成为当今电子商务发展的趋势4。B2C电子商务的购书系统节省了用户和企业的时间和空间,大大提高了交易效率。同时又能有效的控制企业运营的成本,开辟了一个新的销售渠道。并且,B2C的购书系统有利于企业管理信息化的实现。通过用户在网上查询,购买书籍的情况,企业可以很清晰地看到畅销书,搜索排行榜,读者的阅读口味等。为以后出版书籍提供有力的依据。对读者来说,B
14、2C的购书系统利用互联网进行信息传播与交易,只要服务器工作正常读者就能查到并订购图书,打破了时间,空间对经营的限制,全天候服务于更广阔地域的读者,充分满足了读者的需求。B2C的购书系统为读者提供了“无限”大的选择空间,各行各业的读者都可以在这里各取所需,尤其是一些较为冷门的书籍5。本课题主要研究针对于企业的基于B2C(Business-to-Customer)的在线购书系统。该购书系统拥有功能强大的分类查询功能,读者只需轻轻一点就可以查看分门别类的图书信息。同时还拥有信息查询功能,免除了读者在书店里找书的辛苦。读者只需在办公室或家里操作键盘,上网查找自己所需要的图书后,就可按步骤生成图书订单,
15、让读者足不出户买到自己满意的图书。三、本文的组织结构绪论:介绍了购书系统的研究背景研究目的和研究意义。第一章:介绍系统用到的相关技术。第二章:介绍系统需求分析,包括功能需求分析,性能需求分析和安全需求分析。第三章:介绍系统的详细设计,包括设计的原则,架构的选择,功能模块的设计,业务流程的设计。第四章:介绍系统数据库的详细设计。第五章:介绍系统主要功能模块的实现。1相关技术简介本章主要介绍了本系统用到相关技术,包括Struts2,Spring,Hibernate,JQuery,AJAX。1.1 SSH2框架本系统主要实现B2C购书系统所需要的一些基本功能,采用目前流行的Java语言开发。前端使用
16、JSP+CSS+JavaScript+JQuery,后台采用MVC三层架构开发模式。采用Struts2+Spring+Hibernate三大框架来开发本系统。集成开发环境采用MyEclipse8.5,数据库使用MYSQL5.5,Web服务器选择Tomcat6.0。1.1.1 Struts2Struts 2是现在比较流行的一个开源的功能强大的应用框架,它是Struts的下一代产品,是在 Struts1 和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构的差别巨大。Struts 2以WebWork为核心,采用拦截器的机
17、制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与Servlet API完全脱离开,所以Struts 2可以理解为WebWork的更新产品。虽然从Struts 1到Struts 2有着太大的变化,但是相对于WebWork,Struts 2只有很小的变化。Struts2的体系与Struts1体系的差别非常大,因为Struts2使用了WebWork的设计核心,而不是Struts1的设计核心。Struts2中大量使用拦截器来处理用户的请求,从而允许用户的业务逻辑控制器与Servlet API分离。Struts2框架的大概处理流程如下:1) 加载类(FilterDispatcher)2) 读取配
18、置(Struts配置文件中的Action)3) 派发请求(用户端发送请求)4) 调用Action(FilterDispatcher从Struts配置文件中读取与之相对应的Action )5) 启用拦截器(WebWork拦截器链自动对请求应用通用功能,如验证)6) 处理业务(回调Action的execute()方法)7) 返回响应(通过execute方法将信息返回到FilterDispatcher)8) 查找响应(FilterDispatcher根据配置查找响应的是什么信息如:SUCCESS、ERROR,将跳转到哪个JSP页面)9) 响应用户(流程图如图1-1所示)6图1-1 Strut2的访问
19、流程图1.1.2 SpringSpring是一个开源框架,它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益7。1) 目的:解决企业应用开发的复杂性2) 功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能3) 范围:任何Java应用简单来说,Spring是一个轻量级的控制反转(IOC)和面向切面(AOP)的容器框架。4) 轻量从大小与开销两方面而言Sp
20、ring都是轻量的。完整的Spring框架可以在一个大小只有1MB多的JAR文件里发布。并且Spring所需的处理开销也是微不足道的。此外,Spring是非侵入式的:典型地,Spring应用中的对象不依赖于Spring的特定类。5) 控制反转Spring通过一种称作控制反转(IOC)的技术促进了松耦合。当应用了IOC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。你可以认为IOC与JNDI相反不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。6) 面向切面Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻
21、辑与系统级服务(例如审计(auditing)和事务(transaction)管理)进行内聚性的开发。应用对象只实现它们应该做的完成业务逻辑仅此而已。它们并不负责(甚至是意识)其它的系统及关注点,例如日志或事务支持。7) 容器Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个bean如何被创建基于一个可配置原型(prototype),你的bean可以创建一个单独的实例或者每次需要时都生成一个新的实例以及它们是如何相互关联的。然而,Spring不应该被混同于传统的重量级的EJB容器,它们经常是庞大与笨重的,难以使用。8) 框架Spring可以将简单的组件配
22、置、组合成为复杂的应用。在Spring中,应用对象被声明式地组合,典型地是在一个XML文件里。Spring也提供了很多基础功能(事务管理、持久化框架集成等等),将应用逻辑的开发留给了你。所有Spring的这些特征使编程人员能够编写更干净、更可管理、并且更易于测试的代码。它们也为Spring中的各种模块提供了基础支持8。1.1.3HibernateHibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的用户端程序使用,也可以在
23、Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任(概要图如图1-2所示)9。图 1-2 Hibernate体系结构概要图Hibernate的核心接口一共有6个,分别为:Session、SessionFactory、Transaction、Query、Criteria和Configuration。这6个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。下面对这6个核心接口分别加以介绍10。Session接口负责执行被持久化对象的CRUD操作(CRUD的任务是完
24、成与数据库的交流,包含了很多常见的SQL语句。)。但需要注意的是Session对象是非线程安全的。同时,Hibernate的session不同于JSP应用中的HttpSession。这里当使用session这个术语时,其实指的是Hibernate中的session,而以后会将HttpSession对象称为用户session。SessionFactory接口负责初始化Hibernate。它充当数据存储源的代理,并负责创建Session对象。这里用到了工厂模式。需要注意的是SessionFactory并不是轻量级的,因为一般情况下,一个项目通常只需要一个SessionFactory就够,当需要操作
25、多个数据库时,可以为每个数据库指定一个SessionFactory。Configuration类负责配置并启动Hibernate,创建SessionFactory对象。在Hibernate的启动的过程中,Configuration类的实例首先定位映射文档位置、读取配置,然后创建SessionFactory对象。Transaction接口 Transaction接口负责事务相关的操作。它是可选的,开发人员也可以设计编写自己的底层事务处理代码。Query和Criteria接口负责执行各种数据库查询。它可以使用HQL语言或SQL语句两种表达方式。1.1.4 SSH2整合框架Hibernate是持久层
26、的解决方案,Struts2是表现层的解决方案,Spring是一个集成框架。使用Spring的IOC容器,来管理数据访问对象,业务逻辑对象,Action对象的依赖关系,结合面向接口编程,可以让对象之间完全解耦;利用Spring的DAO支持,可以简化Hibernate的数据访问操作;使用Spring的事务管理,无须应用服务器就可以使用声明式事务(SSH2的软件分层结构中的位置如图所示)11。图1-3 SSH2在软件分层结构中的位置1.2WEB前端技术1.2.1JQuery技术JQuery是继prototype之后又一个优秀的JavaScript框架。它是轻量级的js库(压缩后只有21k) ,它兼容
27、CSS3,还兼容各种浏览器(IE 6.0+FF 1.5+Safari 2.0+Opera 9.0+)。JQuery使用户能更方便地处理HTML documents、events、实现动画效果,并且方便地为网站提供AJAX交互。JQuery还有一个比较大的优势是,它的文档说明很全,而且各种应用也说得很详细,同时还有许多成熟的插件可供选择。JQuery能够使用户的html页保持代码和html内容分离,也就是说,不用再在html里面插入一堆js来调用命令了,只需定义id即可12。1.2.2AJAX技术AJAX 指异步 JavaScript 及 XML(Asynchronous JavaScript
28、And XML)。AJAX的核心是JavaScript对象XmlHttpRequest。该对象在Internet Explorer 5中首次引入,它是一种支持异步请求的技术。简而言之,XmlHttpRequest可以使用JavaScript向服务器提出请求并处理响应,而不阻塞用户。AJAX 不是一种新的编程语言,而是一种用于创建更好更快以及交互性更强的 Web 应用程序的技术13。传统的web应用允许用户填写表单(form),当提交表单时就向web服务器发送一个请求。服务器接收并处理传来的表单,然后返回一个新的网页。这个做法浪费了许多带宽,因为在前后两个页面中的大部分HTML代码往往是相同的。
29、由于每次应用的交互都需要向服务器发送请求,应用的响应时间就依赖于服务器的响应时间。这导致了用户界面的响应比本地应用慢得多。与此不同,AJAX应用可以仅向服务器发送并取回必需的数据,它使用SOAP或其它一些基于XML的web service接口,并在用户端采用JavaScript处理来自服务器的响应。因此在服务器和浏览器之间交换的数据大量减少,结果我们就能看到响应更快的应用。同时很多的处理工作可以在发出请求的用户端机器上完成,所以Web服务器的处理时间也减少了。使用AJAX的最大优点,就是能在不更新整个页面的前提下维护数据。这使得Web应用程序更为迅捷地回应用户动作,并避免了在网络上发送那些没有
30、改变过的信息。AJAX不需要任何浏览器插件,但需要用户允许JavaScript在浏览器上执行。就像DHTML应用程序那样,AJAX应用程序必须在众多不同的浏览器和平台上经过严格的测试。随着AJAX的成熟,一些简化AJAX使用方法的程序库也相继问世。同样,也出现了另一种辅助程序设计的技术,为那些不支持JavaScript的用户提供替代功能14。对应用AJAX最主要的批评就是,它可能破坏浏览器后退按钮的正常行为。在动态更新页面的情况下,用户无法回到前一个页面状态,这是因为浏览器仅能记下历史记录中的静态页面。一个被完整读入的页面与一个已经被动态修改过的页面之间的差别非常微妙;用户通常都希望单击后退按
31、钮,就能够取消他们的前一次操作,但是在AJAX应用程序中,却无法这样做。不过开发者已想出了种种办法来解决这个问题,当中大多数都是在用户单击后退按钮访问历史记录时,通过建立或使用一个隐藏的IFRAME来重现页面上的变更。(例如,当用户在Google Maps中单击后退时,它在一个隐藏的IFRAME中进行搜索,然后将搜索结果反映到AJAX元素上,以便将应用程序状态恢复到当时的状态。)15AJAX 在浏览器与 Web 服务器之间使用异步数据传输(HTTP 请求),这样就可使网页从服务器请求少量的信息,而不是整个页面。AJAX 可使因特网应用程序更小、更快、更友好。AJAX 是一种独立于 Web 服务
32、器软件的浏览器技术。2系统的需求分析本章主要详细描述了本系统的需求分析。包括系统的功能需求分析,性能需求分析和安全需求分析。2.1 系统的功能需求分析购书系统是一个完整的在线电子商务系统。本系统主要是给企业提供一个网上在线销售书籍和给消费者提供一个在线购买书籍的平台。包括交易系统和管理系统两个独立的子系统。2.1.1交易子系统功能需求分析交易子系统主要是给用户提供网上在线购买图书的一个平台。主要包括以下几个功能:书籍展示,购物车管理,订单管理,用户管理(交易子系统用例图如图2-1所示)。图 2-1交易子系统用例图2.1.1.1用户管理模块需求分析用户管理:实现登入/登出、用户注册、信息修改功能
33、(用例图如图2-2所示)。图2-2用户管理用例图2.1.1.2购物车模块需求分析购书车:实现添加书籍、删除列表、恢复列表、数量修改、清空购书车、结算功能(用例图如图2-3所示)。图 2-3购物车管理用例图2.1.1.3订单模块需求分析订单:实现订单确认、订单列表、删除订单、查询明细功能(用例图见图2-4所示)。图 2-4 订单管理用例图2.1.1.4订单模块需求分析书籍展示:实现书籍预览、书籍明细、分类检索功能(用例图如图2-5所示)。图 2-5 书籍展示用例图2.1.2管理子系统功能需求分析管理子系统是给系统管理员提供一个管理的平台。主要包括以下几个功能:用户管理,图书管理,订单管理(用例图
34、见图2-6所示)。图 2-6 管理子系统用例图2.1.2.1用户管理模块需求分析用户管理:对系统管理员提供用户删除、用户查询功能(用例图见2-7所示)。图 2-7 后台用户管理用例图2.1.2.2图书管理模块需求分析图书管理:对系统管理员提供添加书籍、修改书籍、删除书籍、查看书籍分类等功能(用例图见图2-8所示)。图 2-8 书籍管理用例图2.1.2.2图书管理模块需求分析订单管理:对系统管理员提供查看所有订单的功能(用例图如图2-9所示)。图 2-9 订单管理子系统2.2 系统的性能需求分析为增加用户体验,本系统对性能有一定的要求。1) 服务器模块可以24小时无人运行;2) 平均故障间隔是每
35、月一次;3) 平均修复时间3小时;4) 对远程查询访问响应的平均时间是3秒,最长是10秒;5) 吞吐量,每秒处理的事务达1000条;6) 可以容纳1000个用户同时使用。2.3 系统的安全需求分析电子商务网站区别于一般WEB网站的重要特性之一是对网站的安全性要求较高。为增强用户体验,让用户能放心地在本购书系统上购买图书,本系统对安全性做如下考虑:1) 数据的安全:对用户的密码采用MD5加密技术进行加密。对表单中必须填的信息要在用户端进行验证。2) 访问的安全:后台管理系统只对系统管理员开放,一般的用户不能登录到后台管理系统。3) 操作的安全:用户可以不登录就购买书籍(将书籍加入到购物车中),但
36、如果用户查看订单进行交易就必须登录。3系统的设计本章主要详细介绍了系统的整体设计。包括系统设计的原则,系统架构的设计,系统功能模块的设计,系统业务流程的设计。3.1系统设计的原则1) 一切从用户的需求出发,充分考虑各种环境条件的制约,为实现系统的设计目标服务。2) 将联系紧密、数据采集、处理和分析路径最短、业务相对独立的功能划分为独立的子系统。3) 严格区分开发过程中各工作阶段,明确各阶段的目标和任务。4) 采用结构化、模块化的方法,自顶向下进行系统分析。5) 充分预料可能发生的变化,为系统的改进、更新留有余地。6) 采用成熟技术。3.2 系统架构设计本系统包括交易系统和管理系统两个子系统,两
37、个子系统在架构方面完全一致,采用 4 层结构,主要包括:表现层、控制层、业务层、持久层(见图3-1所示)。 表现层:主要负责用户交互和结果显示,交易系统和管理系统有不同的 URL 入口进入不同的界面。控制层:主要负责系统的访问控制、数据加载和注销,是系统的核心控制单元。控制层通过系统描述来组织工作。 业务层:实现了交易系统和管理系统的主要业务逻辑,是系统主要的运算单元。 持久层:实现了静态数据和数据库数据的持久化管理,为业务层提供数据服务。图3-1流程图3.3系统功能模块的设计本系统可分为以下几个模块:3.3.1登录模块需求分析此模块分为用户登录模块和后台管理员登录模块。系统为普通用户和管理员
38、用户提供不同的登录界面。当用户在此登录界面输入用户名和密码,点击登录按钮进去登录系统,倘若为合法用户名和密码,则系统登录成功,进入不同的主界面。3.3.2注册模块需求分析主要是用户的注册,注册是需要填写相关信息。系统将用户提交的信息保存到后台数据库。3.3.3 购物车模块需求分析购书车是一个仿照显示商场中的人性化工具浏览者对于中意的书籍,再将书籍加入购书车中,在购物车中可以更改商品和删除数量,同时可以将删除的商品恢复到购物车中。3.3.4订单模块需求分析主要是产生订单,同时给用户购买书籍明细和购买书籍的总价。用户填写相关订单信息,必须填写真实有效信息,这关系到用户所购买书籍的邮寄。3.3.5书
39、籍管理模块需求分析书籍分类:为了便于管理,可以将书籍分为若干大类,在这些大类下再分成若干小类。搜索书籍:用户可以输入书名搜索自己想要购买的书籍。最新书籍:显示最新上架的书籍。热门书籍:显示销售得比较好的书籍。3.3.6后台管理模块需求分析用户管理模块:主要是用户信息的管理,主是查看用户信息。 网站后台管理,有着严格的权限限制,只有系统管理员才能进行后台管理系统,进行相关的操作。书籍管理模块:管理员可以查看书籍的分类信息,同时可以增加、更改、删除任何一本书籍。订单管理模块:管理员可以随时查看系统生成的所有订单。3.4系统的业务流程本系统主要是为购买书籍提供一个方便,使得用户能在随时随地登入到购书
40、系统,进行自己期望的操作;而且同时也使得管理员对书籍的管理越来越灵活,提高了管理员的能动性和书籍销售的效率。在建设一个站点前,应对整个站点的流程有一个比较深入的认识,只有对网站的功能有了全面的了解,才能够在后期编码实现时,比较容易,不要重复的更改功能。一个好的流程分析可以大大减少网站后期编码的压力。用户进入本站点时首先访问主页面,如果是注册了的用户可以选择登陆,这样可以开始购买书籍了。未注册用户必须注册才可以购买书籍。用户想要购买书籍首先将书籍加入购书车。当用户挑选书籍结束时可以查看购书车中的书籍,在购书车中可以给用户最后一次机会以决定是否购买该书籍。至此用户的整个购买流程结束(流程图如图3-
41、2所示)。购书系统登陆购物车注册最新书籍书籍搜索回主页面书籍分类最热书籍结账页面完成订单填写订单资料个人基本信息及订单查询图3-2系统总体流程图当用户进入该交易系统之后,就进入主页面界面,选择响应操作,用户端收到用户发来的界面请求,向服务器端发送用户请求操作的命令,得到服务器端发送回来的数据后,在用户端显示页面或者提示,用户则进行后续操作,如果操作结束,用户可以选择退出(用户购书过程业务流程图如图3-3所示)。图3-3用户购书过程业务流程图4 数据库设计数据库在一个购书系统中占有非常重要的地位,数据库结构设计的好坏将直接关系到系统的效率,以及实现的效果产生影响。合理的数据库结构设计可以提高数据
42、存储的效率,保证数据的完整和一致。本章主要介绍了数据库的详细设计,包括系统涉及到的表,表中各字段代表的意义,以及与表对应的实体类。4.1系统库E-R图针对网上购书系统的需求分析,可得出如下需求信息。1) 一个用户可以购买多本图书。2) 一个用户对应一张订单。3) 一个列表对应多张订单。针对本系统功能分析,总结出如下实体对象用户实体、商品实体、图书实体、订单明细实体、订单实体、地址实体、商品类别实体、商品类别维护实体(各实体之间的E-R图如图4-1所示)。图 4-1 系统E-R图4.1.1 用户实体E-R图用户实体,包括数据项:用户ID、用户名、密码等(实体E-R图如图4-2所示)。图 4-2用
43、户实体E-R图4.1.2商品实体E-R图商品实体,包括数据项:商品ID、商品名称、市场价格、网站价格等(实体E-R图如图4-3所示)。图 4-3商品实体E-R图4.1.3图书实体E-R图图书实体,包括数据项:图书编号、图书名、价格、图书介绍等(实体E-R图如图4-4所示)。图 4-4图书实体E-R图4.1.4订单明细实体E-R图订单明细实体,包括数据项:订单编号、图书编号、购书数量等(实体E-R图如图4-5所示)。图 4-5订单明细实体E-R图4.1.5 订单实体E-R图订单实体,包括数据项:订单编号、用户编号、下单时间等(实体E-R图如图4-6所示)。图 4-6订单实体E-R图4.1.6 地
44、址实体E-R图地址实体,包括数据项:详细地址,用户ID,移动电话,固定电话等(实体E-R图如图4-7所示)。图 4-7地址实体E-R图4.1.7商品类别实体E-R图商品类别实体,包括数据项:类别名称,英文名,类别ID等(实体E-R图如图4-8所示)。图 4-8商品分类实体E-R图4.1.7 商品类别维护实体E-R图商品类别维护实体,包括数据项:图书ID,类别ID(实体E-R图如图4-9所示)。图 4-9商品分类维护实体E-R图4.2 系统库表间关系系统总共包括用户(d_user)、接收地址(d_receive_address)商品(d_product)、分类(d_category)、商品类别(
45、d_category_product)、订单(d_order)、书籍(d_book)、订单明细(d_item)八张表,分别对应User,ReceiveAddress,Product,Category,CategoryProduct,Order,Book,Item类(系统数据库表之间的关系图如图4-10所示)。图4-10数据关系图4.3系统库表的设计4.3.1用户信息表的设计用户信息表用来存储用户的基本信息(该表字段表示意义如表4-1所示)。表4-1用户信息表字段设计字段名类型Nulls键值备注idInt(12)否主键用户标识emailvarchar(50)否用户邮箱nicknamevarcha
46、r(50)否用户昵称passwordvarchar(50)否用户密码user_integralInt(12)否积分is_email_verifychar(3)否是否通过验证标识email_verify_codeVarchar(50)否邮箱验证码last_login_timeBigint(20)否最近登录的时间last_login_ipVarchar(15)否最近登录的IP4.3.2接收地址表的设计接收地址表用来存储用户购买书籍后书籍接收的地址,一个用户可以有多个接收地址(该表字段表示意义如表4-2所示)。表4-2 接收信息表字段设计字段名类型Nulls键值备注idInt(12)否主键唯一标识user_idInt(12)否外键用户IDreceive_address