版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PAGE1PAGE13综合网上购物商城系统设计[摘要]网络购物这一电子商务的发展在这些年发展迅速,很多大型网络商城应运而生,这些商城不仅提供了广阔的商品选择给消费者,也给一些私营商家谋求盈利提供了道路,但是对于大部分消费者而言,方便便宜才是选择网络购物的首要因素,而在此之中获利最大的也是大型企业,针对这种现象,设计了这样一个轻巧简便的系统给一些中小型企业或者私营个体户,即使没用过多的人力物力,也能很好的运维自己的网络商城,而消费者也能从中获取更多便利而我们在实现一个WEB项目时往往要花费大量时间,我们需要一个更轻便更实用的系统框架,这样才能提高工作的效率。合适的设计模式的选择在企业级系统开发中是一个重要环节。本文所介绍的是由Jsp前端页面和ssm框架包括spring,mybatis,maven,再加上MVC设计模式的综合性的网上购物商城系统。为了实现商城的运维和管理,所以在编写一个可供用户使用的商品端的同时,还需要一个有特定权限的管理员来掌控整个商城的管理端。用户可以在登录后使用商城的自由购物所包括的所有功能,有但不限于商品的各种检索和购买,这其中还有关注到用户的购物体验,本系统还准备了评论和反馈功能,让消费者花的开心,买的放心。而后台管理员的操作也及其简便,拥有可视化的界面来对上架商品进行操作,回复用户的评论,更改和操作用户的权限。系统具有易操作,功能全的实用价值,并且具有强大的可延展性。[主题词]Spring;JSP;Web;MVC目录40621绪论 396941.1引言 312371.2国内外研究现状 3204761.3论文主要工作 455171.4论文的组织与结构 4292412系统开发的核心技术简介 6114682.1JSP技术 6167092.2Servlet技术 6218762.3SpringMVC技术 724382.4JQuery和JSTL技术 8110402.5JDBC技术 876352.6本章小结 9195563系统分析与设计 10176963.1系统需求分析与建模 10174903.1.1系统需求概述 10262353.1.2系统数据分析 10197033.1.3系统功能分析 12281703.1.4系统行为分析(运行环境)分析 1568903.1.5系统性能分析 16314703.2系统设计与建模 1687403.2.1系统设计概述 1695203.2.2系统数据(库)设计(要求有数据库模式,或数据类图) 1617143.2.3系统软件构件设计 19256383.2.4系统用户界面设计 21164003.2.5系统构件级设计 2184323.4本章小结 22276834系统实现 2376844.1实现环境与工具的简要说明 23305034.2主要程序模块描述 23255614.2.1ssm框架的整合 23102694.2.2有关商品的功能实现 2692714.2.3用户相关功能 27239164.2.4有关评论的功能实现 29206594.2.5有关菜单的功能实现 30255634.2.6有关订单的功能实现 31180154.3系统运行 34251014.4本章小结 39163195系统测试 40258935.1测试目的和内容 4019065.3测试运行和测试记录 41161875.3.1用户登录测试 41310405.3.2商品模糊关键词查询 42119755.3.3系统性能测试 4231675.4测试结果分析 43159285.5本章小结 43146496工作总结和心得体会 4413476.1工作总结 44240506.2心得体会 44434参考文献 451绪论1.1引言相对于传统的实体店购物来说,网上商城处理订单的速度比现实要快,而且会提供后续服务,一次性可浏览的商品种类很多,人们在家就可以通过网上商城进行购物,购买的商品还会更加实惠。所以在现在基本都在使用微信,支付宝进行付款的时代,大家更愿意在网络上进行购物,当然这也不会使得实体店的消失,但是电子商务已经成为主流。1.2国内外研究现状目前存在的网络商城基本上的功能已经定型,对于消费的最基本流程,选择商品,支付,再加上售后这些功能发展的已经十分强大,对于网络购物而言因为存在无法面对面验货和退货,所以信息之间的交流反馈,用户的消费体验和用户的“回头率”才是现在系统所需要考虑的重点。IBM公司分别在1996和1997提出了电子商业和E-Business这两个概念。因为后者概念的诞生,整个电子商务的领域宽广了起来,它已经不再是简单的从因特网来进行的交易商贸的一种简单商务概念,它将整个电子经济交流圈收纳了起来。在那个年代来说,这种线上商务模式很快就繁荣起来,大家所熟悉的货币与商品之间的交流变成了通过软件与网络通信技术来实现。这些技术让电子商务具有无限的未来和强大的生命力。REF_Ref8349\r\h[1]电子商务的迅猛发展离不开IT技术的不断发展和物流行业的兴起,甚至是支付技术的提升都为电子商务垫起了高台,这些行业之间不是单方面的优势获取,而是之间的互助,网络购物的发展带动了整个快递行业的发展,这点国内的物流就可以证明,顺丰等大型快递公司逐渐扩大业务。而这些活动也不仅仅局限于平民百姓,政府和国际之间的贸易往来也需要电子商务的支持。放眼国内,我国的商城基本处于巨头垄断,整个行业还在起步阶段,但是发展速度不慢,大家都在竞争中提升自己。由各项数据可以显示我国电商用户基数巨大,消费市场也很广阔,在今后的时间里,网络商城的发展空间会十分巨大。但是实体商城不会因为这样而消失,只能说网上购物会成为主流。上方提到的巨头企业淘宝,京东这些大型商城虽然用户量很广,服务和质量水平也适中,但是获利最多的还是本家企业,入驻的店家会被攫取很多利润,这也向很多中小企业以及个体私户提供了更多的商机,他们需要一个可以自己掌控的轻便平台。现阶段国内外研究基本具有以下特点可以用四个特点来概括:领先于传统购物模式的购物流程,有比实体店家苦口婆心更让你的心动的推荐方法,可以根据自己的想法量身定制的商品,在购物过程中良好的“逛街”体验。1.3论文主要工作针对以上分析的现有的大型商城所有的优缺点,本系统主要需要实现的是一个轻便能够给予顾客推荐并且容易操作运行和维护的商城。我们之所以会选择网上购物而不去实体店一圈圈的逛,这其中的原因并不是因为距离和体力问题。我们心中有所想的时候,好比买衣服,去一个品牌店,楼层与楼层之间不断穿梭,还要记这记那,可能你一开始看到的就是接下来一个小时里面逛到最好的。又好比你没有目标,去万达这样的,走到哪看到哪,这样的更没有一个向导跟你说你可能会对什么感兴趣。当我们目标锁定的时候我们需要的是一个直观的对比,有且不仅限于物品的尺码,价格等,用一个美化的UI界面去把你心仪的物品们罗列到一起更能消费者的比较心理。当你不知道买什么的时候,点到首页系统来告诉你,那些你可能会感到可能想买,这些推荐不会引起用户的反感,相反如果你猜中了用户的想法更能增加用户对你的商城的依赖,增加消费,当然这不可能是随便猜,随便摆一些商品,我们每一位登录的用户在数据库都有购物车和订单记录,系统会根据这些结合销量和日志一些给每一位用户一份全新的推荐。所以我所设计的系统具有即用性,每一个中小型企业都可以在获取后即时使用。本系统我选用的是当前用的比较多的的Html,javascript,Jquery和SpringMVC框架结合mybatis以及maven技术完成的REF_Ref15119\r\h[2]。本篇论文讲述和完成的是整个系统的设计和规划,大体的章节分化有需求部分,系统设计部分(带有UML图进行阐述),本系统整个数据库的详细表设计和类图,以及本系统内每一个功能以及每个分区模块的详尽设计和具体实现REF_Ref7859\r\h[3]。1.4论文的组织与结构通过对论文主要工作的分析和研讨,大致可以将本系统的论文展开为六个阶层一步步的渗透分析和展示本综合网上购物商城系统。在论文的第一章节也就是本章节,我们会对本系统发展的背景,以及本电商系统和具有类似功能的web项目研究至今所包含的意义和前景进行一个详尽的阐述和分析,力求吸取到知识能够使本系统的开发更加便利和流程。介绍完整个电子商务和其发展渊源之后,那就应该由表入内,开始学习和探究开发本系统时需要用到的相关技术,选择适合的相关技术进行项目开发和功能实现往往会使得效果翻倍。了解和掌握完技术之后,就需要通过已有知识去对整个系统的建设做大致的规划,所以在这一部分,会展示出系统的总体规划和包括各个模块的主要设计,这其中包括但不限于系统各个模块的功能带有UML图展示,数据库设计等。无论是什么系统,总是需要数据来支撑的,数据库的实现相当于一个房子的地基,要全面且牢靠,有了这些就可以实现一个个的小功能。由功能又可以组成模块。本商城的核心数据库和核心功能都会在第四章节详尽展示。系统完成后就需要总结全过程,讲述了一下整个系统在开发过程中的想法遇到的问题以及解决方式和心得,还客观性的对本系统进行一个全面的评估。并且要联系我们的研究意义进行对比,找出其中不足和优势。最后一部分就是对整个毕业设计的综合性总结,从头到尾的反思在研发一个项目的时我们的考虑和思路。
2系统开发的核心技术简介2.1JSP技术JSP技术是能够实现将后端数据动态显示于前端网页的开发技术。它在网页中加入自己的JSP标签,而开发者需要将Java代码嵌入其中,这样就可以简单的实现前端界面。我们通常使用<%%>来包围我们的Java代码,这种标签的应用很多。正因为入此jsp可以作为一个servlet在web应用中来实现界面的功能。人们编写JSP时常常会结合其他的元素比如XML等来结合在一起使得其功能更加强大。每当我们创建动态网页时,JSP就通过网页内的输入框或者表单,在用户填入数据后,传到控制层以向下访问数据库。随后一个网页就可以使用了。JSP标签有的功能还很多,它还有很多强大的功能:它不仅可以访问Beans,还能够传递信息到不同网页甚至共享REF_Ref8460\r\h[4]。总结一下来说,我们可以通过使用JSP实现最复杂的应用,用的还是最简单的方式REF_Ref8516\r\h[6]。2.2Servlet技术要想实现JSP,必须先应用Servlet,这是JSP的基础,JSP需要被编译成为Servlet,才能够运行。Servlet就像卖房的中介一样它作为一个中间层,运行在Web服务器之上,而它的客户就是浏览器,它的供应商就是数据库就如上面所提到的。当我们想要动态实现网页的时候,jsp就作为一种Servlet。它不断的收集来源于网页上的输入数据,还能查询数据库里面的数据,通过信息的不断交流传递来实现一个动态网页的创建。REF_Ref8878\r\h[7]为什么使用Servlet,对于其他CGI等Servlet的性能会更好。因为Servley是用Java编写的,所以Servlet就不会受到各类平台的限制,不会因为在某台机器上就会受到攻击而使得丢失资源。除此之外,Servlet可以毫无禁忌的去使用Java上的类库,这里面所有的功能对它都是开放的。你以为Servlet的交互就到此为止了?其实还远远不止RMI机制的存在让他更加强大,在这种机制的存在下Servlet通过sockets可以与其他的软件进行更多的信息交互REF_Ref8460\r\h[8]。2.3SpringMVC技术Spring框架是让整个系统开发起来最为舒服,操作的也是最为简便的,很符合本系统的开发初衷。Spring通过Bean的配置实现了EJB的功能。但是功能强大的Spring不仅在开发服务器端的领域领先REF_Ref8349\r\h[9]。Spring的优势绝不只体现于一个单纯的简单性,它使得整个系统具有了高内聚低耦合的高性能特点,整个系统功能模块独立且清晰,Spring的强大之处远不止步于“服务”过程,它甚至提供了“售后”处理,Spring配套有测试功能让你能够时刻检验自己编写的功能。对于Spring的优良特性,总结有以下几点:(1)非侵入式:我们在使用Spring进行开发时候,我们没必要去强求应用对象去依赖Spring内的API(2)依赖注入:说到Spring的IOC反转控制的实现的最好方式就是采用依赖注入(3)面向切面编程:AOP能使得开发更加清晰简便(4)容器:Spring像一个盆一样,里面会装有很多应用的对象,这些对象的生命周期都要被整个容器管理,Spring作为容器承装控着这些对象,当我们的功能需要的时候,就从容器中取,十分简便。(5)组件化:每一个复杂的工程里面都是由一个个简单的小组件构成的,而Spring就实现了这一点,在Spring通过在XML文件内进行配置和带着Java注解进行开发来使得容器内的对象一个个组合在一起形成强大的功能。MVC这种设计模式其实就是代表了3个东西:模型-视图-控制器。这三个东西各自执行自己的任务,并且互相传递信息和数据。MVC的处理流程如图:图2.1MVC流程SpringMVC设计模式就是将以上所说的三个组件利用Spring的组件化功能特点组合成一个十分强大的web框架,而现在一些企业在进行web开发的时候选择的主流框架之一也是这个。REF_Ref9097\r\h[10]SpringMVC这一整个设计模式最重要的就是一个注解,它将整个MVC中的各个层都用注解的方式标在上方,这样就不用去实现接口内的函数,这里面POJO就作为一个控制器去处理那些来自前端的请求。并且基于Servlet实现,方便运行于常用JavaEE容器REF_Ref8516\r\h[11]。2.4JQuery和JSTL技术jQuery作为一个的函数库来说,真的很适合前端编程,它需要编写的内容不多,但实现的功能远比你想到的要多,我们在开发系统的时候使用这种简练的函数库进行模式开发就大大减少开发难度REF_Ref8878\r\h[12]。jQuery库内功能很强大,基本包含了前端所需的所有功能,不仅如此,jQuery还提供了一系列的插件来供给使用者来使用。JavaServerPagesStandardTagLibrary也就是我们在JSP中常用的JSTL库,他让我们在JSP中编写代码变得更加自由和简便。这一项简单的标准,可以让我们像写后端一样规整的去编写缭乱繁杂的前端。而对于像本系统一样的web开发项目,JSTL也是常客。我们不需要在整个页面上镶嵌繁杂的JAVA代码程序而是用JSTL来取代它,这样的做法让我们在查看页面代码和维护页面的时候提供了巨大的便利REF_Ref8940\r\h[13]。而它之所以称之为标准标签库,肯定也不局限于JSP内,它的应用领域范围很广,哪怕是进行数据库查询也是可以的REF_Ref8911\r\h[14]。2.5JDBC技术JDBC作为一个API需要连接到系统的数据库,并对其中的SQL语句进行操作,执行出需要的增删改查操作。REF_Ref15746\r\h[15]而本系统则使用自己写的JDBCutils进行使用有效减少了重复代码REF_Ref15873\r\h[16]。考虑到整个系统的硬件设备性能问题,我们不能频繁的进行JDBC的连接,否则对整个系统资源的消耗是极大的。假如我们每一次打开项目运行之前我们都去获取一个数据库连接,并且在使用完后就关闭,再用再开,用完就关,这样频繁性的物理性操作都会损伤整个系统的性能REF_Ref8940\r\h[17]。为了应对上面发生的不恰当措施,我们可以采取这样的操作方式来有效的提升整个系统的可运作率:我们在启动整个系统也就是应用程序的时候,我们开一个也是开,开十个也是开,所以我们要在这个时候建立起一个足够我们使用的数据库连接,而且我们建立完成后还要把他们放到一起,建立一个“城池”只要有人要用到数据库我们就借一个给他,使用完后也别关闭,还归还到“城池”里面就行。这样我们就不会造成对系统性能的损伤,还能保证我们应用程序的使用REF_Ref9214\r\h[18]。2.6本章小结综上所述本系统在总结了各个技术的优略势后,选择了最适合本系统的技术进行开发,同时也结合了以往的知识对现在进行了一个总和和整理。在拥有良好的技术支持和合适的开发环境的条件下,在之后的系统设计会顺利很多。
3系统分析与设计通过查找出研发项目的各种所需技术和软件之后,我们结合自己的设备和习惯对现有的技术进行了对比,选择出了一套适合本综合网上购物系统发开的技术链。接下来就是对整个系统的需求进行评估,制作出系统初步的模型。下面会分别来展示这个系统的初步框架和内部数据实体。3.1系统需求分析与建模3.1.1系统需求概述根据前文对当前网络商城的分析,大型商城虽然用户量很广,服务和质量水平也适中,但是获利最多的还是本家企业,入驻的店家会被攫取很多利润,这也向很多中小企业以及个体私户提供了更多的商机,他们需要一个可以自己掌控的轻便平台。而本系统则为这些用户提供了便利,拥有一定的市场,并且同时要保证网站的安全性,以保护用户的隐私,无论是什么交易,安全总是第一位的。所以本系统需要做到保证每一位用户的账号安全性的情况下,实现用户的自由贸易。3.1.2系统数据分析根据上方对整个系统需求和各种技术的综合分析,MySQL作为一个轻便的数据库开发工具,是很适合本系统的。我们模拟网上购物流程和商城所有者运维整个商城以及二者之间的交集进行本项目的E-R图设计:图3.1综合网上购物商城系统的E-R图按照流程中所出现的关键词和主要事务以及出现的所有实体,我们对其进行了分类规划(1)商城消费用户实体图3.2综合网上商城系统的消费用户实体图(2)用户所购买各类商品的分类实体图3.3综合网上商城系统的商品分类实体图(3)本商城内上架的商品实体图3.4综合网上商城系统的商品实体图(4)消费用户决定购买后订单实体图3.5综合网上商城系统的订单实体图(5)在商品具体信息下的评论实体图3.6综合网上商城系统的评论实体图(6)消费用户预购选择商品的购物车实体图3.7综合网上商城系统的购物车实体图3.1.3系统功能分析通过对购物和运维流程的模拟,总结出本网上购物商城系统所需要实现的功能:当我们作为一位消费者来进行购物的时候:首先需要的就是在商城中能够进行交易,所以注册个人的账号,并能稳定登入系统内是首要的功能。并且这些个人用户信息需要被保护,确保个人隐私安全。消费者在选择商品的时候不会简单的通过一张图片进行判断自己是否购买。所以,每个商品都需要拥有自己的独立信息页面,这也为下方的评论功能做了铺垫。(3)而选择商品也不会是漫天撒网,一页页进行浏览。所以做好检索功能能有效的提升用户的使用感和回头率。(4)用户选择商品不会总只挑一个,给用户一个“篮筐”,预存下相中的商品也是提高顾客购买率的好方法。(5)在选择完商品后,需要一个集中的结算服务,也就是订单的提交,这里不再制作支付相关功能,为了方便后期测试,只需提交,便会自动生成订单(6)接下来的也就是对上面所有功能都有所影响的个人信息的管理,订单需要的物流地址,登录所需的个人账户密码,选购浏览商品时存放的购物车,都需要一个个人中心界面进行调配。而作为本系统的管理角色在使用本商城时:商城商城,商品是关键。管理员要负责整个商城内商品信息,展示页面信息和详细页面信息都可以通过管理员编辑。除了商品,用户的信息也是需要管理员进行各方面的调配管理。用户购买商品后产生的订单就需要管理员进行发货和配送,不仅是后台的物理操作,管理员要给在商城端使用的用户反馈,及时的更新物流信息。管理员还需要及时查看各个商品下用户的反馈信息,及时处理各类评论,回复问题评论,删除不良评论,维护网站的环境。商城内总体和各类商品销售状况和金额统计,这些数据会用于首页的推荐,根据每个用户的需求不同,商城的内容也需要变化。结合上方分析,可以清晰的画出整个系统以及各个模块还有各个模块之间的关系:图3.8功能模块图接下来是对上述两个端的业务流程进行图形化展示,这样可以更加清晰和形象展示系统的运行效果。作为消费者进入商城端的时候,下面的用例图可以很好的展示进入本综合网上购物商城的时候可以进行的操作:图3.9综合网上购物商城的商城端用户用例图这些具体的操作之间的前后流程图由下图展示:图3.10综合网上购物商城的商城端用户流程图当我们作为系统的管理员进入管理端时可以看到的操作由下面用例图说明:图3.11综合网上购物商城的管理端管理员用例图这些具体的操作之间的前后流程图由下面的流程图展示:图3.12综合网上购物商城的管理端管理员流程图3.1.4系统行为分析结合个人的设备以及各方面的资源,本综合网上购物商城系统的开发选择了开源的Tomcat,而且为了避免版本冲突,本系统选择了8.5版本。整个项目开发都是用eclipseIDE2019在windows10操作系统下进行研发。本系统作为web项目可以运行于多种浏览器之上,在开发过程中一直使用的是microsoftedge。3.1.5系统性能分析项目运行条件简单,不需要很高的硬件配置,软件条件也是随手可得,并且本系统易维护,性能条件良好3.2系统设计与建模3.2.1系统设计概述依据技术介绍和事务流程,本系统选择框架开发,这样可以减少不必要的时耗和资源浪费,还能有效进行系统完整性功能检测。本系统的商城端将按照上章节消费者的功能设计进行设计研发。同样的管理端的管理员所需功能也是同样。本系统大致分为这两条大功能线路进行研发。研发过程需要一条线路一条线路的实现,在二者的基础功能都接近完善之后,再去实现二者之间的交叉功能,最后打通整个综合网上购物商城。商城端的功能开发又分成用户和商品两条小线,用下订单的流程去串起整个商品端的模块。管理端的功能开发是需要又用户,商品和订单基础的,所以需要在商品端完成后进行实现。3.2.2系统数据库设计将事务流程转化的的E-R图再转化设计为数据库:数据类图如下图3.13综合网上购物商城的数据库db_shop类图按照上方类图对数据库建表如下展示:商城端用户表表3.1综合网上购物商城的数据库db_shop内user表具体的变量字段字段的数据类型和大小是否作为主键说明Uidint(20)是代表db_shop内user的IDusernamevarchar(100)否代表db_shop内user的用户名passwordvarchar(100)否代表db_shop内user的密码roleIdint(20)否代表db_shop内user的角色IDUphotovarchar(256)否代表db_shop内user的照片地址sexint(5)否代表db_shop内user的性别ageint(5)否代表db_shop内user的年龄addressvarchar(256)否代表db_shop内user的地址商品的标签分类表表3.2综合网上购物商城的数据库db_shop内product_category表具体的变量字段字段的数据类型和大小是否作为主键说明Pidint(20)主键字段db_shop内product的分类IDparentIdint(20)否db_shop内product的父类IDnamevarchar(256)否父类的名称tagsvarchar(256)否检索的标签tagrmarkvarchar(256)否对商品的备注商品端商品表表3.3综合网上购物商城的数据库db_shop内product表具体的变量字段字段的数据类型和大小是否作为主键说明Pidint(20)主键字段代表db_shop内product商品IDproductCategoryIdint(20)否代表db_shop内product分类IDnamevarchar(256)否代表db_shop内product商品名称tagsVarchar256)否代表db_shop内product商品标签imageUrlvarchar(256)否代表db_shop内product图片地址pricefloat(8,2)否代表db_shop内product价格stockint(10)否代表db_shop内product库存sellNumint(10)否代表db_shop内product销售数量viewNumint(10)否代表db_shop内product浏览次数commentNumint(10)否代表db_shop内product评论数contenttext否代表db_shop内product内容createTimedatetime否代表db_shop内product创建时间商城端用户所下订单表表3.4综合网上购物商城的数据库db_shop内orders表具体的变量字段字段的数据类型和大小是否作为主键说明Oidint(20)主键字段代表db_shop内orders的IDsnvarchar(256)否代表db_shop内orders的编号userIdint(20)否代表购买该商品的买家IDaddressvarchar(256)否代表购买该商品的买家地址moneydouble(8,2)否代表购买该商品的价格productNumint(10)否本商品的产品数量statusint(10)否订单状态remarkvarchar(256)否备注信息createTimedatetime否创建时间商城端评论表表3.5综合网上购物商城的数据库db_shop内comment表具体的变量字段字段的数据类型和大小是否作为主键说明Cidint(20)主键字段该商品详情页的评论IDproductIdint(20)否该商品的IDuserIdint(20)否评论者的IDtypeint(20)否用户所评价的好坏contentvarchar(256)否评论内具体内容createTimedatetime否评论的时间商城端购物车表表3.6综合网上购物商城的数据库db_shop内cart表具体的变量字段字段的数据类型和大小是否作为主键说明idint(20)主键字段每个用户的购物车IDuserIdint(20)否当前用户的IDproductIdint(20)否购物车内的商品IDnamevarchar(256)否对应该商品的名称imageUrlvarchar(256)否商品展示图片的文件地址pricefloat(8,2)否商品的价格numint(20)否商品的库存moneydouble(8,2)否购物车内商品的总价createTimedatetime否购物车结算时间商城端用户喜爱商品表表3.7综合网上购物商城的数据库db_shop内favorite表具体的变量字段字段的数据类型和大小是否作为主键说明idint(20)主键字段用户喜欢的商品列表的编号IDuserIdint(20)否喜欢该商品的用户IDproductIdint(20)否各个商品IDnamevarchar(256)否各个商品的名称imageUrlvarchar(256)否商品展示图片的文件地址pricefloat(8,2)否喜欢商品的价格createTimedatetime否何时加入的喜欢商品3.2.3系统软件构件设计本系统是基于ssm进行功能设计的系统,所以整个系统功能通过controller,dao,service进行实现,如图所示:图3.14系统构件图整个系统的部署后的流程如下所示:图3.15系统部署图3.2.4系统用户界面设计关于的商城的界面是一定要能简则简来进行设计的。本来商城内商品种类就繁多,用户所需的东西也不是大部分,一定要给用户一个轻松简介的商品界面,所以我们开始将整个功能菜单放到顶部,下面接一些当季热销的商品,底下再接一些小商品,让重点突出,也不会让用户眼花缭乱。系统界面原型设计图如下:图3.16界面原型图3.2.5系统构件级设计本系统的实体类之间的关系如图所示:图3.17实体类关系图3.4本章小结本章对项目的完整两大功能线路图进了流程图表的转化,并将数据库搭建完备,使用者可以用图表来直观的查看整个系统的框架。
4系统实现本章节主要展示整个商城系统的主要功能的具体实现,将会通过一些代码的展示来阐述4.1实现环境与工具的简要说明本系统采用的开发工具主要有eclipseIDE,MySQL5.7,tomcat8.5。4.2主要程序模块描述4.2.1ssm框架的整合因为该系统使用是Tomcat8.5服务器。首要的就是去配置整个项目的XML文件这样整个整个系统就可以一劳永逸,不用再繁琐的进行实体化,以下是web.xml文件的相关配置代码:SpringMVC首要的就是配置几个核心的xml文件,这些xml文件是对系统功能的bean配置,这会让我们在编写功能时使用简单的注解方式完成开发,十分简便还有一些其他的功能。以下就将展示对SpringMVC的核心文件ApplicationContext.xml的配置。其中这里面的perties配置有JDBC连接的数据库和连接池。然后扫描mapper包进行注入。然后是springmvc.xml文件的配置。作为网页当然少不了文件的上传处理。4.2.2有关商品的功能实现系统通过接受前端发出的请求,后端的控制器接收进行处理,最后在服务层进行数据库的连接实现对商品的各种处理其中包括:获取商品列表,条件列表查询,商品添加,商品删除,商品编辑等。比如商品的列表展示:在服务层对数据库进行查询还有商品的分类:我们可以通过对商品的ID进行查询,像如此的条件查询还有很多这其中包括对商品的添加删除修改,这里不再过多展示。4.2.3用户相关功能每个用户可以进行注册登录后即可对商品进行操作主要有以下功能:添加用户,编辑用户,删除用户等功能。登录注册功能如下: 在登录后我们会对用户输入的账号密码进行传输和保存,并保证账号密码的安全性。登录后我们可以对用户进行角色修改有些可能会设计管理员权限。管理员可以对角色进行权限设置:比如增加一些权限4.2.4有关评论的功能实现每一个商品下消费用户可以进行评论,管理员也可以对用户进行回复。比如对评论进行编辑操作:4.2.5有关菜单的功能实现用户在进行检索时会有一些关键词提供选择,这些菜单有一定的规划效果,我们也可以对菜单进行增删改查操作,比如修改:4.2.6有关订单的功能实现这一部分功能跟商品所拥有的功能类似,当我们需要查看自己的购买记录时,便进行查询操作:4.2.7用户的首页商品推荐功能实现本系统在对用户进行商品推荐是根据用户所购买过的商品和在购物车内的的商品进行数据库内所有商品的匹配,向该用户推荐一些可能会喜欢的商品在首页。为了减轻多次JDBC连接带来的数据库负担,本系统使用了session的方法来实现购物车内商品的添加,利用Session里Cookie和附加URL参数,将请求的详细状态信息传递到接下来的请求中,不仅如此还会将整个状态保存在服务器端,当我们想让一个商品加入购物车时将会调用Controller层中的additem只将商品的ID传入,但不进行数据库的连接,减少系统资源消耗,。REF_Ref15994\r\h[20]然后转到Service层,先在Service层写一个获取购物车中商品列表的类,将商品放置其中:这样商品在购物车内就只会向该CurUser当前用户的后端传一个GoodId,并结合购买记录的商品Id在Good中进行搜索并返回一个排名较前的itemlist,并将该itemlist传至前端在首页显示。这个功能在具体展示在网页上的效果就是,当我们在未登录状态下进入本综合网上购物商城系统的时候,整个商城的首页大字报推荐是根据季节或者节日进行推荐,这部分会由管理员定期进行更换。而位于大字报底下分别有两列展台:热销推荐,这部分是由后端系统对订单量进行统计,计算出的销量排行榜,然后由高到低依次进行罗列。新品推荐,这部分是根据数据库内商品的入库时间进行排序,将商品由新到旧依次进行罗列。以上讲述的就是未登录的场景,当我们用户注册登录后,在没有选择自己的商品即我们没有进入购物车功能的时候,我们的商城推荐还是按照正常推荐进行推荐。而当我们选中商品的时候,也就是购物车内存在商品的时候。系统会向数据库传一个tag也就是你购物车内商品所带的tag,后端会对你这个tag进行搜索,搜索得到的list。而这个list会反馈到index.jsp进行首页推荐的重置。而这样的操作会导致一个问题就是,页面重新回到首页之后是一个重置状态,我们的登录信息会被抹掉,这个时候采用了Ajax的异步请求使用windows.location来记住当前用户的状态。这个时候用户再次返回到首页的时候,就可以发现下面的热销和新上架商品发生了变化。这时的热销商品会按照你购物车内的商品的tag检索出的商品再进行一个销量排序,并且当你的tag商品占不满展示空间的时候,会由之前的总商品销量进行一个排序补齐空缺。4.3系统运行根据以上代码和设计,接下来展示实际系统运行的效果图:商城首页:商城的首页是由一个商城logo在左上角顶部放置有一个搜索框给用户进行自由搜索,借鉴到淘宝的风格,本系统在大字报推荐左边放置了系统制定的所有tag检索关键词,底下就是热卖的商品展示和新上架的商品展示。图4.1首页图前端登录:图4.2登录图关键字检索图4.3检索图自定义检索:图4.4自定义检索图商品详情:图4.5商品详情图后端登录:图4.6后端登录图后端界面:图4.7后端界面图商品管理:图4.8商品图订单管理:图4.9订单信息图用户管理:图4.10用户管理图4.4本章小结本章节较为系统具体的讲述了本系统的主要功能的实现和逻辑关系,使整个系统更加清晰。
5系统测试系统的功能基本实现之后,对设计好的功能进行测试,检查除系统中还可能存在的Bug,通过测试,来完善整个系统并且可以在测试过程中不断提高系统功能的上限,要求测试后的软件各模块基本功能可以顺利进行,尽可能的提高软件的可用性。除此之外,还有对系统的性能进行测试。5.1测试目的和内容本系统是一个web的系统,所以要考虑兼容性问题,我们选择了有针对性的两个问题进行测试管理员登录功能测试:我们在登入系统时必须保证我们必须先经过登录系统才行,而且其中的验证码工具会不会出现问题。我们进行所有操作之前必须先进行登录操作,在数据库中匹配到账号密码情况下才能进入,如果错误或没用就要出现弹窗就会出现弹出框,提示问题。搜索功能测试:我们进行搜索时大多数进行的是模糊查询,系统能否对每一次查询都做出回应,以及无查询结果时应该做出的反应都是我们要考虑的。性能测试:我们对网站运行时的性能进行多方面的考量,对其承载量和前后端能否同时运作进行了测试。5.3测试运行和测试记录5.3.1用户登录测试表5.1用户登录测试用例表功能特性消费者即用户的登录商城测试目的验证前端数据输入是否能匹配后台数据测试数据注册用户的账号:lhtlht数据库内密码:admin验证码:由utils工具随机生成测试编号具体操作描述输入的数据系统正常得到的结果实际结果结果分析1依次按照网页账号密码框输入测试指定的账号,密码和随机生成的验证码,进行登录操作测试用户账号输入框内输入lhtlhtlht,密码输入框进不进行填写在输入密码和账号的上方显示未填入密码并将密码和账号输入框标红在输入密码和账号的上方显示未填入密码并将密码和账号输入框标红符合预期2依次按照网页账号密码框输入测试指定的账号,密码和随机生成的验证码,进行登录操作测试用户账号输入框内输入空值密码输入admin在输入密码和账号的上方显示未输入账号并将密码和账号输入框标红在输入密码和账号的上方显示未输入账号并将密码和账号输入框标红符合预期3依次按照网页账号密码框输入测试指定的账号,密码和随机生成的验证码,进行登录操作测试用户账号输入框内输入lhtlht密码输入admin进入商城主页进入商城主页符合预期4依次按照网页账号密码框输入测试指定的账号,密码和随机生成的验证码,进行登录操作测试用户账号输入:admin,密码输入123456验证码正确输入在输入密码和账号的上方显示输入的信息有错误并将密码和账号输入框标红在输入密码和账号的上方显示输入的信息有错误并将密码和账号输入框标红符合预期5依次按照网页账号密码框输入测试指定的账号,密码和随机生成的验证码,进行登录操作测试用户账号输入:lhtlht密码输入admin验证码:1111(验证码为x2y6)在输入验证码的text框的上方显示输入的信息有错误并刷新验证码在输入验证码的text框的上方显示输入的信息有错误并刷新验证码符合预期5.3.2商品模糊关键词查询表5.2模糊关键词查询表功能特性模糊查询测试目的查询功能是否完善测试数据数据库中有洗发水,发簪,护发素,测试编号具体操作描述输入的数据系统正常得到的结果实际结果结果分析1在搜索栏目中键入关键词关键词“发”出现洗发水,发簪,护发素等商品出现洗发水,发簪,护发素等商品符合预期2在搜索栏目中键入关键词关键词“洗发水”出现洗发水出现洗发水符合预期3在搜索栏目中键入关键词关键词“发簪”出现发簪出现发簪符合预期4在搜索栏目中键入关键词关键词“护发素”出现护发素出现护发素符合预期5在搜索栏目中键入关键词关键词“头发”出现洗发水,发簪,护发素等商品无检索结果不符合预期针对该5号测试我们增加了对关键词进行整体查询后无结果,再进行单字符查询的功能,完善了系统。5.3.3系统性能测试表5.3系统性能测试表功能特性键词系统性能测试测试目的查看系统性能测试数据买家从进入商城到下完订单一个完整的流程管理员从登录后端到解决用户的订单发货的完整流程测试编号具体操作描述响应大概时间系统正常得到的结果实际结果结果分析1一位买家和一位管理员同时进入网页进行操作1秒内双方都能快速进行事务,网页响应较快,后台能快速接收前端订单。双方都能快速进行事务,网页响应很快,后台能快速接收前端订单。符合预期2五位买家和一位管理员同时进入网页进行操作1秒-2秒各方都能快速进行事务,网页响应较快,后台能快速接收前端订单。双方都能快速进行事务,网页响应相比之下较快,后端响应订单也比较快基本符合预期3一位买家和五位管理员同时进入网页进行操作1秒内双方都能快速进行事务,网页响应较快,后台能快速接收前端订单。双方都能快速进行事务,网页响应较快,后台能快速接收前端订单。符合预期4五位买家和五位卖家同时进入网页进行操作3秒-4秒双方都能快速进行事务,网页响应较
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 商铺租赁代签合同范本
- 土地转让合同易协议书
- 多台车床出售合同范本
- 商业化妆活动合同范本
- 商铺租赁改造合同范本
- 大学活动赞助合同范本
- 家政代理加盟合同范本
- 培训教育合作合同范本
- 地铁商铺租赁合同范本
- 家政商业服务合同范本
- 2023第八届全国学生学宪法讲宪法活动竞赛题库(汇总)
- 项目三 高速动车组转向架检修与维护
- 幼儿园天气播报PPT
- 服务型制造标准体系建设指南(2023年)征
- 色盲检测图(第五版)-驾校考试-体检必备-自制最全最准确
- 八年级美术PPT课件 荷兰后印象派画家梵高作品介绍 《向日葵》《吃土豆的人》《割耳朵后的自画像》
- GB/T 3390.1-2013手动套筒扳手套筒
- GB 6675.1-2014玩具安全第1部分:基本规范
- 土方回填施工记录表
- 惠州市基层诊所医疗机构卫生院社区卫生服务中心村卫生室地址信息
- 四知卡(一责双卡 岗位风险识别卡)-加油站加油参考模板范本
评论
0/150
提交评论