网上书店系统Word格式.docx
《网上书店系统Word格式.docx》由会员分享,可在线阅读,更多相关《网上书店系统Word格式.docx(22页珍藏版)》请在冰豆网上搜索。
5.1.3查看订单界面实现23
5.2管理员界面实现23
5.2.1管理员登陆界面实现23
5.2.2管理员管理图书界面实现23
6.系统测试24
6.1系统的单元测试24
6.1.1客户端界面功能实现测试24
6.1.2管理端界面功能实现测试25
1.引言
1.1网上书店现状
由于电子商务的迅猛发展,网上书店系统发展也已经达到一个较高的水准。
中国的网上书店发展也颇具潜力。
一方面,从外部环境因素的变化趋势来看,由于中国物流市场已经对外开放,支撑中国网上书店的物流产业正在蓬勃发展,一些国际物流公司如FEDEX和UPS等已经进入了中国市场,而中国本土物流公司也将在竞争中得到优化;
中国人口基数大,且互联网用户增长快,网上书店拥有众多的潜在客户;
中国银行业也在积极提高网上服务能力以迎接来自国外银行的竞争。
所有这些都为中国网上书店的发展带来了机会。
另一方面,从内在潜质来看,中国网上书店能够在借鉴亚马逊模式的同时进行创新,利用中国特有的优势来克服不利的外部环境因素,例如采用“自行车送货”和“货到付款”就是中国网上书店的成功创新。
随着外部环境的逐步优化,又有亚马逊这样的网上书店先行者的经验嫁接,中国网上书店发展前景看好。
现在的网上书店系统实现的功能也非常的多,最重要的当属图片的销售,也就是管理库房中的图书,以及管理用户的购物车,从而实现结账等一系列功能。
另外网上书店系统还提供给用户查找数据库中图书相关记录的功能。
在确认用户身份方面也已经比较完善,并且具有管理员的功能,管理员对整个数据库可以进行操作。
现在拥有一些知名的网上书店系统如:
当当,卓越等。
1.2网上书店的意义
就网上书店系统而言,由于网络已经覆盖全球,信息量大而独具优势。
售书的理念也很简单,就是读者可以自己寻找自己喜爱的书为替读者找寻他们想要的书。
对于读者来说,网上书店近在咫尺,并且永不下班关门,读者可以随时随地自由地查询和订购图书,读者无需亲临书店,一档一档地找,一本一本地翻,只要坐在电脑前,开机上网即可买到所需书籍,而且读者的挑选余地也大多了,检索也很方便,同时还减少了书店过程中的支出,另外应当看到图书选购必得翻阅详看,耗时费力,特别是热衷书店者,几乎都是奋力开拓事业者和苦心求学深造者,时间对他们而言无比宝贵,网上书店节省了大量时间,这对于那些没有时间经常逛传统书店或其住所离传统书店较远的读者来说,具有实际意义。
因此网上售书必将有长足的发展。
开办网上书店系统也可以为在校大学生提供方便、廉价、高效的书店方式,促进文化传播,帮助国家和学校培养优秀的人才,具有长远的社会效益和经济效益。
1.3定义
JSP技术:
JSP(JavaServerPages)技术是由Sun公司发布的用于开发动态Web应用的一项技术。
它以其简单易学、跨平台的特性,在众多动态Web应用程序设计语言中异军突起,在短短几年中已经形成了一套完整的规范,并广泛地应用于电子商务等各个领域中。
在国内,JSP现在也得到了比较广泛的重视,得到了很好的发展,越来越多的动态网站开始采用JSP技术。
本章就对JSP及其相关技术进行简单的介绍。
JavaServerPagesTM(jsp(SUN企业级应用的首选))技术为创建显示动态生成内容的Web页面提供了一个简捷而快速的方法。
jsp(SUN企业级应用的首选)技术的设计目的是使得构造基于Web的应用程序更加容易和快捷,而这些应用程序能够与各种Web服务器,应用服务器,浏览器和开发工具共同工作。
SQLserver:
SQLServer2008是Microsoft公司推出的SQLServer数据库管理系统的最新版本该版本继承了SQLServer7.0版本的优点同时又比它增加了许多更先进的功能具有使用方便可伸缩性好与相关软件集成程度高等优点可跨越从运行MicrosoftWindows98的膝上型电脑到运行MicrosoftWindows2000的大型多处理器的服务器等多种平台使用。
SQL
Server
2008界面友好,易学易用且功能强大,与Windows
操作系统完美结合,可以构造网络环境数据库甚至分布式数据库,可以满足企业及Intemet等大型数据库应用。
JavaBean:
JavaBean是描述Java的软件组件模型,有点类似于Microsoft的COM组件概念。
在Java模型中,通过JavaBean可以无限扩充Java程序的功能,通过JavaBean的组合可以快速的生成新的应用程序。
对于程序员来说,最好的一点就是JavaBean可以实现代码的重复利用,另外对于程序的易维护性等等也有很重大的意义。
比如说一个购物车程序,要实现购物车中添加一件商品这样的功能,就可以写一个购物车操作的JavaBean,建立一个public的AddItem成员方法,前台Jsp文件里面直接调用这个方法来实现。
如果后来又考虑添加商品的时候需要判断库存是否有货物,没有货物不得购买,在这个时候我们就可以直接修改JavaBean的AddItem方法,加入处理语句来实现,这样就完全不用修改前台jsp程序了。
JavaScript:
JavaScript是用于浏览器的第一种具有通用目的、动态的客户端脚本语言。
Netscape于1995年首先提出了JavaScript,但当时将其称为LiveScript。
后来Netscape迅速地将LiveScript改名为JavaScript,Java的开发商Sun与他们在同一年发表了一项声明。
声明中指出Java和JavaScript将互相补充,但它们是截然不同的技术,这样才打消了很多人对这两项技术的错误理解。
JavaScript为创建用户界面控件提供了一种脚本语言。
事实上,JavaScript在浏览器中插入了代码逻辑。
它可以支持这样的效果:
当光标在Web页的某个位置移动时验证用户输入或者变换图像。
Microsoft也编写出了自己的JavaScript版本并将其称为JScript。
Microsoft和Netscape都支持一种围绕JavaScript和JScript的核心特性并由(EuropeanComputerManufacturersAssociation,ECMA)标准组织控制的脚本语言标准。
ECMA将其脚本语言命名为ECMAScript。
MVC:
模型-视图-控制器(MVC)是80年代Smalltalk-80出现的一种软件设计模式,现在已经被广泛应用
1、模型(Model):
模型是应用程序的主体部分。
模型表示业务数据,或者业务逻辑.
2、视图(View):
视图是应用程序中用户界面相关的部分,是用户看到并与之交互的界面。
3、控制器(controller):
控制器工作就是根据用户的输入,控制用户界面数据显示和更新model对象状态。
工作原理如下:
2.需求分析
2.1系统的需求
主界面简洁明了,提供导航条,客户可以根据导航条进入相应的分页面。
要求系统响应速度快,做数据库查询时反映快,页面之间的跳转响应速度快。
客户登陆主界面(新客户可以注册为用户,用户可凭个人以注册的用户名密码进行登陆),非注册的用户不可以进行图书的购买,只能查看相应的图书信息,注册的用户可以购买图书,购买图书可加如个人购物车内,可以查看图书详细资料,可以进行图书查询(按关键字),也可以转到其他功能模块(如:
修改个人已注册信息,查看个人购物情况)。
购物要可以使用户可以修改购买数量,可以删除已经选购的图书,可以提交购物,在提交时可以简单附言说明,可以清空购物车,可以继续购书,或者转向其他的模块。
提供管理员入口,管理员按密码登陆后,可以进行现有图书管理(包括可以查看图书资料,修改图书资料,删除图书),可以添加新的图书,可以添加新的图书分类(包括增加和删除),可以对客户的订单进行管理(包括查看订单资料,删除订单,查看订单的用户资料),可以进行用户管理(查看用户信息,修改用户资料,删除用户资料)。
2.2业务流程
登陆书店的可以分为三种身份,一种是游客,一种是会员用户,在有一种就是管理员。
游客是指未在本网站注册的用户,通过各种方式链接等进入本网站,游客们通过对网站整体上的印象,可能发展为本网站的注册会员。
游客不具备注册会员的一些权利,其只能浏览网站上公布的图书信息,可以对图书进行分类查询,观看图书介绍等。
一旦游客对图书产生购买的想法时,他必须要先注册为会员,才能购买。
其流程为或者观看完图书信息后直接退出,或者为查看完后,进入注册模块,注册成功后执行会员的流程。
注册会员为本网站的核心客户,他们登陆网站后,除了可以查看各种图书信息,观看具体图书介绍,查询想要购买的图书外,可以直接提交购买图书的请求。
其购买的流程如下,将想要购买的图书添加到自己的购物车中,将不想购买的图书从购物车中清除,然后继续购买,或者直接提交订单。
2.2.1数据流图
管理员是本网站的少数管理人员,他们通过专门的管理员入口进入管理页面,进行相应的管理操作,对注册用户的订单进行查看管理,对网站的图书进行管理,对注册的用户进行管理。
2.3系统功能需求
1.客户界面部分
a)图书选购(可按分类方式查找图书,或者通过关键字进行查询)
b)购物车功能
c)查看图书详细情况
d)用户注册
e)用户登陆
f)查看用户的定单信息
g)修改用户个人信息
2.管理界面部分
a)现有图书的管理:
修改,删除,查看
b)用户管理:
查看,修改,删除
c)订单管理:
查看订单清单,更新订单付款,出货状态,删除订单
d)添加新图书
e)添加图书分类
2.4性能需求
2.4.1数据精确度
注册时,输入用户名后,输入密码,再次确认密码,点击“注册”,如果用户名已经存在则不能注册,反之注册成为会员,输出注册失败或者注册成功。
登录时,输入用户名和密码,经过验证,如果正确则成功登录。
查找书籍时,输入书名,查找数据库后输出书籍的信息。
在购书时,所购买书的数量必须大于零,小于这本书的总量,点击“确定”后,输出购书订单。
付款时,钱数精确到分即小数点后两位,经过审核,输出交易成功。
2.4.2适应性
JavaBeans通过提供符合一致性设计模式的公共方法将内部域暴露称为属性。
众所周知,属性名称符合这种模式,其他Java类可以通过自省机制发现和操作这些JavaBean属性。
用户可以使用JavaBean将功能、处理、值、数据库访问和其他任何可以用java代码创造的对象进行打包,并且其他的开发者可以通过内部的JSP页面、Servlet、其他JavaBean、applet程序或者应用来使用这些对象。
用户可以认为JavaBean提供了一种随时随地的复制和粘贴的功能,而不用关心任何改变。
当操作方式发生变化时,一些功能同样能够实现。
因为在实现各项功能时,把功能划分成了模块,各模块之间互不干扰,而且JavaBean都采用类的形式,每个功能都封装成一个类。
运行环境发生变化时,对程序会有一些影响,但打上补丁就可以继续运行了。
总体上讲,本系统具有一定的自适应性。
3.总体设计
3.1系统结构设计图
本图是根据面向对象的程序设计方法和三层结构的设计思想画出的整个系统的结构设计图,从结构上系统共设计成三部分:
1视图表现层,具体包括客户端界面和管理端界面,负责整个系统的功能展示,为用户提供图形化的界面操作。
2JAVABEAN层,其中封装了几乎所有的业务逻辑,具体涉及到图书订单用户三大类。
3.数据库层,负责存储数据。
3.2功能结构设计
3.2.1总体功能结构
功能
输入变量
处理过程
输出结果
浏览首页
无
直接运行
书店的首界面
查找书籍
书名或作者或出版社
查找数据库
书籍信息
网上购书
订单
网上交易
购买成功
注册
用户名、密码
查找并写入数据库
注册结果
会员登陆
身份认证
登陆成功(失败)
书籍分类管理
书名、信息、图书类型
按类型归类
书籍按类别存放
订单管理
用户订单
对订单进行审核
通过
订单、钱、用户名
审核账目
交易成功
3.2.2功能模块划分
1.客户界面的系统功能模块图:
客户端是为浏览本网站的用户所设计的,因此其包含了用户登陆网站后所有相关操作所所包含功能。
2.管理界面的系统功能模块图:
管理界面是为网站的特殊使用人员——管理员设计的操作页面。
其中包含所有对网站操作的高级功能,包括对图书,人员,订单的管理(增删改查)。
3.3数据库设计
3.3.1数据库需求分析
a)用户分一般用户和管理员用户。
b)订单分单张详细订单和总订单。
c)每一本图书都从属与一种类型。
d)一个用户可以购买多本图书。
e)一个用户对应一张订单表。
f)一个列表对应多张订单。
经过上诉系统功能分析和需求总结,考虑到将来功能上的扩展,设计如下面所示的数据项和数据结构。
a)管理员信息,包括数据项:
用户名,密码。
b)普通用户,包括数据项:
用户ID,用户名,密码等。
c)图书,包括数据项:
图书编号,图书名称分类编号等。
d)图书分类,包括数据项:
分类编号,分类名称。
e)订单列表,包括数据项:
订单编号,图书编号,购书数量。
f)订单,包括数据项:
订单编号,用户编号,下单时间等。
3.3.2参与系统的实体
参与系统的实体有管理员、图书、用户、图书订单。
(1)管理员有以下属性:
账号、用户名、密码
(2)图书有以下属性:
图书编号、书名、作者、出版社、类型、价格、简介
(3)用户有以下属性:
用户编号、用户名、密码、邮箱、地址、电话
(4)订单表有以下属性:
订单编号、图书数量、图书价格、支付金额、手机、地址、购书人姓名
3.3.3管理员实体关系图
管理员管理E-R图
3.3.4用户购书关系图
账号-顾客-图书E-R图
3.3.5买书流程图
4.详细设计
详细设计阶段的具体目标是确定应该具体实现所要求的系统。
也就是有对系统做具体的分析,在完成这个阶段的任务后,就要进行程序的编码工作。
所以,在这个阶段就要设计出系统的功能模块、数据库详细结构和程序的流程图。
4.1数据库详细结构设计
1)订单信息列表:
订单总表,记录某个用户的订单总信息。
Field
Type
Null
Key
Default
Extra
Conmment
ID
Int(11)
NULL
PRI
主键。
递增
OrderId
------
订单号
BookNo
书号
Amount
YES
-------
定货数量
2)book图书信息列表:
为book图书信息列表,记录书店现有的图书信息。
-----
Auto_increment
主键
BookName
Varchar(40)
书名
BookClass
图书分类名称
Author
Varchar(25)
作者
Publish
Varchar(150)
出版社
Varchar(30)
Conrent
text
内容简介
Prince
float
原价
总数量
Leav_number
剩余数量
RegTime
datetime
登记时间
picture
Varchar(200)
图书封面
3)书店管理员信息表:
为书店管理员信息表,记录管理员的帐号密码。
AdminUser
Varchar(20)
用户名
AdminPass
密码
4.2客户登陆界面详细设计
程序流程图如下:
本流程图介绍了普通用户的登陆后购书的全过程,包含了注册会员与非注册会员的业务流程,用户进入网站之后如果想要购买图书,必须进行登陆,检验是否为已经在本网站注册的用户,如果是注册用户,直接可以进入查看图书界面,可以进行对展示图书的查看,以及按照用户要求进行高级查询,直到找到想要购买的图书为止,找到想要购买的图书后,添加到购物车中,下订单,之后可以继续购书操作或者离开。
非注册用户想要购买图书必须先成为本书店的正式注册用户后才可以购买图书,先进入注册界面,完成注册操作,之后的流程变为正式的用户,重复正式用户的流程。
4.3购物车功能详细设计
购物车功能是本书店的特色功能之一,在本界面中,用户可以修改购买数量,可以删除已经选购的图书,可以提交购物车(在提交时可以附加简单的说明),可以清空购物车,还可以继续购书,或者查询图书,或者直接转跳到其他的界面。
用户在查看图书或者通过查询找到喜欢的图书后,如果想要购买可以直接下订单,订单下了之后,可以接续去寻找其他的图书,最后,可以调整已经选择的图书,待确认后,通过提交订单完成购买操作。
4.4管理界面流程图
管理分为对图书,订单,用户三种对象的管理。
拆分后,每一种对象的流程图如下:
1)图书管理的流程图:
管理员进入管理界面后对图书进行管理操作的流程,通过查询获取图书信息,也可直接添加新的图书,之后可以进行修改删除等高级操作。
2)订单管理的流程图:
管理员进入管理界面后对订单进行管理操作的流程,通过查询获取订单信息,确认订单无错误后直接发货,否则重新修改订单信息。
3)用户管理的流程图:
管理员进入管理界面后对用户进行管理操作的流程,通过查询获取用户信息,验证用户注册信息是否合法,合法确认正式用户身份,否则重新修改用户信息。
5.功能的实现
5.1普通用户界面实现
5.1.1访问书城界面实现
5.1.2用户注册或登陆界面实现
5.1.3查看订单界面实现
5.2管理员界面实现
5.2.1管理员登陆界面实现
5.2.2管理员管理图书界面实现
6.系统测试
6.1系统的单元测试
在系统的每一个模块程序编码完成以后,我们都对其进行测试,因为只有保证每一个工作模块运行无误,才能保证所有的模块有机的组合到一起正常的运行。
首先,打开Web服务器(Tomcat),输入网址进入主页。
此时,以本机作为代理服务器的网站程序运行正常。
6.1.1客户端界面功能实现测试
在主页上按提示输入用户名及其密码,登陆网站,系统跳转正常,成功进入客户端主界面。
然后,对客户端提供的功能进行逐一测试。
1)查询功能的测试:
客户可以根据图书名进行所要图书查询,在文本框中输入需要查询的图书名称以及所属类别后,可查询到数据库中的图书,实际操作中发现系统的不足:
不可进行模糊查询,只有当输入名称与数据库中内容一致时,才能查询到所要找的内容。
2)购物车功能的测试:
当发现用户所需图书时,可将图书添加进够物车,重复提交,删除,修改等功能经测试后,够物车功能可以完成需求。
3)注册功能的测试:
点击注册按钮,进入注册界面后,按要求填写内容,注册功能成功运行。
实际操作中发现不足之处:
注册时填写个人信息,相应内容填写不合理时即注册不成功,不能直接弹出对话框提示用户填写内容不合理。
6.1.2管理端界面功能实现测试
在主页面的管理入口按提示输入管理员用户名及管理员密码,成功进入管理界面,分功能对管理界面功能进行测试。
1)图书管理功能的测试:
点击图书管理按钮,弹出图书管理界面,按需求可对图书进行增加,删除,修改等操作,功能运行正常。
2)用户管理功能的测试:
点击用户管理按钮,弹出图书管理界面,按需求可对用户进行资料删除,修改等操作,功能运行正常。
3)订单管理功能的测试:
点击订单管理按钮,弹出订单管理界面,按需求可对订单进行资料删除,修改,发货处理等操作,功能运行正常。