当前位置: 首页 > news >正文

基于javaweb的宠物服务商城系统设计与开发

摘 要

最近几年以来,宠物在人们的日常生活中所占的地位越来越重要了,它们不仅仅是我们的朋友,也成为了我们家庭中的一份子。21世纪,信息技术飞速发展,计算机行业日新月异,极大地带动了信息的流动,方便了人们的生活,也使得电商行业快速发展,一些宠物服务商家抓住这个机遇,开始在互联网上成立自己的网上店铺。
本文描述了一个为宠物服务而开发的网上宠物服务商城,经过大量调研,并对各大商家同类型宠物商城需求进行详细分析后,对系统项目进行了总体设计和实现。在该系统中依照用户不同的需求售卖宠物与产品、线上咨询服务、宠物医疗服务、顾客浏览购买商品、购物车、寄养或领养宠物等功能。主要分为用户和商家登录注册模块、顾客模块、商家模块、管理员模块等几个部分。本系统能够完整的实现与宠物相关的服务流程,是一个比较完整的服务站点。在本系统的设计与开发中,前台利用了LayUI框架,后台利用了Spring、Springboot框架;数据库的实现利用了Mybatis框架;并且界面设计看上去十分简洁明了,对于用户来说有良好的购物体验,为每一个宠物饲主提供一个良好的服务平台。
整个宠物服务商城系统能够提供如下功能:对于各种在售宠物商品按照种类进行分类,简化用户的操作,让他们的购物更为方便;首页提供最新产品和热门产品的展示,吸引用户的注意力,从而提高他们对商城的关注度以及浏览产品时的购买欲望,提高商城的销量;新用户可在商城进行账号注册,已经注册用户可在登录界面中输入正确的口令进行登录并在商城中进行商品浏览,将喜爱的商品添加至购物车,并决定购买数量,从而选择最后需要购买商品,让用户享有更真实的购买体验;用户在支付完成之后还可以通过个人中心来查看订单的详细信息中。
通过本系统,人们不需要再花费大量的时间去寻找宠物实体店,而且可以更好、更实惠、更便捷地为自家的爱宠购买商品。同时考虑到初步接触宠物的用户,他们可能会担心自己不能很好地照顾自己的宠物群体,本商城也给这部分用户提供了一些关于宠物饲养的小知识,让他们可以放心的去选择自己喜欢的宠物来进行饲养,来陪伴自己和家人;并且也向每一个浏览商城的人开放式提供一些宠物周边资讯。

关键词:LayUI;Spring;Mybatis;宠物服务;服务商城

Abstract

In recent years, the status of pets in daily life has become more and more important. Pets are not only our friends, but also a part of our family. However, the rapid development of computer technology has driven the development of electronic malls, and some pet service businesses have begun to set up their own online stores on the Internet.
This article describes the online pet service mall developed for pet services. After a lot of research and detailed analysis of the needs of the same type of pet malls, the pet service mall project has been comprehensively involved and implemented. It realizes the sale of pets and products according to different user needs, consulting services, veterinary services, customers browsing purchases, online consultation, pet medical services, pets, evaluation orders and other functions. Mainly divided into login registration module, customer module, merchant module, administrator module and other parts. The system can completely implement the pet first service process and is a relatively complete service site. The development front of the system utilizes the LayUI framework, the background utilizes the Spring and Springboot frameworks, and the database implementation utilizes the Mybatis framework. The interface design looks very simple and clear, and has a high user experience for the user, feeding each pet. The Lord provides a good service platform.
The functions that can be realized in the whole mall are as follows: various pet products are classified according to the types; and there are also displays of recent popular products; new user account registration and user account login; users can also use the shopping cart function to add goods. Then, the purchase of the added item is performed once on the shopping cart page, and the information of the purchased item can also be viewed through the order information page in the personal center.
Through this shopping web design, people don’t have to spend a lot of time looking for a pet store, and they can buy goods for their pets better, faster, more convenient and cheaper. And considering that I want to raise my own pet, but I am worried that I can’t take good care of my pet group, this mall will provide some people with some tips on pet breeding, so that these groups can choose themselves safely. Like pets, accompany yourself or your family.

Key words: LayUI; Spring; Mybatis; pet service; service mall

目 录

引言 1
1 绪论 2
1.1 课题背景及意义 2
1.1.1 课题的背景 2
1.1.2 课题意义 2
1.2 系统功能概述 3
1.2.1 登录注册模块 3
1.2.2 顾客模块 3
1.2.3 商家模块 4
1.2.4 管理员模块 4
1.3 系统开发环境和技术简介 4
1.3.1 开发技术Java,Jsp,及Javascript语言介绍 4
1.3.2 Java Web简介 5
1.3.3 自动化构建Maven工具 5
2 系统分析 6
2.1 可行性分析 6
2.1.1 经济可行性分析 6
2.1.2 技术可行性分析 6
2.1.3 运行可行性分析 6
2.1.4 社会可行性分析 6
2.2 系统需求分析 7
2.2.1 功能需求分析 7
2.2.2 性能需求分析 7
2.2.3 开发环境及配置需求分析 7
3 总体设计 9
3.1 系统总体设计 9
3.1.1 系统总体结构图 9
3.1.2 功能模块结构图 9
3.2 系统动态建模 10
3.2.1 系统系统时序图 10
3.3 数据库设计 11
4 详细设计与实现 18
4.1 系统界面设计 18
4.1.1 商城主界面设计 18
4.2 前端模块设计与实现 18
4.2.1 登录模块 18
4.2.2 注册用户模块 19
4.2.3 资讯模块 20
4.2.4 宠物课堂模块 20
4.2.5 宠物医生模块 21
4.2.6 商品模块 21
4.2.7 购物车模块 22
4.3 后台管理模块的设计与实现 23
4.3.1 后台登录模块 23
4.3.2 用户管理模块 24
4.3.3 分类管理模块 24
4.3.4 订单管理 24
4.3.5 商品管理 25
5 系统测试 26
5.1 系统测试的方法 26
5.2 测试内容 26
5.2.1 进行功能测试 26
5.2.2 功能测试用例 28
5.2.3 测试结果分析 30
6 结论 31
谢 辞 32
参考文献 33

引言

移动互联网的普及与推广,改变了人们获取信息和保存信息的方法。人们的生活和工作融入智能移动终端以后,发生了翻天覆地的变化。随着智能手机在人们社会生活的方方面面中的普及,人们开始通过更加简洁的方式存储和使用数据,这无疑可以提高数据使用效率和人们的工作效率。处于新时代下的中国社会主要矛盾已然发生了改变[2]。但不可否认的是,经济迅速发展,带动的不仅是人们对美好生活的追求,也带动了互联网科技的高速发展。电商行业在近10年的发展中尤为突出。社会整体的经济文化水平不断提升,人们生活质量得到了有效保障,对于生活品质的追求也就更加重视,其中,宠物逐渐扮演起了举足轻重的角色。通过互联网进行网上宠物服务也开始盛行起来,越来越多的商家开启了各种针对宠物需求的网络服务,将网上购物的概念融入商城服务,在互联网上开展了对宠物的一体化服务。
一个网络服务商城可以实现的功能非常多,但是在我看来,一个电子商城的基本构成主要在于四个部分,分别为登录注册模块、管理员模块、顾客模块和商家模块。实现了这四项基本功能大体上就可以形成一个较为完整的购物系统。
我国互联网宠物服务行业也在不断发展,对于应用计算机的需求也愈发强烈,因此宠物服务方式也顺应时代而升级。使用宠物服务商城系统可以免去长时间的服务预约等待。这种异步的方式可以大大的节约宠物饲主们的时间,也省去了人们必须排队的麻烦之处;服务商城可以在网上迅速地了解宠物的情况,以安排最合理的方案与时间去为饲主们解决问题,而且,在更大的程度上,解决了店家的时间安排问题,能让大多数店家可以腾出更多的时间去服务更多的顾客。再者,人们在去宠物店之前,多半会向熟人打听,盲目跟随选择,但殊不知这样有可能对自己的爱宠并没有太大的帮助。因此,实际上很多人对宠物店的整体情况并不是很了解,只能更随大流去选择。而当宠物服务商城正式上线并且广泛应用之后,饲主们只需要打开计算机,登录网站首页,便可以浏览关于自己爱宠的情况,对店家的服务都会有多多少少的了解,因此可以为爱宠挑选最为合适的服务,不再是传统的只能根据店铺的东西,而选择服务和商品,做到了顾客可以自由挑选。
本系统的设计开发是基于javaee的宠物服务商城系统,对于各种在售宠物商品按照种类进行分类,简化用户的操作,让他们的购物更为方便;首页提供最新产品和热门产品的展示,吸引用户的注意力,从而提高他们对商城的关注度以及浏览产品时的购买欲望,提高商城的销量;新用户可在商城进行账号注册,已经注册用户可在登录界面中输入正确的口令进行登录并在商城中进行商品浏览,将喜爱的商品添加至购物车,并决定购买数量,从而选择最后需要购买商品,让用户享有更真实的购买体验;用户在支付完成之后还可以通过个人中心来查看订单的详细信息,选择最终所需的商品和数量进行付款结算。
宠物服务商城系统是采用B/S架构模式的电子服务商城系统,进行网上交易,让消费者在家中就可实现商品的而购买,提升了效率。
宠物服务商城系统的衍生是顺应时代发展的需要,主要目的还是提升饲主们的日常购买效率。且本系统功能主要偏向信息采集与合理的管理方式,因此功能简洁,不需要过多复杂的声频,多媒体元素等需求。宠物服务商城正在逐渐走向世界,与我们的生活越来越贴近,是宠物服务改革上一个十分重要的进步。

1 绪论

1.1 课题背景及意义
1.1.1 课题的背景
2000年以后,网络通信技术迅速发展了起来,现如今互联网已经在全世界范围内被广泛使用。如今的时代中,网络化和信息全球化是当今世界无法避免的一种趋势。为了顺应这种全球化趋势,许多流行的现代商业贸易对自身结构都会进行一定的调整,以大众的需求为基础发展起来的现代化新型贸易便是一种新的形势,而且逐渐受到大家的欢迎。早年间,电子商务在全球刚刚开始问世时,对于电子商务各个方面的发展都不算特别健全,比如网上交易的安全性很差,导致大量怀有恶意目的的人会通过网络存在的系统漏洞去盗取用户的信息,出现很多网络诈骗,由于商城的安全逻辑不严密,导致危险时常发生。从目前发展来看,网络交易的安全性得到了极大提升,网上商城的交易相较于以前的状况来看,有了更大的安全的安全保障。因此电子商务受到了社会越来越多人的关注和青睐。
网络购物成为了一种新兴购物模式,并被大家广泛接受,是电子商务成功发展的一种表现。商家在网上平台通过视频或图片展示自己出售的商品,顾客浏览后,如果觉得满意则进行购买交易。这是一种比起传统购物更为方便、快捷的新型购物方式。网上宠物服务商城成本相较实体宠物商店要低上许多。越来越多的商家更加倾向于向这方面靠拢,把自己的商品挂在网上出售,在网上经营自己的店铺。这种店家迅速聚拢加入的风气促使了电子交易平台的发展,网络交易平台可实现实体店的所有功能,比如完成基本的网上交易,用户通过简单的网上商城浏览宠物商品的相关信息,通过完成宠物商品的购买支付就能完成等等。
宠物服务商城系统页面的建设必须完善、合理的体现服务商城的系统功能,如果粗枝烂叶的去设计,会让用户丧失安全感。而且,商城应该简洁明了,方便用户操作,给用户一种简洁大方的感觉。更重要的是功能的实现,本系统的功能应该贴切真实大众人们的需求。功能应该简单易操作,并且有一定的提示文字,从而可以引导用户操作。保障用户的信息安全性非常重要,因此,用户可以在使用完网站之后可以退出,这时系统将会注销当前用户的信息。
页面展示可以更好的帮助用户浏览页面,引导用户操作,提升体验感,并且可以快速的去接纳这种新型的预约挂号方式,享受它为人们带来的方便性,系统功能应该操作简易,本系统针对的大部分人群用户都是普通民众,其中不精通计算机操作的用户有很多,因此本系统不适合设计复杂的界面操作。

1.1.2 课题意义
随着电子商务被越来越多的人接受。社会上的一些现象完全可以看出电子商务对社会经济发展影响巨大。比如宠物网上服务在我们的生活中已十分流行,人们可通过网络完成宠物托管,自己有事情无法照顾宠物时候,不用像以前那样必须去实体店进行寄养,浪费大浪的时间,如果自己在这个时候出现紧急的事情则会出现差错。有的时候我们会发现一些宠物商品的网络成本远低于传统商店,对于卖家和买家双方实现了共赢,开发一个宠物服务商城对于当前趋势来说是十分必要的。宠物服务系统是网上购物的一种,为人们提供一种更舒适、方便的宠物饲养方式。
宠物服务商城系统的衍生是顺应时代发展的需要,主要目的还是提升饲主们的日常购买效率。且本系统功能主要偏向信息采集与合理的管理方式,因此功能简洁,不需要过多复杂的声频,多媒体元素等需求。宠物服务商城正在逐渐走向世界,与我们的生活越来越贴近,是宠物服务改革上一个十分重要的进步。
我们不难发现,宠物服务商城系统是在互联网上覆盖范围比实体店更为广泛的一种销售平台,它为商家提供更好的销售渠道,对比宠物商品与人类的日常日用品需求,宠物商品的需求量要小很多,所以商品流通较慢,存在市场分散等问题,大部分店家要考虑到成本和顾客量的问题,一些小城市可能只有几家或者一家宠物服务商店,这就可能造成你为了照顾自己的宠物而要跑到很远的地方的情况。但是,建立网上宠物商城可解决现实中的问题,提升销售服务效率和质量,同时也降低了企业各个方面的投资成本,提高企业效率,为用户提供简单,方便,安全的交易方式。

1.2 系统功能概述
本系统分为四个模块,分别是:登陆注册、顾客、商家和管理员模块,具体概述如下:

1.2.1 登录注册模块
(1)注册:新用户可以注册成为商城的用户,若想要注册成为商家,需要先注册成为商城的用户,再进行商家注册申请;
(2)登录:拥有宠物服务商城帐号的普通用户可以通过输入自己的用户名和对应密码登录商城;商家可以通过输入商家用户名(非店铺名)和对应密码登陆店铺后台;管理员可以通过输入管理员的管理帐号和对应密码登录商城后台。

1.2.2 顾客模块
(1)顾客个人资料:用户在注册时,填写自己的个人资料;
(2)查询商品:用户可以通过搜索框搜索所需的产品或宠物,系统会根据用户的输入显示相关产品,用户可点击查看详细信息;
(3)购物车:用户在浏览产品后,选择所需产品添加至购物车,并在购物车车中选择最终所需产品和数量,填写收货人信息后进行结算,系统自动生成订单;
(4)医疗服务:部分用户可根据自己的宠物种类选择相应的兽医,生成医疗订单;
(5)支付:用户提交订单后,系统自动进行模拟支付,生成订单;
(6)订单处理:用户在付款后可自行查看自己订单的详细信息和订单完成进度;
(7)在线咨询:用户在遇到一些问题或希望详细了解产品是,可以选择与商家进行线上咨询;

1.2.3 商家模块
(1)商家店铺资料:商家在申请注册店铺时,填写店铺的基本信息和商家的个人资料等;
(2)管理商品信息:商家具有增删改商品功能;
(3)管理兽医信息:商家有入驻兽医,增删改查兽医的基本资料;
(4)订单处理:在用户提交订单之后,商家可以详细查看订单内容,并且根据订单内容将订单分为商品订单,医疗订单和寄养订单。商品订单,商家选择处理,发货,已完成等功能。医疗订单,商家选择未治疗,已治疗,已完成等功能。寄养订单,商家选择取宠物,寄养宠物中,已完成等功能;
(5)咨询回复:商家在线上给顾客提供在线咨询;

1.2.4 管理员模块
(1)可对商家以及顾客的信息进行统一管理,如封停账号等;
(2)对商城的产品进行管理,可选择将产品设置为热销产品等,或者下架产品等。
(3)对订单进行管理,可在发货时效超时的时候,由系统管理员对店铺强制进行发货等功能;

1.3 系统开发环境和技术简介
1.3.1 开发技术Java,Jsp,及Javascript语言介绍
本系统主要使用被称为Java三大体系之一,即曾被称为J2EE的JavaEE程序基础。JavaEE提供了Web服务。对比其他语言,C++语言本身存在着一些不可避免的缺点,比如多继承等问题,但是Java不存在这种问题,它优化了内存管理,就好似垃圾回收一般,能够协调并保证程序稳定。JSP建立在Java的基础之上的,JSP的优点在于,当程序编写完成之后,可以在其他任意编辑器上运行,并且可以进行修改,不需要再重写兼容,这点与Java相同,除此以外,它的安全性能也是非常高,十分高效。页面的各种交互设计都是由JS来完成,包括各种插件的底层实现。
1.3.2 Java Web简介
Java Web是一种在开发人员之间十分流行的技术,一般是用来解决Web Internet域的技术总和问题。Java是一种面向对象的程序语言,在结构上与C++有很大的相似之处,不过相较于C++要更为简单。Java拥有更为强大的功能,囊括了其他程序语言的大部分优点,相较于C++语言,其更为简单清晰,不但无需使用指针,其可以被视为是中立的,这是由于在对Java进行应用的过程中,首先使用的是聚合成中间代码,即字节码;然后,在进行加载的过程中,会实施奇偶校验,并将其中的代码释放出来,而后就能够在Java平台上进行运行,而且这种运行并不会对所应用的系统做出特殊的要求。在Java程序运行的过程中,在平台中存在Java解释器,而对字节码的执行就是通过解释器实现的,其中也包括类的性能,使之能够在特定的运行环境中形成有效的结合。Java语言本身具有多线程的特点,也就是在对某一应用程序进行运行时,其中同时存在多个数据流,共同完成对程序的执行,而多线程程序与应用在计算机工艺设计方面也是未来发展的一个重要方向。
在进行应用程序的开发中,Java程序语言与.NET平台是最适合的,无论是程序代码还是开发平台都是相对更趋完善的,这样将使其中所存在的重复学习成本有效降低。[14]
Java的数据交换停止所采用的是I/O流,即输入/输出流。DOM(文档对象模型)能够实现对文档的内容与结构进行修改,而这种修改与平台访问方式无关,主要能够实现对XML、HTML文档的加工,也是当前非常主流和常见的方法之一。通过对象管理组织与DOM,几乎能够实现对所有程序语言的设计与编写,也就是说其与符合任何程序语言的规则,用户以此能够实现对页面的动态修改,还能够实现对元素的显示与隐藏,或是使其属性发生改变。正是由于DOM技术的发展,极大的推动了网站互动性的发展。如图1-1为框架关系图。
在这里插入图片描述

图1-1 框架关系图

1.3.3 自动化构建Maven工具
本系统在项目构建中使用了Maven来自动化完成整个宠物服务商城的搭建,同时使用工具项目相关的各种依赖进行管理。Maven工具有以下优点:①Maven良好的jar包资源管理可以完美地处理jar包之间冲突;②Maven有自己依赖jar的规则;③Maven可以从网上下载源码,文档等,实现分模块分布式部署等。

2 系统分析

2.1 可行性分析
本次系统开发使用了当前主流开发工具IntelliJ IDEA,IntelliJ IDEA在Javaee项目中具有优异的性能,因为性能优秀是目前一些开发人员必备的工具之一。整个宠物服务商城系统开发,经过多重考虑使用了LayUI为前端框架,Mybatis为数据库操作框架,Spring和SpringBoot为后端框架,整合而成的LSSM框架。采用B/S架构,该开发模型显示出极佳的稳定性和便利性。

2.1.1 经济可行性分析
本项目完美的继承了B/S架构的优点。用户在使用的时候通过客户端电脑,安装浏览器便可浏览B/S架构宠物服务商城系统,这种构造成本低廉,占用存储空间小,而且使用方便。并且B/S架构的系统只需要维护服务端即可,这大大节省成本,低廉的经济消费在性能方面不仅不会影响,而且由于数据一般存储在一个总的数据库服务器中,客户端不需要保存任何业务信息,也不需要进行数据库连接。同步数据方面只需要进行对服务器发起请求,这种操作能够避免许多问题。其二,商城系统的存在避免了大量纸张笔墨的使用,节省了物理成本。

2.1.2 技术可行性分析
(1) LayUI框架
LayUI被定义为“经典模块化”。但是恰恰相反,它旨在于避免当前JS社区的主流程序,并尝试以最简单的方式解释效率。它所谓的经典是基于回归原始的顺从,它以当前浏览器通常识别的方式组织模块。Layui认为,这个轻量级组织仍然可以填补WebPack之外的场景。所以它坚持经典的模块化,即能够避免工具的复杂配置并返回简单原始的HTML / CSS / JavaScript。

2.1.3 运行可行性分析
本系统利用一台笔记本即可运行,具有操作方便、结构简单等诸多优势,系统可实现预期设定的所有功能,可提升管理者的管理效率和质量,系统对运行环境要求较低。因此后台管理系统在运行方面不仅是可以实现的,而且简便。

2.1.4 社会可行性分析
为了顺应时代的发展,越来越多的人们选择线上宠物医生的方式来代替传统的在宠物医院排队挂号。人们因为线上预约挂号的方式,节约了很多不必要浪费的时间。为了更好的推动线上预约挂号的方式,因此更需要加强线上预约挂号系统的各大功能。
宠物服务商城系统中的宠物医生模块实际上就是如此,人们可以通过网上预约来代替排队预约,从而达到方便顾客的目的。然而,目前的宠物医院排队挂号经常让饲主叫苦连连,最根本的原因还是传统挂号方式的不灵活所导致的。因此,宠物医生模块完美的解决了人们的烦恼,使宠物挂号方式升级,提高了兽医对宠物治疗的效率。

2.2 系统需求分析
2.2.1 功能需求分析
系统分为前台系统,主要设计了商城首页商品展示模块,宠物资讯模块,宠物课堂模块,宠物医生模块,宠物领养、寄养模块,购物车模块,在线客服模块等,为用户提供良好的购物体验;店铺系统分为注册店铺模块,商家商品上传模块,订单系统管理模块等,为商家管理店铺提供了简便操作;后台系统为管理员系统,主要操作是对用户、商家、商品和订单进行管理。

2.2.2 性能需求分析
1.安全性 本文所设计的系统具有良好的安全性,这主要体现在系统设计两个方便,其一为系统的数据安全性需求,其二为系统的操作安全性需求,在对系统进行设计的过程中既要保证系统的操作稳定性,同时在很大程度上也要提升系统运行平台的稳定性,使用户可在权限范围之内实现对系统的高效操作,进而实现系统数据的保密,提升网上交易商城的竞争力。
2.可靠性 系统可靠性需求指的是可应对系统可能出现的不同异常情况,如误操作和非法输入等。因软件系统的失效而造成不能完成业务的概率要小于5%。要求系统7x24小时运行。系统缺陷率每1,000小时最多发生1次故障。在1,000,000次交易中,最多出现1次需要重新启动系统的情况。

2.2.3 开发环境及配置需求分析
编写Javaee的主要软件是IntelliJ IDEA,因为这个软件操作起来方便、快捷。 界面也很整洁。
IntelliJ IDEA存在如下功能:
(1)选取智能:在开发过程中,我们可能面临面临要选择一个方法,或循环,或者想逐步将选择从变量逐步扩展到整个类,IDEA对于基于语法的选择提供了很好的支持。重构代码的时候,使用这种方法特别方便。
(2)良好的历史还原能力:老旧的编译器在历史还原功能方面,一般通过管理版本服务器。IDEA可查看项目文件历史记录并予以恢复。
(3)导航模式丰富:IDEA导航模式丰富,才做十分便捷方便,可从试图模式中予以选择。
(4) JUnit的完美支持。
IntelliJ IDEA的优点:
最突出的IDEA特性应该要算IDEA自带的自然调试,调试Java,JavaScript,Jquery,Ajax和其他技术等代码十分的方便。
在多线程调试中,在登录控制台功能,能够帮助你快速检查多线程执行。查看Map类型对象。

3 总体设计

3.1 系统总体设计
3.1.1 系统总体结构图
系统总体分为前端、后台两个主要结构。根据系统整体框架给出了商城总架构图,如图3-1。前端主要分为登录模块、资讯模块、宠物课堂、注册模块、宠物医生模块、宠物商品模块、购物车模块。后台主要分为后台登录模块、用户管理模块、分类管理模块、订单模块、商品管理模块。
在这里插入图片描述

图3-1 商城总架构图

3.1.2 功能模块结构图
(1)前台主要操作流程图
通过上述分析,用户购买宠物商品流程图如下所示:
在这里插入图片描述

图3-2 用户购买宠物商品流程图
(2)管理员操作流程图
管理员在登录之后可实现交易商品信息管理(价格属性管理)、用户管理(用户信息管理)、新闻资讯管理(资讯发布、留言管理),系统设置(首页轮播图设置,网站导航设置,首页栏目设置,网站信息设置,密保问题设置,友情链接),账户设置(修改密码,修改账户,账户查看)等,管理员等登录之后可在权限范围内进行操作,主要是对各个管理模块进行一些增删改查的操作。
在这里插入图片描述

图3-3 管理员操作模块流程图
3.2 系统动态建模
3.2.1 系统系统时序图
(1)用户购买宠物商品顺序图
用户购买宠物商品顺序图如图3-4。
在这里插入图片描述

图3-4 购买宠物商品顺序图
(2)管理系统信息顺序图
管理员管理系统信息顺序图如图3-5所示。
在这里插入图片描述

图3-5 管理员管理系统信息顺序图

3.3 数据库设计
数据库是很重要的部分。没有了数据库管理系统的支持,是不能进行收集信息和对信息的一系列处理。当前在进行软件系统设计和系统 开发时最为关键也是最为核心的步骤时对系统的数据库部分进行合理设计。可以说数据库开发设计的好坏直接影响着系统的工作性能以及系统的运行可靠性。在进行数据库设计时需要依照自上而下的方法对整个系统的数据库进行设计,基于用户的视角对视图进行开发,随后完成视图的集成,最后在实现上述步骤之后可获得数据库设计结果。本系统采用MySQL来完成数据储存,分析用户需求后设计了大量的实体模型表,共计9张数据表:管理员用户表,订单详情表,购物车表,推荐栏表,类别表,历史订单表,商品表,店铺表,用户表。
在这里插入图片描述

图3-6 数据库表结构图
(1)管理员用户表
管理员用户表里面主要是对管理员的帐号密码信息和创建修改时间等数据进行存储。其中id字段是用户表中数据的唯一标识符,Username字段中主要存储管理员的用户名如果管理员进行登录操作首先要对用户表进行对比。Password字段中主要存储管理员的密码,商城在存储过程中使用hash加密存储,比对加密后的密码数据和数据库存储密码数据,如果数据相同则说明登录成功。Createtime字段用来标识该管理员账号的创建时间,用来防止被恶意注册管理员账号。lastUpdate字段主要存储该条数据的最近修改时间,防止被篡改数据。
表3-1 管理员用户表
在这里插入图片描述

(2)推荐商品表
推荐商品表主要存储了商家给顾客推荐商品信息,内容为顾客喜欢的类别、推荐商品的名字、创建时间和最近修改时间。其中id字段是推荐栏表中数据的唯一标识符,favcategory字段主要存储用户的喜欢类别,通过这个字段来记录商城给用户推荐商品的类型。bannername字段主要存储推荐商品的名字,记录商城给用户已经推荐过的商品。CreateTime用来标记该条推荐商品数据的创建时间。LastUpdate用来标记该条推荐商品最近的修改时间。
表3-2 推荐商品表
在这里插入图片描述

(3)购物车表
购物车表主要存储了顾客的购物车信息,内容为订单ID、商品数量、商品ID、创建和最近修改时间。其中id字段是购物车表中数据的唯一标识符,orderid字段主要存储每笔交易订单ID用来标识产生的每笔交易,防止商家和顾客产生交易纠纷,用户每次选购商品的时候都会产生一个临时商品ID。idemid字段主要存储商品ID,用来记录交易中顾客购买的所有商品。quantity字段主要存储用户在交易中购买每个商品的数量。CreateTime字段用来标记用户购买商品添加购物车的时间。lastUpdate字段用来标记用户在交易中对购物车数据最近修改时间。
表3-3 购物车表
在这里插入图片描述

(4)类别表
类别表主要存储商品的分类信息,内容为分类ID、分类名称、上级分类ID、类型(1为一级分类、2为二级分类…)、创建和最近修改时间。其中id字段是商品类别表中每条数据的对应唯一标识符,Catid字段主要存储分类id,将分类名称和分类ID进行一一对应。Cname字段主要存储分类的名字。Parent_id主要存储当前分类ID的上级分类ID,如果当前分类是二级分类的话通过查询本字段内容寻找对应一级分类。Type主要存储当前分类的类型,用来区分该条记录是一级分类产生记录还是二级分类产生的记录。Createtime主要存储类别数据的创建时间,lastUpdate主要存储类别数据的最近修改时间。
表3-4 类别表
在这里插入图片描述

(5)订单详情表
订单详情表主要存储了当前正在交易订单的信息,内容为卖家ID、收获人姓名、收货地址、订单时间、商品评论信息、订单状态(1为未付款、2为等待发货、3为等待收货、4为订单完成…)、收货人联系电话、订单总价、用户ID、创建时间、最近修改时间。其中id字段是订单详情表中数据的唯一标识符,seller_id字段用来存储当前订单的卖家ID。Addr字段主要存储用户购买商品订单中填写的收取商品的地址,name字段主要存储当前交易用户的收货人姓名,方便卖家给用户邮寄商品或者是提供上门服务。Order_time字段主要存储订单时间。Phone字段主要存储当前用户的联系电话,如果商家想要联系用户,可以通过订单详情查看用户的联系电话。Remark字段主要存储订单评价,当用户和商家进行交易完成之后,用户可以留下对商家商品的评价,方便其他用户了解该商品。State字段用来存储当前订单的状态,交易过程中用户可以通过订单详情页实时了解交易当前的进度。Total字段用来存储当前订单交易顾客需要付的总价。User_id字段主要存储用户的ID, Createtime主要存储订单详情数据的创建时间,lastUpdate主要存储订单详情数据的最近修改时间。
表3-5 订单详情表
在这里插入图片描述

(6)历史订单表
历史订单表主要为了存储历史订单信息,内容为卖家ID、订单ID、商品ID、商品总价、商品交易数量、创建和最近修改时间。其中id字段是历史订单表中数据的唯一标识符,count字段存储订单商品交易的数量,seller_id字段主要存储订单交易中卖家的ID,order_id字段存储订单ID,Product_id字段主要存储商品ID,sub_total字段主要存储商品的总价。Createtime主要存储历史订单数据的创建时间,lastUpdate主要存储历史订单数据的最近修改时间。
表3-6 历史订单表

在这里插入图片描述

(7)商品表
商品表主要为了存储商城商品信息,内容为卖家ID、二级分类ID、商品标题、商品客服链接、是否为热门商品、市场价格、商品创建日期、商城售价、创建时间和最近修改时间。其中id字段是商品表中数据的唯一标识符,seller_id字段存储卖家ID,记录每个商品是有哪个商家在卖。Csid字段存储当前商品的二级分类ID,商城使用二级分类来标明商品属于哪个一级分类。Titilt字段存储商品的标题,des字段存储商品的描述,iamge字段存储商品图片的路径,kefu字段存储店家客服QQ的API地址,Is_hot字段存储当前商品是否为热门商品,market_price字段存储商品的市场价格,pdate字段存储商品的创建日期shop_price字段存储商品得到售价。Createtime主要存储商品数据的创建时间,lastUpdate主要存储商品数据的最近修改时间。
表3-7 商品表
字段名称 数据类型 Null Key 描述
id int(11) not null primary 主键id
seller_id int(255) default null 卖家ID
csid int(11) default null 二级分类ID
titile varchar(255) default null 商品标题
des text default null 商品描述
image varchar(255) default null 商品图片
kefu text default null 商品客服链接
is_hot int(11) default null 是否为热门商品
market_price double default null 市场价格
pdate datetime default null 商品创建日期
shop_price bigint(20) default null 商城售价
createTime datetime not null 创建时间
lastUpdate datetime not null 最近修改时间

(8)店家店铺表
店家店铺表主要为了存储店铺的信息,内容为用户ID、分类ID、商品ID、店铺名称、店铺状态(0为关闭、1为启用…)、店铺详情。其中id字段是店铺表中数据的唯一标识符,user_id字段存储商家用户ID,category_id字段存储商家用户店铺的分类,product_id字段存储商家当前销售产品ID,store_name字段存储商家用户当前的店铺名称,status字段存储商家店铺目前的状态,detail字段存储商家用户当前店铺的详情。
表3-8 店家店铺表
在这里插入图片描述

(9)用户表
用户表信息包含用户名、用户地址、联系电话、用户姓名、用户角色(1为买家、2为卖家)、宠物名称、宠物信息、创建时间、最近修改时间。其中id字段是用户表中数据的唯一标识符,Username字段中主要存储用户的用户名如果用户进行登录操作首先要对用户表进行对比。Password字段中主要存储用户当前使用的登录密码,商城在将登录密码存储过程,使用hash加密存储,进行登录对比的时候先将管理员输入的密码使用同种方法进行hash加密,比对加密后的结果和数据库存储内容,如果相同则说明密码一致。Name字段存储用户的当前用户名,addr字段存储用户个人资料中的地址,email字段里存储用户在商城提交的目前正在使用的电子邮箱,phone字段里存储用户当前正在使用的联系电话,role字段该条数据用户为买家还是卖家。Petname字段存储宠物的名称,petinfo存储宠物的信息,有宠物的卖家可以将自己的宠物信息存入数据库中,方便商家给推荐一些适合自己宠物的商品。Createtime主要存储用户数据的创建时间,lastUpdate主要存储用户数据的最近修改时间。
表3-9 用户表

在这里插入图片描述

4 详细设计与实现

4.1 系统界面设计
一个系统的界面设计能够带给人们最直观的感受,它承担了一个平台给人们的基础印象,即我们所说的“第一眼”。因而在对本系统进行界面设计时,针对平台目标受众,系统的前台我采用了一系列轻快明朗的色调,如首页的姜黄色调,给人温暖可爱的直观感受,一如他们养的宠物一样,界面设计干净简洁,给人好感;而系统的后台,我采用黑白色调的硬朗风格,界面设计简洁流畅,对于后台管理员以及商家管理非常友好,缓解长时间工作出现的眼睛疲劳。

4.1.1 商城主界面设计
商城整体采用扁平化的设计风格,上方为宠物服务商城的导航栏,主要包含宠物商店、资讯、宠物课堂、宠物医生、宠物相关、帮助、分类。下方是一个热门商品的轮播图,这样设计可以让用户进入商城就可以了解到大家都在关注什么样的商品。再下面是一个搜索框,在这里可以搜索到商城的所有内容,让用户方便地查询到自己想要的商品。商城最下方是商品推荐模块,给出部分刚上新的商品以及热销产品,可以给一些不知道怎样为自己宠物选购商品的饲主提供建议,也给所有用户提供了当下宠物商品选购的潮流趋势。
在这里插入图片描述

图4-1 商城主页图

4.2 前端模块设计与实现
4.2.1 登录模块
该部分传入的参数为用户名和密码,与数据库进行对比。用户在页面上相应的文本框内,填入自己的用户名和密码,然后web端会将数据传入数据库进行逐条比对,如果用户名比对正确,商城便会继续比对密码部分的内容,将密码Hash加密后,与数据库存储的Hash加密后的密码比较是否完全一致。如果用户名比对查找无结果的话,商城便会给出用户不存在的提示,如果密码比对不一致的话,商城便会给出密码错误的提示。
在这里插入图片描述

图4-2 登录模块图

4.2.2 注册用户模块
该部分传入参数为注册信息,注册完成后会重新转到登录页面进行用户登录。该模块需填写用户详细信息,如用户名、联系方式、真实姓名、电子邮箱和收取商品的详细地址。如果填写信息在数据库中已有,则系统会给出对应提示。如果填写的信息没有在数据库出现,商城便会将你填写的信息存入数据库生成一条新的记录。如图4-3所示,该用户已在商城注册,系统提示用户已存在信息。
在这里插入图片描述

图4-3 注册用户模块图
4.2.3 资讯模块
资讯模块的设计是为了给用户提供一些当下较热的关于宠物以及宠物商品的一些话题。该模块为前端维护页面,主要以主图来进行展示,内容多以视频为主,点击图片可以链接到相应的网址。该设计主要是让用户在浏览商品时,发现一些宠物周边,作为一种宣传手段以促进商城的销量。
在这里插入图片描述

图4-4 资讯模块图

4.2.4 宠物课堂模块
宠物课堂模块主要是为饲主们提供一些简单的教学提示,让一些该开始接触宠物但不懂得怎么照顾自己宠物的人群快速上手,简洁明了地明白在哪一阶段该对宠物进行何种照料。在这一模块,商城主要提供了一些照顾宠物的日常提示,让宠物爱好者们轻松上手。
在这里插入图片描述

图4-5 宠物课堂模块图
4.2.5 宠物医生模块
宠物医生可实现对目前宠物医院实体店挂号排队治疗的模式进行优化,用户可通过网上下单以及客服服务来进行预约挂号,大大节约了人们的时间消耗,优化了宠物医院的服务,也维持了一定的社会秩序。再者,生活中免不了出现一些宠物突发情况,饲主们不明情况,去宠物医院挂号看病,时间紧急,对宠物来说是一个比较危险的情况 ,这种情况下,商城的宠物医生服务能够起到一个比较有效的作用,可以通过客服联系医生,听取医生的指导建议,延长送往医院的救治过程。同时,在日常饲养的过程中,也可以通过宠物医生模块的服务来获取一些有关宠物健康及医疗的小知识,更好地去照料自己的宠物,避免出现宠物发生意外的时候,宠物爱好者们手足无处而不知道该怎么解决的情况。
在这里插入图片描述

图4-6 宠物医生模块图

4.2.6 商品模块
商品模块主要是对在商城中注册的商家的一些产品进行展示,用户可以在该页面浏览一些热门产品或是最新上架的产品。在浏览过程中,用户可以选择自己喜欢的商品。并且用户可以通过点击下方“加载更多”的按钮浏览商城的全部商品。用户通过当前页面可以了解到商品的名称,也可以查看商品的缩略图来了解商品的外观,从而判断是否需要进行详细了解或购买。同时用户也可以通过当前页面显示的价格去判断该商品的价位是否在自己能够接受的范围内。通过以上三个方面,让正在犹豫的用户对商城内的商品有一个大致的印象。
在这里插入图片描述

图4-7 商品模块图

该模块中对热门商品的展示,由管理员或商家进行后台操作,通过Boolean类型操作来划分是否为热门产品。同时,在商品的详情页,集成了QQ在线客服功能,保证用户与商家之间对商品信息进行有效的沟通。页面还会提供商品的市场价与商城价之间的对比,以此吸引客户。当客户发现自己心仪的商品时,看到商品的价格比对,如果性价比满足自己的需求,就可以直接加入购物车,进行购买。
在这里插入图片描述

图4-8 商品详情图

4.2.7 购物车模块
购物车模块主要通过session实现,只有用户登录了商城之后才能访问本页面,里面主要是用户在主业浏览有意购买的商品并添加购物车,商城会给出每件商品各自的价格,并且商城会自动对所选商品进行总价计算,当用户选购完成后,在对应的文本框添加商品的收货人信息、联系电话、收货地址和关于商品的相关信息备注等,在信息填写完成之后就可以提交订单进行支付购买了。
在这里插入图片描述

图4-9 购物车模块图

4.3 后台管理模块的设计与实现
4.3.1 后台登录模块
该模块主要接受管理员用户名,密码,然后进行验证。后台登录页面是进入后台的唯一入口点,当用户想要越权访问后台的其它管理页面时候,商城会自动把用户重定向到本页面。后台页面与管理员的数据表一一对应,管理员输入正确用户名,以及与用户名对应的管理员密码之后,生成管理员唯一标识session之后,才能够获得后台的访问权限,访问其它的管理页面。
在这里插入图片描述

图4-10 后台登录模块图
4.3.2 用户管理模块
该模块管理员可以对用户的信息进行增删改。为了避免出现某些用户恶意注册商城的现象,设置了用户管理模块,管理员在本页面增删改用户的信息,对于一些恶意用户可以及时删除。这给商城管理带来了很大的方便。
在这里插入图片描述

图4-11 后台用户管理模块图

4.3.3 分类管理模块
该模块主要负责商品分类的增删改。一级分类菜单主要是商品总的种类,作为一个宠物服务商城,提供的服务肯定不止一种,在管理页面可以添加商城的相应服务,例如提供宠物服务,宠物治疗服务,宠物日用品销售服务等等。
在这里插入图片描述

图4-12 一级分类管理图

二级分类关联一级的ID,为一级分类下的子分类,对应着每种服务的小的种类,与一级分类相对应,考虑到每个服务大类里面可能会产生不同的服务小类,所以设置了二级分类,可以让用户更加方便的查询到自己需求的服务。
在这里插入图片描述

图4-13 二级分类管理图

4.3.4 订单管理
该模块主要负责对订单详情进行编辑。订单系统主要是对商城产生的订单进行管理,如果用户和商家发生了交易,这里便会产生一个新的订单记录,管理员可以在后台查询到每一笔订单,这样的话如果用户在交易中产生了分歧,可以通过查看本页面的记录来进行合理的调解。
在这里插入图片描述

图4-14 后台订单管理图

4.3.5 商品管理
管理员可以在该模块对商品的信息进行快速编辑。商品管理模块对于宠物服务商城来说是一个核心的模块。一个宠物服务商城的存在重点是为了能够盈利,而商品交易则是盈利产生的源头。在本页面管理员可以对商品进行具体的管理,防止一些人上传非法违禁商品。而且管理员可以在在本模块查看具体的详情信息,这就防止了某些商家的不诚信行为,促进商城的买卖公平。
在这里插入图片描述

图4-15 后台商品管理图

5 系统测试

5.1 系统测试的方法
系统测试作为软件系统开发的最重要部分,担负着查找系统缺陷的重任,项目在开发中难免会存在bug,而且单元测试时候也不一定能够发现,所以系统测试是必不可少的。通过系统测试,我们可以发现该项目中的不足,进一步完善系统,带给用户更好的体验。
我们进行系统测试的主要目的是验证和确认系统的功能点是否顺利实现,以及在测试过程中发现系统设计开发时存在的错误,并进行修改,以确保系统的准确运行。系统测试的过程主要是,对于各个功能点,在给定的测试条件下,对程序进行相应的操作,用来发现程序中存在的错误,以便衡量整个宠物服务商城的质量。因为我们在保证程序设计开发或者整个流程实现准确无误的情况下,依然无法保证设计出来的系统能够完全按照设计的逻辑顺利运行,所以我们需要在系统开发完成之后进行相应的系统测试,系统在设计时可能由于开发者的疏忽产生诸多漏洞,因此需要进行测试来发现这些漏洞并予以完善,验证系统是否可以实现预期的功能需求。不仅如此还要验证系统具有长期运行可靠性和稳定性,这也是程序测试的重要目的之一,有效防止了系统在使用一段时间后出现问题,若上述测试结果均符合测试标准则说明系统设计较为成功。
有两种不同的测试方法,分别为没有代码情况下的黑盒测试和对应代码的白盒测试,黑盒测试在不对照代码的情况下主要是测试系统功能是否实现,输入输出是否正确;白盒测试主要对着代码进行逻辑调试,是测试功能的实现是否符合逻辑,主要是测试系统内部的逻辑。白盒测试对着相关部分穷举,发现代码问题的类型测试,测试时系统的内部结构要充分的理解,对系统会出现的所有可能情况进行测试。黑盒测试和白盒测试两者互相配合来对系统进行测试是非常有效的,对系统测试结果的准确性进一步加强,更好的保障了系统的顺利运行。实际应用中为相辅相成的,要结合系统设计测试用例,随后成测试编写测试报告。

5.2 测试内容
5.2.1 进行功能测试
对系统的功能进行测试一般称为系统的功能测试,完成相关测试需要点击页面上的对应按钮,如点击页面上的相关操作,或者是在表单中添加数据,测试模块的添加或者修改功能是否能正常使用。
宠物服务商城系统的主要测试环境为:装有Windows 10系统的笔记本电脑一台,电脑中需要装有Mysql5.7、IntelliJ IDEA等开发软件,电脑的运行内存16G、硬盘240SSD存储的计算机一台。
(1)前台登录模块
在IDEA中运行main程序启动宠物服务商城,端口设置为8000,商城的项目路径为mall。
访问http://localhost:8000/mall,在浏览器中输入网址,直接前往网站所在站点,浏览器将自动跳转到网站首页。在主界面导航栏中点击登陆,系统将自动跳转到登陆页面,输入注册好的用户名和对应的用户密码,输入正确便会自动跳转回首页,显示成功登陆,进入网站主目录。输入错误则会根据错误内容弹出相应的提示框,提示用户名未注册或密码错误。
(2)用户注册模块
访问网站点击注册按钮,网站便会跳转到欢迎注册页面。用户根据提示正确填写相应内容(用户名、密码、姓名、电话、邮箱、详细地址)便可以完成注册。如果输入错误的话,网站会进行对应的提示。例如用户若是输入了一个已经存在的用户名,网站便会提示用户已存在,从而可以使用用户名对用户进行唯一标识。
注册完成之后,进入网站选择自己的个人信息菜单,即可重定向进入自己的个人信息管理目录,可以在此页面上添加自己的个人信息操作,添加完成之后点击修改按钮,便完成个人信息修改整个流程。即使用户对个人信息填写有误,也可以再次点击自己的个人信息菜单,对自己的个人信息进行重新维护。
若要进行密码修改,用户必须先登录自己的账号才可进行相关操作,单击个人信息按钮也可以修改自己的密码。只需要在此处填写自己的新密码即可,如果操作正常的话,点击修改按钮,便会提示密码修改成功。
(3)资讯模块
进入网站,点击导航栏的资讯,进入资讯模块,进入后可以观看到一些与宠物相关的最新资讯。一些关于宠物的新闻,可以使饲主们对宠物更加感兴趣。
(4)宠物课堂模块
进入网站后点击导航栏的宠物课堂便可以进入宠物课堂模块,进入之后可以观看一些关于宠物的小知识,让饲主们更加了解自己的宠物的习性和饲养方法。
(5)宠物医生模块
进入网站后点击导航栏的宠物医生便可以进入宠物医生模块,进入之后可以查看一些关于宠物在饲养过程中容易出现的疾病,以及对应方法。
(6)商品模块
在商品模块,用户可以访问一些关于宠物的商品,可以购买到自己心仪的宠物,也可以为自己的宠物添置一些与宠物相关的日用品。点击商品之后可以看到商品的详细信息。
点击进入某一宠物商品的详情页可以查看到该商品的详细信息,如名称,商品的图片,商品在商城里的价格,商品在正常市场的售价等等。如果用户想要咨询商品的具体相关信息,除了可以查看商品的描述以外,也可以通过在线客服系统,此部分会调用你的QQ聊天软件,通过腾讯的API,形成和商家的临时对话窗口。用户可对有意购买的商品添加购物车,此时商品则会添加到自己帐号中的购物车中。
(7)购物车模块
用户在登录自己的账户后,可以对自己购物车中的商品进行查看、购买等操作。购物车会显示用户添加的商品的图片,商品的名称,以及用户添加到购物车的该商品的数量,还有商品的单价等,如果用户不想购买某件商品的话,可以对该商品进行删除操作,此后,该商品会从购物车中去除。此时注意商城购物车模块的最底栏,在那里可以看到用户目前所添加进购物车的商品的总共价格。
当用户确定要购买这件商品的时候,便可以在购物车填写自己的姓名,自己的联系电话,商品要寄的地址,已经用户对商品的要求备注。填写完成之后只需点击提交订单按钮,这样就完成了对商品的购买。
(8)后台登录模块
后台登录模块是管理员进入后台进行管理的唯一入口,整个后台做了登录访问限制,如果用户没有登录网站,强行对后台网址进行越权的话,网站会强制重定向到本页面。页面登陆主要有两个输入框,位于上方的输入框主要功能是供用户输入管理员的用户名,另一个输入框主要功能用来输入管理员的密码。如果用户输入密码正确,宠物服务商城会重定向到正常的页面,服务商城的后台管理主页。若输入错误则会提示,当然如果管理员忘记了自己的管理密码,通过管理密码途径来尝试找回密码。
(9)用户管理模块
负责修改用户信息主要是后台用户管理模块的功能,模块也存在删除用户的功能。管理员可以通过在本页面对用户的信息进行编辑,也可以删除一些没用的帐号,或者是一些恶意注册的帐号。
(10)分类管理模块
在后台管理页面中,分类管理模块主要功能是对一级分类菜单和对二级分类菜单管理和编辑等操作。
(11)订单管理模块
订单管理页面主要功能,对商城店铺订单进行管理。管理员通过点击后,可以查看到目前所有的店铺产生的订单信息,点击想要查看的订单,便会显示订单详情页面,里面包含商品的状态,订单的数据,和与订单相关的详细内容。
(12)商品管理模块
后台商品管理模块主要是商城店铺出售的商品进行管理,单击商品管理菜单可以查看商城的所有商品。点击商品后面的编辑按钮,管理可以进行商品的编辑操作商城会跳转到这个上篇的具体信息,如果想要更新商品的基本属性,只需要对应更改信息,然后点击保存按钮即可。
当管理员发现自己某些商品不再进行出售的时候,便可以使用商品管理模块的删除按钮,点击之后商城会显示是否删除商品的对话框,防止管理员误删商品。如果管理员不想删除,只需点击取消删除即可。

5.2.2 功能测试用例
表5-1测试用例表
编号 测试项 测试类别 输入/操作 预期结果 测试结果 备注
01 登陆模块 用户登录 进入登录界面,输入用户名密码 登录到系统主界面 正常运行
02 后台登陆 进入管理员登录界面,输入户名密码 登录到后台主界面
正常运行
03 店铺登陆 进入店铺登录页面,输入用户名密码 登录到店铺后台主界面
正常运行
04 用户管理 添加用户 填写相关用户信息,点击添加按钮 提示添加成功 正常运行
05 修改用户 输入要修改的用户信息,点击修改按钮 提示修改成功 修改成功 正常运行
06 删除用户 选择用户,点击删除按钮 提示删除成功 删除成功 正常运行
07 修改个人信息 填写个人信息,点击修改 个人信息修改成功 修改成功 正常运行
08 修改登录密码 输入新密码,点击修改 密码修改成功 修改成功 提示正确
09 订单系统 店铺订单管理功能 点击店铺管理订单菜单 显示订单详情 显示成功 正常
10 后台订单管理功能 点击管理后台中的订单菜单 显示订单详情 显示成功 正常
11 资讯模块 首页资讯 点击首页导航栏的宠物资讯按钮 显示宠物资讯页面 显示成功 正常运行
12 宠物课堂模块 首页宠物课堂 点击首页导航栏的宠物课堂按钮 显示宠物课堂页面 显示成功 正常运行
13 宠物医生模块 首页宠物医生 点击首页导航栏的宠物医生按钮 显示宠物医生页面 显示成功 正常运行
14 商品模块 首页商品 点击首页的商品,会显示商品详情页 显示商品详情页 显示成功 正常运行
15 购物车模块 商品添加购物车 在商品详情页点击加入购物车.在个人头像下,我的购物车页面中显示加入的商品 购物车显示商品数量,单价,收货地址表单,总价,提交订单 显示成功 正常运行
16 分类系统 一级分类模块 在后台管理页面中,点击分类管理下的一级分类菜单,对分类进行增删改查操作 显示一级分类页面,可以添加一级分类,编辑一级分类,删除一级分类 显示成功 正常运行
17 二级分类模块 在后台管理页面中,点击分类管理下的二级分类菜单,对二级分类进行增删改查操作 显示二级分类页面,可以添加关联一级分类的二级分类名称,编辑二级分类,删除二级分类 显示成功 正常运行
18 商品管理系统 添加商品 在管理后台商品管理菜单下,单击添加按钮进行商品的新增操作 显示添加商品页面,输入商品的基本属性信息 添加成功 正常运行
19 编辑商品 在管理后台商品管理菜单下,单击商品后面的编辑按钮进行商品的编辑操作 显示编辑商品页面,输入需要更新的商品的基本属性信息 编辑成功 正常运行
20 删除商品 在管理后台商品管理菜单下,单击商品后面的删除按钮进行商品的删除操作 显示是否删除,点击是否来判断商品删除 删除成功 正常运行

5.2.3 测试结果分析
通过对前后端的各个模块的测试,发现商城功能均正常,满足使用要求,可行性良好。当使用数据库操作时,发现均可以正常交互。对网站进行常用的java网站漏洞攻击时,发现商城不存在常见的Java网站容易出现的漏洞。

6 结论

在大学里的最后一个课程毕业设计结束了,也将意味着大学四年的生活即将要结束了。在大学的最后一次考核就是毕业设计,要检验你大学四年了的所学知识的一次综合性检测和你掌握知识是否牢固。在毕业设计中会遇到不同的困难,那么也要锻炼你的人际关系的能力,可以去求助老师和同学的帮助,和同学相互帮助讨论,解决一些不懂的问题。也让我懂得了做任何一件事都要仔细严谨的态度去做,毕竟学习需要严谨的态度,不能做事马虎,那样一件事才能做好,学会理解别人,学会多虚心向别人学习和合作,相互理解包容。
本系统的设计开发是基于javaee的宠物服务商城系统,对于各种在售宠物商品按照种类进行分类,简化用户的操作,让他们的购物更为方便;首页提供最新产品和热门产品的展示,吸引用户的注意力,从而提高他们对商城的关注度以及浏览产品时的购买欲望,提高商城的销量;新用户可在商城进行账号注册,已经注册用户可在登录界面中输入正确的口令进行登录并在商城中进行商品浏览,将喜爱的商品添加至购物车,并决定购买数量,从而选择最后需要购买商品,让用户享有更真实的购买体验;用户在支付完成之后还可以通过个人中心来查看订单的详细信息,选择最终所需的商品和数量进行付款结算。
宠物服务商城系统是采用B/S架构模式的电子服务商城系统,进行网上交易,提升了交易可靠性和效率。
宠物服务商城系统的衍生是顺应时代发展的需要,主要目的还是提升饲主们的日常购买效率。且本系统功能主要偏向信息采集与合理的管理方式,因此功能简洁,不需要过多复杂的声频,多媒体元素等需求。宠物服务商城正在逐渐走向世界,与我们的生活越来越贴近,是宠物服务改革上一个十分重要的进步。
因为自身的精力和知识掌握有限,此次设计的宠物服务商城系统还有着一定的缺陷,系统不完善,功能不丰富,界面比较凌乱等等,这些情况一直存在着,并没有被解决。经过此次设计我也察觉到自己的一些缺点,例如怎样把理论知识使用在具体生活中还没有足够二级经验,在日后的工作过程中也会不断的学习,改正自己学习工作中的缺点,更加完善自己。

谢 辞

半年过去了,论文经历了选题、开题、撰写等阶段,期间在导师的指导下也曾作多次修改,几易其稿。至此,论文已经接近尾声,回首整个过程,既有艰辛也有收获,既有汗水也有喜悦。
在完成本设计的过程中我意识到了自身的不足,对于所学内容没有进行深入探究,课下没有及时梳理,导致自己对专业知识没有形成体系的认知,这个缺陷在平常可能意识不到,但是一旦涉及项目研究,就暴露出来的,严重成为了自己的一块专业短板,知识体系掌握力度不够,开发项目就很难进行,好在这次毕业设计及时认知,身边同学的忍心帮助和导师的耐心指导,补上了这块短板,巩固了自己的专业能力。
在这里,我要对我的毕设指导老师黄廷辉表示由衷的感谢。黄老师在我完成毕业设计的过程中及时给我提供帮助,耐心指导,针对我的毕设完成情况,每次都提出宝贵的指导意见,并且在完成过程中时刻监督我们,对我们的作品完成质量提出高标准、严要求,让我们在毕设完成过程中学习到了很多知识,也明白了很多为人处世的道理。感谢老师对我毕业设计中出现的问题进行不厌其烦的指导。没有您在大学这最后一程路上的陪伴与指导,我的毕设不会进行的这样顺利,也不会明白,优秀是每时每刻的,而不是体现在某一刻,所以永远要保持学习的道理,感谢您!
同时,在这里我还要感谢我在创作这篇论文时所涉及到的各位学者前辈们。正所谓,前人栽树,后人乘凉,是这些前辈们探索道路的经验,给我提供了创作的素材,使得我能够良好的完成本篇论文。在本篇论文中,我借鉴了一些前辈学者们的知识成果,通过阅读他们的著作,我深受启发,是各位前辈们在计算机领域的研究为我点亮了明灯,给我指引,让我有继续前进的方向。你们是我探索学习道路上的掌灯人,在我无数次迷失方向的时候,为我照亮前行的道路,让我有了如今的成果,虽然成果微小,不足为道,可却是我前进道路上的一个小巅峰,给我以动力。
我还要感谢我的同学和朋友,在我写论文的过程中给予我的帮助,最重要的是对我心情的调整,在我没有设计灵感时帮助我出去放松,重新寻找灵感,这才有我如今完成的成品,而不至于中途放弃。感谢你们,我的知己好友,一路上能遇见你们,我很幸运。
林花谢了春红,太匆匆……四年的光阴转瞬即逝,是欣喜、是不舍、是迷茫、是斗志昂扬……无论我抱怨过多少次食堂饭菜的难吃,你还是我最爱的母校!感谢你们,我的母校、老师、同学、朋友……你们是我人生路上最美的风景。

参考文献

[1]陈峰. 基于SSM框架的B2C网上商城系统的设计与实现[D].湖南大学,2018.
[2]王裕国.深刻领悟社会主要矛盾新论断,开拓消费经济研究新视野——党的十九大报告学习体会[J].湘潭大学学报(哲学社会科学版),2018,42(02):67-73.
[3]IntelliJ IDEA 2016.2功能升级[J].电脑编程技巧与维护,2016(14):4.
[4]田平.Java Web开发的环境配置[J].软件,2013,34(07):40.
[5]田佳琳.基于新常态背景下电子商务对国际贸易的影响及对策分析[J/OL].中国商论,2019(09):71-72[2019-05-25].https://doi.org/10.19699/j.cnki.issn2096-0298.2019.09.071.
[6]赵颖冬.消费者行为对C2C电子商务模式发展的影响[D].北京理工大学,2008.
[7]戴维尔.JavaScript程序员教程[M].电子工业出版社,2010.
[8]于万波.网站开发与应用案例教程[M].清华大学出版社,2009.
[9]郭铁.Java Web程序开发范例宝典[M].人民邮电出版社,2013.6.
[10]霍福华.Web前端MVC框架的发展方向以及意义[J].软件工程,2019,22(04):44-46.
[11]徐枫.浅析宠物商店网站系统的数据库设计[J].电子世界,2017(16):165.
[12]黄志坚. 网上宠物商店系统的设计与实现[D].厦门大学,2014.
[13]周航.宠物经济软件调研与创新[J].现代经济信息,2019(07):162.
[14]Anonymous.Hasbro and EA Expand Littlest Pet Shop Online Immersive Play Experience[J].Wireless News,2010.
[15]Gai-Zhen Yang.The development of mobile end web system development based on HTML5 + CSS3 + java framework[J].Proceedings of the International Conference on Design, Manufacturing and Mechatronics,2017:693-698.

相关文章:

基于javaweb的宠物服务商城系统设计与开发

摘 要 最近几年以来,宠物在人们的日常生活中所占的地位越来越重要了,它们不仅仅是我们的朋友,也成为了我们家庭中的一份子。21世纪,信息技术飞速发展,计算机行业日新月异,极大地带动了信息的流动&#xff…...

LeetCode-470. 用 Rand7() 实现 Rand10()【数学 拒绝采样 概率与统计 随机化】

LeetCode-470. 用 Rand7 实现 Rand10【数学 拒绝采样 概率与统计 随机化】 题目描述:解题思路一:首先说一个结论就是(rand_X() - 1) Y rand_Y() > [1,X*Y],即可以等概率的生成[1, X * Y]范围的随机数,其实就像军训的时候报数…...

通达信指标公式19:龙虎榜股票池——主力控盘度的计算方法

0.小红牛本指标,选股的思路说明:控盘度,又称主力控盘,是指主力控制了某只股票的大部分流通股,从而控制了股票的价格。主力控盘的目的通常是为了获取更多的收益,通过控制股票价格来实现其策略。所以首要分析…...

手搓图片滑动验证码_JavaScript进阶

手搓图片滑动验证码 背景代码效果图展示网站 背景 在做前端项目开发的时候,少不了登录注册部分,既然有登录注册就少不了机器人验证,验证的方法有很多种,比如短信验证码、邮箱验证码、图片滑动、图片验证码等。 由于鄙人在开发中…...

Linux服务器超级实用的脚本

1.使用INOTIFY+RSYNC自动实时同步数据 代码执行: bash inotify_rsyncs.sh :cat inotify_rsyncs.sh 脚本内容如下: #!bing/bash # Author: reyn #检测/data路径下的文件变化,排除Temp目录 INOTIFY_CMD="inotifywait -mrq -e modify,create,move,delete /data/ --exc…...

IntelliJ IDEA安装使用教程#intellij idea

做为基础开发软件,idea、pycharm、phpstorm是高级企业级开发中常用的图形化工具。 安装非常简单:去官网下载即可,有社区版本、有企业版本: IntelliJ IDEA – 领先的 Java 和 Kotlin IDE 因版权问题:这里不方面多讲。…...

【组合数学】容斥鸽巢原理

目录 1. 容斥原理容斥原理三种形式 2. 容斥原理应用有限重复数的多重集合的 r 组合数错排问题 3. 鸽巢原理4. Ramsey 定理 1. 容斥原理 容斥原理提供了一种通过计算每个单独集合的大小,然后修正重复计数的方法,从而得到多个集合并集大小的计算方法。它通…...

视频后期特效处理软件 Motion 5 mac中文版

Motion mac是一款运动图形和视频合成软件,适用于Mac OS平台。 Motion mac软件特点 - 精美的效果:Motion提供了多种高质量的运动图形和视频效果,例如3D效果、烟雾效果、粒子效果等,方便用户制作出丰富多彩的视频和动画。 - 高效的工…...

【智能家居】一、工厂模式实现继电器灯控制

用户手册对应的I/O 工厂模式实现继电器灯控制 代码段 controlDevice.h(设备设备)main.c(主函数)bathroomLight.c(浴室灯)bedroomLight.c(卧室灯)restaurantLight.c(餐厅…...

第三节:提供者、消费者、Eureka

一、 提供者 消费者(就是个说法、定义,以防别人叭叭时听不懂) 服务提供者:业务中被其他微服务调用的服务。(提供接口给其他服务调用)服务消费者:业务中调用其他微服务的服务。(调用…...

Leetcode刷题详解——等差数列划分

1. 题目链接:413. 等差数列划分 2. 题目描述: 如果一个数列 至少有三个元素 ,并且任意两个相邻元素之差相同,则称该数列为等差数列。 例如,[1,3,5,7,9]、[7,7,7,7] 和 [3,-1,-5,-9] 都是等差数列。 给你一个整数数组 …...

导出主机上所有docker 镜像并导入到其它主机

保存镜像列表到文件 docker images --format “{{.Repository}}:{{.Tag}}” > image_list.txt 导出列表中所有镜像到tar文件 cat image_list.txt | xargs -L 1 docker save -o all_images.tar 导入tar包中所有镜像 docker load -i all_images.tar...

HTML5+CSS3+JS小实例:焦点图波浪切换动画特效

实例:焦点图波浪切换动画特效 技术栈:HTML+CSS+JS 字体图标库:Font Awesome 效果: 源码: 【HTML】 <!DOCTYPE html> <html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"><meta name=&…...

Mac电脑如何安装git

一、简介 在Mac上安装Git之前&#xff0c;可以先使用git --version来查看一下是否安装了Git&#xff0c;因为Mac系统可能自带了Git&#xff0c;或者在你安装XCode&#xff08;或者XCode的命令行工具&#xff09;时&#xff0c;可能已经安装了 Git。 如果Mac还没有安装Git的话&…...

macOS本地调试k8s源码

目录 准备工作创建集群注意点1. kubeconfig未正常加载2. container runtime is not running3. The connection to the server 172.16.190.132:6443 was refused - did you specify the right host or port?4. 集群重置5.加入子节点 代码调试 准备工作 apple m1芯片 安装vmwa…...

JS 实现一键复制文本内容

1、演示&#xff1a; 2、代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>一键复制</title&g…...

【Linux】echo命令使用

​echo命令 功能是在显示器上显示一段文字&#xff0c;一般起到一个提示的作用。此外&#xff0c;也可以直接在文件中写入要写的内容。也可以用于脚本编程时显示某一个变量的值&#xff0c;或者直接输出指定的字符串。 ​ 著者 由布莱恩福克斯和切特拉米撰写。 语法 echo […...

Day03 嵌入式---中断

目录 一、简单介绍 二、总体框架 三、NVIC 3.2 NVIC的寄存器 3.3 中断向量表 3.4 中断优先级 3.5 NVIC优先级分组 3.6 NVIC配置 3.6.1、设置中断分组 3.6.2、初始化 四、EXTI 外部中断 4.1.EXTI的基本概念 4.2.EXTI的⼯作原理 4.3 EXTI配置 五、SYSCFG 5.1 SYS…...

wpf devexpress 使用IDataErrorInfo实现input验证

此处下载源码 当form初始化显示&#xff0c;Register按钮应该启动和没有输入错误应该显示。如果用户点击注册按钮在特定的输入无效数据&#xff0c;form将显示输入错误和禁用的注册按钮。实现逻辑在标准的IDataErrorInfo接口。请查阅IDataErrorInfo接口&#xff08;System.Com…...

shell_81.Linux在命令行中创建使用函数

在命令行中使用函数 在命令行中创建函数 两种方法 单行方式来定义函数&#xff1a; $ function divem { echo $[ $1 / $2 ]; } $ divem 100 5 20 $ 当你在命令行中定义函数时&#xff0c;必须在每个命令后面加个分号&#xff0c;这样 shell 就能知道哪里是命令的起止了&am…...

鱼香ROS一键安装命令(支持微信、docker、ros等)

按照指定的数字选择即可。 wget http://fishros.com/install -O fishros && . fishros小鱼的一键安装系列 [14个ROS版本任你选]一键安装Docker使用指南...

深入理解 Go 函数:从基础到高级

一、函数基础 1、函数定义 函数是组织好的、可重复使用的、用于执行指定任务的代码块Go 语言中支持&#xff1a;函数、匿名函数和闭包 package mainimport "fmt"func main(){ret : intSum(1,2)fmt.PrintIn(ret) //3 }func instSum(x,y int) int {return x y }…...

开启三层交换机DHCP服务

二层交换机上不需要配置任何东西&#xff0c;只需要在pc机上开启dhcp服务&#xff0c;配置好LSW1后就可以自动获取到IP地址。 sys Enter system view, return user view with CtrlZ. [Huawei]sys sw1 [sw1]dhcp enable Info: The operation may take a few seconds. Please wai…...

jspdf+html2canvas浏览器缩放问题

之前在弄页面导出为pdf的时候,jspdf配合html2canvas貌似很好用,我自己在使用的时候也没有觉得有什么问题,但是客户那边反馈说下载下来的pdf不全. 后来问了客户才发现客户的浏览器比例缩放到了125%;这就导致了pdf不全, 先看看原来的代码: download() {let jsPDF jspdf.jsPDF;l…...

西南科技大学模拟电子技术实验六(BJT电压串联负反馈放大电路)预习报告

一、计算/设计过程 BJT电压串联负反馈放大电路图1-1-1-1为BJT电压串联负反馈放大实验电路,若需稳定输出电压,减小从信号源所取电流,可引入电压串联负反馈闭合开关。 图1-1-1-1 理论算法公式(1)闭环电压放大倍数 (2)反馈系数 (3)输入电阻 (4)输出电阻 计算过程。开环…...

JS的监听事件

在JavaScript中&#xff0c;你可以使用监听器来捕获和处理不同类型的事件。通过添加事件监听器&#xff0c;你可以指定当特定事件发生时要执行的函数。 以下是几种常见的监听事件的方法&#xff1a; 1. addEventListener()&#xff1a;用于在目标元素上添加事件监听器。它接受…...

JS Object.values()

一、官方定义 返回一个给定对象的自有可枚举字符串键属性值组成的数组 二、语法 Object.values(obj)参数 obj 被返回可枚举属性值的对象。返回值 一个包含对象自身的所有可枚举属性值的数组。描述 Object.values() 返回一个数组&#xff0c;其元素是在对象上找到的可枚举…...

基于Java SSM人力资源管理系统

人力资源管理系统实现对企业人力资源的科学管理。企业有多个部门&#xff0c;每个部门有——名经理和多名员工&#xff0c;公司设置多级岗位&#xff0c;对应不同薪酬标准&#xff0c;员工日常工作进行考勤&#xff0c;岗位变动需要进行登记。系统管理的对象及操作主要有&#…...

人工智能和程序员

一、介绍人工智能和程序员 人工智能&#xff08;AI&#xff09;是一种模拟人类智能的计算机系统&#xff0c;其目的是让计算机具备类似人类的学习、推理、规划和理解能力。人工智能致力于创建能够感知、适应环境并作出决策的智能体&#xff0c;以解决各种复杂的问题。程序员是…...

Unity优化篇:对于unity DrawCall/Mesh/纹理压缩/内存等方面的常规调试和优化手段

对于Unity的DrawCall、Mesh、纹理压缩、内存等方面的常规调试和优化手段&#xff0c;我都有一定的了解。以下是一些常见的优化手段&#xff1a; 减少DrawCall&#xff1a;这是提高性能的关键。尽可能合并相同的材质和纹理&#xff0c;使用LOD&#xff08;Levels of Detail&…...

南阳手机网站建设/如何做运营推广

A. Generous Kefa 题目链接&#xff1a;http://codeforces.com/contest/841/problem/A 题目意思以及思路&#xff1a;每个人能不能分到均不相同的颜色气球……思路很简单&#xff0c;只要数目最多的颜色不超过人数就好了…… 代码&#xff1a; 1 //Author: xiaowuga2 #include …...

在百度网站备案查询上显示未备案是什么意思/百度竞价排名利弊

基于命令行执行jar的外放配置文件的执行方法 配置文件在工程目录存放位置&#xff1a; src/conf/application.properties打包生成sproutgis-exec.jar文件 拷贝到/usr/test目录下,目录内容&#xff1a; #--------------------------------------- conf/application.properties…...

php网站开发目录/如何优化推广中的关键词

TVS管和ESD管工作原理一样&#xff0c;功率和封装不一样&#xff1b; ESD体积比较小&#xff0c;主要是用来防静电&#xff0c;防静电就要求电容值低&#xff1b; TVS的电容值比较高&#xff0c;体积比较大&#xff0c;浪涌保护。 深圳市阿赛姆科技有限公司 专业做ESD防护 深…...

晋江网站建设哪家好/什么优化

作业描述 课程软件工程1916|W(福州大学)团队名称修&#xff01;咻咻&#xff01;作业要求项目Beta冲刺&#xff08;团队&#xff09;团队目标切实可行的计算机协会维修预约平台开发工具Eclipse团队信息 队员学号队员姓名个人博客地址备注221600207黄权焕https://www.cnblogs.co…...

三亚疫情最新政策/关键词优化是怎么弄的

const iterator表示iterator是const的&#xff0c;即iterator本身不能改变或者说iterator指针不能改变&#xff0c;但是iterator所指向的内容可以改变。比如&#xff0c; const std::vector<int>::iterator iter vec.begin(); *iter 10;是对的&#xff0c;改变iter指…...

如何自己做网站/app开发公司排行榜

Java 类路径Java 类路径告诉 java 解释器和 javac 编译器去哪里找它们要执行或导入的类。类&#xff08;您可能注意到的那些 *.class 文件&#xff09;可以存储在目录或 jar 文件中&#xff0c;或者存储在两者的组合中&#xff0c;但是只有在它们位于类路径中的某个地方时&…...