




已阅读5页,还剩38页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘 要随着网络技术的发展,Internet已成为最具市场潜力的技术领域,使用Web技术设计的数据库应用软件,是目前Internet市场的技术中坚,各种Web应用如电子商务,网上购物等都采用这种方式实现。网上购书在国外已经是一个比较常见的购书方式了,而在我国,网上购书才是刚刚起步,但发展的速度却十分的惊人。本系统主要实现了用户的管理、书籍的查找与买卖、购物车的实现、订单的管理以及用户留言等功能,为用户提供了迅速、便利的网上购书环境。本系统采用JSP、Servlet、JavaBean和JDBC等一些JAVA Web相关技术实现了一个简单的网上购书系统,MVC开发模式可以分离数据访问和数据表现,让开发人员可以开发一个可伸缩性强的、便于扩展的控制器,来维护整个流程。本文正是抓住了这一热点,利用MVC设计模式在JAVA Web上的应用,开发了一个小型的网上购书系统,系统虽然小,但是严格按照MVC设计模式来开发,本系统通用性强,经过简单的修改就可以应用于更广泛的网上购物系统,具有一定的推广价值。关键字: MVC、JSP、Servlet、JDBC、JavaBeanAbstractWith the development of network technology, Internet has become the most market potential of technology, the use of Web technology, designed for database application software, is the Internet market, the technical backbone of a variety of Web applications such as e-commerce, online shopping and so using this ways.Online textbook abroad is a relatively common textbook approach, while in China, online textbook is just started, but the pace of development was very amazing. This paper took advantage of the hot spots, using MVC design pattern in Java Web applications on the development of a small online textbook system, the system may be small, but strictly in accordance with MVC .design pattern to develop, Mainly to achieve the users management, the search and the sale of books, shopping cart implementation, order management, and user comments and other functions, provides users with fast and convenient online friendly environment. which can be used, which will help maintenance advantage of todays businesses is still very much in line with the requirements for e-commerce platform. In this paper, JSP, Servlet, JavaBean, and JDBC and some other JAVA Web-related technology to achieve a simple online textbook system that versatility, MVC development model can be separated from data access and data performance, so developers can develop a strong scalability, scalable controller, to maintain the entire process.through a simple modification can be applied to a wider range of online shopping system, with a certain extension purchase.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.开发环境的选择会影响到数据库的设计,所以在这里给出网络书城开发与运行环境的选择如下:开发环境:Windows XP开发工具:MyEclipse 5.5.1 GA数据库管理系统: Oracle 9i设计模式: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.1 MVC组件类型的关系和功能第二章 系统需求分析一、需求分析的原因根据现在社会上对网络书店的需求,为了开发出真正满足用户需求的产品网络书城,首先必须要知道客户的需求。对软件需求的深入理解是软件开发工作获得成功的前提条件,不论我们把设计和编码工作做得如何出色,不能满足用户需求的程序只会给客户带来失望,给开发带来麻烦。虽然在可行性研究阶段已经粗略了解用户的需求,甚至还提出了一些可行的方案,但是,可行性研究的基本目的使用较小的成本在较短时间内确定是否存在可行的解法,因此,在需求分析阶段要确定系统必须完成哪些工作,也就是对系统提出完整、准确、清晰、具体的要求。二、可行性分析开发任何一个基于计算机的系统都会受到时间和资源的限制。因此在开发软件项目之前,必须根据可利用的时间和资源等条件进行可行性研究。可行性研究工作的主要任务不是研究如何解决问题,而是要用最小的代价在最短的时间内确定该项目是否具有开发的可行性。1. 技术可行性:本网站严格按照MVC设计模式来开发,采用JSP、Servlet、JavaBean和JDBC等一些JAVA Web相关技术实现。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所示的系统结构设计图。网络 前台管理 图书显示模块 用户模块 订单模块 网上调查模块 数据库 连接数据库 JavaBean 购物车模块 后台管理 图书管理模块 公告管理模块 退出模块 订单模块 用户管理模块 网上调查模块 用户建议模块 图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. 图书展示数据库准备。图书展示和图书查询是将网上书店中的图书有序地罗列出来。该操作涉及到booshop数据库中的 bookInfo数据表。下面是图书展示设计流程图,如下图4.8所示:图4.8 图书展示设计流程图2. 图书查询图书查询在网上书店中也是一项很重要的功能,主要帮助用户快速地找到想要购买的图书。再一个规模较大的书城中,如果没有这项功能,用户很难找到所需要的图书,那么这个网上书城的吸引力将会因此大大降低。同时好的搜索功能将会带来更多的用户青睐。为适合不同的拥护的需求,本次采用模糊查询的方法为用户提供方便的图书查询。数据库准备。查询图书模块的目的是为了帮助用户快速找到想要购买的图书。由于用户对书城中的图书情况不可能十分清楚,因此采用了模糊查询的方法,只要用户输入了相关的少量信息就可以查询到相应的结果。该操作涉及到bookshop数据库中的book数据表。另外在模糊查询时使用了数据库系统的like运算符。处理逻辑。处理过程首先建立数据库连接,打开book数据表,并按照用户指定的方式和关键字信息将book 数据表中满足要求的图书信息显示出来。为了适合用户的不同要求,本次提供了四种查询方法,可按照书名、出版社、作者、息时只需输入部分信息即可ISBN等方式查询,并且查询方法采用模糊查询的方法,这样用户在输入查询信。下面是图书查询页面,如下图4.9所示:图4.9 图书查询页面(五) 购物车管理模块购物车管理用于维护每一个进入网上书店的客户对应的购物车,也就是将客户所选购的图书商品信息记录到对应的购物车里,以便于生成订单。本次将以session技术、cookie技术来实现购物车。下面是购物车界面如下图4.10所示:图4.10 购物车界面1. 优点占用系统资源少,我们可以把数据库安置在一台电脑中,Web服务器安置在另一电脑中,系统资源充分发挥购物车中数据可以得到有效保留,我们可以试想一客户在购物时,突然某其他原因(死机等原因)离开了购物站,他在购物车中数据有效保留下来,他下次登录时购物车中还有上次保留的数据,避免用户再次选购商品的操作(此功能只对登录用户的购物车有效) ,要是用会话实现购物车,所有用户一旦离开站点,他的购物车中数据全部失效。2. 实现数据库及 session准备。购物车是网上书城必需的一项功能。主要用于记录客户购买的图书编号、书名、出版社、作者、数量、单价等信息,并且应该计算出总价及打折后应付的金额,以便用户随时掌握自己的购买信息8。本次毕业设计再实现购物车时使session技术和数据库。对于用户的购买信息主要用session来记录,购买结束后再一起提交到数据库中,另打折信息是由数据库统一管理的,它是和图书入库一起完成的。这里要注意的是购物车也可以不使用session,而直接把信息写到数据库中,这样做比较简单,但由于每次选购都要将信息写入数据库中,这样将给服务器带来很大的负担。如果有很多用户同时在购书,就很容易使服务器瘫痪。所以基于以上考虑,我们采用session对象。购物车功能定义。购物车是客户在书店中实施购买活动的辅助工具,购物车性能的优劣在某种程度上也会影响购买者的购买情绪和行为。因此在设计购物车时不仅要考虑功能的多样性也要考虑购物车的实用性。本次对购物车的功能如下功能:(1) 存放客户选好的图书(2) 可以随时改变是否要购买(3) 可以随时改变购买的数量 (4) 可以显示目前购物车中的图书的金额处理逻辑。在购物车信息显示页面中,将显示客户所选的图书信息,在该页面中,客户可以指定选购数据量,也可以将对应商品从购物车中删除。此外,在该页面中也可以返回数目显示页面继续购物,或者清空整个购物车。如果用户确定购物车信息后,可以单击【提交订单】,进入订单确认页面,选择送货方式以及付款方式。下面是购物车程序流程图,如下图4.11所示:图4.11 购物车程序流程图(六) 订单管理模块实现根据客户购物车中的商品信息,以及客户所选择的送货方式和付款方式连同客户对应的个人信息一同生成订单,以便后面进行送货处理。1. cookie信息及数据库准备生成订单是购书者购书的最后一步了。为了将图书送到客户手中,必须要求客户输入自己的信息(包括送货信息)本次在处理购书信息时采用cookie保存客户的注册信息,还有一些客户的信息在填写订单时一并完成的。购书结帐时会涉及到多个数据表的操作,如book表、dingdaninfo表、user表。2. 处理逻辑在该页面中,客户可以依据表单提示,选择送货方式和付款方式,确认对应选择后,单击【确认】进入订单确认页面。客户确认订单对应的信息后,再单击【生成订单】,将生成客户这次购买图书的订单。如果成功则跳转到订单成功生成页面,一次购物过程基本完成,如单击【返回购物车】则可以继续选购其他图书。下面是生成订单流程图,如下图4.12所示:图4.12 生成订单流程图本模块是系统的核心,主要负责订单的审查,是订单的流程最后一个环节,也是最重要的一个环节。书店的任何数据都和订单数据有直接或者间接的关系,有效的订单和书店的经济利益有直接的关系,收入和支出都是由订单引起的。程序当中也严格限制数据的有效性,无效数据不会录入到数据库中。下面是生成订单流程图,如下图4.13所示:图4.13 生成订单界面(七) 添加图书模块该模块是后台管理模块,实现进入后台页面的身份验证,图书类型的添加,删除及对应类型下图书信息的发布,删除等功能。该页面具有权限,只有管理员可以进入,普通客户没有此权限。1. 数据库准备图书管理模块的目的是为了实现网上书店中图书信息的添加,修改及删除。该操作涉及到bookshop数据库中的bookInfo数据表和bookclass数据表。2. 数据处理逻辑该页面进入时会弹出登录对话框,只有正确的管理员姓名和密码才可进入。进入页面后,管理员可以根据书店的图书情况对所有图书进行添加,修改或删除。下面是图书管理流程图,如下图4.14所示:图4.14 图书管理流程图下面是图书添加界面设计,如下图4.15所示:图4.15 添加图书界面(八) 图书查询模块该模块实现依据书名或作者的信息来对图书信息的快速搜索,也提供图书书目信息的分类查询,显示功能。此外,在用户选择了对应书目信息后,还可以显示出有关该图书的详细信息,以便客户能更详细的了解所购买的商品。主要分为两大部分,图书展示和图书查询。1. 图书展示数据库准备。图书展示和图书查询是将网上书店中的图书有序地罗列出来。该操作涉及到booshop数据库中的 bookInfo数据表。下面是图书展示设计流程图,如下图4.16所示:图4.16 图书展示设计流程图2. 图书查询图书查询在网上书店中也是一项很重要的功能,主要帮助用户快速地找到想要购买的图书。再一个规模较大的书城中,如果没有这项功能,用户很难找到所需要的图书,那么这个网上书城的吸引力将会因此大大降低。同时好的搜索功能将会带来更多的用户青睐。为适合不同的拥护的需求,本次采用模糊查询的方法为用户提供方便的图书查询。数据库准备。查询图书模块的目的是为了帮助用户快速找到想要购买的图书。由于用户对书城中的图书情况不可能十分清楚,因此采用了模糊查询的方法,只要用户输入了相关的少量信息就可以查询到相应的结果。该操作涉及到bookshop数据库中的book数据表。另外在模糊查询时使用了数据库系统的like运算符。处理逻辑。处理过程首先建立数据库连接,打开book数据表,并按照用户指定的方式和关键字信息将book 数据表中满足要求的图书信息显示出来。为了适合用户的不同要求,本次提供了四种查询方法,可按照书名、出版社、作者、息时只需输入部分信息即可ISBN等方式查询,并且查询方法采用模糊查询的方法,这样用户在输入查询信。下面是图书查询页面,如下图4.17所示:图4.17 图书查询页面二、 数据库详细设计系统实体及其属性描述如下:1. 用户:用户ID,用户名,用户密码,用户邮箱,用户地址,用户类型,邮递区号,用户电话。2. 管理员:管理员ID,管理员名,管理员密码。3. 购物车:购书车ID,图书ID,用户名,购书数量,购物时间,购书审查,订单号,管理员审查,图书名称,图书价格。4. 图书:图书ID,图书名,图书价格,图书简介,图书数量,图书日期,图书照片,出版社,代理价格,批发价格,用户状态,作者,图书页数,开本,图书编号,推荐。5. 友情链接:ID,链接地址,地址名称。6. 公告栏:ID,标题,内容,公告时间。7. 图书类别:ID,名称。8. 订单信息:订单ID,购书车ID,用户名,订单时间,订单号,订单审查,下订单用户名,下定者邮箱,下定者电话,下定者地址,下定者邮编,付款方式。下面简单列出几个主要表(表4-1表4-5):表4-1 用户表的结构列名类型主键可为空值描述user_id自动编号YN由数据库自动生成的顺序编号,作为用户的标示user_name文本NN用户的名称user_pass文本NY用户的密码user_mail文本NY用户邮箱user_adds文本NY用户地址user_tel文本NY用户电话user_regtime日期/时间NY用户登录时间user_regip文本NY用户登录user_lasttime日期/时间NY用户最后登录时间user_lastip文本NYuser_buymoney文本NY用户买书的钱user_postcode文本NY用户邮递区号user_namec文本NYuser_type文本NY用户类型表4-2 购书车的结构列名类型主键可为空值描述basket_id自动编号YN由数据库自动生成的顺序编号,作为购书车的标示hw_id文本NN购书车的IDuser_name文本NY用户名称basket_count文本NY购书数量basket_date日期/时间NY购书日期basket_check是/否NY购书审查basket_admincheck是/否NY管理员审查hw_name文本NY图书名称hw_cash文本NY图书价格sub_number文本NY订单号Daili文本NY代理价格表4-3 图书表的结构列名类型主键可为空值描述hw_id自动编号YN由数据库自动生成的顺序编号,作为图书的标示sort_id数字NNnsort_id数字NYhw_name文本NY图书名称hw_cash数字NY图书价格hw_content备注NY图书简介hw_date日期/时间NY图书日期hw_pic文本NY图书照片Chubsh文本NY出版社Daili数字NY代理价格Pifa数字NY批发价格Zhuang文本NY用户状态hw_sn文本NY图书作者Yeshu文本NY图书页数Kaiben文本NY开本Isbn文本NY图书编号Tuijian是/否NY推荐Jia是/否NY表4-4 图书类别表的结构列名类型主键可为空值描述sort_id自动编号YN由数据库自动生成的顺序编号,作为图书类别的标示sort_name文本NN分类名称表4-5 订单信息表列名类型主键可为空值描述sub_id自动编号YN由数据库自动生成的顺序编号,作为订单的标示basket_id文本NN购物IDuser_name文本NY用户名sub_date日期/时间NY订单日期sub_number文本NY订单数量sub_check是/否NY订单审查sub_to文本NY下订单用户名sub_mail文本NY下定者邮箱sub_tel文本NY下定者电话sub_adds文本NY下定者地址sub_post文本NY下定者邮编qian文本NY付款方式other文本NY其他第五章 系统的测试与维护一、 单元测试测试一:在管理员登录时,用户名或密码有一项为空或者填写错误,系统是否出现预先设定的操作提示。具体操作:用户名、密码、任意一项为空或者填写有误。结果:都出现相应的错误原因的信息提示。结论:要求管理员必须填写正确的用户名和密码,才能进入管理页面。测试二:修改本站的公告返回前台,看其是否更新成功。具体操作:通过信息管理页面中的修改公告功能修改公告的内容,看其是否修改成功。结果:公告内容更新为修改后的信息。结论:修改公告功能正常。测试三:添加删除一条新闻信息返回前台,看其是否添加删除成功。具体操作:在信息管理页面中添加删除一条首页新闻信息。结果:显示新添加的新闻信息内容、被删除的新闻没有再显示。结论:新闻的添加删除功能正常。测试四:管理员删除一图书的信息,在前台按关键字查询,看其是否能找到对应的信息。具体操作:在图书管理页面中的图书查看与修改页面中删除一图书的信息。结果:在前台搜索中,按关键字查询不到此书信息。结论:删除图书信息功能正常。二、 集成测试网站的建设基本上就算完成了,但我们发现这样一个事实,一个用户在访问一个网站时一般来讲只对该网站的部分内容感性趣,而且这种兴趣会持续一段时间。这点启发了我们,如果能根据用户的喜好为不同的用户显示其个性化的页面,即着重显示该用户感兴趣的内容,将为用户节约大量的检索时间,而且这样的网页显然是更具有吸引力的。一些站点已经在这方面作出了一定的尝试,通常采用的方法是,在用户登录时为其提供一系列的选项,使用户能够对站点进行一些自主的设置。这样做能够使站点呈现一定程度的个性化,但是对用户来讲,还是比较烦琐,而且在用户了解一个站点前让其对站点进行设置,其结果未免有些粗糙。于是我们构想了这样一种方案,对用户登录后的动作进行跟踪,分析,发掘用户点击的规律,即用户先后点击的关联规则,这样,在用户点击一个主题(链接)之后,系统能够自动生成一页面,其中包含了该主题下用户经常关注的内容(若干链接),这样便在无须用户作出任何额外工作的情况下实现了为用户量身订做的个性化页面。要实现这样的功能,离不开后台数据库的支持。用户验证信息,收集到的用户点击信息,主题层次信息,分析得出的关联规则表等大量的数据都由数据库管理系统管理。整个个性化页面生成系统主要由使用Dreamweaver_MX开发的关联规则采掘系统和利用JSP技术实现的个性化Web页面生成器两部分组成。关联规则采掘系统对数据库中的历史记录进行分析,产生用户关联规则表;页面生成器则负责记录用户行为和根据关联规则表动态生成用户个性化Web页面。二者通过数据库服务器和Web服务器连接。本次毕业设计主要完成传统网上书店的用户注册、登录、图书浏览、图书信息查询、在线购买、生成订单、后台信息编辑管理等功能,以上提出的改进想法以后再去完善。总 结当今社会对于软件开发是一个分工很细的工作,在开发过程中不同的人负责不同的模块开发,比如有专门的人负责业务逻辑,有专门的人负责图形界面,所以现在的开发人员都是某一方面的专家。在本系统中图形界面是十分的友好,但是从美观的角度来说还是很不够的,这样的界面是不能应用到实践中的。在论文的写作过程中,不仅有大量的参考书籍并且在老师指导和帮助下给论文奠定了良好的理论基础,并且自己亲身体验了几次愉快的网上购书,给我写作提供了良好的素材。引入MVC模式之后,逻辑层与表现层分离开来,业务逻辑不再关心具体的显示层面,逻辑层的代码量消除了膨胀隐患,表现层也可交由其它非业务人员自由调整,最后完美整合,在层次分工上,比传统模式更加清晰,利于维护,在项目有升迁移植改造需求时,由于业务逻辑层不与表现层直接关联,故可直接使用已有的业务逻辑,大大减少了重构成本。越大的项目中MVC的作用表现的越明显。电子商务不可避免的会得到更加广泛的发展和应用,而在此过程中必将有更多更好的编程语言出现,但是我认为MVC的设计思想至少在短期内是不会过时的。谢 辞经过这些天的查资料、整理材料、写作论文,今天终于可以顺利的完成论文的最后的谢辞了,想了很久,要写下这一段谢词,表示可以进行毕业答辩了,自己想想求学期间的点点滴历历涌上心头,时光匆匆飞逝,两年多的努力与付出,随着论文的完成,终于让我在大学的生活,得以划下了完美的句点。 论文得以完成,要感谢的人实在
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 人大硕士考试题库及答案
- 梯形课件简介图
- 梭伦改革选修课件
- 桥面防腐知识培训内容课件
- 2025年继电保护员中级考试知识点梳理与复习计划
- 2025年初入IT行业软件开发工程师技术面试模拟题集及答案解析
- 2025年护师考试完整版试题及答案
- 2025年能源行业后勤集团工程总监竞聘面试模拟题及解析
- 桥梁三维建模知识培训课件
- 2025年碳足迹评价师专业题库高级篇
- 普通心理学第六版PPT完整全套教学课件
- 员工个人职业健康监护档案
- 《护理伦理学》教学大纲
- 老年学概论(第3版)PPT完整全套教学课件
- (完整版)Hamilton汉密尔顿焦虑量表
- 检验科实验室安全应急预案
- 浙江大学高分子化学第章课件绪论
- 景观生态学课件
- 教育教学理论试题与答案
- 净化装饰与机电安装工程URS
- 丁苯橡胶乳液聚合生产工艺
评论
0/150
提交评论