网上书店系统报告.docx
《网上书店系统报告.docx》由会员分享,可在线阅读,更多相关《网上书店系统报告.docx(30页珍藏版)》请在冰豆网上搜索。
网上书店系统报告
燕山大学
专业综合设计报告
网上书店系统
学院信息科学与工程学院
年级专业09计算机应用2班
学生姓名王慧芳
学号0901********
指导教师闻佳
实习日期2012年12月17日
—2013年1月11日
摘要
当今社会,电子商务作为一种新的商务技术得到了普遍的应用,而网上书店作为电子商务系统的一种迅速的发展起来。
网上书店主要应用于图书的网络销售,为广大消费者提供了更加方便的购书渠道,具有传统书店所不具备的优势。
网上书店网站的建立向广大用户推出的是一种全新的网上信息服务,旨在书店与消费者之间架起了一座高速、便捷的网上信息桥梁,节省消费者的时间、方便消费者购书。
本文主要讲解了一个基于Java网络编程的网上书店的功能分析、设计与实现,功能上本网上书店分为:
用户管理,图书管理和订单管理三个模块。
该系统由Java语言编写,开发采用了JSP技术,应用了MySQL数据库和JDBC技术。
程序结构模型采用MVC模式,结构清晰,功能健全。
在开发过程上,对本系统做了可行性研究,需求分析等准备工作,对系统的功能的总体设计进行了研究与分析。
对系统的功能结构以及具体的功能模块的实现过程都做了详细的设计。
本文最后对系统的功能实现进行了界面显示,充分的显示了系统所完成的功能。
关键词网上书店;Java;MVC模式;网络编程;MySQL数据库
第1章绪论
1.1课题背景
Internet最早在美国出现,如今,世界各国纷纷加入到这个行列,使Internet成为全球化的网际网络。
随着用户的不断增加,其规模迅速扩大,它的领域也走向多元化。
书籍交易网站就是Internet和电子商务发展的产物。
随着现今全民素质和科学技术水平的不断提高,知识更新的越来越快,人们随时都会有被淘汰的危机,为了不让社会淘汰,做到与时俱进就必须多读书不断的学习。
21世纪是网络的时代、信息的时代。
人们由于种种原因没有时间到书店去,也不知道哪家书店有自己需要的书籍,同时那些传统书店的经营者又没什么好的方法让人们知道我这就有顾客需要的书籍,这种买卖双方之间信息交流上的阻碍成为“网上书店”网站发展的原动力。
网络信息化在不断完善,电子商务的发展也可以说在中国正在茁壮成长,阿里巴巴的爆发,当当的兴起,慧聪网的诞生,京东商城的高速发展,凡客诚品的壮大等一些优秀网上商店,不仅促进了网上商店的发展,而且也给人们创造了更多的价值,推动社会的进一步发展。
1.2网上书店的现状
Web商务系统应用在国外起步比较早,应用领域比较广,网络销售已经在人们的日常生活消费中占到了一定比例,技术发展也比较成熟。
相比之下,我国电子商务的发展起源于70年代的EDI(电子数据交换)的应用,至今只有短短的40年,所以,电子商务距离国外的发展水平还有一定差距。
目前,我国网上书店的主要类型有:
由新华书店投资建设的网上书店。
一些有实力的传统书店,都会建立自己的网站,利用网络促销,争取更多的市场份额。
它们主要依托那个传统书店的图书存储进行网络售书,例如新华书店网上书店。
由出版社投资建立的网上书店。
这种网上书店以出版社的出版物为网站核心,突出特色,访问速度快捷,信息及时更新,内容合理编排以及完善的检索能力,较强的交互能力。
外贸出版公司投资建设的网上书店。
这一类网上书店立足于公司主营业务,主要对海外进行图书销售,其发展态势良好,销售量逐年增加。
非出版业资本投资建设的网上书店。
如卓越网。
就目前情况而言,上述几类的网络书店可以分为两大类。
一类是没有实体书店的网上书店,以卓越网为代表;还有一类是以实体书店为支撑的。
前一类书店已经开始逐步销售更多的图书,在很大程度上,是以图书为主打产品,开发其他图书作为补充,如当当网上在销售大量图书的同时,陆续增加了数码产品,健康产品,服装,礼品,小家电等图书。
1.3研究意义
1.3.1网上书店面临的困境
随着我国图书业的全面开放,电子商务的迅速发展,网上书店还存在巨大的发展空间。
国内网上书店的经营目的主要有:
利用图书销售盈利、效仿亚马逊提高无形资产价值、以拉广告赚钱、紧跟电子商务潮流等,其中,前两种占大多数。
然而,实际情况是网上书店并未达到预期的效果,有的根本没什么访问量,有的虽然访问人数众多,但成交量有限、营销平淡。
这些书店面临着很现实的生存危机,究其原因,主要如下:
网络的最大优势在于开展信务,而信息服务的“不完善、低质量”是国内网上书店销售的一个重要的因素。
国网上书店往往过于注重图书数量的丰富图书及其相关知识和信息的提供介绍很少容不充实。
例如:
书籍介绍不足或是过于简单,书评太少,相关新闻严重匮乏等。
在付款方式上,消费者可以选择信用卡、支票付款、邮局汇款等支付方式,但由于国内的支付系统和安全保障体系还不健全,网民对网上消费的安全性存在较大顾虑,不愿意在网上使用信用卡和网络银行等支付方式。
图书配送周期较长,成本较高。
由于未能形成一张遍布全国的“图书配送网络”,使得商家必须自己建立库存,然后进行邮寄。
然而邮费成本由相对较高。
在电子商务比较发达的国家,网上购书比在实地购书还要便宜5%——10%,真正做到了方便省钱。
国家对于网上商业活动的管理制度不健全,图书质量问题没有法律保障,很多顾客担心从网上购得的图书是盗版,对商家不够放心,退换货又需要买家承担运费。
以上这些问题无不严重阻碍了我国网上书店的发展。
1.3.2网上书店的研究意义
在我国,网上书店的发展日趋成熟,但是几个关键问题亟待解决:
一是健全国家对于互联网的管理制度,完善相关的法律法规;二是成立统一的,最具有权威的认证机构,从而解决图书质量问题;三是构建高效率的图书配送系统。
只有把这些问题解决好了,才能保证网上书店进一步的深入发展。
网上售书为人们提供了更加广阔的环境:
人们不受时间、空间限制,不受传统购物的诸多限制,可以随时随地进行网上交易。
更广阔的市场:
在网上这个世界将会变得越来越小,一个商家可以面对全球的消费者,而一个消费者也可在全球任意一个商家购物。
更快速的流通和低廉的价格:
电子商务减少了图书流动的中间环节,因此大大降低了图书的成本;更加符合时代的要求:
如今人们越来越追求时尚、讲求个性,注重购物环境,网上购物正是很好的体现了消费的个性化。
网上书店具有全面的图书查询信息功能,齐全的图书品种,方便快捷的配送服务,低廉的销售价格,直接准确的数据积累,灵活多样的宣传营销平台,先进的互联网技术,完善的售后服务等优势,可以预言,网上书店将走出内外环境制约的阶段,迎来快速发展的美好前景。
展望未来,网上书店势必成为社会发展必不可少的一部分,而其自身的发展趋势势必也更加专业化,高质量化。
那么就要求我们提供的不仅仅是简单的查询图书信息、在线购书这么简单的功能,而要做到最大限度的满足客户需求、图书信息的变化等因素来改进商家的服务,是网上书店显得更加专业,更有特色。
第2章开发工具和开发环境的简介
2.1后台程序开发语言Java简介
本文介绍的网上书店系统后台的开发选择了Java语言,Java语言是一种简单的,跨平台的,面向对象的,分布式的,解释的,健壮的,安全的,结构中立的,可移植的,性能优异的,多线程的动态语言。
正是基于Java以上几个优点,本次开发决定选择Java为本次系统的开发语言。
Java语言的优良特性使得Java应用具有无比的健壮性和可靠性,这也减少了应用系统的维护费用。
Java对对象技术的全面支持和Java平台内嵌的API能缩短应用系统的开发时间并降低成本。
Java的编译一次,到处可运行的特性使得它能够提供一个随处可用的开放结构和在多平台之间传递信息的低成本方式。
特别是Java企业应用编程接口(JavaEnterpriseAPIs)为企业计算及电子商务应用系统提供了有关技术和丰富的类库。
Java可广泛用于面向对象的事件描述、处理面向对象的企业型的应用开发,还应用于Internet系统管理、Web页面设计、Internet可视化软件开发等方面。
Java的诞生是对传统计算机模式的挑战,对计算机软件开发和软件产业都产生了深远的影响:
总之,目前以看到了Java对信息时代的重要性,未来还会不断发展,Java在应用方面将会有更广阔的前景。
2.2动态网页技术JSP简介
JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。
网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。
JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。
Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。
插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。
JSP与JavaServlet一样,是在服务器端执行的,通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。
JSP页面由HTML代码和嵌入其中的Java代码所组成。
服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。
JavaServlet是JSP的技术基础,而且大型的Web应用程序的开发需要JavaServlet和JSP配合才能完成。
JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。
2.3MyEclipse8.5开发平台
MyEclipse,是一个十分优秀的用于开发Java,J2EE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开元产品的支持十分不错。
MyEclipse企业级工作平台(MyEclipseEnterpriseWorkbench)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。
它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSP,CSS,Javascript,SQL,Hibernate。
简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的JavaEE集成开发环境,支持代码编写、配置、测试以及除错。
2.4本章小结
本章主要介绍了该网上书店系统开发过程中所用到的基础知识以及开发工具。
这些内容都是在整个系统开发中开发者必不可少的基础知识,起到了根基的作用。
在整个网上书店系统的开发过程中使用了MVC模式。
一个网站应当具有完备的功能和美观友好的界面,所以,仅仅具备以上所罗列的这些知识还是远远不够的,系统开发还涉及到许多其他方面的知识。
第3章系统的总体设计方案
3.1网上书店的系统功能的整体规划
3.1.1功能结构图
采用人机对话界面的操作方式,界面设计美观友好、信息查询灵活、方便、快捷、准确、数据存储安全可靠,这样才能给消费者一个良好的印象,提供简单有效的购物方式,让消费者真正感受到方便快捷。
全面展示网上书店内所有图书。
为顾客提供一个方便、快捷的图书信息查询功能。
普通用户可以实现网上购买图书功能。
普通用户随时都可以查看自己的订单。
系统最大限度地实现了易维护性和易操作性。
系统运行稳定、安全可靠。
管理员可以添加新图书,查询图书,处理订单,查看用户信息。
该网上书店系统总共分为3个大的功能模块,即:
用户管理功能、图书管理功能和订单管理功能。
网上书店功能结构图如图3-1所示:
图3-1网上书店功能结构图
3.1.2系统功能的详细介绍
整个系统分为三个大的功能模块的同时,向下又细分为很多小的功能模块,下面将对它们进行具体讲述:
用户管理模块:
这个模块主要是用于管理用户的一些信息,根据对此模块的需求分析,又将其下分为4个小的功能模块。
(1)用户登录这个功能主要是实现用户的登录功能,用户通过输入用户名,密码和验证码后方能登录,用户登录之后就可以查看网站所有的图书,也可以查看每本图书的详细信息,还可以进行选择所需的图书加入购物车,查看自己的所有的订单信息。
(2)用户注册该功能是为了使得还不是用户的人可以注册成为用户,注册的过程比较简单,需要填写:
用户姓名,用户密码,真实姓名,电子邮箱等一些个人基本信息。
这些信息既是为了保护消费者权益又能便于管理员管理。
能够对用户名,密码的简单验证;能够防止利用页面刷新重复注册,以及已经注册的用户不能重复注册。
(3)用户退出用户不想继续访问该图书网站时,可以点击用户退出,退出该系统网站。
如果不退出系统,可能给一些不法分子登录用户的账户,对其账户进行损害。
用户退出系统后可防止其他人修改用户原有的订单信息,保护用户的财产安全。
退出时,要清空本次登录期间用户购物车中未结算的图书。
(4)用户信息列表显示这是管理员特有的功能。
管理员可以查看所有注册过该网上书店的用户,可以查看这些用户的基本信息。
管理员也可以删除一些不合法的用户,防止非法用户破坏该网站。
图书管理模块:
此模块是对图书的管理,根据需求分析,其分为以下4个模块:
(1)图书列表显示列表显示图书,能方便用户选择自己所需要的图书,图书列表中会显示图书名称,作者,价格等一些图书的基本信息。
如果是普通用户可以将所要购买的图书加入购物车。
如果是管理员可以删除图书。
(2)查询图书该功能提供图书的搜索功能,根据关键字书名、作者或出版社名关键字查询,对用户所需的图书进行搜索查找,以方便用户根据自身需要来查找自己所需的图书。
(3)发布图书功能这是管理员特有的功能,可以发布一些新书的信息。
同时,该功能也可作为更新图书信息的功能,当发布新书的书名,作者和出版社在已经存在的图书信息中已经存在时,按照发布图书的信息将已存在的图书信息进行更新修改。
发布后图书能在前台图书列表中显示,普通用户即可查看到图书的详细信息,如想购买,即可加入购物车,进行购买。
(4)图书详细信息该功能用于显示图书的各种信息,包括:
书名,作者,出版社,价格,图书简介等。
是用户了解图书详细信息的主要渠道。
通过了解图书的信息,用户可以决定是否购买此书。
订单管理模块:
这个模块是用于用户购买图书,管理员处理订单等功能。
购物车,订单管理都是这个模块的子功能。
(1)购物车每一个用户都有自己的购物车,客户选择购买所需的图书时,能够将对应的图书信息,如:
图书价格、所购的图书数量放入到购物车中,并允许用户返回查询图书页面,继续购买其他图书,并添加到购物车中,当对应的购物订单生成后,应该能够自动清除以生成订单的购物车中的信息。
(2)订单管理只有登录的用户可填写订单和提交订单;用户可以查看自己的订单信息和订单是否被处理。
管理员可以修改订单的状态。
用户可以通过此功能来确定收货人以及收货人地址、联系方式等重要信息,而管理员则可以在后台查看和修改订单的处理情况,保证及时发货。
3.2数据库设计
数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率,以及实现的效果产生影响。
合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致。
3.2.1数据库的概念设计
概念设计是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。
其主要工作就是设计概念模型,该模型能将用户的数据明确的表达出来。
概念模型是一种面向问题的模型,它反映了用户的实现环境,并指出了从用户角度看到的数据库,它是处理多种应用数据的方法的组合。
概念模型与单独的应用无关,与数据库管理系统及数据库的实现无关,因此,概念模型是用户与设计人员之间的桥梁,它既是明确表达用户需求的一个模型,又是设计数据结构的基础。
E-R图也称实体-联系图(EntityRelationshipDiagram),提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。
因为它可以直观的反应出实体的属性以及实体之间的关系,所以它是对关系型数据库建模的优秀工具。
对于本系统所要处理的数据,可将其划分为以下实体(entity):
用户,图书,订单,订购。
这三个实体所具有的属性和它们之间的联系,选择通过实体联系图(E-R图)的方式展现,实体之间关系E-R图如图3-2所示。
图3-2本网上书店系统的E-R图
用户实体的E-R图如图3-3所示。
图书实体的E-R图如图3-4所示。
订单实体的E-R图如图3-5所示。
订购实体的E-R图如图3-6所示。
图3-3用户实体的E-R图
图3-4图书实体的E-R图
图3-5订单实体的E-R图
图3-6订购实体的E-R图
3.2.2数据库的逻辑设计
逻辑设计的主要任务就是设计数据的结构,即按照数据库管理系统提供的数据模型,转换已设计的概念模型,实质上是把概念模型(即E-R模型)转换为所选用的DBMS所支持的模式。
逻辑设计的主要目的是保证数据共享,消除数据冗余,实现数据的逻辑独立性,易懂易用,有利于数据的完整性及安全性控制,且尽量降低开销。
逻辑设计过程主要是把概念设计阶段的概念模型转化为数据库所能识别的表模型,也即数据库模式设计。
关系模型的特点之一是概念的单一性。
无论是实体还是实体间的联系都用关系来表示。
关系这个特点使得转换工作比较直接。
根据关系转换规则,对实体的E-R图进行转换,可以得到4个关系模型(带“—”的为关键字,“﹏﹏”的为外部关键字):
用户(用户编号,用户名,真实姓名,密码,电子邮箱,性别,电话,省份,爱好,自我介绍,管理员标志)
图书(图书编号,书名,作者,图书语言,内容简介,图示类别,出版社名称,价格)
订单(订单号,订单人名字,订单人地址,订单人电话,订单人身份证,订单处理标志)
订购(订购编号,订单号,图书编号,图书数量,图书价格,购买标志,用户姓名)
3.2.3数据表设计
根据网上书店的处理需求,对就数据表的设计及功能如下。
用户信息表:
存放网上书店用户的基本信息。
图书信息表:
存放网上书店所提供图书的基本信息。
订单信息表:
存放与消费者相关的订单的基本信息。
订购条目详细信息表:
存放订单中详细条目的基本信息。
(1)用户信息表users,主要用来存储用户的基本信息,主要用于用户登录,注册等与用户直接相关的功能。
用户信息表的具体设计如表3-1所示。
表3-1用户信息表users
字段名
类型
长度
是否允许为空
描述
id
int
10
否
用户编号
username
varchar
50
否
用户名
realname
varchar
50
否
真实姓名
password
varchar
50
否
密码
email
varchar
50
否
电子邮箱
gender
smallint
1
否
性别
phone
varchar
20
是
电话
province
varchar
50
是
省份
hobbies
varchar
255
是
爱好
isadmin
smallint
1
是
管理员标志
(2)图书信息表book,主要用来存储图书的基本信息,主要用于图书检索,发布图书,查看图书的详细信息等与图书信息直接相关的功能。
图书信息表的具体设计如表3-2所示。
表3-2图书信息表book
字段名
类型
长度
是否允许为空
描述
id
int
10
否
图书编号
name
varchar
50
否
书名
author
varchar
50
否
作者
language
varchar
20
否
图书语言
content
text
0
否
内容简介
category
smallint
1
否
图书类别
public_name
varchar
50
否
出版社名称
price
double
15
否
价格
(3)订单信息表order,主要用来记录订单的信息,主要通过订单号与购物车表联系在一起。
订单信息表的具体设计如表3-3所示。
表3-3订单信息表orders
字段名
类型
长度
是否允许为空
描述
id
int
10
否
订单号
username
varchar
50
否
订单人名字
useraddress
varchar
50
否
订单人地址
userphone
varchar
20
否
订单人电话
usercid
varchar
18
否
订单人身份证
status
smallint
1
否
订单处理标志,
1已处理,0未处理
(4)订购条目详细信息表orderitem,用于记录订单的条目详细信息,即订单中的信息。
订购条目详细信息表的具体设计如表3-4所示。
表3-4订购条目详细信息表orderitem
字段名
类型
长度
是否允许为空
描述
id
int
10
否
订购编号
orderid
int
10
否
订单号
bookid
int
10
否
图书编号
booknumber
int
10
否
图书数量
price
double
15
否
图书价格
status
smallint
1
否
购买标志,0为未购买
username
varchar
50
否
用户姓名
3.3系统的文件组织结构
整个网上书店系统的开发采用了MVC模式,即:
JSP+Servlet+JavaBean,所以,整个系统大体上分为两种文件,一类是*.jsp的页面文件,另一类就是*.java文件,分别是Servlet、JavaBean、对数据库操作的dao,以包的形式存放。
3.3.1页面文件的组织结构
本网上书店的页面文件共分为六种,分别存放在6个文件夹下,具体信息如下:
(1)管理员部分文件存放在admin文件夹下,各页面功能如表3-5所示。
表3-5admin下的文件
文件及目录
说明
Admin
管理部分
top.jsp
管理员页面头部部分
left.jsp
管理员页面左部导航栏部分
footer.jsp
管理员页面底部部分
index.jsp
管理员首页
orderadmin.jsp
订单管理界面
bookpost.jsp
发布新书界面
(2)图书管理部分文件存放在book文件夹下,个页面功能如下表3-6所示。
表3-6book下的文件
文件及目录
说明
Book
书库部分
book.jsp
图书基本信息页面
cart.jsp
购物车界面
category.jsp
图书分类显示界面
fillorder.jsp
用户填写订单界面
booklist,jsp
图书列表显示界面
order.jsp
订单信息显示界面
orderlist.jsp
订单列表显示界面
(3)普通用户部分文件存放在interface文件夹下,各页面功能如
表3-7所示。
表3-7interface下的文件
文件及目录
说明
Interface
普通用户页面部分
top.jsp
普通用户页面头部部分
left.jsp
普通用户页面左边导航栏部分
footer.jsp
普通用户页面底部部分
random.jsp
注册及登录使用到的随机数产生页面