网络店的设计与实现正文

上传人:回**** 文档编号:125926388 上传时间:2022-07-27 格式:DOC 页数:60 大小:1.91MB
收藏 版权申诉 举报 下载
网络店的设计与实现正文_第1页
第1页 / 共60页
网络店的设计与实现正文_第2页
第2页 / 共60页
网络店的设计与实现正文_第3页
第3页 / 共60页
资源描述:

《网络店的设计与实现正文》由会员分享,可在线阅读,更多相关《网络店的设计与实现正文(60页珍藏版)》请在装配图网上搜索。

1、第一章系统概述1.1 课题开发背景随着互联网在中国的进一步普及应用,网上购物逐渐成为人们的网上行为之一。如今人们的生活水平也在不断的提高,越来越多的人们开始以网上购物来替代老式的购物方式。网上交易自身所具有的经营上的优势以及对消费者强大的吸引力,是刺激网上交易发展的重要因素。几年前,我还至少一种月就会去书店逛两次,如今一年也难得去一回,究其因有如下几点。一来支付以便,款到发货,拿书付钱,一点风险也没有。二来节省了购书的成本,不管路上花的时间,至少在油价勇敢向前冲时候,还是少去城里在车流中拼搏的好,也算是对环保事业的一点小小支持吧。其三,网络书店让我找书的时间也省了诸多,目前的书籍浩如烟海,而网

2、上书店的搜索和推荐功能,让我很容易定位到购买的目的。而网站上的推荐功能,则让我很容易的理解书中的内容,再加上读者的评论,对于这本书质量就能判断出一种比较清晰的轮廓,也就能下定与否买的决心。总体来说,网上店面的优势是很明显的,会有越来越多的人去使用它购物。毫无疑问,网店俨然已经成为了互联网时代的又一种新兴产业,而随着信息时代的发展,它所带来的影响也将越来越广泛和深远。比起逛实体店来说,网购可以节省诸多珍贵的时间,减少了成本。总之,网络可以在绝对低成本的状态下完毕相对高质量的任务。在目前的实际应用中,已有诸多的网上书店系统被人们所熟知了,例如:当当网(.com)、亚马逊(.cn)等等。1.2 课题

3、分析网络书店系统分为前台管理和后台管理两大部分。其中前台管理的重要功能有书籍类型展示、查询书籍、查询书籍促销信息、购买书籍、订单查询、留言。后台管理的重要功能有书籍管理、会员管理、订单管理、促销活动管理、留言管理。1.2.1不同权限顾客的登录顾客登录本系统时,分为不同的权限为:会员、管理员会员通过网站:修改会员信息、浏览书籍信息、查看书籍简介、促销活动、购买书籍、查看订单、查看留言簿并留言。管理员通过网站:管理睬员、管理书籍、管理订单、管理书库、管理促销活动、管理留言簿。若不登录,则可以以一般顾客身份浏览书籍信息、查询书籍及书籍简介、活动促销、查看留言簿。1.2.2顾客管理进入该系统的每一种顾

4、客,都应当只有一种属于自己的账号和密码,因此在使用本系统时需要进行顾客信息的注册。管理员身份还能添加、删除顾客,会员只能修改自己的个人信息,管理员可以修改所有顾客及管理员的信息。1.2.3书籍管理网络书店系统,对于顾客应当有许多书籍类型选择,这就需要管理员发布某些不同类型的书籍来供顾客选择。如果发布的书籍有所不当,可以进行书籍的删除。所有身份的顾客都能对书籍进行查询。1.2.4书籍订单的管理当顾客选择了喜欢的书籍可以点击下单进行订单解决,转到订单填写页面,提交订单后,即完毕书籍的先上购买。1.2.5促销活动的管理促销活动可以使书籍卖的更多更快,使商家赚钱,促销活动由系统管理员发布和删除,会员和

5、游客可以查询与查看促销活动信息。1.2.6留言管理当顾客在网络书店购买自己喜欢的书籍后可以将自己的问题或者建议进行留言,管理员可以根据顾客对网络书店的评价和建议进行网上书店的完善。1.3 开发技术及有关工具1.3.1 JSP JSP(JavaServer Pages)是一种动态网页技术原则。此技术为创立Web页面提供了一种简捷迅速的措施。目的是使构造基于Web的应用程序更容易和快捷,这些应用程序能与多种Web服务器、应用服务器、浏览器和开发工具共同工作。老式网页HTML文献加上Java程序片段和JSP标记,就构成JSP网页(*.jsp)。Web服务器在遇到访问JSP网页祈求时,先执行其中的程序

6、片段,再将执行成果以HTML格式返给客户。程序片段可涉及操作数据库、网页重定向以及发送 email 等功能。所有对程序的操作都在服务器端执行,网上传送给客户端的仅仅是得到的成果,因此对客户浏览器的规定最低。相对于Servlet这种Java类,JSP又有特定的优势。要想完毕一种简朴JSP页面所具有的功能,需要编写大量Servlet代码,并且从代码上主线看不出来要生成的HTML文档构造。此外,JSP中的双引号等特殊字符,在Servlet中需要进行转义解决,进一步减少了代码的可读性。事实上,在JSP中还可以使用标签等特性进一步将JSP中的 Java代码带来的不利因素削弱。总之,用JSP开发系统可以减

7、少开发门槛,提高代码可读性,开发出高性能跨平台的公司级软件。因此本系统采用了JSP技术。1.3.2 JSP网站开发模式JSP网站开发技术原则给出两种使用JSP的方式。分别为模式一和模式二。模式一:JSP+JavaBean 在此模式中,JSP页面独自响应祈求并将解决成果返回客户并实现页面的体现。所有数据通过Bean解决。模式一也实现了页面体现和业务逻辑相分离。 但是大量使用模式一也许带来会导致在页面里面嵌入了大量的Java控制代码。如果要解决的业务逻辑很复杂时,状况将变得非常糟糕。 大量内嵌代码使页面变得庞大,且非常复杂。当页面功能实现后交给美工或页面内容设计人员进行美化时,问题就变得严重了。在

8、大型项目里,这种措施将导致页面的维护困难。模式二: JSP+JavaBean+Servlet在此模式中,结合了JSP和Servlet技术,此模式充足发挥了JSP和Servlet两种技术的优势。此模式遵MVC模式。其重要思想是使用一种或多种Servlet作为控制器。前沿的Servlet(也许是多种Servlet构成的一种解决链)接受祈求并解决后,会重定向到JSP。在Servlet作控制器时,每个Servlet一般仅实现一小部分功能,多种Servlet控制器结合起来就可以完毕复杂的任务。这样做的好处是Servlet的重用性好,副作用就是也许会导致响应祈求的时间加长。在此模式中,JavaBean作为

9、模型的角色,充当JSP和Servlet之间通信的工具。Servlet解决完后设立JavaBean的属性,JSP读取此JavaBean的属性,然后进行显示。从开发的角度看,模式二有更清晰的页面体现、更清晰的角色划分。这些优势在大型项目的开发中体现得尤为突出,可以充足发挥不同开发者各自的特长;美工人员可以充足发挥自己的才干;程序编写人员可以专注于业务逻辑以及程序功能的实现。第二章系统分析2.1 系统目的网络书店系统最后目的是为顾客提供一种良好的便捷购物交流平台,使顾客真正得到最大的以便和感受网络的强大功能,理解网上购书的进程信息。为了满足顾客的规定,本系统在设计时应当实现如下几种目的:1、系统界面

10、设计要和谐、美观。2、划分顾客级别,进行权限分派。3、合理管理系统的有关信息。4、易于维护和扩展。5、系统运营稳定、安全可靠。2.2 功能需求该系统重要功能有书籍管理、会员管理、订单管理、促销活动管理、留言管理。系统的角色由管理员、会员、游客构成。2.3 可行性分析2.3.1项目名称:网络书店系统的设计与实现2.3.2系统描述:本系统类似于淘宝,易趣等网上购物商城。可以实现网上购物功能。重要由前台会员管理模块和后台管理员管理模块两部分构成。前台模块重要用于实现会员注册、登录、修改个人信息、分类查看商品信息等。后台模块重要用于实现后台管理员对会员、商品、订单等的管理功能。采用面向对象的开发措施,

11、重要应用Jsp和SQL Server实现。2.3.3经济可行性:随着互联网的不断发展,网络购物已逐渐成为都市白领一族主流的购物方式。特别是在今年全球经济不景气的大背景下,网络渠道的销售规模仍然保持了高速的增长。越来越多的人选择足不出户的网购。因此网络书店的发展前景广阔。第一季度中国网络购物市场交易额规模达467亿元,环比增长15.5%,同比增长96.7%。专家分析觉得,第一季度是老式的购物淡季,网购交易额环比及同比增速有所放缓,但是网络购物整体的增长趋势未变,金融危机时期网购的便捷及价格优势将持续吸引更多消费者的关注。网络商城所能带来的经济效益是不容忽视的。2.3.4技术可行性本系统采用B/S

12、构造实现,安全,快捷,精确。设备条件良好,具有开发该系统的基本设备。既有软件,硬件均具有条件,通过有关技术设想的功能均可以实现。技术实力局限性,系统设计有困难,需要指引。2.3.5顾客使用可行性该系统为网络购书人群和网络购书系统管理员设计。对于购物人员,只需熟悉Windows和IE的基本操作,理解购物流程就可成功购买到自己喜欢的图书。对于系统管理员,只需掌握简朴的系统管理流程就可轻松操作此系统。2.3.6结论从上述状况判断,该项目需要开发人员在短时间内努力学习有关技术后才干开发,时间有限,也许会有局限性之处。2.4 需求分析2.4.1系统的前期调查与构思目前,虽然经济形势整体不好,但是网络经济

13、带来的效益仍旧持续增长。因此,更应加大对网络经济的建设。本系统就是随着网络经济不断发展而诞生而改善。本着服务大众,改善网购环境的目的,本系统不断地改善网络购书系统,使网络购书更加便捷。本系统前期调查过多家网络书店,例如卓越,亚马逊。综合了多家网络书店的特点,并结合所学知识,模拟实现了简朴的网络书店系统。尽量让该系统达到构思严密、模块清晰、可视性强、实用性强、界面和谐、以便易用、安全稳定等特点。本系统可对网络书店所陈列商品进行必要的增删改,此外后台管理页面有针对订单的解决模块,涉及订单的增长,删除,修改。2.4.2任务概述目的由于时间有限,技术水平局限性,虽然实际的网络书店系统可以设计得非常完善

14、和庞大,但是在实际实现这个毕业设计中,还是把目的定在建立一种具有基本功能的B/S构造的网络书店系统。顾客特点本系统的顾客为系统管理员与网络购物人员。她们只需要熟悉Windows和IE的基本操作,纯熟掌握计算机的使用,就可以轻松使用该系统。假定与约束假定客户机与服务器可以联网,并且具有运营软件的基本环境,顾客纯熟掌握计算机基本操作和熟悉浏览器环境。2.4.3需求规定对功能的规定通过实际调查,规定本系统具有如下功能:系统具有良好的人机界面。如果系统的合用对象较多,则规定本系统具有较好的权限管理。全面展示书店内所有图书。图书分类显示,以便顾客理解本书店的图书。查看书店内的交易信息。系统最大限度地实现

15、易于维护和易于操作的特性。系统运营稳定,安全可靠。开发工具的选择本系统后台数据库采用目前最新的Microsoft SQL Server ,该数据库系统在安全性、精确性和运营速度方面有绝对的优势,并且解决数据最大,效率高;前台采用jsp作为重要的开发工具,其可与SQL Server 数据库无缝连接。2.5 理论基本本管理软件系统重要运用了软件工程的设计思想。采用面向对象的开发措施,以Myeclipse作为重要开发工具,使用SQL Server作为关系数据库,应用JAVA语言实现功能代码以及JSP技术。同步采用JDBC连接数据库,配合功能强大的SQL查询语言实现建立关系数据库,访问数据库,对数据库

16、的更新,较好地实现了预定的基于B/S模式的Web应用程序的需求功能。网络书店系统的重要功能是可觉得大众顾客提供一种以便、迅速购书的交流平台。除此之外,还需要将顾客分派权限,涉及管理员、会员、管理员。管理员可以管理不同权限顾客的基本信息,并且进入网上书店需要先注册个人信息,才干登录该系统。并且不同的权限就如不同的操作界面,功能也有所限制。固然,这里是不同权限的顾客。管理员将不同类型的书籍上传到网站上,注明各类书籍的具体信息。顾客登录系统后,将对书籍选择,并查看不同书籍的有关状况,并将喜欢的书籍下单,避免繁琐,确认信息后就可以点击提交购买书籍了。同步在顾客购买书籍,从订单到送货期间,顾客可以针对书

17、籍质量浮现的问题进行留言。因此网上书店系统对顾客的逻辑信息管理功能有很强的规定。通过对本系统的初期研究、分析,基本规定本系统具有如下特点:规定网络书店系统具有和谐的人机界面。功能强大、操作简朴、扩展性强、稳定性高。本系统无操作系统限制,以便不同平台之间的移植。网站最大限度的实现易维护性和易操作性。网站运营稳定、安全可靠。2.6 用例分析系统分为三类角色:会员、游客、管理员。会员具有的权限见图2.1,游客具有的权限见图2.2,管理员具有的权限见图2.3。每项功能的具体解释见表2.1-2.15.查看促销信息发布留言下单查看图书查询订单查询留言个人信息查询个人信息修改个人信息删除订单订单信息会员产品

18、展示删除自己留言图2.1 会员用例图查看促销信息发布留言查看图书查看促销查询留言促销信息游客产品展示图2.2 游客用例图订单管理促销活动管理查询会员修改会员信息增长会员增长图书修改图书信息会员管理图书管理管理员查询促销活动删除促销活动增长促销活动删除订单删除图书删除会员查询订单查询图书留言簿留言查看留言簿图2.3 管理员用例图表2.1 增长会员用例描述执行者管理员前置条件已经以管理员身份登录进系统主成功场景(1)进入系统首页(2)管理员点击“增长会员”链接(3)管理员输入密码、顾客名、电话。单击“提交”按钮(4)系统验证信息与否合法,保存顾客信息(5)系统显示操作成功页面扩展1(3a)输入信息

19、不合法(3a1)系统显示操作失败页面(3a2)可点击“重置”链接返回成功场景(1)扩展2点击“后退”按钮链接返回前一页面表2.2 修改会员信息用例描述执行者会员、管理员前置条件已经登录进系统主成功场景(1)进入系统首页(2)点击“修改会员信息”链接(3)输入原密码、新密码、确认密码、手机号。单击“提交”按钮(4)系统验证信息与否合法,保存顾客信息(5)系统显示操作成功页面扩展1(3a)输入信息不合法(3a1)系统显示操作失败页面(3a2)可点击“重置”链接返回成功场景(1)扩展2管理员身份可通过点击“查询会员”链接,在给出的顾客列表中选择任意一名顾客对其个人信息进行修改扩展3点击“后退”按钮链

20、接返回前一页面表2.3 删除会员用例描述执行者管理员前置条件已经以管理员身份登录进系统主成功场景(1)进入系统首页(2)管理员点击“删除会员”链接(3)管理员在给出的顾客列表中选择想要删除的顾客,单击其右边的“删除”链接(4)弹出“确认删除提示框”,选择相应操作(5)系统显示执行操作后的顾客列表表2.4 查询会员用例描述执行者会员、管理员前置条件已经登录进系统主成功场景(1)进入系统首页(2)点击“查询会员”链接(3)输入查询条件。单击“查询”按钮(4)系统显示执行操作后的顾客列表表2.5留言簿用例描述执行者会员、游客、管理员前置条件已经登录进系统主成功场景(1)进入系统首页(2)点击“留言簿

21、”链接,显示因此留言。(3)输入留言内容。单击“提交”按钮(4)系统显示操作成功页面表2.6 删除留言用例描述执行者会员、管理员前置条件已经登录进系统主成功场景(1)进入系统首页(2)点击“留言板”链接(3)在给出的留言列表中选择想要删除的留言,单击其右边的“删除”链接(4)弹出“确认删除提示框”,选择相应操作(5)系统显示执行操作后的留言列表备注管理员身份可对任何人的留言进行删除,会员只能删除自己的留言。表2.7 增长图书用例描述执行者管理员前置条件已经以管理员身份登录进系统主成功场景(1)进入系统首页(2)点击“增长图书”链接(3)输入书名、类别、作者、出版社、isbN(国际原则书号)、价

22、格、数量、简介。单击“提交”按钮(4)系统验证信息与否合法,保存项目信息(5)系统显示操作成功页面扩展1(3a)输入信息不合法(3a1)系统显示操作失败页面(3a2)可点击“重置”按钮,链接返回成功场景(1)扩展2点击“后退”按钮链接返回前一页面表2.8 修改图书信息用例描述执行者管理员前置条件已登录进系统主成功场景(1)进入系统首页(2)点击“修改图书信息”链接(3)输入书名、类别、作者、出版社、isbN(国际原则书号)、价格、数量、简介。单击“提交”按钮(4)系统验证信息与否合法,保存项目信息(5)系统显示操作成功页面扩展1(3a)输入信息不合法(3a1)系统显示操作失败页面(3a2)可点

23、击“重置”按钮,链接返回成功场景(1)备注只有管理员身份可以对图书信息进行修改表2.9查询图书用例描述执行者会员、游客、管理员前置条件已经登录进系统主成功场景(1)进入系统首页(2)点击“查询图书”链接(3)输入查询条件。单击“查询”按钮(4)系统显示执行操作后的项目列表表2.10删除图书用例描述执行者管理员前置条件已经以管理员身份登录进系统主成功场景(1)进入系统首页(2)点击“删除图书”链接(3)弹出对话框,询问提示与否删除点击“拟定”按钮(4)系统显示操作成功页面扩展1点击“取消”按钮,链接返回成功场景(1)表2.11查询订单用例描述执行者会员、管理员前置条件已经登录进系统主成功场景(1

24、)进入系统首页(2)点击“查询订单”链接(3)输入查询条件。单击“查询”按钮(4)系统显示执行操作后的项目列表表2.12删除订单用例描述执行者会员、管理员前置条件已经登录进系统主成功场景(1)进入系统首页(2)点击“删除订单”链接(3)弹出对话框,询问提示与否删除点击“拟定”按钮(4)系统显示操作成功页面扩展1点击“取消”按钮,链接返回成功场景(1)表2.13 增长促销活动用例描述执行者管理员前置条件已登录进系统主成功场景(1)进入系统首页(2)点击“增长促销活动”链接(3)输入标题、活动内容、开始时间、结束时间。单击“提交”按钮(4)系统显示操作成功页面扩展1(3a)输入信息不合法(3a1)

25、系统显示操作失败页面(3a2)可点击“重置”按钮链接返回成功场景(1)备注只有管理员可以增长促销活动。表2.14查询促销活动用例描述执行者会员、游客、管理员前置条件已经登录进系统主成功场景(1)进入系统首页(2)点击“查询促销活动”链接(3)输入查询条件。单击“查询”按钮(4)系统显示执行操作后的项目列表表2.15删除促销活动用例描述执行者管理员前置条件已经以审批员身份登录进系统主成功场景(1)进入系统首页(2)点击“删除促销活动”链接(3)弹出对话框,询问提示与否删除点击“拟定”按钮(4)系统显示操作成功页面扩展1点击“取消”按钮,链接返回成功场景(1)2.7 开发环境搭建2.7.1 MyE

26、clipse 科研管理系统使用的开发工具为MyEclipse8.5。Jdk则使用MyEclipse自带的。MyEclipse安装过程略。2.7.2 SQL Server下载SQL Server后按照一般软件的安装措施进行安装,安装过程略。2.7.3 创立工程运营MyEclipse,选择一种工作空间,在Package Explorer区域右键选择new-Web Project,创立一种Web项目,起名为RMS,在项目上点击右键选择Build Path-Configure Build Path点击Add External JARs,将数据库驱动和其他所需要的jar包引入到项目中。点击图2.5所示的

27、按钮,开始部署tomcat。图2.4 部署Tomcat1如图2.6,在project中选择RMS,点击右边的Add按钮,浮现如图2.7所示的界面,在Server中选择使用的服务器,其他默认,点击Apply,点击OK按钮,完毕部署。图2.5部署Tomcat2图2.6 部署Tomcat3第三章 系统概要阐明3.1 系统的软件构造本系统分为五大模块:会员管理、图书管理、订单管理、促销活动管理、留言簿管理。模块间的关系如图3.1所示,本系统将使用人员分为三类角色:会员、游客、管理员。系统整体构造图如图3.1所示:网络书店系统会员管理图书管理订单管理促销活动管理留言簿管理增长会员修改会员信息删除会员查询

28、会员增长图书修改图书信息删除图书查询图书增长订单删除订单查询订单增长促销活动删除促销活动查询促销活动增长留言删除留言图3.1 系统功能构造图3.2 三层软件构造示意图网络书店系统采用了三层构造的模式。三层分别是视图层、控制层和模型层。视图层只提供应用程序的顾客界面,负责与顾客交互,控制层根据顾客操作将顾客输入的参数传递到后台,调用相应的业务逻辑而不是直接访问后台数据库。模型层是应用系统的核心,它负责解决所有顾客祈求,进行具体的运算,并把解决成果返回给视图层。通过这种方案,可以迅速开发出比老式两层构造更为效率高、安全性好的系统。如图所示图3.2 系统文献夹总体构造图3.3 系统文献夹展开后3.3

29、 构建开发环境3.3.1网站开发环境 网站开发环境:Myeclipse集成开发环境 网站开发语言:JAVA/JSP 网站后台数据库:SQL Server 开发环境运营平台:Windows XP3.3.2服务器端 操作系统:Windows XP Web服务器:Tomcat 数据库服务器:SQL Server 浏览器:IE3.4 数据库的设计3.4.1 数据库设计过程的环节:1、拟定建立数据库的目的和收集数据数据库设计过程的第一种阶段是拟定建立数据库的目的和收集数据。一般,我们也把拟定建立数据库的目的称为需求分析。需求分析的任务就是通过具体调查要解决的对象来明确顾客的多种需求。并且通过调查、收集和

30、分析信息,以理解在数据库中需要存储哪些数据,要完毕什么样的数据解决功能。这一过程是数据库设计的起点,它将直接影响到背面各个阶段的设计,并影响到设计成果与否合理和实用。拟定目的之后就需要根据目的收集有用的数据。在着手收集数据之前最重要的就是要调查顾客的实际需求,然后分析与体现这些需求。调查顾客需求的措施有诸多,如查阅记录、访谈、开调查会、设计调查表请顾客填写或回答有关问题等。其中比较有效的措施是访谈,我们可以借助某些设计合理的调查表来与顾客直接交流。通过充足交流,可以理解她们平时是如何使用数据库的,以及对目前信息的规定,进而设计满足顾客需求的字段,并根据设计的字段收集数据。2、建立概念模型拟定建

31、立数据库的目的以及完毕数据收集后,就进入数据库设计过程的第二阶段建立概念模型。概念模型,也称信息模型,它是按顾客的观点来对数据和信息建模,重要用于数据库设计。这一阶段是整个数据库设计的核心。设计时,一般先根据应用的需求,画出能反映每个应用需求的E-R图,其中涉及拟定实体、属性和联系的类型。然后优化初始的E-R图,消除冗余和也许存在的矛盾。概念模型是队顾客需求的客观反映,并不波及具体的计算机软、硬件环境。因此,在这一阶段中我们必须将注意力集中在如何体现出顾客对信息的需求,而不考虑具体实现问题。3、建立数据模型完毕上一阶段后,我们得到了一种与具体计算机软、硬件无关的概念模型。接着我们就可以着手建立

32、数据库模型了,这是数据库设计过程的第三个阶段。在这一阶段中我们要将概念模型中得到的E-R图转换成具体的数据模型。数据模型是表达实体与实体间的联系的模型。数据模型一般分为层次、网状、关系和面向对象模型等,重要是用于DBMS的实现。目前比较常用的是关系数据模型,我们一般将E-R图转换成关系数据模型,事实上就是要将实体、实体的属性和实体之间的联系转换为关系模式。4、实行与维护数据库最后一种阶段是实行与维护数据库。完毕数据模型的建立后,我们就必须对字段进行命名,拟定字段的类型和宽度,并运用数据库管理系统或数据库语言创立数据库构造、输入数据和运营等,因此数据库的实行是数据库设计过程的“最后实现”。如果数

33、据库运营很成功,则表白数据库设计任务基本结束,后来的重点就是数据库的维护工作,涉及做好备份工作、数据库的安全性和完整性调节、改善数据库性能等。数据库的设计在数据库应用系统的开发中占有很重要的地位。只有设计出合理的数据库,才干为建立在数据库上的应用提供以便。但是数据库的设计过程历来都不会有真正的结束,由于随着顾客需求和具体应用的变化和扩大,数据库的构造也也许会随之变化。3.4.2 数据表设计根据系统功能设计的规定,本系统设计了五张数据表,如下为各数据表:actinfo表用来保存促销活动信息(见表3.4),bookinfo用来保存图书信息(见表3.5),comment用来保存留言信息(见表3.6)

34、,orderinfo用来保存订单管理信息(见表3.7),userinfo表用来保存顾客信息(见表3.8)表3.4 促销活动信息表字段名类型长度可空主键描述idint否是顾客idtitlenvarchar50否否题目contentstext是否活动stimedatetime是否开始时间ftimedatetime是否结束时间createdtimedatetime是否创立时间表3.5 图书信息表字段名类型长度可空主键描述idint否是图书idbooknamenvarchar50否否书名authornvarchar50是否作者publishnvarchar50是否出版社isbnnvarchar50是否

35、Isbnpricefloat否否价格numint否否数量categorychar10是否类别contentstext是否简介表3.6 留言信息表字段名类型长度可空主键描述idint否是留言idsendnamenvarchar50否否留言人名contentstext否否活动createdtimedatetime否否创立时间表3.7订单信息表字段名类型长度可空主键描述idint否是订单号bookidint否否图书idusernamenvarchar50否否订单人numint否否数量createdtimedatetime否否订单时间placenvarchar(50)50否否地址phonevarcha

36、r(50)50否否电话表3.8 顾客信息表字段名类型长度可空主键描述idint否是顾客idpswvarchar50否否密码usernamenvarchar50否否顾客名capacityvarchar50否否身份phonevarchar50否否电话第四章 系统具体设计与实现总体设计阶段完毕了软件的构造设计,划分了模块,并规定了各模块的功能与它们之间的联系。在此之后,按照软件工程开发的思想,应进入具体设计阶段。在具体设计这个阶段中,根据总体设计提供的文档,拟定每个模块的算法,内部的数据组织,选定工具体现清晰对的的算法,编写具体设计阐明书。具体设计阶段的主线目的是拟定如何实现所规定的系统,给出软件模

37、块构造中各个模块的内部过程描述。通过这个阶段的设计工作,得出对目的系统的精确描述,这个描述在编码阶段可以由程序员直接翻译成用某种程序设计语言书写的程序。系统实现是指编码阶段。编码就是将软件具体设计的成果翻译成用某种程序设计语言书写的程序。软件的设计开发过程通过需求分析、总体设计和具体设计几种阶段之后,已经形成了基本变成框架,最后就是通过编码对设计进一步具体化,实现相应的功能。运用软件功能措施设计软件,重要是为了提高软件质量,软件质量在很大限度上取决于设计的质量,同步编码的好坏也是影响软件质量的十分重要的因素,如果编码中存在多种问题,那么再好的设计也无法体现出来。4.1 基本类的设计与实现数据库

38、类DB里面封装了数据库连接和关闭连接的措施:1、获取数据库连接Connection getConn()2、创立statement对象Statement createStmt(Connection conn) 3、关闭数据库连接void close(Connection conn) 4、关闭statement对象void close(Statement stmt) 5、关闭成果集void close(ResultSet rs)4.2 会员管理模块该模块分为增长会员,修改会员信息,删除会员,查询会员4.2.1增长会员已管理员身份登录,点击增长会员如图4.1图4.1 增长会员界面其部分代码如下:pu

39、blic int addUsers(String psw,String username,String phone)int result = 1;Connection conn = DB.getConn();Statement stmt = DB.createStmt(conn);ResultSet rs =null;try String sql1 = select * from userinfo where username= +username+ ;rs = stmt.executeQuery(sql1);while (rs.next() result = 0;return result;

40、 String sql2 = insert into userinfo (psw,username,capacity,phone) values (?,?,会员,?); PreparedStatement pstmt = conn.prepareStatement(sql2);pstmt.setString(1, psw);pstmt.setString(2, username);pstmt.setString(3, phone);pstmt.executeUpdate();DB.close(pstmt);return result;catch (Exception e) e.printSta

41、ckTrace();result = 0;return result; finally DB.close(conn);4.2.2删除会员点击左侧删除会员,页面跳转至删除会员界面,点击右侧删除按钮,弹出对话框,提示与否删除如图4.2图4.2 删除会员界面其部分代码如下:public void delUsers(String username)Connection conn = DB.getConn();Statement stmt = DB.createStmt(conn);try String sql = delete from userinfo where username=+usernam

42、e+;stmt.executeUpdate(sql);catch (Exception e) e.printStackTrace(); finally DB.close(stmt);DB.close(conn);4.2.3修改会员点击左侧修改会员信息,页面跳转至修改会员信息,如图4.3,点击右侧修改按钮,页面跳转至如图4.4图4.3 修改会员信息界面图4.4修改会员信息界面其部分代码如下:public int editUsers(String psw1,String psw2,String psw3,String phone,int id)int result = 1;Connection c

43、onn = DB.getConn();Statement stmt = DB.createStmt(conn);ResultSet rs = null;try String pswsql=select psw from userinfo where id= +id+; rs = stmt.executeQuery(pswsql); rs.next(); String password = rs.getString(1); if(!password.equals(psw1)result = 0;return result; if(!psw2.equals(psw3) result = 0; re

44、turn result; else String sql = update userinfo set psw=?,phone=? where id=?; PreparedStatement pstmt = conn.prepareStatement(sql);pstmt.setString(1, psw2);pstmt.setString(2, phone);pstmt.setInt(3, id);pstmt.executeUpdate();DB.close(pstmt);return result; catch (Exception e) e.printStackTrace();result

45、 = 0;return result; finally DB.close(conn);4.2.4查询会员点击左侧查询会员,页面跳转至查询会员,如图4.5,输入条件点击右侧查询按钮,页面跳转至如图4.6,点击顾客名链接,页面跳转至如图4.7图4.5查询会员界面图4.6查询会员界面图4.7查询会员界面其部分代码如下:按条件获得顾客列表public List selUsers(String strPageNo,int totalPages,String username)int pageNo = 0;Connection conn = DB.getConn();Statement stmt = DB

46、.createStmt(conn);List usersList = new ArrayList();if (strPageNo = null | strPageNo.equals() pageNo = 1; else try pageNo = Integer.parseInt(strPageNo.trim(); catch (NumberFormatException e) pageNo = 1;if (pageNo totalPages)if(totalPages0)pageNo = totalPages;elsepageNo = 1;try ResultSet rs = null;Str

47、ingBuffer buffer = new StringBuffer(select top +pageSize+* +from(select ROW_NUMBER() OVER (ORDER BY id) AS rn, * from userinfo); if(username!=null&!username.equals() buffer.append( where username like %+username+%); buffer.append()u where rn +pageSize*(pageNo-1); rs = stmt.executeQuery(buffer.toStri

48、ng();Users users = null;while(rs.next()users = new Users();users.setId(rs.getInt(id);users.setPsw(rs.getString(psw);users.setUsername(rs.getString(username);users.setCapacity(rs.getString(capacity);users.setPhone(rs.getString(phone);usersList.add(users);DB.close(rs); catch (SQLException e) e.printSt

49、ackTrace();finallyDB.close(stmt);DB.close(conn);return usersList;获得符合成果的记录条数public int getTotalRecords(String strPageNo,String username)int totalRecords =0;Connection conn = DB.getConn();Statement stmt = DB.createStmt(conn);ResultSet rs = null;try StringBuffer buffer = new StringBuffer(select count(

50、*) from userinfo ); if(username!=null&!username.equals() buffer.append(where username like %+username+%); rs = stmt.executeQuery(buffer.toString(); if(rs.next() totalRecords = rs.getInt(1); else totalRecords =0; catch(SQLException e) e.printStackTrace();finallyDB.close(rs);DB.close(stmt);DB.close(co

51、nn);return totalRecords;获得符合查询成果的记录显示的页数public int getTotalPages(int totalRecords)int totalPages = totalRecords % pageSize = 0 ? totalRecords/ pageSize : totalRecords / pageSize + 1;return totalPages;获得一种顾客对象,涉及该顾客所有信息public Users getUsers(String username)Connection conn = DB.getConn();Statement stm

52、t = DB.createStmt(conn);Users users = null;try ResultSet rs = null;String sql = select * from userinfo where username= + username+;rs = stmt.executeQuery(sql);if(rs.next()users = new Users();users.setId(rs.getInt(id);users.setPsw(rs.getString(psw);users.setUsername(rs.getString(username);users.setCa

53、pacity(rs.getString(capacity);users.setPhone(rs.getString(phone);DB.close(rs); catch (SQLException e) e.printStackTrace();finallyDB.close(stmt);DB.close(conn);return users;4.3 图书管理模块该模块分为增长图书,修改图书信息,删除图书,查询图书4.3.1增长图书已管理员身份登录,点击增长图书如图4.8图4.8查询图书界面其部分代码如下:public int addBook(String bookname,String aut

54、hor,String publish,String isbn,String price,String num,String category,String contents)int result = 1;Connection conn = DB.getConn();try String sql = insert into bookinfo (bookname,author,publish,isbn,price,num,category,contents) values (?,?,?,?,?,?,?,?);PreparedStatement pstmt = conn.prepareStateme

55、nt(sql);pstmt.setString(1, bookname);pstmt.setString(2, author);pstmt.setString(3, publish);pstmt.setString(4, isbn);pstmt.setString(5, price);pstmt.setString(6, num);pstmt.setString(7, category);pstmt.setString(8, contents);pstmt.executeUpdate();DB.close(pstmt);return result; catch (Exception e) e.

56、printStackTrace();result = 0;return result; finally DB.close(conn);4.3.2删除图书点击左侧删除图书,页面跳转至删除图书界面,点击右侧删除按钮,弹出对话框,提示与否删除如图4.9图4.9删除图书界面其部分代码如下:public void delBook(String id)Connection conn = DB.getConn();Statement stmt = DB.createStmt(conn);try String sql = delete from bookinfo where id=+id+;stmt.executeUpdate(sql);catch (Exception e) e.printStackTrace(); finally DB.close(stmt);DB.close(conn);4.3.3修改图书点击左侧修改图书信息,页面跳转至修改图书信息,如图4.10,点击右侧修改按钮,页面跳转至如图4.11图4.10修改图书信息界面图4.11修改图书信息界面其部分代码如下:public

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!