1、网上书店系统文档 摘要电子商务是利用现代信息网络进行商务活动的一种先进手段,作为创新的经济运行方式,其影响己经远远超过商业领域。 针对当前蓬勃发展的电子商务浪潮,本文从理论和实践两个角度出发,对电子商务进行了深入的探讨。论文构建一个电子商务应用系统网上书店。本系统是一个基于Internet,采B2C(BusinesstConsumers)模式,并根据现有的网上购物系统的现状而设计开发的电子商务平台。它不但可以扩大商家的规模和市场影响力,而且可以减少企业的经营成本,提高工作效率。本文首先介绍了网上购物系统的现状及开发背景,然后论述了系统的设计目标,系统需求和总体设计方案,较详细的论述了系统的详细
2、设计和实现。最后,本文对网上购物系统进行了系统检测并提出了还需要改进的问题。 本系统主要为用户提供了会员注册,购物车管理,商品搜索,用户资料修改等功能,为管理员提供了商品管理,用户信息管理,订单管理等功能。在设计方面,本系统采用B/S三层结构,同时使用JSP技术进行动态页面的设计,从系统的安全性和代码的可重用性方面考虑,运用JavaBean对程序的关键代码进行封装。后台数据库选用Mysql数据库。第一章 网上书店系统概述1.1 系统开发背景1.1.1网上购物的发展近年来,随着Internet的迅速崛起,互联网已日益成为收集提供信息的最佳渠道并逐步进入传统的流通领域。于是电子商务开始流行起来,越
3、来越多的商家在网上建起在线商店,向消费者展示出一种新颖的购物理念。网上购物系统作为B2B,B2C(Business to Customer,即企业对消费者),C2CCustomer to Customer,即消费者对消费者)电子商务的前端商务平台,在其商务活动全过程中起着举足轻重的作用。本文主要考虑的是如何建设B2C的网上购物系统。1.1.2网上购物系统实现的现状JSP已经是比较流行的一种技术,尤其是电子商务类的网站,多采用JSP。由于PHP本身存在的一些缺点,使得它不适合应用于大型电子商务站点,而更适合一些小型的商业站点。ASP和JSP则没有以上缺陷,ASP可以通过Microsoft Win
4、dows的COM/DCOM获得ActiveX规模支持,通过DCOM和Transcation Server获得结构支持;JSP可以通过SUN Java的Java Class和EJB获得规模支持,通过EJB/CORBA以及众多厂商的Application Server获得结构支持。三者中,JSP应该是未来发展的趋势。世界上一些大的电子商务解决方案提供商都采用JSP/Servlet。1.2系统实现的目标现在流行的网上购物系统不仅要有漂亮的网页,更要有严谨的规划,注重每一个细小的环节。这样才能使得在电子交易时避免不必要错误发生。我们将使用HTML、CSS、JSP等技术来编辑网页,并运用JDBC技术把数
5、据库和动态网页相关联。在实际应用中的解决了建立自己的数据库,使得所需商品信息可以及时的保存、更新,可以更好的及时了解商品买卖的情况。1.3 系统开发的意义Internet的发展,为改变传统的商业运作模式提供了一种技术上的可行性的方案:利用Internet的技术和协议,建立各种企业内部网Intranet,企业外部网Extranet,通过廉价的通讯手段,将买家与卖家、厂商和合作伙伴紧密结合在了一起,消除时间与空间带来的障碍,从而大大的节约了交易成本,扩大了交易范围。而在实际的生活中,这种方案已经被广泛的运用到了实际的商业活动中了,人们将这种交易模式称为:电子商务。 当今比较流行的网上购物系统国外有
6、“卓越,国内有“当当”。它们都是相当优秀的电子商务网站,对其他的网站提供了良好的典范。设计中可以学习参考他们的思想,了解和熟悉整个网站的开发流程及完整的电子商务网站应有的功能和注意事项。 设计和完成一个电子商务网站的,将会牵涉到许多技术上的问题,如:动态网页制作技术的,后台数据库的设计和管理,通过实际的制作个网站,可以避免纸上谈兵,在实践中掌握上述技术的使用。第二章 网上购物系统分析系统分析是平台开发的一个不可缺少的环节,为了能够使本系统更好、更完善地被设计出来,就必须先进行调查研究。在系统调查的基础上,对新系统的功能进行细致的分析,从而才能够开发出完整的系统设计。2.1网站的设计目标网站整体
7、采用JSP+MySQL+CSS+HTMl技术实现。此系统分为前台管理和后台管理。前台管理是友好的操作界面,供用户浏览、查询使用。包括:浏览商品、查询商品、订购商品、购物车、用户维护等功能;后台管理是提供给管理员的,其中包括:商品管理、用户管理等。使管理员从繁琐的手工操作中解脱出来,并提高了办公效率。2.2网站的可行性分析可行性研究是为了弄清楚系统开发的项目是不是可以实现和值得进行研究的过程,实际上是一次大大简化系统分析和系统设计的过程,所以,进行可执行性的分析是非常必要的,也是很重要的,经过最初的设计目标和进行的市场调查得出以下四点的可行性分析:经济可行性:网上书店主要以书籍 杂志及音像制品等
8、商品为主,网站可提供书籍音像制品的片段共读者浏览,是消费者了解其内容后在订购,没有过多的售后服务,退货问题。与传统书店相比,网上购书的市场规模和经营模式没有限制,突破了地理位置,经营面积,营业时间的局限。是一直种全新的销售渠道。从营业面积地理位置方面节省大量的资金。服务器24小时提供网络服务则消费者可每时都能登陆网站购物,大大增加书店的销售额度。无论从商家还是从消费者的角度看网络书店都具有良好的发展前景。技术可行性:JSPServlet的技术已经较为成熟。运行可行性:该系统需要搭建JVM即JAVA虚拟机和Tomcat环境,在此环境下系统,并且在正确连接数据库后可以正常运行。法律可行性:该平台是
9、作为毕业设计与商业无关,又因为是自主开发设计,因此不会构成侵权,在法律上是可行的。通过以上的可行性分析,我将采用JSPServlet相结合的技术,运用MySQL数据库对网站进行建设。2.3网站设计的特点我所设计和开发的网上书店购物平台是经过很长时间的调查和分析才开始具体实施的,它的主要特点是改变了以往的购物只能通过现实的商场才能达到的结果,采用Web技术,借助于Internet互联网广泛应用技术,达到资源共享,提高以往购物的局限性,缩短人们的时间和提高工作效率,具有较好的交互性,从而实现信息化,规范化,系统化,网络化的平台,使整个购物活动过程简单、方便、易行。2.4系统设计的总体规则无论哪个网
10、站都要有它自己的设计规则。该平台也一样,它的主要设计规则有:简单性:在实现平台的功能的同时,尽量让平台操作简单易懂,这对于一个网站来说是非常重要的。针对性:该平台设计是网上购物系统及后台管理的定向开发设计,所以具有专业突出和很强的针对性。实用性:该平台能完成电子商品展示和管理员管理的基本信息,具有良好的实用性。第三章 网上书店系统的开发技术架构系统的建设关键在于其所使用的架构,而网上购物这种基于web的系统,传统的c/s架构已经不能满足大量用户的访问和操作,b/s基于浏览器的架构则是目前网络系统应用的主流,它将大量的数据处理工作交给服务器端来处理,客户端只用通过普通的IE浏览器即可访问系统,方
11、便快捷而且利于系统的更新和维护,java语言在该方面更是得天独厚。 在B/S体系结构系统中,用户通过浏览器向分布在网络上的许多服务器发出请求,服务器对浏览器的请求进行处理,将用户所需信息返回到浏览器。B/S结构简化了客户机的工作,客户机上只需配置少量的客户端软件。服务器将担负更多的工作,对数据库的访问和应用程序的执行将在服务器上完成。浏览器发出请求,而其余如数据请求、加工、结果返回以及动态网页生成等工作全部由Web Server完成。实际上B/S体系结构是把二层C/S结构的事务处理逻辑模块从客户机的任务中分离出来,由Web服务器单独组成一层来负担其任务,这样客户机的压力减轻了,把负荷分配给了W
12、eb服务器。第四章 系统的功能和流程分析4.1网站的功能分析根据实现功能不同将网站分为了在线购书子系统和后台管理子系统。1.在线购书子系统为消费提供了在线浏览图书,订购图书的平台。属于前台展示部分的设计。具体功能如下:用户登陆网站浏览图书。用户在主页或我的帐户中注册成为网站的会员。只有网站的会员才能在网站购买图书。用户可以通过分类浏览,书目推荐,新书推荐,书目查询的方式选择喜爱的图书。用户选择图书提交订单完成订购。2.后台管理子系统为书店管理员提供了管理网络书店的平台。属于后台管理部分的设计。具体功能如下:注册会员的管理,并通过会员的消费记录更改的会员的等级,不同等级的会员享受不同的购书折扣待
13、遇。图书类别的管理,图书的管理。通过添加,修改,删除对图书类别进行管理。在类别下添加图书记录,对图书的名称,出版单位,媒体推荐,内容简介等详细信息进行添加,修改等管理。订单的管理,查询会员提交的订单并处理。处理已经送货的订单使之对书店的图书销售记录书店库存信息实时修改。书店公告信息的管理 添加书店的公告信息 使消费者及时了解书店的最新动态。4.2 系统流程分析4.2.1注册功能流程 注册的具体实现为:点击主页面的用户注册选项后,会弹出一个注册信息页面,用户需要如实填写用户名,密码,E_mail,地址,电话,证件号码等各项信息,提交后,系统进行检测判断该用户名是否已经注册过,如果已经存在则弹出新
14、页面,提示用户该用户名已经注册过,如果没有则进行下一步判断,用户输入的两次密码是否一致,然后依次往后判断用户所填写的各项信息是否符合要求,直到所有信息均正确无误,系统将该用户注册信息写入会员表即user并提示用户注册成功,用户登陆后,就可以进行有效的购物了。4.2.2用户登录流程用户登录,首先要有一个提供用户登录的表单。用户登录的表单应该嵌入整体的结构当中。在实际的应用中,可以这样设计,如果用户没有登录,则在主页中显示用户登录的选项,用户登录后,则可隐藏用户登录的选项而代之以用户的基本信息。4.2.3购物车流程购物车具体的实现可采用这种形式:定义一个购物车的类(Class)。1.列出商品的列表
15、,使用户能够自由选择所需要的商品。2.当用户在点击“添加到购物车”的链接时,执行如下功能:检查用户购物车类是否存在。如不存在,则建立,将购物车对象加入用户对象中;在有用户购物车类存在的情况下,检查该类中是否有该商品。如存在,则商品数量相应加1;如没有该商品,则将该商品添加到该类中。第五章 系统功能的具体实现5.1数据库的逻辑结构设计系统各项功能的实现归根结底是通过数据库进行各项操作完成的。因此要实现系统规划的功能,提高系统的性能,要选择一个设计合理,功能完善的数据库管理软件,并且设计一个组织严谨没有冗余数据,易于维护的数据库。MySQl是一个功能强大的关系型数据库管理软件,具有安全性,灵活性,
16、可靠性,可以有效的开发动态web站点。为数据处理提供服务。5.2各功能模块的实现5.2.1数据库连接模块设计数据库连接模块的思想是面向对象的封装思想。把数据库的连接操作封装到DB类中,使在编写业务逻辑是不用重复的编写连接数据库的语句块,极大的减少了代码编写数量,减少了我开发的时间,并保证了连接的正确性,似的维护数据库连接的灵活性增强。5.2.2设计模式的应用设计完成数据库连接模块之后考虑怎样更好的设计其他业务逻辑模块,怎样更好的提高业务逻辑模块的灵活性,可移植性。5.2.2.1业务逻辑DAO封装。网站的数据库使用的MySQL,如果随着网站的发展将会使用多种数据库测试时便要修改MySQL数据库的
17、代码给维护带来的很大不便。使用DAO模式设计了DAO接口 编写MySQL实现的数据库操作实现了DAO接口 使用多数据库测试时 只需要编写不同的DAO实现便可。提高了灵活性。5.2.2.2 模块的类设计 设计模块的具体功能时首先应先设计承载这些功能的类,各功能模块都应包含实体类 ,业务逻辑类两部分。实体类依据设计的数据库的逻辑结构编写,包含了数据成员对应各自的数据库表的列,并提供对个数据成员的get set 方法。业务逻辑类内部主要包含实现个功能的业务逻辑方法。该系统使用三层类的结构。即管理类Manager ,DAO类 ,数据库实现类。 5.2.3 用户模块 用户模块分为会员注册并登录网站并在我
18、的帐户中管理自己的信息和网站管理员在后台管理会员信息两部分。用户进入网站后可以注册为会员,会员可以订购图书并享受折扣待遇。会员登录后可以在我的账户中管理自己的个人信息,包括修改查看个人基本信息,查看订单信息,查看消费信息。 5.2.3.1 会员注册登录设计 电子商城系统离不开用户与网站之间的交互,用户注册和登录十分重要。该系统对用户注册和登录功能进行详细设计。 会员注册时在注册页面编辑个人信息,通过信息表单提交个人信息到服务器审核。检查用户提交的信息是否为空,用户提交的信息不能为空。会员注册用户名不能与以往已经注册的用户名重复,否则无法区分。在提交信息到数据库时对此进行了检查限制。 审核通过便
19、成功注册为会员。将信息添加到数据库中保存。在业务类中提供了addUser()方法添加数据。因为在添加数据库添加数据方面大同小异所以以添加用户为例详细介绍向数据可添加数据的方法。会员注册后每次只需登录网站便可在网站购物。会员在首页登录表单内填写相应的信息登录网站。服务器验证信息正确则返回首页显示用户成功登录,并把用户登录信息添加进session中统一管理。如果信息错误则返回注册页面请会员重新登录。将会员的信息封装到User类中添加进session管理session.setAttribute(user,user);利用session在服务器中统一管理会员的登录信息更能保证用户登录的安全。5.2.3
20、.2 后台会员管理设计该系统实现的后台会员管理主要是获取所有会员的信息 使用表格将会员信息显示在网页上。为了便于管理系统实现了会员信息类表的排序和分页。 利用排序方式和页面参数获取会员列表分别使用了数据库的排序操作和分页操作技术。5.2.4 类别模块 通过设计类别模块能够更方便的管理图书目录,消费者在选购图书的时候能够更方便的按类别寻找自己喜爱的图书,所以类别的设计很重要。能够更好的引导消费者选购也能够更好的帮助管理者管理图书。类别管理同样使用了实体类家三层业务逻辑类的方法。系统中设计了两层类别,第一级类别为主类别,第二层为某主类别小细分的子类别。在数据库表项中使用grade字段记录类别的等级
21、。并使用cno字段类别的排序号码。Cno值使用了四位数字,前两位为第一级类别使用,后两位为第二级类别使用,即每一级都可添加一百种不同的类别。Cno更好的辅助了类别管理是递归的实现。在展示类别列表时按照cno排序即可实现递归的功能,依次展示主类别和旗下子类别。5.2.4.1 类别的增删改查 网站管理员可以对类别进行添加,修改,删除,查看操作,系统的对类别进行管理。 类别的添加,修改仍旧使用了表单添加信息提交到服务器然后添加进数据库的方法。值得注意的是不同等级的类别操作的方式不一样。二级类别只能在第一级父亲类别下面添加,所以当添加第二类别是需要传递父亲类别的id号码作为参数,如果没有则显示错误信息
22、要求指定父亲类别。 类别列表查看时在类表中应该有维护类表方法的连接。比如添加子类别 修改类别 添加商品 删除类别等。同样使用用户模块中的列表技术。 类别的删除使用删除数据库表记录的操作。在商品管理中同样有删除的功能,大同小异,所以在这里详细介绍类别的删除。5.2.4.2类别的前台展示 后台管理员将类别展示之后需要在前台页面展示出来以供用户浏览使用同样使用向业务逻辑传递集合参数的方法,从数据库中取出数据放入集合categorylist中然后返回。 5.2.5 图书模块5.2.5.1 后台图书管理的基本操作后台图书管理可以添加图书,修改图书信息,删除图书记录。在添加图书是需要传递一个类别的id参数
23、,在某类别下添加图书,如果没有参数则显示错误信息必须要在某类下添加图书。图书的信息包含了基本信息和详细信息。方便管理员有选择的添加图书的相关信息。对于没有必要添加图书详细信息的记录则不添加。5.2.5.2 前台图书的展示首页中设计了热卖图书的展示区块,最新图书的展示区块,促销最快的展示区块。使用按销售额,上架时间,折扣排序从数据库中获取数据存放在传递的集合参数中。然后从集合中取出数据展示出来。三个区块的设计大致相同。5.2.6 购物车模块购物车临时存储用户的购物信息,用户可以随时增加商品,修改数量和删除商品。购物车的与数据存储主要依赖sessiion来实现。5.2.6.1购物车的创建本系统创建
24、了购物车的实体类Cart和购物车内物品的实体类CartItem来模拟购物车。在购物车实体类中设置了数据成员CartItem的集合及对该集合的get,set方法。在CartItem中编写了Cart实体的引用作为数据成员。将整个图书的信息封装到了购物车中。在用户的实体类编写了Cart的引用将购物车的所有信息封装到了所属的用户之中。用户在网页中点击图书时将图书的id号码传递到buy.jsp中并在网页中过去该id号码的图书信息封装到图书对象中。然后将图书对象添加进CartItem网页中实现将图书记录添加进购物车。如果用户没有选购图书则session中用户对象中cart对象为空 如果用户选购了图书当再次
25、选购图书时不能重新构建购物车而是使用原有的购物车继续添加5.2.6.2购物车的管理用户点击购买图书之后,图书记录存放在购物车之中。用户可以随时修改购物车中的信息,包括删除图书,增加图书的记录。在系统中编写add方法 和 delete方法 分别实现对购物的管理 重点设计add方法 和 delete方法,使得无论什么时候购物车中图书的对象都是唯一的,利用购物车的count属性记录相同图书对象的数量。如果购物车中已经存在相同的图书则只修改购图书的数量即可。5.2.6.3购物车的显示设计购物车显示模块应当能够时消费者清楚自己已经订购的图书种类,图书的数量,每一种图书的价格,以及将要下订单的总价格,并提
26、供更改购物车的连接接口使得消费者更方便的管理自己订购的图书,放心的消费。购物车模块与订单模块都应当有订购图书名称,价格,总价格的显示。5.2.7订单模块订单模块时整个系统功能最后的也是最关键的模块,因为只有用户正确的提交了订单才能保证用户的合法消费权益,网站才能根据用户的订单发送图书。正确设计订单模块才能根据消费者的消费正确更新消费者等级信息,提高消费者的优惠享受。正确设计订单模块才能使的管理员清楚图书的销售进度及库存数最新状态。所以订单的设计尤为关键。整个订单模块可分为用户确认提交订单部分 用户在我的帐户中查看订单信息部分 网站管理员管理订单并更改订单信息发货部分 用户提交订单之后用户消费等
27、级信息的修改及网站图书记录销售额和库存的修改部分在订单提交时首先要检测用户是否在登陆状态。只有用户在登陆状态时才能提交订单。在订单页面中显示消费者的电话联系方式和送货地址。消费者可在订单页面再次修改自己的电话号码和送货地址作为本次订购的联系方式。在订单页面中仍旧显示购物车中图书,可供消费者再次查看并确,否则可返回修改购物车。当消费者验证完所有信息后可点击提交订单。订购图书正确送到消费者手中之后,管理员应该更新订单成功状态以使及时改变用户的消费记录和等级,改变网站系统此图书的销售数量。5.2.7.1 创建订单跟购物车相似 订单类同样有订单实体类和订单项实体类两个,在订单类SalesOrder中有
28、数据成员订单项的集合salesitemlist可以承载订单项SalesItem类的实例。按照数据库相应表结构来那个各类都具有自己的其他数据成员。在用户的实体类中添加订单类的引用,将订单对象放入session管理,调用业务逻辑处理添加进数据库。5.2.7.2 后台订单管理后台订单管理包括了订单查询和订单状态修改两部分。该系统中设置了订单查询的三层方法调用,订单对象中用户的引用,有订单项的集合,需要调用方法获得user对象 和包含了订单项的订单集合 在订单项中有图书类对象的引用,要调用方法获得该订单项的图书对象。当订购图书成功送达之后管理员需要处理订单的状态,订单状态应为成功。在订单展示页面sal
29、esorderlist.jsp中有用户查询订单的表单,该表单通过管理员输入订单号码来查询要处理的表单,快捷方便,而不用从繁杂的订单表中苦苦寻找。搜索到要处理的表单后点击处理连接即可将表单的状态改为成功,于此同时将改变用户的消费信息包括改变用户的消费金额总值和用户的等级。5.2.7.4用户查看订单用户在登录之后可以在我的帐户中查看自己的订单,使用常用的通过传递集合参数和id号码查询的方法,使用while循环方式在我的帐户页面中显示出来 并显示订单的状态。第六章 系统测试及难点分析6.1系统运行环境的搭建1. JAVA虚拟机的安装2.Tomcat环境搭建,安装TOMCAT,直接使用默认安装就可以了
30、。6.2 系统程序的安装和加载文件的拷贝我们可以将整个系统文件夹KeHuiBookShop拷贝到Tomcat的默认根目录下,一般路径为:C:Tomcat5.5webapps。6.2.2 数据库的连接 安装MySQL数据库,将SQL文件夹中的逻辑结构源文件拖入数据库运行窗口运行创建数据库。第七章 结束语电子商务已被轰轰烈烈地推到了我们面前,人类社会以进入电子商务时代,这是社会发展的必然,我们别无选择。如何面对电子商务时代,如何适应数字化生存并积极参与电子商务时代的社会竞争,为此,我们必须积极的态度面对这一机遇和挑战,研究电子商务,探讨电子商务的内涵,运作模式以及他所涵盖的关键技术等。本系统虽然极尽我们全力,使其趋于完美,但是或多或少有不足之处和一些问题,在后期维护中我们将逐个解决。现在电子商务已经占据了极大地网络市场,也是新型的购物方式,已经涉及到了每个人,每个企业及每个部门,在他发展壮大的同时,也会存在一系列的问题,我们要面对机遇的同时迎接挑战。实实在在的掌握电子商务的技术。 10