基于J2EE架构网上书店的设计与实现.doc_第1页
基于J2EE架构网上书店的设计与实现.doc_第2页
基于J2EE架构网上书店的设计与实现.doc_第3页
基于J2EE架构网上书店的设计与实现.doc_第4页
基于J2EE架构网上书店的设计与实现.doc_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

学号:281403117题 目: 基于J2EE架构网上书店的设计与实现 学 院: 信息学院 专 业: 计算机科学与技术 姓 名: 康乐 指导教师: 任秀丽 完成日期: 2012年5月13日 摘 要随着互联网的普及,电子商务技术在不断的发展,Internet不仅给我们带来了无穷无尽的多媒体信息,更带来了商业模式和消费观念的变迁,这是对传统商业模式的一种挑战。随着大量电子商务网站的崛起,越来越多的人选择在网上进行购物。相对传统的购书方式来说,网上购书的好处是多方面的,对于商家来说,可以有效的控制成本;对于客户来说,网上购书方便快捷、经济省时,足不出户就能买到想要的书籍,因此网上书店有很大的发展空间。而要满足这种大量的需求,需要一种强大快速、高效稳定的技术作为支撑。J2EE就是这样一种技术,它提供一个多层的分布式模型,是一组技术规范与指南,其中所包含的各类组件、服务架构及技术层次,均有共同的标准及规格。通过组建重用,允许多台服务器集成部署,具有稳定的可用性、可伸缩性。本设计使用J2EE技术在网络上架构了一个网上书店,从理论和实际两个角度出发,对网上书店进行设计和实现。网上书店的主要有用户管理、购买图书、图书分类查看、图书检索等功能。在构建网站的过程中使用了多种技术,包括MVC的架构风格、多种设计模式等,合理的运用了各种技术的优势,力争开发出一个具有高健壮性、稳定性、易用性、可靠性的系统,为顾客在平时的生活中网上购买书籍提供强大的后台支撑,以满足顾客的网上购书需求。全文共分为六个部分,第一部分主要介绍了电子商务的背景和本系统所使用的技术;第二部分介绍了本系统所涉及的各方面的需求;第三部分为本系统的总体设计思路、过程以及数据库的概念设计;第四部分为系统各个模块的详细设计和实现以及相关细节;第五部分为对系统部分功能的测试过程;第六部分是总结。关键词:J2EE;设计模式;电子商务;网上书店;数据库AbstractWith the spread of the Internet, the e-commerce technology is developing fast. The Internet brings us not only infinite multi-media information, but also brings the changes of commerce pattern and consuming concept, which is a challenge to the traditional commerce pattern. With the arising of many online shops, more and more people choose to shop online. Compared with the way of buying books traditional, shopping online has a variety of advantage. To the merchants, they can control the costing easily. To the customers, it is so convenient and economical to buy books online; they do not have to go out of home to buy a book they like. So the online-bookstore has a great development. To mean the great need, we have to provide a powerful and efficient technology to support it. The J2EE technology is a kind of technology like this, it provide a variety-layer distribute model. It is a kind of technology standard and guide, the variety components and server architecture which contains have the same standard. By reuse the components, it allows deploy on many servers, which has high efficiency and high scalability. This design builds an online-bookstore by using the J2EE technology. From the point of view of practice and theory, the online-bookstore is designed and realized. The primary function of the online-bookstore contains the management of the users, shopping on the bookstore and checking the book by different category. In the procedure of building the bookstore, many technologies are used, including the architecture of MVC style and many design models, the advantage of variety of many technology is full used, which sustain the need of the customer buying book online.The text is divided into 6 parts. The first part introduces some background knowledge about e-commerce and the technology the design uses. The second part introduces the need of variety aspects the system involved. The third part gives the process, some ideas and related details in system designing, which also include the concept design of the database. The fourth part displays the detail design of every part of the system and related details. The fifth part introduces the test of the part of the system. The sixth part is the summary.Key words: J2EE; Design Pattern; E-commerce; Online Bookstore; Database目 录序 言2第1章 绪 论31.1课题背景31.2 MVC架构风格31.3 J2EE体系结构6第2章 需求分析102.1 概述102.2 功能性需求112.2.1 功能划分112.2.2 功能描述112.3 非功能性需求13第3章 总体设计和功能概述143.1 功能模块划分143.2 网上书店结构层次图143.3 网上书店系统建模143.4 数据库概念结构设计17第4章 系统详细设计和实现184.1 数据库逻辑实现184.2 用户登陆注册模块的设计与实现204.2.1 用户登陆模块204.2.2 用户注册模块224.3 图书浏览模块的设计与实现244.3.1 文件关系244.3.2 图书浏览模块截图254.4 购物车模块的设计与实现254.4.1 文件关系254.4.2 购物车模块截图264.5 图书管理模块的实现26第5章 系统测试295.1 系统功能测试295.2 系统实用性分析31第6章 总 结32参考文献33致 谢34序 言电子商务,最初出现在1993年美国克林顿政府工作报告对国家信息基础设施的描述中,含义就是利用电子信息技术、网络互联技术和现代通讯技术,有效地把商品的资源管理和人们的交易行为结合起来,从而实现商品和服务交易的计算机化、网络化。随着互联网的快速发展和在人群中的普及化,以及中小企业应用电子商务进程的推进和国家对电子商务发展的重视,网络已经开始影响人们的生活观念,改变国人的消费模式。越来越多的消费者选择进行网上购物,根据淘宝网的统计数据,截至2007年12月31日,我国网上购物的人数超过5500万,较2002年增长近7倍。每天有近900万人在淘宝网上“逛街”,相当于近600个沃尔玛、家乐福的平均客流量。据中国互联网络信息中心(CNNIC)的报告,2009年至少在网上买过一次东西的中国网民数历史性地突破了1亿,达到1.08亿,增长46%;而艾瑞的报告也同样显示了“网购”的中国网民突破1.1亿。根据我国电子商务研究中心发布的2010年(上)电子商务市场数据检测报告显示,截至2010年6月份,国内个人网店的数量已经达到了1200万家。可见电子商务交易量增长非常快,越来越受到人们的青睐,各种Web互联网的技术也呈现出一种共同繁荣的景象,各种编程语言也使整个互联网的Web技术体系日趋成熟,每种技术都有各自的优势。而近几年电子商务的发展速度越来越快,大量的客户需求需要处理,要求并发性的处理非常高。本设计就是针对电子商务而建立的一个网上书店,采用J2EE技术体系,包括了JSP、JavaBean、EJB、JDBC、JNDI一系列的J2EE相关技术,另外数据库采用ORACLE,以便满足大量数据处理的需求,服务器采用WebLogic,体现了较高的性能,满足了高并发性的需求。本系统是基于B/S结构的,一方面采用了J2EE的四层体系,即运行在客户端机器上的客户端组件、运行在J2EE服务器上的Web层组件、运行在J2EE服务上的业务逻辑层组件、服务器上的数据访问层组件;另一方面,在表现层和业务逻辑层则采用了MVC架构风格,在Java类的设计上采用多种设计模式。在客户端只需要浏览器即可,无需安装任何其他软件,满足了众多应用客户分散环境下的需求。第1章 绪 论1.1课题背景随着社会的不断进步,互联网的不断发展,网上书店如雨后春笋般在国内外迅速发展,如全球的亚马逊网上书店,国内的当当网和卓越网等。顾客可以足不出户就能买到需要的商品,能节约更多的时间与精力。而对于商家来说,既可以避免书目订货的局限和盲目,又可以克服订货投入大、费用高、管理难的不足,有效的节约了各方面的成本。顾客在网上选择的范围广,信息量大,检索方便,可随时订购,快捷方便,这些都体现了网上购书方式相对于传统购书方式的优点。在传统的购书方式和网上购书方式中,网上购书所占的比例越来越大,更多的人愿意通过这种方式购书。可以预测,图书网上交易将在未来购书领域中占据主要位置,是图书销售领域未来发展的必然。另一方面,互联网技术的发展在推动电子商务进步的同时,也使电子商务系统的技术实现面临新的挑战。面对越来越多的需求,必将有海量的数据需要进行处理,如何提高并发性以减少客户访问网站的等待时间,这也是一个值得思考而且急需解决的问题。作为为网络信息技术前沿的Java,已经是软件界的一个热门话题,它提供的跨平台性、分布式部署、网络和数据库支持,为Web应用系统的开发提供了新的途径。1995年,Sun公司的Java语言以提供跨平台应用程序开发与配置震撼了整个Web世界。几年来,Java从一种编程语言发展到了开发企业级应用系统的Java2平台规范。1999年Sun公司推出J2EE,它包括Servlet、JSP和EJB等许多技术和规范,得到了IBM、BEA和ORACLE等众多公司的认可,是一种很有前途的也是比较成熟的开发Web应用的技术选择方案。本文所述的图书网站系统正是以J2EE技术和规范为基础,结合具体应用的电子商务系统。1.2 MVC架构风格MVC是三个单词的缩写,分别为模型(Model)、视图(View)和控制Controller)。MVC模式的目的就是实现Web系统的职能分工。Model层次实现系统中的业务逻辑,通常可以用JavaBean或EJB来实现。View层次用于与用户的交互,通常用JSP来实现。Controller层是Model与View之间沟通的桥梁,它可以分派用户的请求并选择恰当的视图以用于显示,同时它也可以解释用户的输入并将它们映射为模型层可执行的操作。MVC组件之间的关系,如图1.1所示。图1.1 MVC中各组件之间的关系(1)MVC中的Model组件模型(Model)用于封装与应用程序的业务逻辑相关的数据以及对数据的处理方法。“模型”有对数据直接访问的权力,例如对数据库的访问。“模型”不依赖“视图”和“控制器”,也就是说,模型不关心它会被如何显示或是如何被操作。但是模型中数据的变化一般会通过一种刷新机制被公布。为了实现这种机制,那些用于监视此模型的视图必须事先在此模型上注册,从而,视图可以了解在数据模型上发生的改变。(2)MVC中的View组件视图(View)是用户看到并与之交互的界面。对老式的Web应用程序来说,视图就是由HTML元素组成的界面,在新式的Web应用程序中,HTML依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括Macromedia Flash,XHTML、XML/XSL、JSP、ASP、WML等一些标识语言和Web services。因此,如何处理应用程序的界面变得越来越有挑战性。MVC一个大的好处是它能为你的应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,不管这些数据是联机存储的还是单一存储,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。随着应用的复杂性和规模性的增大,界面的处理也变得具有挑战性。一个应用可能有很多不同的视图,MVC设计模式对于视图的处理仅仅限于视图上数据的采集和处理,以及用户的请求,而不包括在视图上的业务流程的处理。比如一个订单的视图只接受来自模型的数据并显示给用户,以及将用户界面的输入数据和请求传递给控制和模型。(3)MVC中的Controller组件控制(Controller)可以理解为从用户接收请求,将模型与视图匹配在一起,共同完成用户的请求。划分控制层的作用也很明显,它清楚地告诉你,它就是一个分发器,选择什么样的模型,选择什么样的视图,可以完成什么样的用户请求。控制层并不做任何的数据处理。例如,用户点击一个链接,控制层接受请求后,并不处理业务信息,它只把用户的信息传递给模型,告诉模型做什么,选择符合要求的视图返回给用户。因此,一个模型可能对应多个视图,一个视图可能对应多个模型。控制器掌管着用户的请求(当用户点击图形用户界面上的元素执行操作时,控制器会收到HTTP GET或者POST请求)。它的主要功能就是调用并协调需要的资源或对象来执行用户请求。通常控制器会为任务调用合适的模型,以及选择合适的视图。(4)MVC架构风格的优点低耦合性:视图层和业务层分离,这样就允许更改视图层代码而不用重新编译模型和控制器代码。同样,一个应用的业务流程或者业务规则的改变只需要改动MVC的模型层即可。因为模型与控制器和视图相分离,所以很容易改变应用程序的数据层和业务规则。高重用性和可适用性:随着技术的不断进步,现在需要用越来越多的方式来访问应用程序。MVC模式允许你使用各种不同样式的视图来访问同一个服务器端的代码。它包括任何WEB(HTTP)浏览器或者无线浏览器(WAP),比如,用户可以通过电脑也可通过手机来订购某样产品,虽然订购的方式不一样,但处理订购产品的方式是一样的。由于模型返回的数据没有进行格式化,所以同样的构件能被不同的界面使用。例如,很多数据用HTML来表示,但是也有可能用WAP来表示,而这些表示所需要的命令是改变视图层的实现方式,而控制层和模型层无需做任何改变。快速的部署:使用MVC模式使开发时间得到相当大的缩减,它使程序员(Java开发人员)集中精力于业务逻辑,界面程序员(HTML和JSP开发人员)集中精力于表现形式上。(5)MVC架构风格的缺点MVC的不足体现在以下几个方面:1)增加了系统结构和实现的复杂性。对于简单的界面,严格遵循MVC,使模型视图与控制器分离,会增加结构的复杂性,并可能产生过多的更新操作,降低运行效率。2)视图与控制器间的连接过于紧密。视图与控制器是相互分离的,但却是联系紧密的部件,视图没有控制器的存在,其应用是很有限的,反之亦然,这样就妨碍了他们的独立重用。3)视图对模型数据的访问效率较低,根据模型操作接口的不同,视图可能需要多次调用才能获得足够的显示数据,对未变化数据的不必要的频繁访问,也将降低操作性能。1.3 J2EE体系结构(1)J2EE的概念J2EE是Java2平台企业版(Java 2 Platform, Enterprise Edition),是一组技术规范与指南,其中所包含的各类组件、服务架构及技术层次,均有共同的标准及规格,让各种依循J2EE架构的不同平台之间存在良好的兼容性,解决过去企业后台使用的信息产品彼此无法兼容,企业内部或外部难以互通的窘境。J2EE不仅巩固了标准版中的许多优点,例如“编写一次、随处运行”的特性、方便存取数据库的JDBC API、CORBA技术以及能够在Internet应用中保护数据的安全模式等等,同时还提供了对EJB(Enterprise JavaBean)、Java Servlet API、JSP(Java Server Page)以及XML技术的全面支持。其最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结构。J2EE体系结构提供中间层集成框架用来满足无需太多费用而又需要高可用性、高可靠性以及可扩展性的应用的需求。通过提供统一的开发平台,J2EE降低了开发多层应用的费用和复杂性,同时提供对现有应用程序集成强有力支持,完全支持Enterprise JavaBean,有良好的向导支持打包和部署应用,添加目录支持,增强了安全机制,提高了性能。(2)J2EE的四层模型J2EE使用多层的分布式应用模型,应用逻辑按功能划分为组件,各个应用组件根据他们所在的层分布在不同的机器上。事实上,SUN设计J2EE的初衷正是为了解决两层模式(client/server)的弊端,在传统模式中,客户端担当了过多的角色而显得臃肿。在这种模式中,第一次部署的时候比较容易,但难于升级或改进,可伸展性也不理想,而且经常基于某种专有的协议,例如通常是某种数据库协议。它使得重用业务逻辑和界面逻辑非常困难。现在J2EE的多层企业级应用模型将两层化模型中的不同层面切分成许多层。一个多层化应用能够为不同的每种服务提供一个独立的层,以下是J2EE典型的四层结构:1)运行在客户端机器上的客户层组件:J2EE应用程序可以是基于web方式的,也可以是基于传统方式的。2)运行在J2EE服务器上的Web层组件:J2EE web层组件可以是JSP页面或Servlet。按照J2EE规范,静态的HTML页面和Applet不算是web层组件。正如下图所示的客户层那样,web层可能包含某些JavaBean对象来处理用户输入,并把输入发送到运行在业务层上的enterprise bean来进行处理。3)运行在J2EE服务器上的业务逻辑层组件:业务层代码的逻辑用来满足银行、零售、金融等特殊商务领域的需要,由运行在业务层上的enterprise bean进行处理。有三种企业级的bean:会话bean、实体bean和消息驱动bean。会话bean表示与客户端程序的临时交互。当客户端程序执行完后,会话bean和相关数据就会消失。相反,实体bean表示数据库的表中一行永久的记录。当客户端程序中止或服务器关闭时,就会有潜在的服务保证实体bean的数据得以保存。消息驱动bean结合了会话bean和JMS的消息监听器的特性,允许一个业务层组件异步接收JMS 消息。4)运行在EIS服务器上的企业信息系统(Enterprise information system)层软件:企业信息系统层处理企业信息系统软件包括企业基础建设系统例如企业资源计划(ERP)、大型机事务处理、数据库系统,和其它的遗留信息系统。例如,J2EE应用组件可能为了数据库连接需要访问企业信息系统。J2EE四层模型中,这些层次之间有相互调用的关系,每一层都有对应不同的功能,如图1.2所示。图1.2 J2EE四层模型示意图(3)J2EE核心组件和APIJDBC(Java Database Connectivity):JDBC API为访问不同的数据库提供了一种统一的途径,像ODBC一样,JDBC对开发者屏蔽了一些细节问题,另外,JDBC对数据库的访问也具有平台无关性。JNDI(Java Name and Directory Interface):JNDI API被用于执行名字和目录服务。它提供了一致的模型来存取和操作企业级的资源如DNS和LDAP,本地文件系统,或应用服务器中的对象。EJB(Enterprise JavaBean):J2EE技术之所以赢得媒体广泛重视的原因之一就是EJB。它们提供了一个框架来开发和实施分布式商务逻辑,由此很显著地简化了具有可伸缩性和高度复杂的企业级应用的开发。EJB规范定义了EJB组件在何时如何与它们的容器进行交互作用。容器负责提供公用的服务,例如目录服务、事务管理、安全性、资源缓冲池以及容错性。但这里值得注意的是,EJB并不是实现J2EE的唯一途径。正是由于J2EE的开放性,使得有的厂商能够以一种和EJB平行的方式来达到同样的目的。JSP(Java Server Page):JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端所请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Java Servlet:Servlet是一种小型的Java程序,它扩展了Web服务器的功能。作为一种服务器端的应用,当被请求时开始执行,这和CGI Perl脚本很相似。Servlet提供的功能与JSP类似,不过实现的方式不同。JSP通常是大多数HTML代码中嵌入少量的Java代码,而Servlet全部由Java写成。XML(Extensible Markup Language):XML可以用来定义其它标记语言。它被用来在不同的商务过程中共享数据。XML的发展和Java是相互独立的,但是,它和Java具有的相同目标正是平台独立性。通过将Java和XML的组合,可以得到一个完美的具有平台独立性的解决方案。RMI(Remote Method Invoke):正如其名字所表示的那样,RMI协议调用远程对象上的方法。它使用了序列化方式在客户端和服务器端传递数据。RMI是一种被EJB使用的更底层的协议。JMS(Java Message Service):JMS是用于和面向消息的中间件进行通信的应用程序接口(API)。它既支持点对点的域,又支持发布/订阅(publish/subscribe)类型的域,并且提供对下列类型的支持:经认可的消息传递,事务型的消息传递,一致性消息和具有持久性的订阅者支持。JMS还提供了另一种方式来将应用与旧的后台系统相集成。第2章 需求分析2.1 概述(1)开发背景随着网络在中国的广泛普及,网络支付手段的逐步完善,越来越多的中国人逐渐习惯于网上购物,习惯于鼠标点击下订单,送货上门的快捷便利的购物方式。传统书店的购书观念正在被网上书店这一方便快捷的购书方式所冲击。网上书店在国际互联网上可以实现的商务功能已经越来越多样化,从最开始的信息发布功能,到现在的在线图书展示功能、在线洽谈业务功能、在线交易功能、在线采购功能、在线客户服务功能、在线网站管理功能等等,几乎传统书店所提供的功能都可以在互联网上进行电子化的高效运作,而借助网络的跨地域特点,更是将传统书店的地域限制加以突破,全国各地的读者都可以通过网络在同一个网上书店购书,从而大大增加了客户的数量。为了使网上书店的投入回报和管理效益最大化,在对网上书店进行系统开发之前,必须对一系列问题进行科学的论证,如网上书店的需求分析、网上书店总体规划、网上书店系统的功能和实施方案、网上书店的传播与推广、运行网上书店系统的软件和硬件配置、网上书店的管理系统和管理方法等等。综上所述,网上书店已经成为互联网时代购书者的最佳选择,必将获得巨大的成功。(2)运行环境1)硬件环境: 客户机:CPU:P4 1.8GHZ以上 内存:512MB以上 分辨率:1024*768以上WEB服务器:CPU:奔腾双核2.5GHZ以上内存:2G以上数据库服务器CPU:奔腾双核2.5GHZ以上内存:2G以上2)软件环境操作系统:Windows 2000以上; IE:Internet Explorer 7.0以上数据库:Oracle.0开发工具:MyEclispe 8.5;PowerDesign 12.5 ;WebLogic 10.3 Microsoft Visio 2003;StarUML 5.02.2 功能性需求2.2.1 功能划分(1)前台实现功能:1)新用户注册:实现用户注册的基本功能,要求用户填写相应的资料进行注册。已经注册的用户名不能注册。2)会员登陆、修改基本资料:对用户输入的用户名和密码与数据库进行对比验证,如果出现错误,则需要提示用户错误信息。登陆成功则可以修改资料。3)会员购买图书:实现会员购书的基本功能,当用户选中自己喜爱的图书之后,可以加入购物车,一次性可以购买多本书籍。4)会员查看订单:用户订单提交以后,可以随时登陆系统查看订单的实时信息,如订单的处理情况等等。5)顾客查看、搜索图书:实现根据用户自己的喜好来查找相应的图书,可以根据作者和书名来查找图书。(2)后台实现功能:1)用户管理:实现对已经注册的用户的管理,包括查看、锁定、删除指定的用户等等。2)图书管理:实现对图书的管理,包括图书信息的修改,新到图书的添加,废弃图书的删除等。3)订单处理:订单管理员登陆系统之后,可以查看到未处理的订单,进而进行订单状态的修改。2.2.2 功能描述(1)前台功能描述1)新用户注册:实现新用户注册,用户打开网站后,点击注册进入注册界面,然后顾客填写用户名、密码、真实姓名、电子邮箱、通信地址、联系电话后点击注册,系统提示注册成功,然后跳转到主界面。如果输入的用户名已经注册过了,则提示顾客该用户名已经存在;如果顾客输入的密码小于6位,则提示用户重新输入。如果顾客某项信息未输入,则提示用户输入完整信息。在新用户注册界面也有登陆的链接,以便已经注册的顾客登陆。2)会员登陆、修改资料:用户打开网站首页后,输入用户名和密码登陆。然后用户点击个人信息连接,则系统转向修改个人信息页面,会员在页面中修改密码、电子邮箱、通信地址、联系电话的若干项,会员点击保存后自动转向网上书店首页。如果用户输入的用户名和密码有误,则转向系统登陆界面。如果用户名修改后的密码小于6位,则提示用户重新修改;如果有其他信息未输入,则提示用户输入。如果用户点击返回按钮,则可以不保存信息返回。3)会员购买图书:会员打开网站成功登陆后,分类浏览或者搜索选择自己喜欢的图书,将图书加入购物车,可以循环多次操作,将若干图书都加入购物车;会员点击购物车连接后,则系统转向结算页面,显示出已经订购的图书列表和总价,用户可以改变订单中的数量或者删除;用户点击结算按钮后,则进入收货人信息确认,会员可以修改收货人信息,单击确认后则购买成功。如果用户未登陆,则当用户转向结算按钮时提示用户登陆并转入登陆界面,登陆后可继续以前的操作。4)会员查看订单:会员成功登陆后,点击我的订单链接,则转入订单形式页面,会员可以查看订单的详细情况,如订单日期、处理状态等情况。如果用户输入的用户名和密码有误,则转向系统登陆界面。(2)后台管理模块1)用户管理:用户管理员打开管理员登陆界面,成功登陆后,系统显示所有用户,管理员可以将会员锁定,或删除会员,点击保存提示保存成功。2)订单处理:订单管理员在代开管理员登陆界面,成功登陆后,系统显示所有订单的信息,包括已经处理的订单和未处理的订单,对于未处理的订单,订单管理员可以进行状态的修改,但是不能删除订单,点击保存之后,提示保存成功。3)图书管理::图书管理员代开管理员登陆界面,成功登陆后,系统显示当前所有的特价图书,图书管理员可以取消特价图书和添加特价图书;另外管理员可以添加连接进行添加图书操作。2.3 非功能性需求(1)系统性能要求对用户输入的数据进行校验,用户点击链接的相应时间最长不超过5秒,平均不超过3秒,数据更新、查询和统计的时间在可接受的范围之内。(2)伸缩性当用户访问量增大时,要求可以即利用集群进行部署,如Web服务器集群、应用服务器集群、数据库服务器集群,将系统的应用负载扩展至多个服务器承担,分摊服务器的压力,达到高负载、高性能的要求。(3)可用性要求大众的顾客不需要其他任何培训就可以轻易的浏览网站,在网站上进行各种操作,没有模糊的、用户不知如何进行的操作,顾客能够高效的完成购书的操作。能够支持Windows XP和Windows 7操作系统。(4)易用性要求浏览界面简单实用、美观大方、操作界面友好,各个部分的操作和布局都保持合理性和一致性。符合顾客常规的、现有的操作习惯和思路,在前端进行一些智能化的数据校验功能,对各种状态和操作结果进行反馈和提示。(5)可靠性要求系统在一年之内出现故障不能超过5次,每次故障能够及时的解决,不能长时间故障,能够及时的恢复数据。(6)安全性对于系统的重要资源和数据都有相应的访问权限和密码保护,具有一定的安全性,降低数据丢失的风险,对入侵进行检测,提高系统的防范入侵能力。第3章 总体设计和功能概述3.1 功能模块划分本系统主要实现前台顾客购书和后台管理两大模块,前台购书包括新用户注册、修改资料、用户注册、查看订单等功能;后台管理主要包括用户管理、订单处理、图书管理等功能,系统的功能模块,如图3.1所示。图3.1 系统功能模块图3.2 网上书店结构层次图本系统基本按照J2EE四层体系结构来设计,前台主要是JSP页面展示给用户,Web层次实现前台请求的控制和传递,业务层次负责进行相关数据业务流程的处理以及连接数据库进行操作,系统结构层次图,如图3.2所示。图3.2 系统结构层次图3.3 网上书店系统建模(1)系统流程分析所谓系统流程,就是用户使用本网上书店系统进行购书的一个过程。系统流程分析是系统分析、总体设计的一个重要流程,也是系统设计的重要的基础,如图3.3所示。图3.3 系统流程图(2)顾客订书时序图用户使用正确的用户名和密码登陆后,系统将在整个会话中保存用户对象,用户可以点击相应类别分类查询,系统将相应的根据用户的请求返回符合条件的图书列表,客户可以选择自己想要订购的图书,系统得到图书ID之后,生成订单提交给系统,系统将保存到数据库,并提示图书订购成功,整个订书环节完成。顾客订购图书的时序图如图3.4所示。图3.4 用户订书时序图订单管理员输入正确的用户名和密码之后,可以开始处理订单,系统返回未处理订单和已处理订单的信息,用户改变订单状态后,可以提交处理请求,后台处理成功之后提示管理员处理成功,如图3.5所示。图3.5 处理订单时序图以下是顾客购买图书和管理员处理订单的时序图,从中可以看出,订单管理员和顾客发生了相互的关系。顾客选择图书后,如果图书已经没有库存了,则顾客不能购买图书;正常提交订单后管理员接收到了顾客提交的订单,并更新订单状态,客户查询到订单状态变成已处理后,购买过程结束。购买图书活动图,如图3.6所示。图3.6 购书活动图3.4 数据库概念结构设计根据需求分析,可以发现这个网上书店涉及到的实体有用户(会员)、图书、管理员、订单、订单详情。会员能产生订单,而且一个会员能产生多个订单,但一个订单只能属于一个会员;订单上可以有多种图书,也就是一条订单对应多条订单详情,但是一条订单详情只能属于一个订单;一条订单详情只能对应一种图书,但是一种图书可以出现在多个订单详情之中;一条订单只能由一个管理员管理,但是一个管理员可以管理多条订单。弄清楚这些实体之间的关系之后,就可以很容易画出相关的E-R图,这些实体之间的关系,如图3.7所示。图3.7 网上书店E-R图第4章 系统详细设计和实现4.1 数据库逻辑实现数据库逻辑设计主要任务是将概念结构转换为某个DBMS所支持的数据关系模型,关系模型的逻辑结构是一组关系模式的集合。在概念设计中,E-R图是由实体、实体的属性和实体之间的联系三个要素组成。数据库逻辑设计就是需要将E-R图转化为关系模型,将实体、实体属性和实体之间的联系转化为关系模式。(1)数据库列表清单根据数据库概念设计的E-R图,可以很容易的将E-R图转化为关系模式,下面的表4.1列出了数据库中所有的表。表4.1 数据库表的清单表名中文名称说明admin管理员表存放管理员信息book图书表存放图书信息category图书种类表存放图书种类信息customer用户表存放会员信息orders订单表存放订单总体信息order_detail订单详情表存放订单详情(2) 表属性描述表4.2 customer(用户表)列名数据类型是否为空列中文名备注customer_idvarchar2(30)NOT NULL用户名Primary Keypasswordvarchar2(20)NOT NULL密码namevarchar2(30)NOT NULL真实姓名emailvarchar2(50)NOT NULL用户邮箱telephonevarchar2(20)NOT NULL用户电话addressvarchar2(80)NOT NULL用户地址join_timedateNOT NULL注册时间表4.3 orders(订单表)列名数据类型是否为空列中文名备注order_idvarchar2(30)NOT NULL订单号Primary Keyadmin_namevarchar2(20)NOT NULL管理员姓名Foreign Keycustomer_idvarchar2(30)NOT NULL所属用户Foreign Keyrealnamevarchar2(30)NOT NULL真实姓名addressvarchar2(50)NOT NULL送货地址statevarchar2(20)订单状态order_timedateNOT NULL订购时间telephonevarchar2(20)NOT NULL联系电话total_prisenumber(10,2)NOT NULL总价commentsvarchar(80)备注handle_timedate处理时间表4.4 category(图书种类)列名数据类型是否为空列中文名备注category_idvarchar2(50)NOT NULL种类IDPrimary Keycategory_namevarchar2(20)NOT NULL种类名称category_descvarchar2(50)NOT NULL种类描述表4.5 admin(管理员)列名数据类型是否为空列中文名备注admin_namevarchar2(20)NOT NULL管理员姓名Primary Keypasswordvarchar2(20)NOT NULL管理员密码typevarchar2(20)NOT NULL管理员类型emailvarchar2(40)NOT NULL管理员邮箱addressvarchar2(50)NOT NULL管理员地址telephonevarchar2(20)NOT NULL管理员电话表4.6 book(图书表)列名数据类型是否为空列中文名备注book_idvarchar2(40)NOT NULL图书IDPrimary Keycategory_idvarchar2(50)NOT NULL图书种类Foreign Keynamevarchar2(60)NOT NULL图书名称prisenumber(6,2)NOT NULL图书原价discountnumber(3)NOT NULL图书折扣pic_urlvarchar2(60)图片地址banlancenumber(8)NOT NULL图书余量authorvarchar2(20)NOT NULL作者pressvarchar2(80)NOT NULL出版社pub_datedateNOT NULL出版日期表4.7 order_detail(订单详情表)列名数据类型是否为空列中文名备注order_idvarchar2(30)NOT NULL订单号PK,FKorder_seqnumber(4)NOT NULL订单序号Primary Keybook_idvarchar2(40)NOT NULL图书编号Foreign Keycountvarchar2(10)NOT NULL购买数量sub_totalnumber(10,2)NOT NULL总价小计4.2 用户登陆注册模块的设计与实现4.2.1 用户登陆模块1总体流程和文件设计当会员输入用户名和密码之后,系统将用户名和密码传入到后台,查询数据库进行验证,如果正确则登陆成功,如果错误则提示错误信息,由此实现登陆的功能,登陆的总体流程,如图4.1所示。图4.1 用户登陆程序流程图为了实现上述功能和流程,设计了以下的类文件和JSP文件,它们之间有相互调用的关系,例如ProcessLogin.java处理loginHead.jsp的请求,如图4.2所示。图4.2 登陆模块文件及调用关系图其中,各个文件的作用如下:(1)loginHead.jsp:首页中用于用户快速登陆。(2)login.jsp:登陆页面。(3)welcome.jsp:登陆成功的欢迎界面。(4)ProcessLogin.java:处理用户登陆请求的Servlet。(5)PasswordInvaild.java:用户密码不正确异常。(6)Customer.java:存放用户相关信息。(7)CustomerNotFound.java:用户未注册异常。(8)CustomerDataStore.java:负责与数据库交互,验证用户名和密码。2界面截图,用户登陆主要实现用户的登陆功能,界面截图,如图4.3所示。图4.3 登陆界面4.2.2 用户注册模块1. 总体流程和文件设计用户注册基本流程是用户进入网站后,点击注册进入新用户注册界面,用户输入必须输入的信息,点击注册提交,系统提示注册成功。如果用户输入的信息不完整或者密码不符合要求,系统将提示相应信息,用户必须从新输入信息。其流程如图4.4所示。图4.4 用户注册程序流程图为了实现上述流程,设计以下的这些文件,这些文件之间有相互调用的关系,ProcessRegist.java负责处理注册请求,成功则转向registeSuccess.jsp页面,失败则转向registe.jsp页面等等,如图4.5所示。图4.5 用户注册模块文件结构及调用关系其中,各个文件的作用如下:(1)regist.jsp:注册界面(2)registSuccess.jsp:注册成功的欢迎界面。(3)ProcessRegist.java: 处理注册信息,负责与后台交互。(4)Customer.java:存放用户相关信息。(5)Cu

温馨提示

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

评论

0/150

提交评论