版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于SSM框架的网上运动商城的设计【摘要】现如今网上购物得到了越来越多人的认可,凭借丰富的商品种类和优惠价格,吸引了一大批用户。由于当今因为新冠肺炎疫情的影响,甚至线下运动商城的销售业绩都受到了冲击,网上购物成为了新的潮流。网上运动商城的设计是以Java语言为开发基础,基于目前最流行的三大框架开发设计整个系统的体系结构。该系统用户模块和管理员模块两大模块。其中,用户模块的界面是友好的操作界面,供用户浏览和查询使用,包括了商品的分类浏览商品、商品的查询、购物车等。管理员模块包括了商品管理、订单管理和留言管理等,最后对系统进行详细测试,确保系统无明显差错。【关键词】:网上购物商城;电子商务;SSM框架目录第1章绪论 图3-18系统总体E-R图设计3.3.3数据流图设计游客游客注册信息注册信息的管理用户表会员管理管理员订单管理订单表订单状态查询商品下单检索商品会员商品信息请求订单状态订单记录业务用户记录订单报表查询操作订单信息商品表会员管理商品信息图3-19购物商城数据流图3.3.4E-R图向关系模型的转换建立关系模型可以使数据库增减查询效率,优化数据间的关系,减少数据冗余。下面将图3-18系统总体E-R图转换为关系模型,这样可以更加直观地看出数据库设计是否符合逻辑。每一个关系模式都对应一个实体集,主键与关系的字段已用下划线标出。地址(编号,用户编号,用户名,手机号,电话,地址)评价(编号,用户编号,商品编号,订单编号,评论内容,满意度,时间)购物车(编号,商品编号,商品数量,用户编号)公告(编号,标题,公告内容,时间,管理员名称)奖品(编号,名称,权重,图片路径)留言(编号,留言内容,手机号,用户名称,时间)订单(订单编号,用户编号,地址编号,总金额,时间,状态)商品订单(次要订单编号,商品编号,商品名称,单价,数量,主订单表编号)产品(编号,商品名,价格,库存,简介,图1,图2,图3,是否潮流,是否热卖,类型编号)回复(编号,用户编号,回复内容,评论编号,时间)大类分类(编号,大类名称)小类分类(编号,小类名称,大类编号)用户(编号,用户名,密码,头像图,手机号,性别,生日,年龄,积分,角色)销售额(编号,日期,总金额)3.3.5数据表设计本次系统设计选用操作简单功能可靠的MySQL数据库作为数据存储介质,下面依次讲解各个数据表中字段的相关关键属性。主键列中Y表示是主键,N表示非主键。(1)地址表,Id是该表主键,userId表示要发货用户的Id,name为该收货人的姓名,phone表示该收货人填写的联系电话,address为要寄送的目标地址。表3-1为地址表。表3-1地址表字段名称长度数据类型字段注释主键id4int根据顺序生成的编号Yuserid4int用户字符串idNname255varchar收货人姓名Nphone255varchar联系方式Naddress255varchar家庭地址N(2)评估表存储的是有关用户评论商品的相关内容。Id为主键,userId,shopid,orderid为外键。分别标注了用户,商品,订单的编号。comment为用户在网站上评论的内容,degree表示的是用户给出的满意程度,time记载着用户留下这条评论的时间。表3-2为评估表。表3-2评估表字段名称长度数据类型字段注释主键id4int根据顺序生成的编号Yuserid4int用户字符串idNshopid4int商品编号Norderid4int订单编号Ncomment255varchar评论内容Ndegree255varchar满意指数Ntime200varchar评论时间N(3)购物车管理表用来标注用户存放在购物车内的商品信息,内含四个元素,主键为id,拥有两个外键分别为是shopId和shopcount。shopId即为商品编号,shopcount用来计数,表示用户选购了多少该商品。userid是购买该商品的用户id。表3-3为购物车表。表3-3购物车表字段名称长度数据类型字段注释主键id4int根据顺序生成的编号Yshopid4int商品编号Nshopcount4int购入总量Nuserid4int用户字符串idN(4)公告表的主键为id,主要涵盖了购物商城主页公告的内容。title为评公告标题,content表示管理员编辑的公告内容,time为该公告创建时间,username为创建人的名字,表3-4为公告表。表3-4公告表字段名称长度数据类型字段注释主键id4int根据顺序生成的编号Ytitle1000varchar公告大标题Ncontent2000varchar告示内容Ntime255varchar创建时间Nusername255varchar由哪位管理员创建N(5)奖品表的主键为id,表示创建的编号。name是设置的奖品名称,qz表示抽到该奖品的百分比,可根据管理员或奖品的变动情况进行调整,image_url为奖品图片的存放目录,存放在程序目录/shop/images文件夹下。表3-5为奖品表。表3-5奖品表字段名称长度数据类型字段注释主键id4int根据顺序生成的编号Yname255varchar奖品名称Nqz255varchar获奖比重分配Nimage_url255varchar图片路径N(6)留言表是用户给管理员发送的信息的表。id为该表主键。message存放着留言内容,phone为用户信息中填写的手机号name为用户的姓名,time为该条留言的时间。表3-6为留言表。表3-6留言表字段名称长度数据类型字段注释主键id4int根据顺序生成的编号Ymessage5000varchar留言内容Nphone255varchar用户联系方式Nname255varchar用户名称Ntime255varchar留言时间N(7)主要订单表是订单信息的主要存放表,内涵一个主键orderid和两个外键userid和addressid。是orderid是自动生成的订单序号。userid和addressid表示的是哪位用户购买了哪一个商品,他们对应这顾客唯一的一个收货地址。totalprice记录了这笔交易的总价,time为交易的创建时间,status表示这笔订单所处的状态0表示新建订单等待发货,需要管理员经行确认,1表示是已取消这笔订单,2为管理员已处理了这笔订单,即已发货。表3-7为订单表的详细分析。表3-7订单表字段名称长度数据类型字段注释主键orderid11int自动生成主要订单号Yuserid4int用户字符串idNaddressid4int收货地址idNtotalprice10double结算总金额Ntime255varchar订单创建时间Nstatus4int订单状态N(8)商品订单表中有一个主键id和两个外键shopid和orderid。id为自动生成的订单序号,shopid和shopname分别描述商品名和商品的id。price存放商品的价格,count为商品选购的数totalprice即为这两者之乘积。orderid记载了与之相关联的订单主表id。表3-8为商品订单表。表3-8商品订单表字段名称长度数据类型字段注释主键id4int自动生成次要订单号Yshopid4int商品编号Nshopname255varchar商品名Nprice4double单价Ncount4int购买数Norderid4int主要订单表内订单号N(9)产品表由一个主键和一个外键构成,主键为id外键为typeid。id是加入的商品编号,shopname显示的是商品名称,price指该商品的单价,inventory表示该商品现有的库存量如果数值为0用户则无法对该商品进行购买操作,同时管理员应该实时注意产品库存的变化情况,及时补货。des呈现的是商品的描述,该字段应该言简意赅对该商品大致的描述。img1,img2,img3为商城展示的该商品的三张图片,类似于淘宝商城的商品展示图。他们的图片位置在添加时就已经定义完成,修改时需修改图片存放路径。Isfashion和isremai两个字段都是对商品的一个定义,管理员可以通过销售数量对它进行判断,1即为热销,反之0为否。Typeid说明了商品的所属类型,用户可根据类型在主页面寻找到同类的商品。表3-9为产品表。表3-9产品表字段名称长度数据类型字段注释主键id4int商品编号Yshopname255varchar商品名称Nprice8double商品单价Ninventory8int库存量Ndes0mediumtext商品文字简介Nimg1255varchar样图一Nimg2255varchar样图二Nimg3255varchar样图三Nisfashion4int归类是流行商品Nisremai4int归类是热销商品Ntypeid4int类型编号N答复表id是主键,另外还有commid和userid两个外键,id表示回复的编号,userid是对指定的用户进行回复,content表示回复的内容,commid是对目标用户的评论进行回复,time是回复时间。表3-10为答复表。表3-10答复表字段名称长度数据类型字段注释主键id4int根据顺序生成的编号Yuserid4int用户字符串idNcontent255varchar答复内容Ncommid4int商品评论表内id关联Ntime200varchar答复时间N大类分类表主键是id编号,oneTypename指的是大分类的名称,例如运动器材,运动服饰等。表3-11为大类分类表。表3-11大类分类表字段名称长度数据类型字段注释主键id4int根据顺序生成的编号YoneTypename255varchar大分类名称N(12)小类分类表拥有一个id主键和一个onetypeid外键,这个表为一级分类表中分类的具体化起到了作用。id表明了编号,typename是二级商品分类的具体化名称,onetypeid介绍了它从属于哪一个以及分类,表3-12为小类分类表。表3-12小类分类表字段名称数据类型长度字段注释主键idint4根据顺序生成的编号Ytypenamevarchar255二级类型名称Nonetypeidint4所属一级类型idN(13)用户表用于存放用户的个人信息。主键是id用于对各个用户的编号。username是外键,表示用户名,与password一同作为登录信息使用。img为用户自行设定的头像。phone为手机号,sex表示性别,age表示年龄,birthday表示生日。Jifen是购买物品获得的积分,凭借积分抽奖。role身份字段用0表示普通用户,1表示管理员。表3-13为用户表。表3-13用户表字段名称数据类型长度字段注释主键idint4顺序生成的用户idYusernamevarchar255用户名Npasswordvarchar255登录密码Nimgvarchar255自定义头像图片Nphonevarchar255联系方式Nsexvarchar4用户性别Nbirthdayvarchar255用户生日Nageint4用户年龄Njifenint4购买获得的抽奖积分Nroleint4身份N销售表记录着购物商城每笔交易的总金额。id为主键,date为该笔交易的成交日期,price为交易的金额。表3-14为销售表的详细分析。表3-14销售表字段名称数据长度数据类型字段注释主键id4int根据顺序生成的编号Ydate255varchar记录总金额的日期Nprice255double总金额N3.3.6数据库的运行与维护数据库的运维包括性能优化和对其备份还原等一系列操作。备份可以有效防止数据库内数据被恶意更改,操作不谨慎而导致的数据丢失,当发生上述状况时,只需要还原至某个时间点即可。实时监控数据库的运行,一旦发出错误警告或异常反应,可及时做出相应对策,分析日志内的相关错误提示,诊断并修复。在数据库容量接近上限的时候,对数据库的垃圾数据进行批量清理,并考虑进一步扩张数据库的存储空间。3.4本章小结本章对系统使用的数据库构造及表的构成做了一个较为完整的总结与分析,一个良好的系统必须要拥有合理的技术支持和完善的数据库存储支持它运作的数据,通过各表之间的对应关系,保证了系统数据的正确调用。将程序功能划分为许多模块,逐步分析每一部分该如何设计实现,以三层工作原理为核心,搭建程序架构。第4章运动商城系统实现4.1网站主界面实现系统首页顶端位置在系统名称的旁边有两个按键,分别是注册登录,点击即可跳转到指定功能页面。稍下方的滑动变换宣传页面由script中的silder组件控制完成,在任何界面的情况下只要点击首页即导航至首页,抽奖及留言功能需要注册以后才能使用,若未注册须点击注册账户按钮填写相关信息,商品排列使用div标签排列第一行与第二行,左侧商品列表下将商品分为若干类别可供选购,下方设有公告宣传栏。实际效果体现在图4-1。图4-1网站首页展示4.1.1用户登录注册如果要想完整体验网站的全部功能,需注册会员,在如图所示的页面中填写个人基本信息即可完成注册,通过submit()方法来实现注册信息提交,需要注意的是每一项都是必填项目,这里还用了checkname函数来判断用户有没有重复注册。用户头像通过html里的fileupload对象来实现,成功注册后即可享受注册会员的全部功能,具体实现界面为图4-2。functioncheckName(){ $.ajax({ type:"GET", url:"<%=Const.ROOT%>user/checkName?name="+$("#name").val(), datatype:"json", success:function(data){ console.log(data) if(data=="0"){ $("#checkName").html("*用户名已存在"); $("#name").val(""); }else{ $("#checkName").html(""); } } }) }图4-2用户注册功能通过注册的用户每次使用该系统时都可以通过该界面登入系统,登录的账号为注册时使用的手机号,若账号密码都与注册时吻合即可成功登录,利用注册好的用户名密码进行登录,构造条件构造器,用wrapper.eq方法和selectone方法查询数据库中是否有与用户输入相匹配的条目,匹配成功即可通过登录,反之在网页提示用户名与密码错误。登录功能实现的页面见图4-3。图4-3登录功能实现页面4.1.2个人中心登录之后即可对个人资料界面进行查看,其中包含了注册时所有个人信息,这些信息通过session变量传值给当前页面,通过查询语句寻找相关信息实现显示。当然这些个人信息可以根据自己喜好进行修改,例如头像就可以选择自己喜欢的任意一张图片添加,通过imgsrc属性提交图片,可添加多个收货地址在个人中心,这样即使身处多个地点,也一样能轻松选择收货地址。个人中心功能实现见图4-4,个人信息修改代码如下所示。publicStringupdate(MultipartFileupfile,StringuserName,Stringsex,Stringpassword,Stringbirthday,HttpServletRequestrequest){try{Useruser=(User)request.getSession().getAttribute("user");user.setBirthday(birthday);user.setPassword(password);user.setSex(sex);user.setUserName(userName);StringrealPath=request.getServletContext().getRealPath("/images");Filefile=newFile(realPath+"/"+upfile.getOriginalFilename());upfile.transferTo(file);user.setImg(upfile.getOriginalFilename());QueryWrapper<User>wrapper=newQueryWrapper<User>();wrapper.eq("id",user.getId());userService.update(user,wrapper);}catch(IOExceptione){e.printStackTrace();}图4-4个人中心功能实现4.1.3商品详情登录后用户可以使用主页上方的搜索栏查找想要的商品,也可以通过左侧的一级分类和二级分类按类别寻找商品。当寻找到心仪的商品时可以点击图片查看商品详细信息,商品信息的页面由singleJSP文件中一系列控件实现,每一个商品有两种购买方式,一是添加至购物车,具体购物车的实现会在下一小节说明,另一种直接点击购买,选择购买数量后也可以轻松下单。最后要说的是,商品评价功能使用下文列出的reply方法,以selectlist方法实现对数据库中相关数据的查找。图4-5是商品细节描述页面的具体实现。publicclassReplyController{@Autowired ReplyServicereplyService;reply.setIsdel(0);reply.setTime(Simpledate.getTime());reply.setUserid(admin.getId());reply.insert();return"redirect:../assess/list";}@RequestMapping("/list")@ResponseBodypublicList<Reply>list(){Replyreply=newReply();QueryWrapper<Reply>wrapper=newQueryWrapper<>();wrapper.eq("isdel",0);returnreply.selectList(wrapper);}图4-5商品细节描述页面在管理员发货后该笔交易就已经完成了。用户还可以对购买商品评分并进行语言描述,商品详情页下方有面对所有用户的评论区,通过commentJSP文件控制用户评论区界面,之后跳转至comment方法,相应用户信息会被存放至数据库内,商品评论区通过循环语句将每条用户评论列举。图4-6是商品用户评价界面的具体实现。图4-6商品用户评价界面4.1.4购物车的实现用户可以通过一边选购一边将心仪商品加入购物车,最后在购物车界面调整所选商品的数量最后,即可提交订单,当然你也可以取消之前选择的商品,这么做会将它们移除购物车,此外还设计了一键清空的功能。若还想继续购物可点击上方首页按钮返回商城主页面。购物车自带商品价格结算功能,决定之后填写收货地址就可以等待管理员发后了,你可以在个人中心里时刻关注订单动态,通过订单控件中ordercontrol方法,加上session创建对话进行值传递,完成数据的处理,两种下单购买方式分别通过toadd和toadds两种不同的方法,图4-7是购物车结算功能展示。实现具体代码实现如下:Productproduct=newProduct();Useruser=(User)request.getSession().getAttribute("user");product=product.selectById(id);Carcar=newCar();car.setShopcount(count);car.setShopId(product.getId());car.setUserid(user.getId());car.setProduct(product);List<Car>cars=newArrayList<>();cars.add(car);request.getSession().setAttribute("cars",cars);request.getSession().setAttribute("totalprice",product.getPrice()*count);request.getRequestDispatcher("../order.jsp").forward(request,response);图4-7购物车结算功能展示4.1.5订单中心功能用户在下单之后可以进入订单中心对订单跟踪查询,实时关注发货情况,不仅如此我们还可以关注到历史所有交易的信息,例如订单号和状态等详细信息。若该交易已经签收,则可以点击详情查看跳转至评价页面,评价功能已在之前做过详细叙述在此不再赘述。最关键的用户收货操作也在订单控制文件ordercontrol文件中用下述qianshou方法实现,返回一个定向页面list。构建条件构造器提取数据库order表数据。并用if语句判断签收条件是否满足。该Java文件中还编写了search方法用来确认有关订单的具体信息,实现代码如下所示,界面截图为图4-8。publicStringqianshou(IntegerorderId,HttpServletResponseresponse){PrintWriterout=null;try{out=response.getWriter();}catch(IOExceptione){e.printStackTrace();}QueryWrapper<Order>wrapper=newQueryWrapper<>();wrapper.eq("orderId",orderId);Orderorder=orderService.getOne(wrapper);if(order.getStatus()==0){out.print("<script>alert('订单未发货,不能签收')</script>");return"redirect:list";}else{order.setStatus(2);orderService.update(order,wrapper);return"redirect:list";图4-8订单中心的实现4.2后台管理实现后台管理对于整个运动产品网上购物系统来说十分关键,所以管理员身份对整个系统起到了决定性的作用。在后台权限中不仅要确认管理员身份,还要提供相应的账户。当验证成功时,管理员可以对用户经行管理,对商品进行更新,为用户们及时发货,还可以对用户们的评价反馈一一回应。4.2.1用户批量管理所有注册用户信息都被保存在数据库的user表中,管理员在后台登录之后可查看所有用户的信息,在userlistJSP文件中利用Mybatis-plus包含的selectpage方法调取数据库中的相关数据,在网页上显示。用pagebean完成总分页功能。若管理员发现非法用户可通过点击删除键删除指定用户。管理员还可以在该页面修改账户密码。在user控制Java文件中利用如下所述的user方法获取有关数据,重定向至相关页面。图4-9是用户批量管理页面,页面代码如下所示。publicStringlist(Modelmodel,@RequestParam(value="pageNo",defaultValue="1")LongpageNo){Useruser=newUser();QueryWrapper<User>wrapper=newQueryWrapper<>();PageBeanpageBean=newPageBean();pageBean.setPageNo(pageNo);Page<User>page=newPage<>(pageBean.getPageNo(),pageBean.getPageSize());wrapper.eq("role",0);wrapper.eq("isdel",0);IPage<User>users=user.selectPage(page,wrapper);model.addAttribute("users",users);pageBean.setTotalCount(page.getTotal());model.addAttribute("pageBean",pageBean);return"manager/user_list";}图4-9用户批量管理页面4.2.2商品类型管理作为一个有众多货物的商城,如何让用户快捷顺利地找到商品是很有必要的。本次设计使用了add和del两个方法控制一级和二级分类的删除与添加,通过insert()将新增数据项传入数据库,构造条件构造器利用wrapper方法对数据库中已划分的类别进行检索,用集合List保存字段信息,管理员在这个页面中可管理所有商品类别,后台管理中实现该功能的页面在图4-10里已明确表示。图4-10商品类型管理页面4.2.3商品管理中心管理员在后台能够看到此时商城中上架商品的状况,引进新商品的时候,管理员对该商品进行上架操作,依次按系统要求输入商品名和商品类型等相关属性,再导入三张商品样图即可成功上架商品,该界面由productaddJSP文件完成。若要对已存在的商品进行库存补充操作则再产品列表这一栏里点击修改,找到库存输入适当的数字即可,对于更改售价和商品名等操作都与之相同,修改操作都基于程序中的mlist方法实现,图4-11展示了商品管理中心页面。if(!upfile.isEmpty()){StringrealPath=request.getServletContext().getRealPath("/images");Filefile=newFile(realPath+"/"+upfile.getOriginalFilename());try{upfile.transferTo(file);}catch(IOExceptione){e.printStackTrace();}product.setImg1(upfile.getOriginalFilename());}QueryWrapper<Product>wrapper=newQueryWrapper<>();wrapper.eq("id",id);productService.update(product,wrapper);return"redirect:mlist";图4-11商品管理中心页面4.2.4订单状态查询和用户在个人中心查看商品状况相对,管理员在后台系统可查看哪些用户已付款提交了订单正等待发货。管理员通过这一界面对用户要求进行统一回应,通过下述fahuo方法实现,QueryWrapper是利用条件构造器对数据库的数据进行获取操作,下方代码实现了订单状态转换功能,订单商品管理页面如图4-12所示。publicStringfahuo(IntegerorderId){Orderorder=orderService.getById(orderId);order.setStatus(1);QueryWrapper<Order>wrapper=newQueryWrapper<>();wrapper.eq("orderId",orderId);orderService.update(order,wrapper);return"redirect:mlist";}在管理员发货时牵涉到商品状态的变换问题,当管理员点击发货后,代表该商品已向该客户发放,此时状态会转变为已发货,但是在用户方面签收之前都会一直保持这个状态,直到用户点击确认收获,这时管理员会发现订单状态已由原来的已发货转变为已签收,在这里mlist方法起到了对订单信息获取的作用,是起到核心作用的代码。publicStringmlist(Modelmodel){List<Order>orders=orderService.mlist();model.addAttribute("orders",orders);return"manager/order_list";}图4-12订单商品管理页面4.2.5留言评价信息管理模块在用户购买商品之后,某些用户会针对自己购买的商品做出评价,作为管理员在后台可以查看到哪位用户针对哪一笔订单做出了评价,评价的内容是什么。管理员可以对评价回复,并根据用户的评分对商品做出整体评价。下方的reply方法负责页面的切换以及评论的发送,评价信息管理模块如图4-13所示。publicStringreply(Integerid,Modelmodel){Assessass、s",assess);return"manager/reply";}图4-13评价信息管理模块页面另外一个用户与管理员的实际交互功能是网站主页面的留言功能,它能够向管理员反馈实时信息,List<Message>messages获取未删除的留言信息并用setattribute请求设置一个属性,渲染前端页面,下面代码实现了用户留言界面的功能,图4-14为用户留言管理页面。publicStringlist(HttpServletRequestrequest){QueryWrapper<Message>wrapper=newQueryWrapper<>();wrapper.eq("isdel",0);List<Message>messages=messageService.list(wrapper);request.setAttribute("messages",messages);return"manager/message";}图4-14用户留言管理页面4.3本章小结本章详细介绍了运动产品购物商城拥有的关键功能,以图例代码并用的方式直观介绍了技术的使用以及实现方法,用图片展示了系统各个页面的样貌,其中也例举了若干重要代码段,可以更清晰地表现出该部分功能是如何实现的,在编写代码时适当地运用注释,注意格式清爽,在后面的检查校正环节里起到关键的作用,准确的体现出各部分的对应关系。
第五章系统测试5.1测试目的在系统开发完成后,系统测试是非常关键的一步骤,也是不可或缺的一步骤,在用户拿到系统使用之前,测试就是对功能完善性的检查,在先前多加检测就是对用户使用满意度最大的保障。测试的过程需做到务实严谨,应测尽测,规范化测试的要求。测试的目的在于检查系统中存在的不足指出,例如点击未能做出正确回应,显示不准确等,之后对这些问题点逐一分析,在程序中找到相应的代码段逐条修改。由于不可能将程序中所有问题都完全更正,系统多少会残留下一些小问题,但是测试环节依然是重要且必要的一环,有了它可以大大增加系统的准确性可靠性,为用户的体验增添额外的一层保障。5.2测试方案本次测试的方法采用黑盒测试,这种方法会将测试人员模拟成使用该软件的用户,他们不再考虑程序逻辑和编写方法,直接对软件进行使用,在使用的过程中发现问题。此外测试数据需要有特点,逐一测试并不是好的选择,工作量繁多且许多测试数据是没有意义的,利用等价类划分是提高测试效率的有效手段,将一组数据集合中的某一条选出作为代表数据,以该条数据代表该类其他数据的测试结果,是有效且合理的,下一节的测试将基于上述理论进行。5.3系统测试与结论测试已注册的用户,输入正确的用户名和密码,查看系统是否能够正常登录,再输入错误的用户名或密码,此时系统应该发出用户名或密码错误的警告,如图5-1用户登录测试所示。表5-1用户登录测试测试内容输入数据测试结果注册用户是否能够正常登录用户码:123正常,成功登录注册用户输入错误密码是否能够正常登录用户码:321正常,提示用户名或密码错误注册用户在未登录账号时是否能购买商品本次测试不输入数据正常,系统弹出提示请先登录购物车的商品添加,通过随机添加若干商品来检测购物车功能是否完成。对添加的商品进行数量上的调整,观察总价是否发生变化以及是否准确。最后测试购物车内商品是否能正常移除,对于单个商品的移除可以使用删除按键正常移除,若想清空购物车则要使用清空购物车按钮一键清除所有已添加商品,如图5-2购物车功能测试所示。表5-2购物车功能测试测试内容测试方法测试结果商品是否能够添加至购物车添加商品:室内训练比赛排球添加商品:斯伯丁篮球正常,添加成功系统是否能够准确计算总价增减测试商品的数量正常,准确计算出总金额能否将购物车内商品移除点击清空购物车按钮正常,成功清空所有商品订单状态的转变是该系统重要的功能之一,发货与签收的关系转变决定了一笔订单能否顺利完成。本次测试先对管理员发货和用户签收订单进行验证,再从用户在不同订单状态下所能完成的操作上进一步分析,保证程序逻辑性的严密,如图5-3订单状态测试所示。表5-3订单状态测试测试内容测试方法测试结果发货和签收功能是否正常用户下单,管理员发货,用户签收正常,可以实现未发货订单用户是否可以正常签收用户下单,但后台管理员不对该商品做发货操作不可以签收,提示用户该订单未发货用户在未签收的情况下是否可以评价该商品用户下单,后台管理员发货,但用户不签收商品不可以评价,提示用户该订单未签收商品的添加与删除是管理员的重要职责,下表从这两个方面对商品管理功能进行测试,商品各字段不能为空否则系统将会发出警告。如图5-4商品管理功能测试所示。表5-4商品管理功能测试测试内容测试数据测试结果添加商品,随机空缺字段不填产品名称:空描述:空所属类型:篮球热卖商品:否潮流商品:否库存:1000价格:空不可以添加添加商品,各字段填写完整产品名称:室内训练比赛排球描述:战舰排球5号所属类型:排球热卖商品:是潮流商品:否库存:1000价格:130添加成功修改商品,随机空缺字段不填产品名称:室内训练比赛排球所属类型:篮球热卖商品:否潮流商品:否库存:空价格:空不可以修改修改商品,各字段填写完整产品名称:室内训练比赛排球所属类型:排球热卖商品:是潮流商品:否库存:500价格:100修改成功此外,本次测试还从系统界面和个人资料更改界面两方面对系统进行布局评价。合格的网站应具备友好的界面,易读的说明以及合理的模块布局。如表5-5版面布局测试所示。表5-5版面布局测试测试内容测试结果界面是否能正常关闭缩放正常商品显示主界面排版是否和谐较协调个人中心资料是否能正常填写可以实现5.4测试问题及修复最初在软件测试时发现网页在传值时无法完成指定功能,在配置文件ApplicationContext中发现数据库的原始密码已经被我更改过,通过在cmd面板中键入密码查询命令得知最新密码并对程序段进行修改。修改前:<propertyname="url"value="jdbc:mysql://localhost:3306/db_shop?characterEncoding=utf8"/><propertyname="username"value="root"/><propertyname="password"value="root"/>修改后:<propertyname="url"value="jdbc:mysql://localhost:3306/db_shop?characterEncoding=utf8"/><propertyname="username"value="root"/><propertyname="password"value="981021"/>此处代码作用为遍历一个购物车中商品的编号,将商品信息添加至订单,但是不能正确执行,问题在于需要循环的数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年湖南工业职业技术学院单招综合素质考试模拟试题含详细答案解析
- 2026年西安市东城第二学校教师招聘考试重点题库及答案解析
- 2026年宁夏财经职业技术学院单招综合素质笔试备考试题含详细答案解析
- 2026年石家庄科技信息职业学院单招综合素质笔试备考题库含详细答案解析
- 2026甘肃武威古浪县公益性岗位工作人员招聘8人考试重点题库及答案解析
- 2026年湖南民族职业学院单招综合素质考试参考题库含详细答案解析
- 2026年甘肃能源化工职业学院单招综合素质笔试备考题库含详细答案解析
- 2026年上海对外经贸大学单招职业技能考试模拟试题含详细答案解析
- 2026年青海卫生职业技术学院单招综合素质考试备考试题含详细答案解析
- 2026年镇江市高等专科学校单招综合素质考试模拟试题含详细答案解析
- 2025年交管12123驾照学法减分考试题库(附含答案)
- GB/T 5780-2025紧固件六角头螺栓C级
- 肺结节消融课件
- 基于数据驱动的控制力矩陀螺健康诊断与预测系统的深度剖析与实践
- 军事交通运输课件
- 2025年事业单位联考A类《职业能力倾向测验》真题试卷及答案含解析
- 2021-2025年高考物理试题分类汇编磁场(解析版)
- 办公楼装修施工质量控制方案
- AI for Process 企业级流程数智化变革蓝皮书 2025
- 进展性卒中课件
- GJB1406A-2021产品质量保证大纲要求
评论
0/150
提交评论