网上书店系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录
第1章需求分析 (1)
1.1网上书店的现状 (1)
1.2网站的可行性分析 (1)
1.3网上购书的优势 (2)
1.4我国网上书店的概况 (3)
1.4.1我国网上书店的发展 (3)
1.4.2制约我国网上书店发展的因素 (4)
1.5网上书店销售系统数据流图 (5)
1.5.1网上书店销售系统顶层数据流图 (5)
1.5.2网上书店销售系统第一层数据流图 (5)
1.5.3购买模块的数据流图 (6)
1.6网上书店销售系统数据字典 (7)
1.6.1外部实体 (7)
1.6.2数据流 (8)
1.6.3逻辑处理 (10)
1.6.4数据存储 (13)
1.7网上书店销售系统E-R图 (14)
第2章总体设计 (15)
2.1系统功能结构图 (15)
2.2系统功能描述 (16)
2.2.1会员管理 (16)
2.2.3图书检索 (16)
2.2.3购买 (16)
2.2.4收藏夹 (17)
2.2.5退货 (17)
第3章购买模块的详细设计 (18)
3.1业务建模 (18)
3.2数据建模 (19)
3.2.1概念数据模型 (19)
3.2.2物理数据模型 (19)
3.3 应用程序建模 (20)
3.3.1用例图 (20)
3.3.2类图 (21)
3.3.3活动图 (21)
3.3.4时序图 (22)
3.4数据库设计 (23)
第4章系统的实现 (24)
4.1图书购买模块的实现代码 (24)
4.2界面截图 (26)
结束语 (27)
致谢 (28)
参考文献 (29)
第1章需求分析
1.1网上书店的现状
出版物的网上销售不仅是传统销售渠道的发展和补充,也是未来图书销售的发展方向目前我国运作和销售较好的大型网上书店,如当当、卓越、旌旗席殊网上书店等,这些网上书店各具优势。
其中当当网上书店在价格和品种方面的优势是无人能比;卓越网上书店创造流行的能力比较强;旌旗席殊网上书店的优势是网点多,覆盖面广。
在国外,影响较大的网上书店有美国的亚马逊,德国的贝塔斯曼和英国的因特网书店。
其中亚马逊网上书店在1998年拥有450万名顾客,到2002年有将近32亿人网上购书,销售额达到了78亿美元。
1999年英国的20亿英镑图书总销售额中,网上销售占5%。
英国书业界人士分析,未来英国的网上售书将成为图书销售渠道中的主要渠道。
1.2网站的可行性分析
随着计算机技术的发展和网络人口的增加,网络世界也越来越广博,越来越丰富,电子商务已经成为网上的一股潮流。
我们相信要不了太长时间,顾客就可以在网络世界上获得他们在现实世界上可以获得的所有商品和服务。
可行性研究是为了弄清楚系统开发的项目是不是可以实现和值得进行研究的过程,实际上是一次大大简化系统分析和系统设计的过程。
所以,进行可行性的分析是非常必要的,也是很重要的,经过最初的设计目标和进行的市场调查得出以下四点的可行性分析:
(1)经济:实现这个平台设计有没有什么经济效益。
该平台设计只是作为本小组的课程设计,又因为大家的设计能力有限,其功能还不能完善,所以没有什么经济效益可谈。
(2)技术:现有的技术能否开发该平台,会有哪些困难。
(3)运行:该平台规定的运行方式是否可行。
(4)法律:该平台的开发会不会在社会上引起侵权或其它责任问题。
因为该平台是作为课程设计与商业无关,又因为是自主开发设计,因此不会构成侵权,在法律上是可行的。
1.3网上购书的优势
(1)网上书店挤压盗版空间
如今发展最快的,最时髦的,恐怕就是网络了。
网络给人们带来了实惠、虚拟、幻化,也给文学和图书带来了广阔的生存空间。
盗版者利用科学技术,瞄准正版书与盗版书的差价牟取暴利。
网络书店的兴起无疑给盗版商以有力的打击,因为发达的网络可以直接疏通图书的发行渠道,缩短了网上购书者与出版社的距离,给图书消费者以清新、便宜的享受。
(2)网上书店浓缩了图书的库存空间
传统图书店内的图书摆放面积是有限的,每增加一本书其成本都在以一定比例增加,而网络书店解决了存储空间问题,每增加一本书成本增长几乎为零。
(3)数量、种类多,出版时间跨度大
综合性的网上书店涉及各种各类内容的图书,提供订购的书目信息达上万、几十万条,而图书出版的时间有最新出版的,也有几十年前的,这是传统书店难以做到的。
(4)不受时间、地域限制
网上书店是24小时向全球各地的用户提供网上服务的,用户借助网络可以漫游于世界各地的图书海洋中,随时选书、下订单。
中国人不出国可以去到美国最大的Amazon网上书店;广东人可以不出省去到北京图书大厦(http:∥),进行异地购书。
(5)信息丰富
网上书店的栏目丰富:特价书、书业视窗、销售排行、新品上架、最新推荐等,动态地向用户提供各种信息,让用户了解书市的最新情况。
另外,每种被检索出来的图书也有详尽的介绍,如基本书目信息、封面、目次、内容提要、书评等,这些信息都有助于用户选书。
(6)多途径综合检索
网上书店主要提供分类和自定义搜索的方式对图书或其它商品(音像制品、电脑软件等)进行查找。
分类一般是结合《中图法》按用户的阅读习惯或兴趣分类,同一类的图书相对集中在一起,方便用户在同类图书中挑选出高质量的图书。
自定义搜索是用户根据自己所需的图书以主题、书名、著者、出版社等信息作为检索点对图书或其它商品进行一般搜索,如果希望检索结果更准确就使用高级检索———同时使用几个检索点查找。
这种方法相对于其它购书方式来说找书更快捷。
(7)价格低廉
一般来讲,网上书店买书,要比普通书店便宜。
由于抛弃了传统书店运作的所需的服务设施和多重环节,绝对的成本低廉。
由于网上书店运营方式是有订购需要时直接到出版社取效性强,除了一部分有收藏价值的外,绝大多数图书都会“掉价”。
(8)个性服务
网上书店不只单纯销售图书,还充分发挥网络优势,提供丰富多彩的个性化服务,满足读者特定的需求。
网上书店开设的如新书推荐、畅销书排行、读者评论、作者访谈、专家点评等栏目,即使读者把握全方位的图书信息,又可使其利用网络公告版同图书的作者及其他读者进行在线讨论、交流心得体会,并根据他人的书评来协助选书。
(9)配送较及时
网上书店一般根据不同的地区提供不同的配送方式,有的提供短时间内的免费上门送书,书到后付款,有的在收到汇款单后立刻将书寄出。
这样相对于个人或图书馆在新华书店订书来说,就缩短了到书时间。
1.4我国网上书店的概况
1.4.1我国网上书店的发展
我国第一家网上书店是1995年建立的中国书店网上书店。
1997年4月杭州新华书店建立了新华书店系统的第一个网上书店。
后来发展比较有影响的有当当网上书店、卓越网上书店、旌旗席殊网上书店、中国书网北京图书大厦、上海书
城、中国寻书网等。
1.4.2制约我国网上书店发展的因素
随着我国图书业的全面开放,电子商务的迅速发展,网上书店还存在巨大的发展空间。
但从目前,我国的网上书店仍没摆脱传统商业运作的束缚,对电子商务缺乏透彻的理解。
虽然网上购书有能提供大量书目、购书效率高、面大等优点,但也存在信息不畅、资金缺配送体系不完善等一系列因素的制约。
(1)信息
信息流包括商品信息的提供、促销营销、服务等内容。
网络的最大优势在于开展信务,而信息服务的“不完善、低质量”是国内网上书店销售的一个重要的因素。
国网上书店往往过于注重图书数量的丰富图书及其相关知识和信息的提供介绍很少容不充实。
如:书籍介绍不足或是过于简明扼要,书评太少,相关新闻严重匮乏等,无法起到良好的导购作用。
从促销与营销方面来看,树立品牌,扩大影响力也是信息流中一种较为重要的交流。
网络书店巨头亚马逊将销售收入的24%用于广告和其他方式的宣传,而目前我国网上书店的宣传还只局限于网络,网络以外的媒体宣传投放很少。
(2)资金
在付款方式上,消费者可以选择信用卡、支票付款、邮局汇款等支付方式,但由于国内的支付系统和安全保障体系还不健全,尤其是网民对网上消费的安全性存在较大顾虑,不愿意在网上使用信用卡和网络银行等支付方式。
一般选择通过邮局汇款等较为安全的方式,而这些方式从消费者到网上书店经营者,再从经营者到消费者,这个循环的完成,往往需要较长时间,周期长、费用高,造成大部分消费者对网上交易持怀疑态度,从而影响网上书店的销售。
(3)物流
我国网上书店物流体系还不发达,配送体系还较落后。
如我国的当当网上书店仅在北京建立了一个1万平方米的配送中心,没有形成一张遍布全国的图书配送网,大部分还得通过邮政系统进行邮寄,其配送时间较长,成本也较高。
配送中心是能接触到客户定单的最后一环,也是实现销售的关键环节,任何因配送的失误而失去销售机会对企业来说都是较大的损失,可见物流配送是整个电子商务
系统重要的一环。
出版物网上销售是未来图书销售的发展方向,网上书店经营还面临很多困难。
要使我国网上书店得到良好发展,就必须从信息流、资金流、物流三个方面加以改善。
1.5网上书店销售系统数据流图
数据流图(Data Flow Diagram):简称DFD,它从数据传递和加工角度,
以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。
1.5.1网上书店销售系统顶层数据流图
顶层数据流图只含有一个加工表示整个系统;输出数据流和输入数据流为系统的输入数据和输出数据,表明系统的范围,以及与外部环境的数据交换关系。
图1.1顶层数据流图
1.5.2网上书店销售系统第一层数据流图
第一层数据流图是对父层数据流图中某个加工进行细化,而它的某个
加工也可以再次细化,形成子图;中间层次的多少,一般视系统的复杂程
度而定。
图1.2第一层数据流图
1.5.3购买模块的数据流图
购买模块的数据流图属于底层数据流图。
底层数据流图是指其加工不能再分解的数据流图,其加工成为“原子加工”。
图1.3第二层数据流图
1.6网上书店销售系统数据字典
数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。
其组成包括以下内容:
(1)数据项:数据项是最基本的数据元素,是有意义的最小数据单元,在数据字典中,定义数据项特性包括:数据项的名称、编号、别名和简述;数据项的长度;数据项的取值范围。
(2)数据结构:数据项是不能分解的数据,而数据结构是可以进一步分解的数据包。
数据结构由两个或两个以上相互关联的数据元素或者其他数据结构组成的。
一个数据结构可以由若干个数据元素组成,也可以由若干个数据结构组成,还可以由若干个数据元素和数据结构组成。
(3)数据流:数据流由一个或一组固定的数据项组成。
定义数据流时,不仅说明数据流的名称、组成等,还应指明它的来源、去向和数据流量等。
(4)数据存储:数据存储在数据字典中只描述数据的逻辑存储结构,而不涉及它的物理组织。
(5)处理过程:处理逻辑的定义仅对数据流程图中最底层逻辑加以说明。
1.6.1外部实体
1.6.2数据流
1.6.3逻辑处理
1.6.4数据存储
1.7网上书店销售系统E-R图
构成E-R图的基本要素是实体型、属性和联系,其表示方法为:(1)实体型(Entity):具有相同属性的实体具有相同的特征和性质,用实体名及其属性名集合来抽象和刻画同类实体。
(2)属性(Attribute):实体所具有的某一特性,一个实体可由若干个属性来刻画。
(3)联系(Relationship):联系也称关系,信息世界中反映实体内部或实体之间的联系。
实体内部的联系通常是指组成实体的各属性之间的联系;实体之间的联系通常是指不同实体集之间的联系。
网上书店销售系统E-R图如下:
图1.4 E-R图
第2章总体设计
2.1系统功能结构图
功能结构图就是将系统的功能进行分解,按功能从属关系表示的图表。
图中的每一个框都称为一个功能模块。
功能模块可以根据具体情况分的大一点或小一点,分解得最小功能模块可以是一个程序中的每个处理过程,而较大的功能模块则可能是完成某一个任务的一组程序。
网上书店销售系统主要分为以下几个模块:会员管理、图书检索、购买、收藏夹、退货,下图是该系统的功能结构图。
图2.1系统功能结构图
2.2系统功能描述
2.2.1会员管理
为了能对用户进行更好的管理,我们实行会员管理制度.因此要想实现正常的交易,我们必须知道客户的一些信息,比如收货人姓名、收货人地址、收货人电话、收货人E_mail、送货日期FORM等。
为了收集这些信息,我们设计了用户注册界面,使想要注册购买图书的用户注册成为会员。
当然在此之前应对用户注册信息进行合法性检查。
其主要功能模块包括:会员注册、会员登录、查看个人资料、修改个人资料。
2.2.3图书检索
为了便于读者能够快速的找到自己感兴趣的图书,在网上书店的图书检索页面上提供了不同的检索图书的方法,主要包括:按书名检索、按类别检索和按作者检索。
读者可以按照不同的方法检索,直到找到自己需要的图书。
2.2.3购买
客户在购物车页面上点击了“结算”按钮后,就出现了结算页面,在结算页面上也提供了一个“查看购物车”按钮,以便客户在结算前再次查看所选购的图书及花费的情况。
另外,还要求客户填写一些必要的信息,如客户的会员代号、收货人、收货人地址、送货方式、支付方式等。
如果收货人和收货地址栏空着,则自动使用客户注册时提供的姓名和地址。
信息填写完毕,点击“提交”按钮,系统就对客户所提供的信息进行正确合法性检查,检查通过后,马上向服务器端的数据库中添加相关信息,即在定单表中添加一条记录,在定单明细表中添加一条或若干条记录。
此外,如果用户并没有注册会员,也可以进行购买。
只需将所选择的图书添加至购物车,再进行结算功能即可实现购买。
2.2.4收藏夹
当用户不打算立即进行购买操作时,可以把所查找到的商品放入收藏夹,以便下次登录时能够很方便的搜索到之前找好的图书。
但收藏夹功能只为会员提供,如果只是普通用户,则要先进行注册,才可体验收藏夹功能。
其主要操作包括:添加至收藏夹、查看收藏夹、从收藏夹中删除信息和清空收藏夹。
2.2.5退货
当客户收到图书,觉得不满意时,可以通过退货功能进行退货。
用户只需登录自己的会员账号,查看订货单,并填写退货单,即可将图书进行退回。
第3章购买模块的详细设计
3.1业务建模
购买模块主要实现结算功能,而在本次设计中,由于时间较短,因此只实现了货到付款的功能。
在用户进行购买时,首先要进行用户登录,如果需要购买则添加到购物车并进行结算;如果暂时不打算购买,则可以将查找到的图书放入收藏夹,以便下次查找方便。
图3.1购买模块的业务流程图
3.2数据建模
3.2.1概念数据模型
概念数据模型(Concept Data Model,CDM)也称信息模型,它以实体—联系理论为基础,并对这一理论进行了扩充。
通常人们先将现实世界抽象为概念世界,然后再将概念世界转为机器世界。
换句话说,就是先将现实世界中的客观对象抽象为实体和联系。
在购买图书模块中,所涉及到的实体包括会员和订单,并且一名会员能下多个订单,但一个订单只属于一名会员。
其概念数据模型如下图:
图3.2购买图书的CDM
3.2.2物理数据模型
建立物理数据模型(Physical Data Model,PDM)的主要目的是将CDM生成特定数据库管理系统下的SQL脚本,PDM是SQL脚本的图形化表示。
图书购买模块的PDM如下:
图3.3购买图书的PDM
3.3 应用程序建模
使用通用建模语言(UML)是建立应用程序工作方式模型的最佳方法之一,UML是一种关于可表示概念、自动化过程、用户交互和关联的系统。
利用UML,可直观地建立现有的和建议的应用程序结构及用户交互的模型。
在图书购买模块中,我主要通过用例图、类图来描述其工作方式。
3.3.1用例图
用例图是静态视图模型中的一种,是由主角、用例以及它们之间的关系构成的图。
该图说明了用例模型中的关系。
在购买模块中所涉及到的主角为用户,用例包括将图书加入至购物车、填写订单信息、确认订单信息。
其用例图如下:
图3.4图书购买模块用例图
3.3.2类图
类图也是静态视图模型中的一种,它描述系统各部分的静态结构,包括构成网上书店系统的类和对象以及它们的属性、操作和相互之间的关系。
静态视图模型主要是对系统的每一个用例进行分析,更多探究系统的内部,从静态的角度来描述用例的实现。
图3-6是网上书店用户购书模块的类图。
模型分析阶段的主要任务是标识出各设计元素,并将其部署到各实施节点,对标识出的设计元素进行详细设计。
先使用用例图获取系统的功能用例,再使用类图与顺序图描述了系统的每一用例后,就可以进一步确定边界类、实体类与控制类,并整合所有类,尽量减少冗余类。
通过对系统模型中各类的特点及功能的分析,我们发现边界类负责系统与用户之间的交互;控制类通常可以分为两类:一类负责与边界类交互以获得用户信息,完成一些基本动作;另一类负责主要的业务逻辑、与实体类进行交互,实体类代表对系统有意义的、长效且持久的信息。
图3.5图书购买模块类图
3.3.3活动图
活动图(activity diagram,动态图)阐明了业务用例实现的工作流程,展现多个对象活动的总次序,用来描述对象的行为。
业务用例工作流程说明了业务为向所服务的业务主角提供其所需的价值而必须完成的工作。
业务用例由一系列活动组成,它们共同为业务主角生成某些工件。
工作流程通常包括一个基本工作流程和一个或多个备选工作流程。
工作流程的结构使用活动图来进行说明。
图书购买模块的活动图如下:
图3.6图书购买模块活动图
3.3.4时序图
交互视图模型描述系统的业务逻辑,包括顺序图和合作图。
它们都描述对象间的动态协作关系,但合作图强调对象之间的连接关系,而顺序图强调对象之间交互动作的时序特性。
顺序图从动态的角度描述了用例实现时,各类的交互与协作。
图3-8就是图书购买模块中购买用例的顺序图。
图3.7图书购买模块时序图
3.4数据库设计
在此次的课程设计中,我们用SQL SERVER 2005数据库,建立系统中所涉及到的表。
SQL Server 2005 是一个全面的数据库平台,使用集成的商业智能(BI) 工具提供了企业级的数据管理。
SQL Server 2005 数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序SQL Server 2005不仅可以有效地执行大规模联机事务处理,而且可以完成数据仓库和电子商务应用等许多具有挑战性的工作。
在购买模块中所涉及到表包括:会员信息和订单信息。
图3.8会员信息表
图3.9订单信息表
第4章系统的实现
前台销售管理系统主要提供向客户宣传图书信息(新到图书,特价图书等等)、提供客户便捷的检索图书的功能,及客户网上注册、登录、购物、查询订单、退货等信息反馈的功能。
客户通过首页进入网站的其它Web网页,享受网站提供的各项服务如购物、注册等。
前台管理系统大致分为用户管理模块、图书搜索模块、图书购买模块和退货模块。
4.1图书购买模块的实现代码
<%@ page contentType="text/html; charset=gb2312" %>
<%@ page session="true" %>
<%@ page import="bookshop.book.book" %>
<jsp:useBean id="book" scope="page" class="bookshop.run.op_book" />
<jsp:useBean id="shop" scope="page" class="bookshop.run.op_buy" />
<%
String mesg = "";
String submits = request.getParameter("Submit");
int Id=0;
%>
<html>
<style type="text/css">
<!--
body {
background-color: #99CCFF;
}
-->
</style><head>
<title>Welcome</title>
<script language="javascript">
function openScript(url,name, width, height){
var Win = window.open(url,name,'width=' + width + ',height=' + height +
',resizable=1,scrollbars=yes,menubar=no,status=yes' );
}
function check()
{
if (document.form1.amount.value<1){
alert("你的购买数量有问题");
document.form1.amount.focus();
returnfalse;
}
returntrue;
}
</script>
<link rel="stylesheet" href="books.css" type="text/css">
</head>
<body text="#000000" onLoad="javascript:window.focus();">
<div align="center">
<p>Welcome to our bookshop<font color="#CC0066"></font>!</p>
<table width="90%" border="0" cellspacing="2" cellpadding="1">
<tr align="center">
<td>图书名称:
<tr align="center">
<td>你想要的数量:
<input type="text" name="amount" maxlength="4" size="3" value="1">本</td>
</tr>
<tr align="center">
<td>
<input type="hidden" name="bookid" value="<%=Id %>">
<input type="submit" name="Submit" value="购买" onClick="return(check());">
<input type="reset" name="Reset" value="取消">
</td>
</tr>
<tr align="center">
<td><a href="#" onClick="openScript('detail.jsp?bookid=<%= Id %>','show',400,450)" >查看详细资料</a></td>
</tr>
</table>
<table width="100%" border="0" cellspacing="2" cellpadding="2">
</table>
</div>
</body>
</html>
4.2界面截图
在购买子系统中,选择购买图书书后会弹出如下界面,显示出图书名称,以及购买的数量。
点击购买按钮,可以进行订单的填写;点击取消,结束本次购买。
图4.1购买子系统界面
结束语
本次课程设计中,我们组的题目是网上书店销售系统,其主要功能包括用户管理、图书搜索、收藏夹、购买及退货五个功能。
经过近三个星期的努力,终于完成了网上图书销售系统中需求分析阶段和图书购买模块的设计。
由于这次的课程设计,与我们的生活息息相关,我们经常在网上买书,因此对其流程也比较清晰。
另外,在实现阶段,我们组所采用的技术为JSP技术。
JSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。
JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。
用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。
虽然在设计期间出现过很多的问题,比如功能优越性没得到充分发挥等,但在老师和同学的帮助下这些问题都得到了顺利解决,在不断的学习过程中我体会到:
开发系统是一个不断学习的过程,从最初规划时对每一项功能的模糊认识到最后能够对该问题有深刻的认识。
在软件工程思想的指导下,我对该系统先后进行了需求分析、系统设计、编码实现等工作。
以前光明白这些理论,并没有经过实践,以致对知识的理解不够明确。
通过这次的实际动手,真正做到了理论与实践相结合。