admin 管理员组文章数量: 887021
2024年1月16日发(作者:食肉菌多久发作)
2007
基于WWW的电子商务系统的研究与设计
———简易网上书店系统的设计与实现
I
2007
摘要
本文设计一个简易的电子商务系统——网上书店的设计与实现,以使每一位顾客不用出门在家里就能够通过上网来轻松购书。系统采用界面与业务逻辑分离的三层结构设计,使系统的安全性,可维护性,重用性和可扩展性都大大提高。首先介绍了课题所涉及的相关技术:多层用户/服务器结构以及Web应用的相关数据库访问技术,JSP技术。STRUTS框架以及使用方法。本系统的特色之一在于应用了STRUTS框架技术,而没有采用传统的JSP+JAVABEAN+后台数据库的形式编程,在加入了STRUTS框架后,M(model) V(view) C(controler) 系统的各个层次闲得更加清晰,在JSP页面上大大的减少了JAVA的代码量,使JAVA代码全部在页面上消失,使其烦琐的业务逻辑全部转移到了中间层,由控制层C(controler)去实现这一功能。从而提高了系统的可读性和可维护性。在此基础上论述了网上书店系统的设计目标、系统需求和总体设计方案,功能上的完备,面向对象的三层结构设计,模块化的界面设计是本文章所引用的特点。从而较详细的论述了网上书店系统的详细设计和实现。
关键词:JSP,STRUTS框架,网上书店系统。
II
2007
Abstract
The paper designs a simple e- commerce system——on-line bookshop,
which makes every customer can buy their books on the Internet at home
easily without getting out .The system adopts a three-tier architecture
project where the interface is separated with professional logic, which
could make great improvement on the security, the maintainability, the
reusability and the expansibility of the system .Firstly the paper gives
a introduction of several key techniques about the task : multi-tier
Client/Server Architecture, Web-related technology , JSP(Java Server
Page), STRUTS frame and using method. One of the feature of the system
is STRUTS frame technique .The programme doesn’t adopt the traditional
form of JSP+JAVABEAN+background database. With the STRUTS frame technique,
every arrangement of M(model)V(view)C(controler)system becomes more
distinct, the quantity of Java code in JSP page gets reduced, the Java
code disappears in the page, it turns all of the intricate professional
work to middle tier, with the function realized by controller, which
improves the readability and the maintainability of the system. Based of
them the paper discussed the design aim ,system requirements and general
design scheme,maturity in function ,the three-tier architecture with OO,
interface design of modularization are characteristic in this paper, it
elaborates upon the details of design of the on-line bookshop system.
Key words:JSP,STRUTS,on-line bookshop.
III
2007
目 录
第一章 绪 论 ...................................................... 1
1.
1国内外电子商务发展情况 ....................................... 1
1.2网上书店系统的现状 ............................................ 2
1.3开发网上书店系统的意义 ........................................ 3
1.4系统说明 ...................................................... 3
1.4.1硬.软件环境 : ......................................... 3
1.4.2 JSP技术简介 ........................................... 4
1.4.3 Strusts技术简介 ....................................... 4
第二章 需求分析 ................................................... 7
2.1系统的需求 .................................................... 7
2.2
业务流程: .................................................... 7
2.3
系统的功能: .................................................. 8
2.4
系统可行性: .................................................. 9
第三章 总体设计 .................................................. 10
3.1
系统结构设计图 ............................................... 10
3.2
系统设计思想 ................................................. 11
3.3系统功能模块划分 ............................................. 11
3.2数据库设计 ................................................... 13
第四章 详细设计 ................................................. 19
4.1
数据库详细结构设计: ......................................... 19
4.2
客户登陆界面详细设计 ......................................... 21
4.3
购物车功能详细设计 ........................................... 23
4.4
管理界面流程图 ............................................... 24
第五章 功能实现 .................................................. 27
5.1
客户登陆界面实现 ............................................. 27
5.2
客户注册界面实现 ............................................. 27
5.3
客户登陆后界面实现 ........................................... 28
5.4
管理员入口界面实现 ........................................... 29
5.5
管理员管理界面实现 ........................................... 29
第六章 系统的测试 ............................................... 31
6.1系统的单元测试 ............................................... 31
6.1.1 客户端界面功能实现测试 ................................ 31
6.1.2 管理端界面功能实现测试 ................................ 32
6.2系统的优点 ................................................... 32
6.3系统的不足 ................................................... 32
IV
2007
第七章 总结 ..................................................... 33
致 谢 ............................................................ 34
参考资料 ......................................................... 35
V
2007
第一章 绪 论
1. 1国内外电子商务发展情况
计算机的出现给人类社会带来了第三次工业革命,计算机和计算机网络已经深入到了各行各业,各个领域,随着internet的不断扩大和发展,电脑网络“把每一个国家、每一个城市甚至每一个家庭连接到一起”,形成了一条“信息高速路”,就像高速公路大大提高了车辆行驶的速度一样。
信息高速路给生活、学习和工作带来了什么影响呢?总结起来主要有三点:第一,电脑网络可以查阅信息,迅速而便捷地了解周围的世界;第二,可以跟世界各地的人随时进行交流,并建立联系;第三,可以参加网络购物、拍卖等活动。正是由于有了这么一条信息高速路,网上查询和网上购物随之有可能,因此网上商业交易也迅速地发展起来,也因此给我们的生活带来很多方便。
电子商务是于九十年代初,在欧美兴起的一种全新的商业交易模式,它实现了交易的无纸化,效率花,自动化,表现了网络最具魅力的地方,快速的交换信息,地理界限的模糊,这所有的一切也必将推动传统商业行为在网路时代的变革。早在网路盛行的时代,通过网路的电子邮件,视频交换,文件交换以及目前还很热们的EDI((电子数据交换),所进行的商业行为,都可以说是现在电子商务的某种形式的表现,也可以说,电子商务是它们崭新的应用集合。
电子商务所包含的内容非常多,不仅包括商业交易,还包括政府职能部门提供电子化服务,电子银行,跨企业共同协作,网络购物等等。电子商务革新了传统经济活动的运作手段。因此,电子商务按照经济活动的类别可分为两大类别:第一,企业间的电子商务,即企业与企业之间,通过网络进行产品或服务的经营活动。第二,企业与消费者之间的电子商务,即企业通过网络为消费者提供一个产品或者服务的经营活动。 实际上,第一大类模式又可以分为两种,第一种是企业之间通过网络进行产品销售和购买,第二种是企业之间通过网络提供服务和得到服务。第二大类模式也可以分为两种,第一种是企业与个人消费者通过网络进行产品销售和购买,第二种是企业与个人消费者通过网络提供服务和得到服务。第二类,企业与个人,对于个人,也就是消费者而言,电子商务就是我们常说的电子消费,网上购物,它也称为电子商业(e-business)。企业与个人,对于企业来说是扩大企业产品的知名度,拥有更大的市场空间,以及利用网络的跨地域性,在销售通道上,更易控制及掌握。而对于个人来第 1 页
2007
说,进行电子消费,不受时间及地域的限制,有更多的自主权。在消费变的方便的同时,消费者作为个体,将会有更多的时间及精力来完成其它生活事务,对于城乡商业平衡也起到莫大的作用。电子商务是顺应网络时代的发展要求,它的出现,必将为未来的商业贸易往来的发展及繁荣起着无可替代的作用。 举例来说,新浪等门户网站分别为企业或个人提供新闻、邮件、广告、短信、游戏等服务活动,通过第二类和第四类电子商务活动获得经济收入;阿里巴巴网站主要是为企业提供产品销售和采购等商机信息服务,从事的是第二类电子商务活动;易趣网主要是为个人消费者提供拍卖等商机信息服务,从事的是第四类电子商务活动;卓越网主要是为个人消费者提供图书、光盘等产品,从事的是第三类电子商务活动;神州数码公司通过“e-brige”网站为代理商提供IT产品,从事的是第一类电子商务活动;联众网站为个人消费者提供娱乐服务,从事的是第四类电子商务活动;工商银行等金融机构的在线银行通过网络为企业和个人提供金融服务,从事的是第二、第四类电子商务活动。
电子商务将传统的商务流程电子化、数字化,一方面以电子流代替了实物流,可以大量减少人 力、物力,降低了成本;另一方面突破了时间和空间的限制,使得交易活动可以在任何时间、任何地 点进行,从而大大提高了效率。 电子商务所具有的开放性和全球性的特点,为企业创造了更多的贸易机会。 电子商务使企业可以以相近的成本进入全球电子化市场,使得中小企业有可能拥有和大企业一样 的信息资源,提高了中小企业的竞争能力。 电子商务重新定义了传统的流通模式,减少了中间环节,使得生产者和消费者的直接交易成为可 能,从而在一定程度上改变了整个社会经济运行的方式。 电子商务一方面破除了时空的壁垒,另一方面又提供了丰富的信息资源,为各种社会经济要素的 重新组合提供了更多的可能,这将影响到社会的经济布局和结构。
1.2网上书店系统的现状
由于电子商务的迅猛发展,网上书店系统发展也已经达到一个较高的水准。中国的网上书店发展也颇具潜力。
一方面,从外部环境因素的变化趋势来看,由于中国物流市场已经对外开放,支撑中国网上书店的物流产业正在蓬勃发展,一些国际物流公司如FEDEX和UPS等已经进入了中国市场,而中国本土物流公司也将在竞争中得到优化;中国人口基数大,且互联网用户增长快,网上书店拥有众多的潜在客户;中国银行业也在积极提高网上服务能力以迎接来自国外银行的竞争。所有这些都为中国网上书店的发展带来了机会。
另一方面,从内在潜质来看,中国网上书店能够在借鉴亚马逊模式的同时进行创新,利用中国特有的优势来克服不利的外部环境因素,例如采用“自行车送货”和“货第 2 页
2007
到付款”就是中国网上书店的成功创新。随着外部环境的逐步优化,又有亚马逊这样的网上书店先行者的经验嫁接,中国网上书店发展前景看好。
现在的网上书店系统实现的功能也非常的多,最重要的当属图片的销售,也就是管理库房中的图书,以及管理用户的购物车,从而实现结账等一系列功能。另外网上书店系统还提供给用户查找数据库中图书相关记录的功能。在确认用户身份方面也已经比较完善,并且具有管理员的功能,管理员对整个数据库可以进行操作。现在拥有一些知名的网上书店系统如:当当,卓越等。
1.3开发网上书店系统的意义
就网上书店系统而言,由于网络已经覆盖全球,信息量大而独具优势。售书的理念也很简单,就是读者可以自己寻找自己喜爱的书为替读者找寻他们想要的书。对于读者来说,网上书店近在咫尺,并且永不下班关门,读者可以随时随地自由地查询和订购图书,读者无需亲临书店,一档一档地找,一本一本地翻,只要坐在电脑前,开机上网即可买到所需书籍,而且读者的挑选余地也大多了,检索也很方便,同时还减少了书店过程中的支出,另外应当看到图书选购必得翻阅详看,耗时费力,特别是热衷书店者,几乎都是奋力开拓事业者和苦心求学深造者,时间对他们而言无比宝贵,网上书店节省了大量时间,这对于那些没有时间经常逛传统书店或其住所离传统书店较远的读者来说,具有实际意义。因此网上售书必将有长足的发展。
开办网上书店系统也可以为在校大学生提供方便、廉价、高效的书店方式,促进文化传播,帮助国家和学校培养优秀的人才,具有长远的社会效益和经济效益。
1.4系统说明
1.4.1硬.软件环境 :
操作系统:Windows XP
数据库:SQL Server 2000
编程语言: Java JSP
编程工具:myeclipse
系统框架:Struts
第 3 页
2007
1.4.2 JSP技术简介
JSP(JavaServer Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准.该技术为创建显示动态生成内容的Web页面提供了一个简捷而快速的方法。JSP技术的设计目的是使得构造基于Web的应用程序更加容易和快捷,而这些应用程序能够与各种Web服务器,应用服务器,浏览器和开发工具共同工作。 JSP规范是Web服务器、应用服务器、交易系统、以及开发工具供应商间广泛合作的结果。在传统的网页HTML文件(*htm,*.html)中加入Java程序片段(Scriptlet)和JSP标记(tag),就构成了JSP网页(*.jsp)。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给客户。程序片段可以操作数据库、重新定向网页以及发送 email 等等,这就是建立动态网站所需要的功能。所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,对客户浏览器的要求最低,可以实现无Plugin,无ActiveX,无Java Applet,甚至无Frame。
JSP技术在多个方面加速了动态Web页面的开发:
一.将内容的生成和显示进行分离
二.强调可重用的组件
三.采用标识简化页面开发
四.JSP技术与ASP技术的区别:
1、 JSP的效率和安全性更高
2、 JSP的组件 (Component) 方式更方便
3、 JSP的适应平台更广
1.4.3 Strusts技术简介
——Struts的由来和发展:
Struts 框架工具是 Apache 基金会 Jakarta 项目中推出的一个子项目。 Struts 在英文中是支架、支撑的意思,这也体现出 Struts 在开发 Web 应用程序过程所起到的重要作用,Struts 为 Web 应用提供了通用的框架,让开发人员可以把主要精力集中在如何解决实际业务问题上,与此同时 Struts 框架也允许开发人员根据实际需要进行扩展和定制,从而可以更好的适应用户的需求。采用 Struts 可以简化遵循 MVC
设计模式的 Web 应用的开发工作,很好地实现代码重用,使开发人员从一些繁琐的工作中解脱出来,快速开发能够充分发挥 JSP/Servlet 优点、并具有强可扩展性的
Web 应用。总之, Struts 的出现使 Web 应用的开发过程大大简化,从而能够缩短第 4 页
2007
开发周期、提高开发效率。 Struts 架构一经推出,即受到 Java 开发群体的广泛重视,从 2004 年开始逐渐升温,并日渐成为 Java 创建 Web 应用开发的最流行的框架工具,在目前 Java Web 程序员的招聘要求中,几乎都提出了对 Struts 的要求,精通 Struts 架构已经成为 Java Web 程序员必备的技能。
——MVC简介:
模型-视图-控制器(MVC)是80年代Smalltalk-80出现的一种软件设计模式,现在已经被广泛应用
1、模型(Model):模型是应用程序的主体部分。模型表示业务数据,或者业务逻辑.
2、视图(View):视图是应用程序中用户界面相关的部分,是用户看到并与之交互的界面。
3、控制器(controller) :控制器工作就是根据用户的输入,控制用户界面数据显示和更新model对象状态。
工作原理如下:
M——Struts优缺点:
优点: Struts跟Tomcat、Turbine等诸多Apache项目一样,是开源软件,这是它的一大优点。使开发者能更深入的了解其内部实现机制。
除此之外,Struts的优点主要集中体现在两个方面:Taglib和页面导航。Taglib是Struts的标记库,灵活动用,能大大提高开发效率。另外,就目前国内的JSP开发者而言,除了使用JSP自带的常用标记外,很少开发自己的标记,或许Struts是一个很好的起点。
第 5 页
2007
关于页面导航,我认为那将是今后的一个发展方向,事实上,这样做,使系统的脉络更加清晰。通过一个配置文件,即可把握整个系统各部分之间的联系,这对于后期的维护有着莫大的好处。尤其是当另一批开发者接手这个项目时,这种优势体现得更加明显。
缺点: Taglib是Struts的一大优势,但对于初学者而言,却需要一个持续学习的过程,甚至还会打乱你网页编写的习惯,但是,当你习惯了它时,你会觉得它真的很棒。
Struts将MVC的Controller一分为三,在获得结构更加清晰的同时,也增加了系统的复杂度。
——Struts的工作流程:
所有的请求都提交给ActionServlet来处理。ActionServlet是一个FrontController,它是一个标准的Servlet,它将request转发给RequestProcessor来处理,
ActionMapping是ActionConfig的子类,实质上是对的一个映射,从中可以取得所有的配置信息
RequestProcessor根据提交过来的url,如*.do,从ActionMapping 中得到相应的ActionForn和Action。然后将request的参数对应到ActionForm中,进行form验证。如果验证通过则调用Action的execute()方法来执行Action,最终返回ActionFoward。
ActionFoward是对mapping中一个foward的包装,对应于一个url
ActionForm使用了ViewHelper模式,是对HTML中form的一个封装。其中包含有validate方法,用于验证form数据的有效性。ActionForm是一个符合JavaBean规范的类,所有的属性都应满足get和set对应。对于一些复杂的系统,还可以采用DynaActionForm来构造动态的Form,即通过预制参数来生成Form。这样可以更灵活的扩展程序。
ActionErrors是对错误信息的包装,一旦在执行action或者te中出现异常,即可产生一个ActionError并最终加入到ActionErrors。在Form验证的过程中,如果有Error发生,则会将页面重新导向至输入页,并提示错误。
Action是用于执行业务逻辑的RequsestHandler。每个Action都只建立一个instance。Action不是线程安全的,所以不应该在Action中访问特定资源。一般来说,应改使用 Business Delegate 模式来对Business tier进行访问以解除耦合。
第 6 页
2007
第二章 需求分析
2.1系统的需求
主界面简洁明了,提供导航条,客户可以根据导航条进入相应的分页面。要求系统响应速度快,做数据库查询时反映快,页面之间的跳转响应速度快。
客户登陆主界面(新客户可以注册为用户,用户可凭个人以注册的用户名密码进行登陆),非注册的用户不可以进行图书的购买,只能查看相应的图书信息,注册的用户可以购买图书,购买图书可加如个人购物车内,可以查看图书详细资料,可以进行图书查询(按关键字),也可以转到其他功能模块(如:修改个人已注册信息,查看个人购物情况)。购物要可以使用户可以修改购买数量,可以删除已经选购的图书,可以提交购物,在提交时可以简单附言说明,可以清空购物车,可以继续购书,或者转向其他的模块。
提供管理员入口,管理员按密码登陆后,可以进行现有图书管理(包括可以查看图书资料,修改图书资料,删除图书),可以添加新的图书,可以添加新的图书分类(包括增加和删除),可以对客户的订单进行管理(包括查看订单资料,删除订单,查看订单的用户资料),可以进行用户管理(查看用户信息,修改用户资料,删除用户资料)。
2.2 业务流程:
登陆书店的可以分为三种身份,一种是游客,一种是会员用户,在有一种就是管理员。
游客是指未在本网站注册的用户,通过各种方式链接等进入本网站,游客们通过对网站整体上的印象,可能发展为本网站的注册会员。游客不具备注册会员的一些权利,其只能浏览网站上公布的图书信息,可以对图书进行分类查询,观看图书介绍等。一旦游客对图书产生购买的想法时,他必须要先注册为会员,才能购买。其流程为或者观看完图书信息后直接退出,或者为查看完后,进入注册模块,注册成功后执行会员的流程。
注册会员为本网站的核心客户,他们登陆网站后,除了可以查看各种图书信息,观看具体图书介绍,查询想要购买的图书外,可以直接提交购买图书的请求。其购买的流程如下,将想要购买的图书添加到自己的购物车中,将不想购买的图书从购物车中清除,然后继续购买,或者直接提交订单。
第 7 页
2007
2.2.1数据流图:
暂存订单详订单订单客户确认订单销售订书通知采购到书通知订书单管理员发书单图书信息收款总订单
管理员是本网站的少数管理人员,他们通过专门的管理员入口进入管理页面,进行相应的管理操作,对注册用户的订单进行查看管理,对网站的图书进行管理,对注册的用户进行管理。
2.3 系统的功能:
1.客户界面部分
-- 图书选购(可按分类方式查找图书,或者通过关键字进行查询)
-- 购物车功能
-- 查看图书详细情况
-- 用户注册
-- 用户登陆
-- 查看用户的定单信息
-- 修改用户个人信息
2.管理界面部分
-- 现有图书的管理:修改,删除,查看
-- 用户管理:查看,修改,删除
第 8 页
2007
-- 订单管理:查看订单清单,更新订单付款,出货状态,删除订单
-- 添加新图书
-- 添加图书分类
2.4 系统可行性:
—— 页面模块化:本系统在界面设计上都采用了模块化处理思想,把很多页面共有的部分集中成一个模块,例如界面的头,尾和导航条,这洋在开发时,遇到这样相似的页面部分就不用去重写代码,而只需重用代码就可以了,大大提高了效率。
—— 三层结构设计:本系统采用三层结构设计,即程序逻辑结构分为用户界面层,业务逻辑层和数据存储层。三层在物理的结构上也是独立的,业务逻辑处理层才用FORMBEAN 和 ACTION实现,用户界面与业务逻辑分离,系统的安全性,可维护性,重用性和可扩展性都大大提高了。
—— 面向对象设计:在本系统中将用户,图书等都封装成相应的类,同时每一个类都用自己想对应的操作类,从而在次提高了对数据库操作的安全性和程序的可扩展性。
——人性化设计:本系统导航的另外一个特点就是导航明晰。这样,不论客户位于本“书店”的哪个角落,都可以找到方向。
第 9 页
2007
第三章 总体设计
3.1 系统结构设计图
在线图书
客户端界面 管理端界面
JavaBean
数据库
在线够书界面
购物车界面
订单信息管理
登陆、注册
图书管理模块
添加图书模块
添订加单图信息书模分块
类模块
登陆模块
图书管理
订单管理
用户管理
图书分类类
图书分类管理
图图书书类
管理类
订订单单类 管理类
购物车类
购物车管理
用用用户户户类
管登理陆类 类
本图是根据面向对象的程序设计方法和三层结构的设计思想画出的整个系统的结构设计图,从结构上系统共设计成三部分:
1 视图表现层,具体包括客户端界面和管理端界面,负责整个系统的功能展示,为用户提供图形化的界面操作。
2 JAVABEAN层,其中封装了几乎所有的业务逻辑,具体涉及到图书订单用户三大类。
3.数据库层,负责存储数据。
第 10 页
2007
3.2 系统设计思想
——页面模块化:本实例把页面中的一些常用的部分集成为模块,例如 页面的头和尾部,这样设计就除去了每一个页面中的重复出现部分,只需要拿现成的模块组装就可以了。
——三层结构框架
工作原理图如下:
用户界面层 业务处理层 数据存储层
输出图书ID查询图书信息
组织SQL语句查询数据库
返回图书对象内有图书信息
JavaBean
返回查询结果
数据库
采用Struts三层框架后,减少了JSP页面上的JAVA代码量,由中间层FORMBENA,ACTION来实现中间业务处理层的任务。FORMBENA中接受前台传来的数据,其中写满了相应的GET ,SET方法。ACTION负责相应的动作。这样用户界面层甚至可以不知道数据库的结构,他只要维护与业务层之间的接口就可以。这种方式在一定程度上增加了数据库的安全性,同时降低了对用户界面层开发人员的要求,因为它从根本不需要进行任何的数据操作。
3.3系统功能模块划分
功能模块图如下:
1.客户界面的系统功能模块图:
第 11 页
2007
客户登陆
在线购书
在线购书
查看购物车
查看订单信息
图书查询
购买 查看图书详细
客户注册登陆
修改购买数量
删除已经选购的图书
提交购物车
清空购物车
继续购书
查看订单详细
购买
查看图书详细资料
购买
客户端是为浏览本网站的用户所设计的,因此其包含了用户登陆网站后所有相关操作所所包含功能。
第 12 页
2007
管理界面的系统功能模块图:
管理员登陆
用户管理
现有图书管理
添加新图书
添加图书分类
订单管理
用户管理
查看图书资料
修改图书资料
删除图书
添加新图书
添加图书分类
删除图书分类
查看定单详细资料
删除定单
查看用户资料
查看用户详细资料
修改用户资料
删除用户
管理界面是为网站的特殊使用人员——管理员设计的操作页面。其中包含所有对网站操作的高级功能,包括对图书,人员,订单的管理(增 删 改 查)。
3.4数据库设计
数据库需求分析:
—— 用户分一般用户和管理员用户。
—— 订单分单张详细订单和总订单。
—— 每一本图书都从属与一种类型。
第 13 页
2007
—— 一个用户可以购买多本图书。
—— 一个用户对应一张订单表。
—— 一个列表对应多张订单。
经过上诉系统功能分析和需求总结,考虑到将来功能上的扩展,设计如下面所示的数据项和数据结构。
—— 管理员信息,包括数据项:用户名,密码。
—— 普通用户,包括数据项:用户ID,用户名,密码等。
—— 图书,包括数据项:图书编号,图书名称分类编号等。
—— 图书分类,包括数据项:分类编号,分类名称。
—— 订单列表,包括数据项:订单编号,图书编号,购书数量。
—— 订单,包括数据项:订单编号,用户编号,下单时间等。
3.4.1 实体—属性图
管理员信息实体实体—属性图
管理员
用户名 密码
论坛管理员,需要用户名与密码进入。
第 14 页
2007
用户信息实体的实体—属性图
用户号 用户名
密码 姓名
性别
用户
IP地址
地址
注册时间
Emdil
邮编
电话
论坛一般用户,需要属性较多,包括ID号,用户名,密码,姓名,性别,地址,电话,邮编,电子邮件,注册时间,IP。
图书分类实体实体—属性图
ID号 书名
分类名称
作者
图书封面
出版社
图书
登记时间
书号
剩余数量
总数量
原价 简介
网站主要数据图书,包含ID号,书名,分类名称,作者,出版社,书号,简介,价格,数量,剩余数量,登记时间,图书封面等属性。
第 15 页
2007
图书分类实体实体—属性图
图书分类
ID号
分类名称
记录书店现有的的图书分类,只包含ID号与分类名称2个属性。
订单总表实体实体—属性图
订单信息
ID号 订单号 书号 订货数量
记录某个用户的订单信息,包含ID号,订单号,书号,定货数量4个属性。
第 16 页
2007
订单详细表实体的实体—属性图
ID号
订单编号 用户编号 提交时间
是否发货
交货时间
订单详细表
是否付款
总金额
用户IP
备注
此表与订单总表的区别是记录的是单张订单的具体信息。是管理员面对的对订单的具体操作。包含的属性也与订单总表不同。
3.4.2 E-R图:
1:m
管理员 用户
购书
m:n
订单列表
1:n
订单
图书
1:m
图书分类
第 17 页
2007
管理员可以管理用户,是多对多的关系。用户购买图书,是一对多的关系。图书分类包含图书,是一对多的关系,订单总表包含订单详表,是一对多的关系。用户可以购买多本图书,下多个订单,所以用户与订单之间是一对多的关系。
订单详表与订单总表之间通过订单号可以连接。
第 18 页
2007
第四章 详细设计
详细设计阶段的具体目标是确定应该具体实现所要求的系统。也就是有对系统做具体的分析,在完成这个阶段的任务后,就要进行程序的编码工作。所以,在这个阶段就要设计出系统的功能模块、数据库详细结构和程序的流程图。
4.1 数据库详细结构设计:
Allorders 订单信息列表:为订单总表,记录某个用户的订单总信息。
Field
ID
Type Null Key Default Extra
NULL
0
0
NULL
------
------
-------
Conmment
订单号
书号
定货数量
Int(11) NULL PRI Auto_increment 主键。递增
orderId Int(11) NULl 0
BookNo Int(11) NULL 0
Amount Int(11) NULL YES
book图书信息列表:为book图书信息列表,记录书店现有的图书信息。
Field
ID
BookName
BookClass
Author
Publish
BookNo
Conrent
Prince
Amount
RegTime
Type
Int(11)
Null
-----
Key Default Extra
PRI NULL
0
NULL
NULL
NULL
NULL
NULL
NULL
NULL
Conmment
增
Varchar(40) -----
Int(11) YES
书名
图书分类名称
Varchar(25) YES
Varchar(150) YES
Varchar(30) YES
text
float
Int(11)
datetime
YES
YES
YES
YES
作者
出版社
书名
内容简介
原价
总数量
剩余数量
登记时间
Auto_increment 主键。递Leav_number Int(11)
------
第 19 页
2007
picture
Varchar(200) YES NULL 图书封面
Bookadmin书店管理员信息表:为bookadmin书店管理员信息表,记录管理员的帐号密码。
Field Type Null Key
Default
NULL
NULL
Extra
Conmment
用户名
密码
AdminUser Varchar(20) YES
AdminPass Varchar(30) YES
Bookclass图书分类表:为bookclass图书分类表,记录书店现有的图书分类。
Field
ID
Type
Int(11)
Null
Key
pri
Default Extra
YES
NULL
Conmment
密码
Auto_increment 用户名
Classname Varchar(30)
Order订单详细表:为order订单表,记录单张订单的具体信息。
Field
Id
orderId
UserId
SubmitTime
Type
Int(11)
Null Key Default Extra
pri
0
NULL
NULL
NULL
NULL
NULL
NULL
NULL
Conmment
增
Varchar(20)
Int(20)
datetime
订单编号
用户编号
用户编号
提交订单时间
TotalPrice
Content
IPAddress
IsPayoff
IsSales
Fioat
text
Int(11)
Int(11)
YES
YES
YES
YES
总金额
备注
用户ID
是否已付款
是否发货
Auto_increment 主键,递YES
YES ConsignmentTime datetime
Varchar(20) YES
第 20 页
2007
Shop_user用户信息表:为shop_user用户信息表,记录商店所有用户的详细信息。
Field
ID
UserName
PassWord
Names
Sex
Address
Phone
Post
Reg Time
Type
Int(11)
Null
Key
pri
Default Extra
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
Conmment
密码
真实姓名
性别
地址
联系电话
油编
E-MAIL地址
Varchar(50) YES
datetime YES
注册时间
注册时IP
ReIpAddress Varchar(20) YES
Auto_increment 用户名
Varchar(20)
Varchar(50)
Varchar(20) YES
Char(2) YES
Varchar(150) YES
Varchar(20) YES
Varchar(8) YES
4.2 客户登陆界面详细设计
程序流程图如下:
第 21 页
2007
打开网站
否
买书
是
否
会员
是
开始搜索
注册入口 注册成功
输入条件
搜索结果
查看商品 购物车
是
继续搜索
否
下订单
查看购物车
付款
离开
本流程图介绍了普通用户的登陆后购书的全过程,包含了注册会员与非注册会员的业务流程,用户进入网站之后如果想要购买图书,必须进行登陆,检验是否为已经在本网站注册的用户,如果是注册用户,直接可以进入查看图书界面,可以进行对展示图书的查看,以及按照用户要求进行高级查询,直到找到想要购买的图书为止,找到想要购买的图书后,添加到购物车中,下订单,之后可以继续购书操作或者离开。第 22 页
2007
非注册用户想要购买图书必须先成为本书店的正式注册用户后才可以购买图书,先进入注册界面,完成注册操作,之后的流程变为正式的用户,重复正式用户的流程。
4.3 购物车功能详细设计
否
是
下订单
满意吗 调整已选图书
购物车
查看图书
购物车功能是本书店的特色功能之一,在本界面中,用户可以修改购买数量,可以删除已经选购的图书,可以提交购物车(在提交时可以附加简单的说明),可以清空购物车,还可以继续购书,或者查询图书,或者直接转跳到其他的界面。
用户在查看图书或者通过查询找到喜欢的图书后,如果想要购买可以直接下订单,订单下了之后,可以接续去寻找其他的图书,最后,可以调整已经选择的图书,待确认后,通过提交订单完成购买操作。
第 23 页
2007
4.4 管理界面流程图
管理分为对图书,订单,用户三种对象的管理。拆分后,每一种对象的流程图如下:
图书管理的流程图:
图书管理
添加图书 查询图书
修改,删否
满意否
是
返回
管理员进入管理界面后对图书进行管理操作的流程,通过查询获取图书信息,也可直接添加新的图书,之后可以进行修改删除等高级操作。
订单管理的流程图:
第 24 页
2007
订单管理
查询订单
修改,删否
确认
是
发货
管理员进入管理界面后对订单进行管理操作的流程,通过查询获取订单信息,确认订单无错误后直接发货,否则重新修改订单信息。
用户管理的流程图:
用户管理
查询用户
修改,删否
合法
是
存储
第 25 页
2007
管理员进入管理界面后对用户进行管理操作的流程,通过查询获取用户信息,验证用户注册信息是否合法,合法确认正式用户身份,否则重新修改用户信息。
第 26 页
2007
第五章 功能实现
5.1 客户登陆界面实现
是书店的主界面,一切功能的入口。用户可以在这里选择是以注册会员登陆,还是进行注册。还是以管理员身份登陆。
5.2 客户注册界面实现
一旦用户为非本网站注册用户,可以点击注册按纽,直接进入注册页面,按要求填写详细信息,注册成为本网站的正式会员。
第 27 页
2007
5.3 客户登陆后界面实现
下图所示界面是会员成功登陆后的界面,提供高级查询,我的购物车等功能。
第 28 页
2007
5.4 管理员入口界面实现
下图为管理员入口界面,管理员通过用户名与密码进入管理界面。
5.5 管理员管理界面实现
下图为管理员管理界面,管理面可以进行现有图书管理,添加图书分类,订单及用户的管理。
第 29 页
2007
第 30 页
2007
第六章 系统的测试
6.1系统的单元测试
在系统的每一个模块程序编码完成以后,我们都对其进行测试,因为只有保证每一个工作模块运行无误,才能保证所有的模块有机的组合到一起正常的运行。
首先,打开Web服务器(Tomcat),输入网址localhost:8080/bs/bookshop/admin/adm_进入主页。此时,以本机作为代理服务器的网站程序运行正常。
6.1.1 客户端界面功能实现测试
在主页上按提示输入用户名及其密码,登陆网站,系统跳转正常,成功进入客户端主界面。然后,对客户端提供的功能进行逐一测试。
查询功能的测试:
客户可以根据图书名进行所要图书查询,在文本框中输入需要查询的图书名称以及所属类别后,可查询到数据库中的图书,实际操作中发现系统的不足:不可进行模糊查询,只有当输入名称与数据库中内容一致时,才能查询到所要找的内容。
够物车功能的测试:
当发现用户所需图书时,可将图书添加进够物车,重复提交,删除,修改等功能经测试后,够物车功能可以完成需求。
注册功能的测试:
点击注册按钮,进入注册界面后,按要求填写内容,注册功能成功运行。实际操作中发现不足之处:注册时填写个人信息,相应内容填写不合理时即注册不成功,不能直接弹出对话框提示用户填写内容不合理。
第 31 页
2007
6.1.2 管理端界面功能实现测试
在主页面的管理入口按提示输入管理员帐号名及管理员密码,成功进入管理界面,分功能对管理界面功能进行测试。
图书管理功能的测试:
点击图书管理按钮,弹出图书管理界面,按需求可对图书进行增加,删除,修改等操作,功能运行正常。
用户管理功能的测试:
点击用户管理按钮,弹出图书管理界面,按需求可对用户进行资料删除,修改等操作,功能运行正常。
订单管理功能的测试:
点击订单管理按钮,弹出订单管理界面,按需求可对订单进行资料删除,修改,发货处理等操作,功能运行正常。
6.2系统的优点
对于用户来说,本软件的优点:(1)界面简明,使用户一看到就应该能知道怎么样去使用本软件。(2)因为程序是用JSP语言编写的,本设计不仅仅适用于单机版各适用于网络版,(3)本设计采用的是STRUTS 框架结构编写,增加程序的可读性与可维护性。
6.3系统的不足
其实客观的说,本软件有许多地方都不是很优秀,因为这毕竟是我的第一个成品。在设计全部结束后,我又想到了一些观点,觉得如果在这几方面加以改进会更好:(1)查询模块应该更加详细一些,可以根据关键字进行有条件查询。(2)还有一些关于软件智能方面的不足有待改善,软件的功能不是很专业。(3) 由于时间仓促,本软件并没有完全实现需求中提出的功能,有一部分功能还需要完善。最后,希望老师对本系统的不足加以指点,是我的设计更加完善,也使我在以后的工作、学习中得以改正和完善。
第 32 页
2007
第七章 总结
本系统集网上购物和网站内容管理为一体的小型电子商务网站系统。本系统同时展示了JSP技术的优越性以及建立动态网站的方法。本例采用JSP+JavaBean开发方式,采用了STRUTS框架技术。实现了视图与数据的分离;在JSP页面的设计上爱用了模块化的思想,所有功能在一个页面中实现,条理清晰。不但具备商品检索、购物车、会员管理等网上商店所需要的功能。还具备交互式的用户界面;界面友好,方便使用;便携操作和可扩展性的树型商品清单显示;为购物者实现轻松便捷的购物流程等特点。
以上就是本系统设计的全过程,是我的第一个成品,也是我把大学四年来所学到的东西最大规模的一次总结,在设计的过程中,我不但学会了好多专业方面的新东西,尤其是JSP技术方面,并且对网络编程产生了浓厚的兴趣,而且还学到了许许多多书本上学不到的东西。新的语言、新的方法是使我受益非浅,对于我来说,完成网上图书店系统是一个很好的锻炼过程,虽然还有很多不完美的地方,但是还是大有收获。在设计的过成中得到了老师和同学的许多帮助,让我深刻的感受到团队的重要作用,这一点在我以后的工作和学习中也会有所帮助。系统中还有一些需要加深的功能,在以后的工作和学习中我会加强学习。设计过程中遇到的问题与到了许许多多的问题,在老师和同学的帮助下绝大部分得以妥善解决。本人能力有限,时间仓促,一些技术和设备所限,在系统中还有很多不完善的地方之处,有待进一步改进和完善,比如访问数据库的性能的提高,页面的美化,分页的优化处理,用户信息的安全存放等。系统中用户管理方面还有漏洞且部分功能还未实现等。
第 33 页
2007
致 谢
我要感谢我的辅导老师孙静波老师,不厌其烦的给我讲解相关的知识,并能结合我的设计题目指导我具体的网上购物的设计。同时还要感谢学院的其他老师多年来对我的培养和支持,是他们为我提供了良好的学习环境和机会,使我系统的学习了计算机专业的相关知识,以及我的同学给予我很多帮助.
感谢所有曾经给我理解、关心与帮助的朋友们。
因本人能力有限,对上文中的任何疏漏之处,本人诚恳地希望各个老师批评指正,在此由衷感谢。
第 34 页
2007
参考资料
[1]冯燕奎 赵德奎 著.JSP实用案例教程.清华大学出版社 .2004年5月
[2]
汪孝宜等著.JSP数据库开发实例精粹.电子工业出版社 .2005年1月
[3] 徐国智等著.SQL SERVER数据库开发实例精粹.电子工业出版社 .2006年1月
[4]
孙卫琴著.精通STRUTS:基于M V C 的JAVA WEB开发.电子工业出版社 .2004年8月
[5] 张海藩著.软件工程.人民邮电出版社 .2006年1月
[6]Donny著.JSP与网站开发编程实战.北京科学出版社 .2001年7月
[7]徐国平 刘臣勇 于军等编著.JSP网络开发实务.北京:电子工业出版社
2001年9月
[8]印ming著 .Java语言与面向对象程序设计.北京:清华大学出版社
2000年9月
[9]Stephen 著.软件工程-Java语言实现.北京:机械工业出版社
1999年1月
[10]John Griffin等著.Java网络编程指南.北京:电子工业出版社
2002年3月
[11]Steven Holzner著.Java技术内幕.北京:机械工业出版社.2002年1月
[12] Phil Hanna 著.JSP技术大全 .机械工业出版社.2002年3月
[13]吴其庆著.JSP网站设计经典教程.冶金工业出版社.2001年4月
[14]潘郁主著.电子商务数据库技术.北京大学出版社.2002年5月
[15]Eckel著.Thingking in Java Bruce.机械工业出版社.2001年5月
第 35 页
版权声明:本文标题:网上书店系统的设计与实现 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/free/1705395003h483216.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论