桃花开网络书城论文.docx
《桃花开网络书城论文.docx》由会员分享,可在线阅读,更多相关《桃花开网络书城论文.docx(45页珍藏版)》请在冰豆网上搜索。
桃花开网络书城论文
摘要
随着网络技术的发展,Internet已成为最具市场潜力的技术领域,使用Web技术设计的数据库应用软件,是目前Internet市场的技术中坚,各种Web应用如电子商务,网上购物等都采用这种方式实现。
网上购书在国外已经是一个比较常见的购书方式了,而在我国,网上购书才是刚刚起步,但发展的速度却十分的惊人。
本系统主要实现了用户的管理、书籍的查找与买卖、购物车的实现、订单的管理以及用户留言等功能,为用户提供了迅速、便利的网上购书环境。
本系统采用JSP、Servlet、JavaBean和JDBC等一些JAVAWeb相关技术实现了一个简单的网上购书系统,MVC开发模式可以分离数据访问和数据表现,让开发人员可以开发一个可伸缩性强的、便于扩展的控制器,来维护整个流程。
本文正是抓住了这一热点,利用MVC设计模式在JAVAWeb上的应用,开发了一个小型的网上购书系统,系统虽然小,但是严格按照MVC设计模式来开发,本系统通用性强,经过简单的修改就可以应用于更广泛的网上购物系统,具有一定的推广价值。
关键字:
MVC、JSP、Servlet、JDBC、JavaBean
Abstract
Withthedevelopmentofnetworktechnology,Internethasbecomethemostmarketpotentialoftechnology,theuseofWebtechnology,designedfordatabaseapplicationsoftware,istheInternetmarket,thetechnicalbackboneofavarietyofWebapplicationssuchase-commerce,onlineshoppingandsousingthisways.
Onlinetextbookabroadisarelativelycommontextbookapproach,whileinChina,onlinetextbookisjuststarted,butthepaceofdevelopmentwasveryamazing.Thispapertookadvantageofthehotspots,usingMVCdesignpatterninJavaWebapplicationsonthedevelopmentofasmallonlinetextbooksystem,thesystemmaybesmall,butstrictlyinaccordancewithMVC.designpatterntodevelop,Mainlytoachievetheuser'smanagement,thesearchandthesaleofbooks,shoppingcartimplementation,ordermanagement,andusercommentsandotherfunctions,providesuserswithfastandconvenientonlinefriendlyenvironment.whichcanbeused,whichwillhelpmaintenanceadvantageoftoday'sbusinessesisstillverymuchinlinewiththerequirementsfore-commerceplatform.
Inthispaper,JSP,Servlet,JavaBean,andJDBCandsomeotherJAVAWeb-relatedtechnologytoachieveasimpleonlinetextbooksystemthatversatility,MVCdevelopmentmodelcanbeseparatedfromdataaccessanddataperformance,sodeveloperscandevelopastrongscalability,scalablecontroller,tomaintaintheentireprocess.throughasimplemodificationcanbeappliedtoawiderrangeofonlineshoppingsystem,withacertainextensionpurchase.
Keywords:
MVC,JSP,Servlet,JDBC,JavaBean
目录
摘要
Abstract
目录
绪论1
第一章系统概述2
一、课题背景2
二、开发环境3
第二章系统需求分析5
一、需求分析的原因5
二、可行性分析5
三、系统需求分析5
四、系统数据流程分析6
(一)顶层数据流图6
(二)第二层数据流图6
(三)第三层数据流图8
第三章系统总体设计9
一、系统设计目标9
二、系统模块设计9
(一)系统总体结构设计9
(二)系统模块设计9
(三)系统结构设计10
三、数据库结构设计11
第四章系统详细设计12
一、系统功能模块设计12
(一)用户登录模块13
(二)用户注册模块14
(三)管理员功能模块15
(四)图书信息管理模块16
(五)购物车管理模块18
(六)订单管理模块20
(七)添加图书模块22
(八)图书查询模块24
二、数据库详细设计25
第五章系统的测试与维护29
一、单元测试29
二、集成测试29
总结31
谢辞32
参考文献34
附录A代码35
绪论
随着科技飞速的发展,人类使用和学习信息的方式以及信息的包装方式正在进行着不可阻挡的革命,这次革命将比印刷术的出现所产生的影响以及对社会发展的推动更加复杂更加巨大。
网站也成为人们最简便和喜爱的交流方式和传递信息的手段,尤其在商品交易方面,人们更是寻求最佳简便的消费方式。
作为一个虚拟的书店,网上书店具有很多新的特性,以下这些是它的优势:
(1)其营业成本完全有理由比传统意义上的书店低得多。
(2)不需支付昂贵的店铺租金,花费浩大的装修。
(3)不需要将大笔的流动资金作为货物而沉泣在店里,可依靠“零库存”管理,缩速资金周转的周期,可以加速周转。
(4)同时可以实现24小时营业,不需要营业员,网上书店可以被设置成一个自动售货机。
(5)可以利用多媒体促销,各种文字,图象和动画,声音,让受众全方位感受广告诉求。
(6)依靠客户数据库能够提供全新的个人化服务等。
以上这些特性使网上商店充满生命力,也是它发展的源动力。
进行该系统设计时要保证该系统的扩展性,当有新的业务或现有业务规划调整时能够比较容易的实现,为此采用MVC设计模式对此应用系统进行划分,并最终以三层应用的方式进行部署。
在本例中,视图(view)部分由一组JSP页面组成,例如购物页面结算页面。
该部分主要提供整个网上购书系统的前段数据的显示。
控制(control)部分获得用户的请求,然后根据用户的不同请求调用不同模型(model)提供的不同功能,本例中控制部分使用Servlet实现,模型(model)部分封装了系统的数据及业务规划。
第一章系统概述
一、课题背景
1.网上书店系统发展
Internet的迅速发展正以前所未有的深度和广度影响和改善着人类生活的各个方面,越来越多的人开始意识到Internet所蕴含的经济价值的无穷商机,并积极投身于电子商务活动.实际上,电子商务是一些商业行为的电子化,例如网络书城,网上贸易,就网络书城来说,网络书城是目前应用最广,最成功的典范之一,网络书城的崛起对传统的图书流通体系产生了强烈的冲击,有效地缩短了图书流通发行环节,将广大读者,图书,出版者,发行者紧密地结合在一起,大大提高了图书流通率。
2.网上书店系统发展现状
西方国家网络书城概况:
世界上第一家网络书城是1991年在美国联机公司AOL采购网络上建立的"阅读美国书店",目前最有名的是美国西雅图亚马逊图书公司的亚马逊网上书店。
它创建于1995年,供书达310余万种,每年顾客达500万人次,其价格优惠20-50%。
金融结算制度完善,配送服务高效。
实现了零库存运转。
英国网上书店中有较著名的有Internet书店,德国的网上书店主要有图书在线网上书店。
国内网上书店的概况:
自从亚马逊网上书店成功后,中国的网上书店也建立起来。
中国最早的网上书店是1997年在杭州新华书店诞生的,在经过年余的艰苦经营,接待了400多位访问者后,悄然引退,而进入1998年后,作为中国书业传统经营力量的新华书店,正式宣布进入网络领域,先是第九届全国书市首次开通书店网站,后来在1998年12月30日上海书城成为国内首家正规的网上书店,读者在家中可以上网完成浏览,选够,付款的全过程。
1999年是网上书店迅速发展的一年,商业公司不断进入网上书店有超过几百家,有自己网站的公司有40多家,这个数目还不断增加。
3.网上书店的优越性
网上书店在价格、时效性、品种、查询方式等方面都有优势。
网上书店是一种直销方式,在到书速度和价格上都有优势,目前网上书店的到书时间在北京,上海,广州等大城市一般为1-3天,在外埠则一般3-10天到书,在价格上一般网上书店都有7.5-9折的折扣,如果是特价书折扣就更多了,网上书店的书目数据是任何订购书目都无法比拟的,亚马逊网上书店有300多万种图书,另外还有音乐系列产品和其它教育产品,刚刚成立的北京图书大厦网上书店也有16万种书目数据,“中国寻书网”目前也有50万种书籍,年度将突破100万种图书,网上书店的书目除书名,著者,价格等信息外,还有封面,内容简介,目次,评论等详细信息。
同时网上书店的目录查询功能也是传统的按某种分类规则编排的图书征订目录无法比拟的,其以关键词或主题从网上检索某类文献,查准率与查全率都有一定的保障。
另外还有一些书更是以网站包销或总代理的形式进行销售,这就意味着一种全新的电子商务模式的开始。
二、开发环境
1.开发环境的选择会影响到数据库的设计,所以在这里给出网络书城开发与运行环境的选择如下:
开发环境:
WindowsXP
开发工具:
MyEclipse5.5.1GA
数据库管理系统:
Oracle9i
设计模式:
MVC设计模式
2.使用MVC设计模式的优点
大部分用过程语言比如ASP、PHP开发出来的Web应用,初始的开发模板就是混合层的数据编程。
例如,直接向数据库发送请求并用HTML显示,开发速度往往比较快,但由于数据页面的分离不是很直接,因而很难体现出业务模型的样子或者模型的重用性。
产品设计弹性力度很小,很难满足用户的变化性需求。
MVC要求对应用分层,虽然要花费额外的工作,但产品的结构清晰,产品的应用通过模型可以得到更好地体现。
首先,最重要的是应该有多个视图对应一个模型的能力。
在目前用户需求的快速变化下,可能有多种方式访问应用的要求。
例如,订单模型可能有本系统的订单,也有网上订单,或者其他系统的订单,但对于订单的处理都是一样,也就是说订单的处理是一致的。
按MVC设计模式,一个订单模型以及多个视图即可解决问题。
这样减少了代码的复制,即减少了代码的维护量,一旦模型发生改变,也易于维护。
其次,由于模型返回的数据不带任何显示格式,因而这些模型也可直接应用于接口的使用。
再次,由于一个应用被分离为三层,因此有时改变其中的一层就能满足应用的改变。
一个应用的业务流程或者业务规则的改变只需改动MVC的模型层。
控制层的概念也很有效,由于它把不同的模型和不同的视图组合在一起完成不同的请求,因此,控制层可以说是包含了用户请求权限的概念。
最后,它还有利于软件工程化管理。
由于不同的层各司其职,每一层不同的应用具有某些相同的特征,有利于通过工程化、工具化产生管理程序代码
3.MVC模式设计思想
1)MVC设计思想概论
MVC英文即Model-View-Controller,即把一个应用的输入、处理、输出流程按照Model、View、Controller的方式进行分离,这样一个应用被分成三个层——模型层、视图层、控制层。
a)MVC中的M组件。
模型(Model):
就是业务流程/状态的处理以及业务规则的制定。
业务流程的处理过程对其它层来说是黑箱操作,模型接受视图请求的数据,并返回最终的处理结果。
业务模型的设计可以说是MVC最主要的核心。
b)MVC中的V组件。
视图(View)代表用户交互界面,对于Web应用来说,可以概括为HTML界面,但有可能为XHTML、XML和Applet。
c)MVC中的C组件。
控制(Controller)可以理解为从用户接收请求,将模型与视图匹配在一起,共同完成用户的请求。
2)MVC中各组件的关系
模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。
如果用户通过某个视图的控制器改变了模型的数据,所有其它依赖于这些数据的视图都应反映到这些变化。
因此,无论何时发生了何种数据变化,控制器都会将变化通知所有的视图,导致显示的更新。
这实际上是一种模型的变化-传播机制。
模型、视图、控制器三者之间的关系和各自的主要功能,如图1.1所示。
图1.1MVC组件类型的关系和功能
第二章系统需求分析
一、需求分析的原因
根据现在社会上对网络书店的需求,为了开发出真正满足用户需求的产品——网络书城,首先必须要知道客户的需求。
对软件需求的深入理解是软件开发工作获得成功的前提条件,不论我们把设计和编码工作做得如何出色,不能满足用户需求的程序只会给客户带来失望,给开发带来麻烦。
虽然在可行性研究阶段已经粗略了解用户的需求,甚至还提出了一些可行的方案,但是,可行性研究的基本目的使用较小的成本在较短时间内确定是否存在可行的解法,因此,在需求分析阶段要确定系统必须完成哪些工作,也就是对系统提出完整、准确、清晰、具体的要求。
二、可行性分析
开发任何一个基于计算机的系统都会受到时间和资源的限制。
因此在开发软件项目之前,必须根据可利用的时间和资源等条件进行可行性研究。
可行性研究工作的主要任务不是研究如何解决问题,而是要用最小的代价在最短的时间内确定该项目是否具有开发的可行性。
1.技术可行性:
本网站严格按照MVC设计模式来开发,采用JSP、Servlet、JavaBean和JDBC等一些JAVAWeb相关技术实现。
Java语言是一种优秀的编程语言。
它最大的优点就是与平台无关,在Windows、Linux以及其它平台上,都可以使用相同的代码。
“一次编写,到处运行”的特点,使其在互联网上广泛采用。
JSP+JavaBeans几乎可以在所有平台上通行无阻,从一个平台移植到另外一个平台,JSP和JavaBeans甚至不用重新编译。
除此之外Java语言还提供了一些有用的新特性,使得使用Java语言比C++语言更容易写出“无错代码”。
2.经济可行性:
选择图书做本购物系统的主打商品,因为图书属于折扣大利润丰厚的商品,而且网上书店不需要门面等成本开销,故大大降低其价格。
加之传递方便、耐存储,故网上卖书具有比传统书店更大的成本优势。
有较大的客户群,本网站的商品主要为各类教材,销售对象主要是学生,故存在很大的市场。
三、系统需求分析
通过对系统的分析及对其他网店的参考,基本确定了“网络书城”的基本功能以及基本性能的基本需求。
1.功能需求。
这方面的需求指定系统必须提供的服务,通过需求分析应该划分出系统必须完成的所有功能。
1)图书管理,主要有修改图书信息、添加图书、删除图书。
2)图书销售管理,主要包括:
图书查找、购物车管理、订单提交。
3)用户管理,主要有用户注册、注册检查、修改用户信息。
2.性能需求。
指定系统必须满足的定时约束或容量约束,通常包括速度(响应时间)、信息量速率、主存容量、磁盘容量、安全性等方面的要求。
1)用户在客户端点击存在服务器中的主页时,系统能快速响应。
2)在安全性方面,ASP程序要满足客户传输信息的基本安全。
四、系统数据流程分析
(一)顶层数据流图
说明:
未注册用户通过注册后可以登录到前台进行购书,管理员通过登录可以进入后台进行管理。
系统顶层数据流图如下图2.1所示。
图2.1系统顶层数据流图
(二)第二层数据流图
前台购书和后台管理。
根据顶层数据流图,对前台购书和后台管理模块作进一步分解,得到第二层数据流图,分别如图3和图4。
1)前台购书
用户登录后进行书籍浏览和查询,对书籍信息有了一定了解后可根据自己的需求进行购书,购书后将所需书放入购物车,最终确定要购买的图书,提交订单,等待订单的处理结果。
系统第二层数据流图(前台购书)如下图2.2所示。
图2.2系统第二层数据流图(前台购书)
2)后台管理
管理员可以登录到后台,查看相关的订单信息,然后修改订单的信息,主要是审核订单的有效性。
系统第二层数据流图(后台管理)如下图2.3所示:
图2.3系统第二层数据流图(后台管理)
(三)第三层数据流图
用户登录处理。
为保证数据的有效和客户的管理,系统必须登录后才能进行购买图书的相关操作,登录是系统安全和数据有效性验证的第一部分。
系统第三层数据流图(用户登录)如下图2.4所示:
图2.4系统第三层数据流图(用户登录)
第三章系统总体设计
一、系统设计目标
本系统设计的目标是提高软件的质量与生产率,最终实现软件的工业化生产。
质量是软件需求方最关心的问题,用户即使不图物美价廉,也要求个货真价实。
生产率是软件供应方最关心的问题,老板和员工都想用更少的时间挣更多的钱。
质量与生产率之间有着内在的联系,高生产率必须以质量合格为前提。
如果质量不合格,对供需双方都是坏事情。
从短期效益看,追求高质量会延长软件开发时间并且增大费用,似乎降低了生产率。
从长期效益看,高质量将保证软件开发的全过程更加规范流畅,大大降低了软件的维护代价,实质上是提高了生产率,同时可获得很好的信誉。
质量与生产率之间不存在根本的对立,好的软件工程方法可以同时提高质量与生产率。
二、系统模块设计
(一)系统总体结构设计
系统总体结构设计确定软件由哪些模块组成以及这些模块之间的动态调用关系。
网上书店不是一个简单的概念,它包含了许多个内容,是由多个页面组成的一个整体的系统。
1.在功能方面,采用图形用户界面技术,使系统能够有多重图形窗口和丰富便利的操作界面,通过鼠标或键盘的操作,为用户提供最简洁的使用方法。
2.在系统开放性方面,按照软件工程开发规范实现系统的开放性,既便于扩充又便于升级,以适用今后其他人的借鉴需求。
3.在系统和数据的安全性方面,系统采用数据库级用户权限和应用程序级运行权限的双重控制机构,提供了统一的基于角色的用户管理手段,具有完善的系统和数据安全的保障体系。
4.在操作性方面,采用图形用户界面技术,使系统能够有多重图形窗口和丰富便利的操作界面,通过鼠标或键盘的操作,为用户提供最简洁的使用方法。
(二)系统模块设计
网上书店系统主要是实现以下两个功能:
一是客户在网上查书,选书,购书和产生订单等功能。
二是后台的图书管理功能,包括图书种类的管理和图书的管理。
一个典型的网上书店一般都有需要实现商品信息的动态展示,购物车管理,会员管理(包括会员信息注册)和订单处理等模块。
根据需求分析可以分为五大功能模块,如图所示:
该网站的功能模块如下表所示:
功能模块
功能概述
图书信息管理
该模块实现依据书名或作者的信息来对图书信息的快速搜索,也提供图书书目信息的分类查询,显示功能。
此外,在用户选择了对应书目信息后,还可以显示出有关该图书的详细信息,以便客户能更详细的了解所购买的商品。
购物车管理
用于维护每一个进入网上书店的客户对应的购物车,也就是将客户所选购的图书商品信息记录到对应的购物车里,以便于生成订单。
会员管理
实现网上书店客户信息的注册及身份验证。
由于目前网上商城普遍采用的方式为送货上门或者邮寄,因此需要收集与客户相关的真实姓名,通信地址和联系方式等信息。
订单管理
实现根据客户购物车中的商品信息,以及客户所选择的送货方式和付款方式连同客户对应的个人信息一同生成订单,以便后面进行送货处理。
图书管理
该模块是后台管理模块,实现进入后台页面的身份验证,图书类型的添加,删除及对应类型下图书信息的发布,删除等功能。
(三)系统结构设计
根据MVC的设计思想,可以得出如图3.1所示的系统结构设计图。
图3.1系统功能设计图
三、数据库结构设计
用户的需求具体体现在各种信息的提供、保存、更新和查询,这就要求数据库结构能够充分满足各种信息的输入和输出。
收集基本数据、数据结构和数据处理的流程,组成一份详尽的数据字典,为后面的具体设计打下基础
1.系统数据库的概要设计
2.图书信息表(bookInfo)
3.订单信息表(list)
4.图书类信息表(bookclass)
5.首页新闻信息表(news)
6.用户反馈信息表(fk)
7.搜索关键字表(keyselect)
8.会员信息表(user)
9.管理员信息表(admin)
第四章系统详细设计
一、系统功能模块设计
本网站系统包括两大部分,前台和后台。
用户只能使用前台的各项功能包括注册、登录、购物、收藏、浏览书籍信息、发布信息、新闻、公告、我要买书、我要卖书、教材预定、经典书籍推荐、特价书籍、新书上架等;后台只有管理员才能使用,对网站进行综合管理使其动态更新。
下图(图4.1与图4.2)为系统前台主要业务流程与系统前台主要业务流程:
图4.1系统前台主要业务流程
图4.2系统后台主要业务流程
(一)用户登录模块
这里介绍用户登录的程序设计思路,数据库中存放有用户的基本信息,用户在网站中输入相关信息,通过匹配检测,便可以知道数据的有效性。
下面是登录程序流程图,如下图4.3所示:
图4.3登录程序流程图
下面是用户登录,如下图4.4所示:
图4.4用户登录图
(二)用户注册模块
注册模块,会出现在很多程序中,这里借鉴了其他注册程序的流程。
注册模块的核心思想是向数据库中输入数据,并且数据要不能重复,下面是注册模块的程序流程图如下图4.5所示:
图4.5注册程序流程图
下面是用户注册界面,如下图4.6所示:
图4.6用户注册界面
(三)管理员功能模块
网站管理员登录到管理员界面后,可以对图书数据进行添加,修改,删除操作,管理图书信息,方便管理员和用户浏览图书信息,管理员可以添加需要上架的新书以不断的补充书店的图书,让书店的图书更加丰富,对于已经明显显示出下滑趋势的图书,管理员可以进行删除处理,之后用户便不能再看到该书的信息。
管理员可以添加公告信息等。
下面是后台管理员界面,如下图4.7所示:
图4.7后台管理员界面
(四)图书信息管理模块
该模块实现依据书名或作者的信息来对图书信息的快速搜索,也提供图书书目信息的分类查询,显示功能。
此外,在用户选择了对应书目信息后,还可以显示出有关该图书的详细信息,以便客户能更详细的了解所购买的商品。
主要分为两大部分,图书展示和图书查询。
1.