




已阅读5页,还剩125页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
装订线长 春 大 学 课程设计纸目 录一 设计目的1二 设计内容1三 设计要求2四 设计过程21 任务解析22 程序结构分析33 数据结构分析64 功能实现65 系统测试6五 设计总结37参考文献38附录39一 设计目的计算机网络的出现带给了世界巨大的变化,从过去只面向专业部门的信息传送扩展到现代生活的各个角落,它为世界的发展和变革做出了无可估量的贡献。特别是在二十世纪九十年代,美国政府提出“信息高速公路”计划并付诸于实施以后,网络渐渐的从人们极少了解的领域来到了全世界平常人的生活中。在互联网日益流行的今天,网络是主角,是时代的宠儿。在网络大家族中,电子商务则是一个热点。电子商务一个最基本体现就是网上购物,从一定程度上讲它就是网上超市,也就是一种网上销售。“网”字意味着它具有信息时代的快捷方便等特征。事实上电子商务的出现,给消费者的地位,消费观念带来了重要的变化。自我国加入WTO后,越来越多的传统企业进一步认识到企业经济发展的必然趋势是以网络化、全球化为主要特征。而企业实行电子商务则成为企业发展与国际接轨的必要条件。多年来国家十分重视企业的信息化建设,并做了大量工作,但目前企业开始实施信息化的比例还不到20%。所以电子购物网站的实现是一个非常迫切的需求。现代的网络,已经经历过迅速发展的时期,他的技术也已经相当成熟。因此,依靠网络技术来架设一个网站会在很多方面得到相关的支持。作为信息传输的媒介,它的高速,海量,及时与可接受的可靠性满足了现代人们对于需求的渴望。现在的网络对于人们来说,已经可以不再是单单获得信息的意义,更反应了现代人生活的理念,更为重要的是成为企业与政府传达思想,介绍自身的平台。这次设计实现了一个网上购物系统。网络购物中心所承载的信息量大、购物流程比较繁琐,而且互联网中日益肆虐的黑客和病毒对网络的安全性提出了更高的挑战。开发出的网络购物中心系统基于Windows 2000 Server中文企业版服务器和SQL Server 2008数据库,采用JSP进行开发,具有很高的稳定性和安全性。网络购物中心真正实现了在Internet上的经营销售,从而使其获得更大的市场机遇及经济效益,很大程度地提高了企业的核心竞争力。二 设计内容(1)题目分析,查找资料和总体设计。(2)详细设计、代码编制、程序调试。系统功能要求如下: 具有登录功能,用户注册后,登陆网站的用户可以在线查看、订购产品,并可在论坛中与其他用户进行交流及提出意见等。 具有商品信息的录入功能 具有数据查询、删除、修改功能 具有商品信息前台显示功能 具有购物车、结账功能(3)结果分析、完成课程设计报告。三 设计要求(1)可选用任何语言,采用面向对象方法进行设计,要求设计良好的数据结编写程序,源程序要有适当的注释,是程序容易阅读。(2)程序的界面、逻辑功能和数据的存储分开,至少采用文本菜单界面(如果能采用图形菜单界面更好)。(3)学生可根据自身情况酌情增加新功能(视情况可另外加分)。(4)独立完成课程设计,并完成课程设计报告,报告应记录设计的过程,尤其是分析/设计/实现过程中的决策。四 设计过程1 任务解析网上购物系统需要让供应商、客户以及浏览者能看到商城的信息及动态,另一个重要的内容就是能够显示出该商城现有的各类型商品及其详细信息;由于消费者的需求在增长和变化,商城在面对面销售的基础上也要随之发展出相应的服务,如在线订购等技术。另外,企业营销商除了能与普通客户一样浏览网站之外,还需要对网站进行管理。企业需要定期更新现有商品的详细信息、商城动态和联系方式,必要时还要对企业的介绍做更改。对于消费者通过网站提交的各种订单能够进行处理以方便销售。需要设计出网站的前台与后台。用户在前台所浏览的内容,网站的后台需要能相应的做出更新或修改。根据以上的想法,设计出网站的功能:前台用户相关功能主要包括:1、用户注册、登录;2、购物车;3、订单查询;4、个人资料修改;5、发布留言。6、后台管理相关功能主要包括:7、添加商品;8、处理订单;9、查询用户信息;10、添加连接;11、管理公告信息。将以上这些功能制作成网页以后,在其中分别互相建立连接,基本完成商城及用户对网站的要求。2 程序结构分析2.1 总体结构分析根据业务整体流程的考虑,需要将网站划分为前台、后台和数据库。前台中,客户在登录网站主页后即可链接查看到商品等信息,还可以做订购商品等活动。为了方便客户搜索感兴趣的商品信息,将商品搜索嵌入到主页面中。数据库将要作为网站后台重要的组成部分,管理员的主要操作几乎全部围绕数据库,最后将更新的数据要显示给前台。前台是一个比较大的功能群,它所包含的信息不仅数量多,而且种类不同。将它设计成比较优化的结构形式能组织好网站的信息内容并将其归类,方便用户获得所需要的信息。其中每一部分都以尽量少的内容显示,以免浏览者看的眼花缭乱而失去耐心。除了这些作用外,设计好前台的结构形式,也是为后面程序的编写做出了框架。在为系统划分功能模块,并以模块为单位来实现设计时也是以这个结构为根基的。系统的后台要对整个网站的信息和数据进行维护。网站前台所显示的信息在后台都应该有对应的维护。这样,除了设计后台的各个管理界面外,为了方便管理员的工作,可以将各个管理的界面结合到一个页面中。因此,各个管理的界面会作为主管理界面的分支。2.2功能模块分析层次模块结构是将系统划分为若干子系统,子系统下再划分为若干的模块。而模块是指具备有输入输出、逻辑功能、运行程序和内部数据四种属性的一组程序。在结构化系统设计中,模块一般都是按功能划分的,通常称为功能模块。合理的功能模块的划分能够极大限度地减少重复劳动、提高开发工作的效率并增大系统的可维护性。以前面的系统分析为基础,将系统分为两大模块,即前台模块和后台模块。网络购物中心的功能结构如图2.1所示。网络购物中心后台部分前台部分用户管理个人资料管理购物车管理订单查询留言板管理管理员登录添加商品订单信息管理查询用户信息添加链接图 2.1 网络购物中心功能结构图2.3前台模块功能分析前台模块主要为登陆网站的用户提供商品和服务的信息,填写并提交订单的服务。这样,将前台模块再细分为用户管理模块、订单查询模块、购物车模块、修改个人资料模块、留言板模块。顾名思义,这些模块的名称基本概括了它们的功能。前台业务流程如图2.2所示。客户商品信息浏览购物车修改资料查看订单留言板浏览商品清单订购订单提交存档添加留言留言提交修改资料提交存档存档图 2.2 前台业务流程图下面详细说明一下这些功能模块的设计:(1)用户管理模块:为了方便于网站的管理,必须由一套完整的用户管理体系。该网站用户管理模块主要实现用户的注册、登录、找回密码3方面功能。(2)购物车模块:在超市购物,可以根据自己的需要将很多种商品挑选至购物车或购物篮中,然后到收银台结款。而在网上虚拟的商城中,当然没有办法使用真正的购物工具,因此,通常都会采用一种被称为“购物车”的技术来模拟现实生活。在网上商城中,所选商品须通过购物车进行暂存,然后生产订单。这种技术使用起来十分方便,不但可以随时添加、查看、修改、清空购物车中的内容,还可以随时去收银台结款。(3)订单管理模块:用户提交订单后,通过产生的订单号查询订单信息及执行状态。只需要根据用户录入的订单号在数据表中查询处对应的货品信息即可。(4)个人资料管理模块:用户资料修改时为用户更改个人信息所提供的窗口,为了保护用户信息部受非法侵害,用户只有登录网页后才有权限修改个人资料。(5)留言板管理模块:留言板是一个商务网站中不可缺少的组成部分,它可以增进用户与网站之间的交流。在现实网络开发中存在着各种各样的留言板,但它们都由基于浏览留言板及添加留言板2部分组成。这样,子模块各自的内容基本设计好。下面可以设计如何将这些模块组织在一起,构成一个结构比较合理的前台了。除了在主页中建立面向其他模块的链接外,也要在其他模块中建立返回主页面的链接。另外各个模块间也应该互相链接起来。2.4后台模块功能分析后台管理模块的功能是对站内的资源进行管理和维护。以后台的业务流程分析和前台各个模块的设计为基础、根据用户的需求分析来确定后台管理模块应具有的功能。后台业务流程如图2.3所示。后台管理模块的各个子功能模块如下:(1)管理员身份验证模块:为合法用户提供一个后台入口。该模块的功能是对管理员身份进行能够验证。用户输入登录ID和密码后,系统将判断登录ID及密码的有效性,如果通过验证则状态后台主页,反之则提示错误。(2)商品管理模块:向商品表插入前台首页展示的商品信息,也就是添加商品信息的功能。(3)处理订单模块:网站管理者对用户订单的执行和编辑状态。(4)用户信息管理模块:查询注册所有用户,对一些非法或失信用户进行删除操作 。(5)公告信息管理模块: 网站向用户发布最新公告信息。(6)链接信息管理模块: 管理员向前台首页添加友情链接信息。管理员维护网站取出订单网站信息提交网站信息存档受理订单订单提交存档图 2.3 后台业务流程图3 数据结构分析3.1 数据流程分析分析系统的数据流,为后面设计网上购物系统的数据库做好基础。这里主要利用数据流程图来说明数据流程。数据流程图是一个图示工具,容易理解,容易在开发和用户方之间进行交流,以及在开发组织内部交流。因此数据流程图作为一种模型工具已经广泛使用在软件工程的实践中2。根据前台业务流程,可以将用户的活动分为两类。用户浏览所使用到的数据归纳为站内信息,如商品信息等。而用户提交的订单则作为网上购物系统的订单数据。相应的,根据后台业务流程,管理员对网上购物系统内容的添加、更新和删除等所操作的数据定义为商城信息。网上购物系统数据流的总体图如图3.1所示。管理员用户用户0网上购物系统站内信息订单数据商城信息图 3.1 网站数据流的总体图进一步分析网站的数据流程,得到网站数据流程的零级图,如图3.2所示。用户站内信息管理员更新商品信息更新用户信息生成订单显示信息用户订单处理用户订单用户信息订单内容信息商品信息订单商品的更新数据商品信息用户信息用户信息处理信息订单信息存储处理后的订单订单信息商品信息存储用户信息存储图 3.2 网站数据流的零级图上面得到的零级图并不是整个网站数据的详细流程图。它只是将网站的数据流进行了一下分类。例如将商城信息分为了商品信息、分类信息和用户信息。在零级图的基础上还可以将每一个处理的细节描述出来,从而画出细节图。3.2 数据字典数据字典是关于数据的信息的集合,也就是对数据中包含的所有元素的定义的集合,它为软件开发人员提供数据库设计的参考,并为用户了解系统时作为一个必有工具。 (1)数据流数据流名称:用户注册信息来源:用户注册去向:用户信息表组成:用户名+密码+邮件+地址+联系号码+邮编+身份证+QQ号+密码找回问题+密码找回答案表3.3 用户注册信息数据流名称:购物车信息来源:商品信息表去向:订单信息表组成:商品编号+商品名称+商品数量+购买小记+购买总价表3.4 购物车信息(2)数据存储数据存储名称:商品信息表来源:商品管理去向:商品统计表组成:商品编号+商品名称+商品单价+商品型号+商品等级+商品状态+商品库存+商品图片+商品简介+商品详细信息+商品备注 存储方式:顺序表3.5 商品信息表数据存储名称:订单信息表来源:结账 去向:订单统计表组成:订单ID+订单号+用户真实姓名+下单时间+用户邮箱+邮寄地址+邮编+支付方式+用户联系方式+收货方式+处理状态+备注存储方式:顺序表3.6 订单信息表数据存储名称:留言信息表来源:用户留言去向: 留言 汇总组成:留言编号+留言标题+留言内容+留言人+留言时间存储方式:顺序表3.7 留言信息表(3)数据加工数据加工名称:提交订单来源:用户结账去向:订单信息表 加工逻辑:将订单信息填写完整后,把订单信息输入到订单信息表表3.8 产生订单数据加工名称:审核用户登录来源:用户名和密码去向:用户信息表 加工逻辑:将用户登录时输入的用户名和密码与用户信息表中的用户名和密码进行对比,对比正确后,提示用户登录成功表3.9 审核用户登录数据加工名称:订单查询来源:用户输入的订单号去向:订单信息表 加工逻辑:对会员输入的订单号,在订单信息表中进行查询,发现有该订单号,将订单信息从订单信息表中输出表3.10 订单查询3.3 E-R图分析E-R图是一种概念模型。概念模型实际上是现实世界到机器世界的一个中间层次。概念模型用于信息世界的建模,是显示世界到信息世界的第一层抽象,使数据库设计人员进行数据库设计的有利工具,也是数据库设计人员和用户之间进行交流的语言,因此概念模型一方面应该具有较强的语义表达能力,能够方便、直接的表达应该用众的各种语义知识,另一方面他还应该简单、清晰并且易于用户理解。以下是各个数据表的实体图。(1)商品信息表tb_Ware的实体图,如图3.11所示商品信息货物编号发布时间货物介绍货物价格货物名称是否推荐图片路径货物类型图 3.11 商品信息表tb_Ware的实体图(2)用户信息表tb_User的实体图,如图3.12所示用户信息用户ID用户密码用户地址用户名密码问题真实姓名电子邮箱联系电话注册时间答案图 3.12 用户信息表tb_User的实体图(3)留言信息表tb_Text的实体图,如图3.13所示留言信息主题ID电子邮箱主题名称留言内容发布时间作者姓名图 3.13 留言信息表tb_Text的实体图(4) 订单生成表tb_Sub的实体图,如图3.14所示订单生成信息订单编号其他运送方式邮编定购日期真实姓名用户名电子邮箱地址付款方式订单核对联系方式图 3.14 订单生成表tb_Sub的实体图(5)订单商品表tb_Shop的实体图,如图3.15所示订单商品信息订单号货物名称货物价格货物数量统计图 3.15 订单商品表tb_Shop的实体图(6)超级链接表tb_Link的实体图,如图3.16所示超级链接信息链接名链接网址发布时间图 3.16 超级链接表tb_Link的实体图(7)管理员信息表tb_Admin的实体图,如图3.17所示管理员信息管理员ID管理员名管理员密码图 3.17 管理员信息表tb_Admin的实体图(8)公告信息表tb_Affiche的实体图,如图3.18所示公告信息公告内容公告时间图 3.18 公告信息表tb_Affiche的实体图(9)总体E-R图,如图3.19所示用户购买商品n1支付订单n1发表留言1n修改用户信息11图 3.19 总体E-R图3.4基本表设计表的设计是这次设计的一个核心内容。根据前面对网站前台与后台功能模块的分析和对数据库中实体关系的设计,可以看到网站中所用到的数据信息基本包括:商品信息、用户信息、留言信息、订单信息、超级链接信息、管理员信息、公告信息等。下面是为数据库设计的表:商品信息表tb_Ware用来保存商品的基础信息。结构如表3.20所示。字段名称数据类型长度是否允许空是否为主键字段描述WareidInt4否是货物编号WarenameVarchar50否否货物名称WarepriceBigint8否否货物价格WaretypeVarchar20否否货物类型WareintroText16否否货物介绍WareimageVarchar50否否图片路径WareifInt4否否是否推荐DattimeDatetime8否否发布时间表3.20 tb_Ware的结构用户信息表tb_User用来保存用户信息。表tb_User的结构如表3.21下。字段名称数据类型长度是否允许空是否为主键字段描述UseridInt4否是用户IDUsernameVarchar50否否用户名RnameVarchar40否否真实姓名UserpassVarchar16否否用户密码EmailVarchar50否否EmailAddressVarchar80否否用户地址PhotoVarchar30否否联系电话QuestionVarchar50否否密码问题ResultVarchar50否否答案DattimeDatetime8否否注册时间表3.21 tb_User的结构留言信息表tb_Text用来记录留言信息。表tb_Text的结构如表3.22所示。字段名称数据类型长度是否允许空是否为主键字段描述TextidInt4否是主题IDUsernameVarchar20否否作者姓名EmailVarchar50否否EmailDattimeDatetime8否否发布时间TextnameVarchar50否否主题名称TextgutText16否否留言内容表3.22 tb_Text的结构订单生成表tb_Sub用来记录新生成的订单。表tb_Sub的结构如表3.23所示。字段名称数据类型长度是否允许空是否为主键字段描述SubVarchar50否是订单编号UsernameVarchar20否否用户名RnameVarchar50否否真实姓名SpdateDatetime8否否订购日期EmailVarchar50否否EmailAddressVarchar80否否地址PostVarchar50否否邮编PaymentChar12否否付款方式PhotoVarchar30否否联系方式CarryVarchar30否否运送方式SpifInt4否否订单核对OtherText16否否其它表3.23 tb_Sub的结构订单商品表tb_Shop用来记录某一订单中所定购的商品的详细信息。表tb_Shop的结构如表3.24所示。字段名称数据类型长度是否允许空是否为主键字段描述SubidVarchar50否否订单idWarenameVarchar50否否货物名称PriceBigint8否否货物价格WsumBigint8否否货物数量WcountBigint8否否统计表3.24 tb_Shop的结构超级链接表tb_Link主要用于记录调价的超级链接信息。表tb_Link的结构如表3.25所示。 字段名称数据类型长度是否允许空是否为主键字段描述LnameVarchar50否否链接名LaddressVarchar50否否链接网址LdatetimeDatetime8否否发布时间表3.25 tb_Link的结构管理员信息表tb_Admin主要用于记录管理员的信息。表tb_Admin的结构如表3.26所示。 字段名称数据类型长度是否允许空是否为主键字段描述IdInt4否否管理员IDAdminVarchar30否否管理员名AdminpassVarchar16否否管理员密码表3.26 tb_Admin的结构公告信息表tb_Affiche主要用于记录后台调价的公共信息。表tb_Affiche的结构如表3.27所示。 字段名称数据类型长度是否允许空是否为主键字段描述TestText16否否公告内容DattimeDatetime8否否公告时间表3.27 tb_Affiche的结构4 功能实现4.1 系统界面的实现如果将网站比作一个人的话,服务器就像大脑,数据库就像五脏六腑,其内嵌的Java和JavaScript组合起来就像是细胞与神经,而网页就是这个人的皮肉。网页将网站的各个组成部分包裹起来,形成易懂并且美观的外表展示给大家。浏览者登陆网站后看到的就是一个个网页的组合。所以设计和实现每一个网页也是非常重要的工作。随着科技的高速发展,众多网页制作的应用软件应运而生。相对于传统的动态网页开发工具而言,由于继承了Java语言的许多优点,用JSP开发动态网站十分方便,开发效率较高。此外,JSP还具有强大的组件(Java Bean)支持功能,可以方便地实现组件复用,进一步提高了开发效率。在整个网页的制作过程中,都是结合使用HTML语言来实现设计的。系统的页面设计决定了网站的风格, 制作好的网站不仅提供给营销商,更多的要供浏览者浏览。所以整个网站系统应注重的是:易导航性、易操作性和友好的交互界面。因此,网站的设计最好要简洁、明了、格调清新、实用、易于使用和维护。在页面的风格上应保持统一,这里采用CSS样式表将所有页面的字体、字号、颜色以及超链接的样式做统一定义。4.2 前台功能模块的实现整个系统分为了前台功能模块和后台功能模块。下面详细讨论主要的几个功能模块的程序实现。在每个模块的介绍中,将具体说明一些涉及要点。前台功能模块分为用户管理模块、订单查询模块、购物车模块、修改个人资料模块、留言板模块5个部分。前台首页主要有以下几个部分:(1)网站导航:主要用户显示网站的旗帜广告、各功能模块导航;(2)用户登录:用户在此注册、登录或找回密码;(3)商品分类搜索:用户按商品类别进行搜索显示;(4)销售排行榜:按照商品的销售数量显示销售排行信息;(5)商品展示区:按后台添加商品的时间顺序展示商品;(6)友情链接:显示友情链接信息;(7)后台登录入口:管理员可以通过该入口登录后台。首页运行结果如图4.1所示。图 4.1 首页运行结果4.2.1 用户管理模块用户管理模块主要实现用户的注册、登录、找回密码等功能。(1)用户注册当用户第一次登录时首先要在网站上注册,成为会员用户才可以在网站上购物,注册页面必须填写一些用户的基本信息,如用户名、密码、联系电话等信息。要注意的是,在用户注册页面user/index.htm中用户自定义JavaScript检验用户注册信息不允许为空。用户注册页面user/index.htm如图4.2所示。图 4.2 用户注册页面运行结果为了便于网站对用户的管理,在index.htm用户注册页面接收到的注册信息要经过严格的过滤,保证注册用户名的唯一性,在提交表单后需要对数据表中的数据进行查询,如果没有找到,则在插入数据表时提示注册成功,否则提示此用户已被占用请重新注册。用户注册的流程图如图5.3所示。开 始否是是结 束接收注册信息数据是否为空两次密码是否一致查询数据库用户名是否被占用是否否注册成功注册失败图 4.3用户注册系统流程图(2)用户登录用户登录窗口设置在首页上,主要用来接收用户录入的用户名及密码。单击“注册”按钮时,会提交到user/index.htm页面执行;单击“登录”按钮时,系统将对输入的用户名和密码进行验证,如果数据表中用户名和密码存在就显示登陆成功,并返回首页,否则弹出错误提示信息。用户登录的流程图如图4.4所示。开 始结 束接收登录信息查询数据库数据是否正确否是登录失败登录成功图 4.4 用户登录系统流程图(3)找回密码当密码以外丢失会给用户带来不必要的麻烦,重新注册一个新的用户即浪费了时间,也浪费网站的资源,如果用户只记住自己注册的用户名及电子邮箱名并提供密码提示的问题和答案就可以找回密码。找回密码页面user/pass.htm如图4.5所示。图 4.5找回密码页面运行结果用户单击“查找”按钮,系统会将伤表中所示的数据表单提交到user/res.jsp中。user/res.jsp页用来验证提交过来的四个条件是否完全符合数据库中的查找条件,只有符合才能显示密码结果,否则弹出“你输入信息有误”的提示对话框。4.2.2 个人资料修改模块个人资料修改时为用户更改个人信息所提供的窗口,用户只有登录网页后才有权限修改个人资料信息。个人资料修改模块在前台主页的导航条上,单击“修改资料”链接,进入用户资料修改页面,该页面主要用户修改用户信息。用户资料修改页面如图4.6所示。图 4.6 个人资料修改页面运行结果个人信息修改完毕后,要将修改后的数据信息更新到注册数据表中,单击“修改”按钮,如果提交的数据无误,将弹出“数据更新成功”的消息对话框;否则将弹出“更新失败”的消息对话框。个人资料修改模块流程图如图4.7所示。开 始结 束接收修改资料信息将信息更新到数据库中更新是否成功否是修改失败修改成功图 4.7 个人资料修改模块流程图4.2.3 购物车模块购物车模块中,主要包含以下几个功能,即:添加购物车、查看购物车、生成订单和清空购物车。购物车页运行结果如图4.8所示。图4.8 购物车页面运行结果(1)添加购物车添加购物车就是把用户选中的商品暂时存放在购物车中,当用户在前台首页中单击商品展示区的“购买”按钮时,系统会将该商品的详细信息展示在查看物品清单页面中。用户在单击物品清单页面下方的“放入购物车”链接,便可以将该商品放入购物车中。商品的代码流程是从session中读取shop对象,如果为空则说明还没有进行购物或者已经清空了购物车,需要新建购物车对象;将商品名称与购物车列表中的商品名称对比,如果已经存在,则把商品数量加1。这段代码流程中,还使用了集合类型。集合类型在Java中又称为向量,是一元集合,可以加入重复数据,它的作用和数组相同,可以保存一系列数据,但集合类型也有它独特的优点,就是可以方便地对集合内的数据进行查找、增加、删除和修改等操作。(2)查看购物车为了方便用户随时查看购物情况,在网站的首页加入了查看购物车的链接,通过它可以将用户所有选中的商品信息放入购物车中显示出来。在程序中使用了一组文本框记录用户购买的商品数量,用户可以在文本框中输入想要购买的数量然购单击“修改”按钮。如果欲删除该商品,可以在数量文本框里输入“0”,并需要单击“修改”按钮来更新购物车中商品的数量。系统每次只会将1个商品放入购物车中,如果用户需要多个同种商品,可以通过修改商品信息右侧相应文本框的值来完成。操作完成后需要通过单击“修改”按钮来保存操作。(3)生成订单生成订单时网上购物商城的最终目的,前面所有功能的实现都是为最后生成一个用户满意的订单作基础,在此要生成一个可供用户随时查询的订单号,还要保存用户订单中所购买的商品信息。当用户确认对购物车不再改变以后,就可以到收银台结帐并生成订单。结帐的流程为:从购物车中读取商品名称,商品数量,商品价格信息,生成一个唯一的订单号,同时也把用户注册的基本信息读取出来,形成一个完整的订单写入数据库。在生成订单模块中主要使用了调出用户信息并生成唯一订单号,调出用户信息就是完全的对数据库进行操作,利用session对象把登录后的用户名保存起来,在订单生成时把保存的用户名从数据库的用户标中取出即可;生成唯一订单号方法有很多,只要确保订单号码的唯一性及方便用户记录以便于查询自己订单的执行状态即可。订单生成后,用户单击“提交”按钮,便可以将录入的订单信息保存到数据库中。(4)清空购物车清空购物车是指当用户订单生成后,倘若还想继续购物一定要清空购物车再进行选购商品,这样防止重复购物,其实清空购物车实现起来非常简单,只需要将session中存储的shop对象清空即可。购物车模块流程图如图4.9所示。开 始查询数据库数据是否存在显示商品的信息是是否放入购物车购物车是否为空是没有该商品否否购物车中已存在该商品新建购物车该商品数量加1将商品添加入购物车是否显示购物车信息是否修改商品数量否是否清空购物车是删除购物车中商品是是否继续购物否是否去收银台接收填写的订单信息数据是否为空订单信息存入数据库更新是否成功是否是否是修改商品数量是结 束否否否图 4.9购物车模块流程图4.2.4 订单查询模块用户提交订单后,通过产生的订单号查询订单信息及执行状态。用户在购物中心首页中单击“订单查询”超链接,就可以进入输入订单号页面,在页面的文本框中输入订单号并单击“提交”按钮,如果订单号输入无误,系统将根据用户录入的订单号在数据表中查询处对应的货品信息并转到订单查询显示页面将货品信息显示出来。订单查询模块流程图如图4.10所示。开 始结 束接收订单号信息查询数据库订单号是否存在否是显示出订单信息无该订单号图 4.10 订单查询模块流程图4.2.5 留言板模块留言板模块由浏览留言板和添加留言板两部分组成。下面分别对这两部分进行介绍。(1)浏览留言板单击网站首页的“留言板”超链接进入留言板页面,在该页面中,主要显示用户所填写的留言,以便其他用户查阅。留言板中显示的数据是从数据表中检索出来并显示在网页中的,为了方便查看网页信息,使用了分页显示功能。对网页进行分页显示首先要确定记录跨度,就是每页所显示的记录数,在这个网站的留言板中,设定了int pagesize=4,即每页中只允许显示4条留言信息,用户可以通过单击“上一页”、“下一页”、“最后一页”、“第一页”或则从文本框中键入一个数值跳转到相应页浏览留言信息。记录的总条数可以从数据库中通过查询语句rs.last();rowcount=rs.getRow得到,而计算总页数时,根据总页数=总记录数/跨度,如果除不尽就加1的原理,设计代码为:pagecount=(rowcount%pagesize)=0?(rowcount/pagesize);(rowcount/pagesize)+1)。如果获取文本框中的数据不为空就把它转换成整型数据,然后赋值给当前获取页再做进一步判断;如果获取的页数大于总页数就把总页数赋给获取页数,否则就把获取页数值赋为1。而计算当前记录数时,当前记录数=(获取页数-1)*跨度+1。代码如下所示。int showpage=1;if(topage!=null) showpage=Integer.parseInt(topage);if(showpagepagecount)showpage=pagecount;else if(showpage=0)showpage=1; rs.absolute(showpage-1)*pagesize+1);有了以上这几个关键变量,网页分页显示功能基本上已经实现了,下一步就是在当前记录数位置开始循环,当数据库没有记录的时候一定要终止循环程序。代码如下:for(int i=1;i=pagesize;i+) if(!rs.next()break; (2)添加留言添加留言是用户与用户,以及用户与网站之间的一种交流模式,只有把用户想要表达的内容添加至数据库中,才能在浏览留言板中进行显示。用户在留言板中单击“添加留言”超链接就可以打开添加留言页面,该页面主要用来提交用户输入的留言信息。用户在添加留言页中单击“提交”按钮,系统会将数据表单提交到admin/addle.jsp页,该页用来实现江留言内容存入到数据库中。留言板模块的流程图如图4.11所示。开 始结 束接收添加的留言信息信息存入数据库数据是否为空是否添加留言成功存放是否成功是否添加留言失败查询数据库数据库是否为空是否显示留言信息留言板中没有信息图 4.11 留言板模块流程图4.3 后台功能模块的设计实现后台功能只允许具有管理员权限的用户使用,它是实现前台功能的基础。后台包括管理员登录模块、添加商品模块、订单信息管理模块、查询用户信息管理模块、添加链接模块。后台首页主要有以下几个部分。(1)后台导航区:放置管理员可操作项目的链接;(2)操作区:显示所有后台导航的链接信息。4.3.1 管理员登陆模块在前台首页单击管理员入口,将转到管理员登录页面,该页面的功能是对管理员身份进行验证。在管理登录页面中,是通过JavaScript来实现录入数据完整性验证的。用户输入登录ID和密码后单击“登录”按钮时,如果录入数据完整性验证通过,系统会将数据提交到Acheck.jsp登录页面,该页面用来判断输入信息在数据库中tb_Admin表是否存在提交的用户名和密码,如果登录ID及密码有效,就保存用户名信息,管理员有权对网站进行维护;反之则提示错误。登录页面如图4.12所示。流程图如图4.13所示。图 4.12 管理员登录页面运行结果开 始否是是结 束接收登录信息数据是否为空数据是否有效查询数据库否登录成功图 4.13 管理员登录系统流程图4.3.2 添加商品模块单击导航区中的“添加商品”超链接,系统将打开添加商品页面,该页面主要用于将商品信息添加到数据库中,以提供前台首页商品展示所需要的数据依据。用户单击“添加”按钮后添加商品如图4.14所示。图 4.14 添加商品信息页面运行结果为了减少人为错误,在提交商品信息时,需要对数据的合法性进行验证,输入的商品价格不能使字符型,而输入的图片只支持Gif格式等,这些任务由脚本语言JavaScript的函数check()来完成。代码如下。function check()if(form1.image.value=)alert(请输入展示图片的路径);form1.image.focus();return false;if(isNaN(form1.wareprice.value)alert(商品价格输入不正确);form1.wareprice.focus();return false;为了确保商品在数据表中的唯一性,在用户提交表单时,需要先根据用户输入的商品名称对数据表进行查询,确保此商品在数据表中不存在后,方可执行插入操作。这一功能由admin/wcheck.jsp来完成。流程图如图4.15所示。开 始结 束接收商品信息查询数据库数据是否为空是否信息插入数据库是否重复录入是否数据是否正确否是插入是否成功是否添加商品失败添加商品成功图 4.15 添加商品信息模块流程图4.3.3 订单信息管理模块用户在前台购物所产生的订单并不能立即执行,需要系统管理员在后台进行订单信息管理审核以确认它的执行性。用户单击导航区中的“订单信息管理”超链接进入用户订单处理页面,该页面上会显示近期所有没被处理的订单。用户订单处理页面显示的是用户基本信息,要想知道订单中所涉及的商品,需要单击对应订单号的超链接打开商品订购详单页面才行。商品订购详单主要通过提交的订单号从tb_Shop表中查询处对应的商品并显示在页面中,管理员审核后可通过复选框来设置订单是否执行。程序中利用admin/shop.jsp来完成这些功能。当选中“是/否”复选框时,系统会根据提交的订单号更新数据表,如果更新成功,则转到spif.jsp也执行。流程图如图4.16所示。开 始是否查询数据库是结 束否显示全部未处理的订单信息是否删除订单数据库是否为空更新数据库更新数据库是否成功删除订单成功没有未处理的订单是否查看订购详单是否执行否更新数据库更新是否成功是是否订单执行成功图 4.16 订单信息管理模块流程图4.3.4 查询用户信息模块查询用户信息模块用来完成对注册用户的浏览及删除功能。如果用户蓄意性注册或者在很长时间内没有订单产生,管理员就可以将该用户信息删除。单击导航区中的“查询用户信息”超链接进入用户信息页面,就可以看到用户信息。在这一部分的设计中,也使用了分页显示功能。对于一些失信用户只需要单击右侧的“删除”超链接,即可转到admin/deluser.jsp页中做删除处理。流程图如图4.17所示。开 始结 束显示用户的信息更新数据库是否删除用户是否删除用户成功更新是否成功是否删除用户失败查询数据库数据库是否为空是否没有用户注册图 4.17 查询用户信息模块流程图4.3.5 添加链接模块用户在后台首页导航区中单击“添加链接”即可进入添加友情链接页面,该页面用户在前台显示友情链接信息。添加链接页面如图4.18所示。图 4.18 添加链接页面运行结果用户单击“提交”按钮后,系统将添加链接页面的数据表单提交admin/addlink.jsp页面处理。若添加失败,则提示故障信息,并返回页面。流程图如图4.19所示。开 始结 束接收链接信息数据是否为空是数据插入数据库否插入是否成功是否添加链接失败添加链接成功图 4.19 添加链接模块流程图5 系统测试在完成某一功能模块后,都要进行一下系统测试。检验所完成的这一模块是否能实现预计的功能。其目的是方便整个系统的实现。5.1 系统测试原理测试主要依据是被试系统的研制任务书和技术规格书,是对软件雄体功能和性能的综合测试与评估。测试原理是软件测试活动的理论基础,测试方法是铡试原理的实际应用和获得测试数据的手段。基于软件的共性,对于软件的测试要遵循一般软件的测试原理和方法。同时,针对软件的特性,必须找到合适的测试方法。测试用例的合理性对于软件的测试与评估具有关键作用,而如何使设计的用例、合理并且典型有效并不容易。所以应该与软件的研制人员以及最终用户一起,有针对性地研究实际操作环境并加以描述,形成合理的测试用例集。另一方面,软件运行环境的复杂程度对软件评估具有重要作用,所以应产生尽量逼真的运行背景以便于研究。软件测试的周期如图5.1所示。 需求分析 系统设计 编制程序 单元测试 集成测试 系统测试 确认测试使用维护测试阶段开发阶段图5.1 软件测试周期示意图5.2 系统测试原则序员应避免测试自己编写的程序;测试用例的设计必须包括预期的输出结果;测试用例应包括有效的和期望的输入情况,也要包括无效的和不期望的输入情况;所有的测试都应追溯到用户需求,所有测试活动都应该是有计划的,并且计划能够得到保障。只检查程序是否做了它应该做的事这仅完成了测试工作的一半,另一半则是要检查程序是否做了它不该做的事;一段程序中存在错误的概率与在这段程序中已发现的错误数成比例;测试上作必须有明确的目标;尽早地和不断地进行软件测试;穷举测试是不可能的,充分覆盖程序逻辑是有可能的。5.3 系统测试方法软件测试的方法和技术是多种多样的。对于软件测试技术,可以从不同的角度加以分类:从是否需要执行被测软件的角度,可分为静态测试和动态测试。从测试是否针对系统的内部结构和具体实现算法的角度来看,可分为白盒测试和黑盒测试。(1)黑盒测试黑盒测试也称功能测试或数据驱动测试或基于规范的测试,它是在己知产
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 网站服务协议
- 2025年安全生产安全员安全培训题及答案
- 2025年机械设计制造自动化专业模拟题及解析
- 机电运输理论知识培训课件
- 2025年教育品质检验师专业素质考核试卷及答案解析
- 2025年建筑装饰设计师技能等级认证考核试卷及答案解析
- 2025年建筑房屋维修员执业资格考试试题及答案解析
- 2025年家具设计师职业技能等级考试试题及答案解析
- 2025年环境影响评价工程师专业技能测评试题及答案解析
- 课件与导学案模式
- 2025年学历类自考专业(学前教育)学前儿童发展-学前教育原理参考题库含答案解析(5套)
- 日本设备销售合同范本
- (2024)大学生宪法知识竞赛题库及答案
- 2025年芜湖市鸠江区医院招聘16名工作人员笔试参考题库附答案解析
- T-CBDA 86-2025 建筑幕墙、采光顶及金属屋面工程质量验收标准
- 厨房消防安全培训
- 小陈 税务风险应对常见指标与答复思路
- 2025云南昭通昭阳区住房和城乡建设局招聘编外工作人员5人笔试备考题库及答案解析
- 2025年《中华人民共和国档案法》知识培训试题及答案
- 新高一数学暑假检测卷(学生版)-2025年新高一数学暑假衔接讲练 (人教A版)
- 2025至2030年中国建筑膜行业市场调查研究及发展趋势预测报告
评论
0/150
提交评论