摘 要
近年来,社会的发展和进步以及人们生活水平的提高,人们饲养宠物的习惯也越来越重视。很多家庭都把宠物视为家庭的重要成员。宠物不仅能给自己作伴,而且在生活中能充当自己精神的支柱,缓解压力、放松心态的伙伴。宠物不同于一般的动物,
如今,随着人们生活水平不断提高,人们的生活在物质满足的基础上,更多的人将生活的重点放在追求精神享受的过程中。于此同时,Internet铺天盖地的普及,使得这样的人纷纷通过Internet的方式去寻找精神的满足。然而养宠物正是人们现在炙手可热的一种精神寄托。对于宠物的热爱让他们的生活更加充满爱心和向往。Internet和宠物商城的两者结合,大大推动了电子商务的发展,促进了该行业的崛起。这正是宠物商城诞生的缘由。该系统不仅解决了地理隔离的问题,同时也跟上了网络快速发展的脚步,实现爱宠人士足不出户的领养到心仪的爱宠。
宠物商城是基于浏览器与服务器架构平台,采用跨平台的JAVA语言开发,利用springboot框架进行逻辑控制,MySQL数据库存储数据,最后Tomcat服务器完成发布,系统可在多个环境下运行。
关键词:宠物商城;MySQL;springboot框架
springboot Pet Mall
Abstract
In recent years, with the development and progress of society and the improvement of people's living standards, the habit of keeping pets has also been increasingly valued. Many families consider pets as important members of the family. Pets not only provide companionship, but also serve as spiritual pillars in life, relieving stress and relaxing companions. Pets are different from ordinary animals,
Nowadays, with the continuous improvement of people's living standards, their lives are based on material satisfaction, and more and more people focus their lives on the pursuit of spiritual enjoyment. At the same time, the widespread popularity of the Internet has led such people to seek spiritual satisfaction through the Internet. However, keeping pets is now a popular form of spiritual support for people. The love for pets makes their lives more filled with love and longing. The combination of the Internet and pet malls has greatly promoted the development of e-commerce and promoted the rise of the industry. This is precisely the reason why pet malls were born. This system not only solves the problem of geographical isolation, but also keeps up with the rapid development of the internet, enabling pet lovers to adopt their beloved pets without leaving their homes.
The pet mall is based on a browser and server architecture platform, developed using cross platform Java language, using the Springboot framework for logical control, storing data in a MySQL database, and finally publishing on a Tomcat server. The system can run in multiple environments.
Keywords:Pet Mall; MySQL; Springboot framework
目 录
1 绪论
1.1 研究背景
随着Internet技术和通讯技术的飞速发展,一种新型的商务操作模式一电子商务应运而生。电子商务是指交易各方通过电子方式进行的商业交易,是一种系统的、完整的电子商务运作。电子商务的快速发展以及上网人数的急增,为企业创造了许多网络商机,宠商城管理系统是一个可以无限伸展的电子系统宠物库,它可以容纳无限的宠物或图样乃至于内容检索查询,可以不受时空的限制,宠物不受上架周期的限制,可以提高宠物的销量,为出版社尤其是专业、学术出版社提供窗口支持,该系统的运用也可以推动网上支付、邮政、速递等服务行业的迅速发展。
网上宠物商城是一种高质量,更快捷,更方便的购买宠物方式。首先,宠物商城将所有的宠物信息(包括图片、价格等)清晰的呈现在购买宠物者面前,购买宠物者可以根据上面的信息选择自己想要的宠物。其次,宠物商城由于是在网上交易它不像传统的宠物交易需要大量的库存,宠物商城可以出现零库存,这样就降低了销售成本。从市场角度讲,出版物是重要的消费热点,网络出版和发行的客观需求较强,况且人力资源充足,劳动力价格低,为宠物配送提供了条件。再次,网上交易使一种全天候的交易它可以全天24小时为你服务,并且可以超出本地买到你想要的宠物,这样就使得网上宠物商城的交易突破了时间和空间的限制,实现全球服务。最后,网络的传播速度快,更新也就快,因此新宠物的信息传递变得更迅速灵活,新宠物信息上传后,客户可以立即看到,交易马上就可以从网上进行,从而大大提高了交易的效率。正是由于这些优势,网上宠物商城才能得以迅速地发展。
网上宠物店作为新兴产业,它给我们的宠物销售行业带来了巨大的商机,也给与宠物业相关的产业带来了新的发展机遇,如电子商务的发展、物流业的发展、销售业的改革等。
1.2系统开发意义
宠物在人们的生活起到了很重要的作用,对一部分人来说,或许宠物是一个不可替代的角色。因为宠物有时是人类情感抒发的一个对象,是人们心灵的一个寄托,所以人们对宠物的需求也逐渐增大了。然而对宠物有着很大需要的人,他们或许上班时间比较紧,或许不是很方便到宠物店里面去选购自己心仪的宠物,所以传统的营销方式满足不了他们,那么就需要新的销售方式的产生。很多商家就是看到了这一点,所以他们纷纷建立了自己的一个宠物网上商城,因为在现今Interrnet上商品的零售额已经是迅速地增长了。原因在于通过Internet即使是小公司也可以接触到世界上任何地方的客户;在Internet上浏览的人会发现在线订购商品比其他任何方法都方便得多;更重要的是,一旦电子商务站点启动并运行起来,获取订单处理的成本与设置实体店铺的成本相比,实际上会几乎接近于零。所以宠物网上商城的诞生不仅满足了部分客户的需要,同时也使得商家寻找到了新的更好的销售方式。
本系统实现了一般的电子商务所具备的功能,如商品浏览,购物车,在线购买,后台管理等等,利用这些功能可以对宠物销售信息进行较好的管理,同时也会使得客人很方便的就能购得自己想要的宠物。电子商务将会使人类社会经济一体化,不断地推动着经济的发展,从而也不断地推动人类社会的发展,使我们的生活水平提升到另外一个高层次上。
1.3 国内外研究现状
宠物商城是指以互联网技术为基础,为消费者提供宠物购买、宠物医疗服务和宠物社交等服务的平台。随着人们对宠物的需求不断增加,国内的宠物商城系统也得到了快速发展。
目前,国内的宠物商城系统主要包括两种类型:一种是以电商为主的网上购物平台,如京东、淘宝等;另一种是以线下实体店为主,提供线上购物服务的大型连锁宠物商店,如爱宠网、宠物之家等。
在技术方面,国内的宠物商城系统主要采用云计算、大数据、人工智能等先进技术,以提高用户体验和服务质量。例如,爱宠网通过大数据分析用户需求,为用户推荐更加符合其需求的产品和服务;同时,还提供了在线咨询、预约挂号等服务,方便用户进行宠物医疗服务。
在市场方面,国内的宠物商店系统已经成为了一个庞大的产业链。据统计,2019年中国宠物市场规模已经达到了2000亿元人民币,并且还在不断增长中。这也促使了越来越多的企业进入到这个领域,竞争也越来越激烈。
国外研究现状:
此外,国外的宠物商城系统还注重用户体验和服务质量。例如,美国的Petco公司推出了"Petco 24/7"服务,提供24小时在线购物、咨询服务等。英国的Petsat Home公司则通过建立宠物社区、提供免费培训等方式,为用户提供更加全面的服务。
在营销方面,国外的宠物商店系统也采用了多种手段。例如,美国的 Petco公司通过社交媒体平台与用户互动,提高品牌知名度;英国的Pets at Home公司则通过赞助活动、广告等方式扩大品牌影响力。在营销方面,国外的宠物商店系统采用了多种手段来吸引顾客和提高品牌知名度。其中,社交媒体平台是其中一个重要的手段。例如,美国的Petco公司通过Facebook、Instagram 等社交媒体平台与用户互动,发布有关宠物健康、营养和美容等方面的信息,同时还会定期举办线上活动和比赛,吸引用户参与并提高品牌知名度。
此外,赞助活动也是扩大品牌影响力的一种方式。例如,英国的Pets at Home公司曾经赞助过多个宠物展览和活动,如英国皇家兽医协会的年度会议等,这些活动不仅能够让公司展示自己的产品和服务,还能够让更多的人了解该公司的品牌形象和价值观。
除了社交媒体和赞助活动之外,广告也是扩大品牌影响力的重要手段之一。例如,美国的Petco公司曾经在电视上播放过多个广告,向观众展示其产品和服务的优势,并强调公司的使命和价值观。
总之,国外的宠物商城系统采用了多种手段来吸引顾客和提高品牌知名度,这些手段包括社交媒体平台、赞助活动和广告等。这些手段的使用不仅能够提高企业的销售额和市场份额,还能够增强企业的品牌形象和社会责任感。
总之,国外的宠物商城系统在市场规模、技术应用、用户体验和营销策略等方面都有着较为成熟的体系。这些成功的经验可以为国内的宠物商店系统提供借鉴和参考。
1.4 研究内容
按照设计开发一个系统的常用流程来描述系统,可以把系统分成分析阶段,设计阶段,实现阶段,测试阶段。所以在编写系统的说明文档时,根据系统所处的阶段来描述系统的内容。
绪论:这是对选题的背景,研究现状等内容做出介绍。
系统开发技术:这是对系统即将使用的技术,包括使用的工具,编程的语言等做出介绍。
系统分析:这是对系统做出分析,包括投资前期必备的可行性分析,包括对用户调研获取的需求,包括系统运行具备的性能等内容做出介绍。
系统设计:这是对系统进行设计,包括运用绘图工具设计的系统功能结构,包括设计的在数据库中要创建的数据表的存储结构等内容做出介绍。
系统实现:这是对系统进行编码实现。包括实现的系统各个模块的运行效果等内容做出介绍。
系统测试:这是对编制的系统进行测试。包括功能的测试等内容做出介绍。
这部分内容主要介绍本系统使用的技术,包括使用的工具,编程的语言等内容。
2.1 Java语言
Java语言自公元1995年至今,已经超过25年了,依然在软件开发上面有很大的市场占有率。当年Sun公司发明Java就是为了发展一门跨平台的高级编程语言,让程序开发人员专注于程序开发过程,不需要关注服务器是属于哪个平台,因为跨平台的特性让语言发展的很迅速。Java的发展,吸收了C++这些语言的优点,因为新生事物一般就是解决老旧事物一些痛点的,虽然Java也有很多缺点,但是起码也算是一种发展方向。学习Java不需要太多的指针这些理念,也不用学习太过复杂的数据结构理论,比如什么堆栈这些概念,除非某些特殊行业对这些要求相当严谨之外,一般用Java开发程序是不用考虑各种各样的数据结构的。因为Java属于一种强类型语言,已经对各种数据定义了各种相应的类型。Java对数据类型定义分为两大种,一种是基本类型,含有8个基本属性,另一个是包装类。基本类和包装类从根本的定义上,都有很明显的区分,计算机运行也会有很明显的差别,如果用错了会编译错误还会影响运行效果的,Java的各种优点只需要按部就班的学习使用即可。
2.2 springboot框架介绍
Spring框架是Java平台上的一种开源应用框架,提供具有控制反转特性的容器。尽管Spring框架自身对编程模型没有限制,但其在Java应用中的频繁使用让它备受青睐,以至于后来让它作为EJB(EnterpriseJavaBeans)模型的补充,甚至是替补。Spring框架为开发提供了一系列的解决方案,比如利用控制反转的核心特性,并通过依赖注入实现控制反转来实现管理对象生命周期容器化,利用面向切面编程进行声明式的事务管理,整合多种持久化技术管理数据访问,提供大量优秀的Web框架方便开发等等。Spring框架具有控制反转(IOC)特性,IOC旨在方便项目维护和测试,它提供了一种通过Java的反射机制对Java对象进行统一的配置和管理的方法。Spring框架利用容器管理对象的生命周期,容器可以通过扫描XML文件或类上特定Java注解来配置对象,开发者可以通过依赖查找或依赖注入来获得对象。Spring框架具有面向切面编程(AOP)框架,SpringAOP框架基于代理模式,同时运行时可配置;AOP框架主要针对模块之间的交叉关注点进行模块化。Spring框架的AOP框架仅提供基本的AOP特性,虽无法与AspectJ框架相比,但通过与AspectJ的集成,也可以满足基本需求。Spring框架下的事务管理、远程访问等功能均可以通过使用SpringAOP技术实现。Spring的事务管理框架为Java平台带来了一种抽象机制,使本地和全局事务以及嵌套事务能够与保存点一起工作,并且几乎可以在Java平台的任何环境中工作。Spring集成多种事务模板,系统可以通过事务模板、XML或Java注解进行事务配置,并且事务框架集成了消息传递和缓存等功能。Spring的数据访问框架解决了开发人员在应用程序中使用数据库时遇到的常见困难。它不仅对Java:JDBC、iBATS/MyBATIs、Hibernate、Java数据对象(JDO)、ApacheOJB和ApacheCayne等所有流行的数据访问框架中提供支持,同时还可以与Spring的事务管理一起使用,为数据访问提供了灵活的抽象。Spring框架最初是没有打算构建一个自己的WebMVC框架,其开发人员在开发过程中认为现有的StrutsWeb框架的呈现层和请求处理层之间以及请求处理层和模型之间的分离不够,于是创建了SpringMVC。
2.3 MYSQL数据库
关系型数据库设计,对于数据库字段类型的设计以及字段长度的设计,都无时无刻的影响着后续程序开发后大量数据操作的运行效率。关系型数据库对不同的字段类型都有解释,本着课题所需的应用程序开发,寻找最适合的关系型数据库,基本上都有考虑。关系型数据库发展至今也有几十年了,优胜劣汰导致到现在还依然存在的关系型数据库其实并不多,基本上也都能满足应用程序的功能所需,所以要从其他方面来进行考虑数据库的选择。从安装维护上面考虑,SQL Server数据库有好几个G的安装包,并且安装过程中会安装很多不需要的功能,非常占用资源。Oracle数据库不比SQL Server安装包小,并且安装也会出现很多问题,对于课题所需来讲,没必要这么麻烦,并且安装还需要各种激活,只有MySQL数据库完全适合,几十兆大小的安装包,运行起来压力不大,毕竟开发电脑上还有很多其他有用的东西,而且完全免费,所以选择了MySQL数据库作为首选。
3 系统分析
3.1 可行性分析
可行性分析是系统分析的第一步,通过可行性分析我们可以得出系统是不是值得开发,如果系统的开发是不可信的,那么就没有必要再进行下面的操作,对于本宠物商城,在可行性方面进行了技术、经济以及操作的分析。
3.1.1 经济可行性
开发宠物商城并不需要投入太多,开发工具、服务器、数据库等,都可以通过网络搜索、下载、安装,只需要一台普通的计算机就可以完成操作,而且在系统功能规划上通过走访调查目前用户对校友社交网站的需求,了解它们对系统具体实现的功能需求,然后进行设计开发,不存在任何开销,因此系统的开发在经济方面是可行的。
3.1.2 时间可行性
宠物商城的开发时间可行性需要综合考虑多个因素。通常情况下,设计和实现一个基本功能完善的宠物商城系统可能需要数月的时间。这包括需求分析、系统设计、前后端开发、测试和调试、部署和上线等阶段。然而,具体的时间安排还要考虑团队规模、人员资源、开发经验和项目管理能力等因素。如果有较大规模的开发团队和丰富的经验,可能能够缩短开发周期。相反,团队规模较小或技术水平相对较低,可能需要更多时间来完成开发任务。此外,还要考虑到系统的迭代和优化过程,以提升系统的稳定性和用户体验。总之,在合理分配资源、合理安排开发进度和具备适当的开发能力的情况下,宠物商城的开发时间是可行的,关键在于充分评估和规划每个阶段的工作量,并制定合理的时间计划,以确保项目的顺利进行和按时完成。
操作方面主要考虑的是用户在使用以及管理人员在管理的时候,是否简单可行,没有任何计算机基础的用户能否使用,开发的宠物商城在设计的时候秉承简单易学的理念,在用户进入系统后都会有固定的导航按钮,只要认字就可以操作完成,而且管理员在管理方面也只需简单的增删改查即可完成,因此在操作上也是可行的。
3.2 系统性能分析
宠物商城系统的性能是评估其运行效率和响应速度的重要指标。通过对系统的性能进行分析,可以发现并解决潜在的性能瓶颈,提升用户体验和系统的整体效能。
1、系统易用性:
(1)宠物商城系统的易用性是指用户在使用系统时的便捷性和友好程度。为了提升系统的易用性,可以考虑以下几个方面:
(2)用户界面设计:采用直观、清晰的界面设计,结合符合用户习惯的交互方式,使用户能够轻松地浏览宠物信息、下单购买等操作。
(3)简化流程:简化用户操作流程,减少繁琐的步骤和不必要的信息输入,提高用户的操作效率。
(4)提供帮助与支持:为用户提供明确的操作指引和帮助文档,解答常见问题,并设立客服渠道,及时回应用户的疑问和需求。
2、系统健壮性:
系统健壮性是指系统在面对异常情况或错误输入时的稳定性和可靠性。为了保证系统的健壮性,可以考虑以下几个方面:
(1)异常处理:合理处理系统可能出现的异常情况,如网络中断、数据库连接失败等,并给出友好的提示和恢复措施。
(2)输入验证:对用户输入的数据进行有效性验证和安全过滤,防止恶意攻击或错误数据对系统的影响。
3、系统安全性:
(1)宠物商城系统的安全性是保护用户隐私和数据安全的重要方面。为了确保系统的安全性,可以考虑以下几个方面:
(2)用户认证与授权:采用安全可靠的用户认证机制,如用户名密码验证、短信验证码等,并限制用户访问权限,保护用户数据的安全性。
(3)数据加密与传输安全:采用合适的加密算法对敏感数据进行加密,并使用HTTPS等安全协议保障数据在传输过程中的安全性。
(4)安全审计与监控:建立安全审计机制,监测系统的安全状态,及时发现并应对潜在的安全威胁。
3.3 系统流程分析
宠物商城主要的目的就是实现对宠物的在线选购,图3-1就是系统的数据流图。
图3-1宠物购买操作展开图
分析完系统的数据流,接下来我们来看系统的业务流程,图3-2就是业务流程图:
图3-2业务流程图
3.4 系统功能分析
按照宠物商城的角色,我划分为了普通用户管理模块和管理员管理模块这两大部分。
用户管理模块:
(1)用户注册登录:用户注册为用户并登录宠物商城;用户对个人信息的增删改查,比如个人资料,密码修改。
(2)用户查看宠物:用户进行宠物信息的阅览,通过发现喜欢的宠物后可以购买+评论+收藏。
(3)宠物资讯:用户进行资讯的阅览,查看管理者发布的宠物资讯信息。
(4)商品购买:用户对喜欢的商品可以加购,在购物车里面,当用户确定提交完毕后,将其提交给服务器后台系统,并生成订单。
(5)我的订单:用户在提交订单后,可以对提交的订单进行管理。
(6)通知公告:用户点击“通知公告”菜单显示管理员在后台发布的所有的通知公告信息,可以查看通知公告详情。
管理员管理模块:
(1)用户管理:管理员可以对前台上注册过的用户信息进行管控,也可以对管理员信息进行管控。
(2)宠物资讯管理:管理员在后台可以对宠物商城中显示的宠物资讯信息进行增删改查。
(3)分类管理:管理员对宠物商城中商品的分类进行管控。
(4)商城管理:管理员对用户提交的商品订单进行管控。
(5)轮播图:管理员点击“轮播图”菜单可以对首页展示的轮播图进行增删改查。
(6)通知公告:管理员点击“通知公告”菜单可以查看到系统中的所有通知公告信息,对已经存在的通知公告,管理员可以修改,也可以添加新的通知公告或者删除通知公告。
(7)资源管理:管理员点击“资源管理”菜单能够对其下子菜单宠物资讯和资讯的分类进行增删改查。
宠物商城的非功能性需求比如宠物商城的安全性怎么样,可靠性怎么样,性能怎么样,可拓展性怎么样等。具体可以表示在如下3-1表格中:
表3-1宠物商城非功能需求表
安全性 | 主要指宠物商城数据库的安装,数据库的使用和密码的设定必须合乎规范。 |
可靠性 | 可靠性是指宠物商城能够安装用户的指示进行操作,经过测试,可靠性90%以上。 |
性能 | 性能是影响宠物商城占据市场的必要条件,所以性能最好要佳才好。 |
可扩展性 | 比如数据库预留多个属性,比如接口的使用等确保了系统的非功能性需求。 |
易用性 | 用户只要跟着宠物商城的页面展示内容进行操作,就可以了。 |
可维护性 | 宠物商城开发的可维护性是非常重要的,经过测试,可维护性没有问题 |
3.5 系统用例分析
通过3.3功能的分析,得出了本宠物商城的用例图:
用户角色用例如图3-3所示。
图3-3 宠物商城用户角色用例图
web后台管理上的管理员是维护整个宠物商城中所有数据信息的。管理员角色用例如图3-4所示。
4 系统设计
4.1 系统目标
宠物商城系统的目标是创建一个全面、高效、安全的平台,满足宠物爱好者和宠物商家的需求,并提供良好的用户体验。以下是宠物商城系统的主要目标:
(1)提供多样化的宠物产品和服务:宠物商城系统旨在提供广泛的宠物产品和服务,包括宠物食品、用品、医疗保健、美容护理、寄养等。通过丰富的产品种类和优质的服务,满足用户对宠物生活所需的各种需求。
(2)提供便捷的购物体验:系统致力于提供便捷、高效的购物体验。用户可以通过系统浏览宠物商品,查询详细信息,并进行在线购买。系统应具备友好的界面设计和简洁的操作流程,使用户能够轻松地找到所需的商品并完成购买。
(3)保障宠物信息安全与可靠性:宠物商城系统需要保障宠物信息的安全和可靠性。用户的个人信息和支付信息应受到严格保护,确保其不被泄露或滥用。同时,宠物商家提供的宠物信息和产品信息也需要经过审核和验证,以确保用户得到真实、可信的信息。
(4)支持用户社交和互动:系统应提供用户之间的社交和互动功能,如用户评论、评价、分享和建议等。这样可以促进用户之间的交流和信息分享,增加用户黏性,同时也为其他用户提供参考和决策依据。
(5)提供优质的客户服务:宠物商城系统需要提供优质的客户服务。用户应能够获得及时的咨询与支持,解决问题并获得满意的购物体验。客户服务团队应具备专业知识和良好的沟通能力,以确保用户的问题和需求得到有效回应和解决。
4.2 系统功能结构设计
在上一章节中主要对系统的功能性需求和非功能性需求进行分析,并且根据需求分析了本宠物商城中的用例。那么接下来就要开始对本宠物商城的架构、主要功能和数据库开始进行设计。宠物商城根据前面章节的需求分析得出,其总体设计模块图如图4-1所示。
图4-1 宠物商城功能模块图
后台管理者能够实现对前台注册的用户增删改查操作,用户模块结构图如下图:
图4-2用户模块结构图
宠物商城是一个交流性质的公开平台,用户在平台上提交评论,增加用户之间的互动性。但是同时也为了更好的规范评论的内容,给予管理员删除不合适的评论的功能,所以需要专门设计一个评论管理模块,具体的结构图如下:
图4-3商城模块结构图
4.2.4商城管理模块设计
宠物商城是中需要存储不少宠物信息,其模块功能结构,具体的结构图如下:
图4-4商城模块结构图
宠物商城最重要的一个功能就是购买,其模块功能结构,具体的结构图如下:
图4-5订单模块结构图
4.3 数据库设计
数据库设计一般包括需求分析、概念模型设计、数据库表建立三大过程,其中需求分析前面章节已经阐述,概念模型设计有概念模型和逻辑结构设计两部分。
4.3.1 数据库E-R图
下面是整个宠物商城中主要的数据库表总E-R实体关系图。

图3-6 宠物商城总E-R关系图
4.3.2 数据库表结构
通过上一小节中宠物商城中总E-R关系图上得出一共需要创建很多个数据表。在此我主要罗列几个主要的数据库表结构设计。
表address (收货地址:)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | address_id | int | 10 | 0 | N | Y | 收货地址: | |
2 | name | varchar | 32 | 0 | Y | N | 姓名: | |
3 | phone | varchar | 13 | 0 | Y | N | 手机: | |
4 | postcode | varchar | 8 | 0 | Y | N | 邮编: | |
5 | address | varchar | 255 | 0 | N | N | 地址: | |
6 | user_id | mediumint | 8 | 0 | N | N | 用户ID:[0,8388607]用户获取其他与用户相关的数据 | |
7 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
9 | default | bit | 1 | 0 | N | N | 0 | 默认判断 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | cart_id | int | 10 | 0 | N | Y | 购物车ID: | |
2 | title | varchar | 64 | 0 | Y | N | 标题: | |
3 | img | varchar | 255 | 0 | N | N | 0 | 图片: |
4 | user_id | int | 10 | 0 | N | N | 0 | 用户ID: |
5 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
6 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
7 | state | int | 10 | 0 | N | N | 0 | 状态:使用中,已失效 |
8 | price | double | 9 | 2 | N | N | 0.00 | 单价: |
9 | price_ago | double | 9 | 2 | N | N | 0.00 | 原价: |
10 | price_count | double | 11 | 2 | N | N | 0.00 | 总价: |
11 | num | int | 10 | 0 | N | N | 1 | 数量: |
12 | goods_id | mediumint | 8 | 0 | N | N | 商品id:[0,8388607] | |
13 | type | varchar | 64 | 0 | N | N | 未分类 | 商品分类: |
14 | description | varchar | 255 | 0 | Y | N | 描述:[0,255]用于产品规格描述 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | comment_id | int | 10 | 0 | N | Y | 评论ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 评论人ID: |
3 | reply_to_id | int | 10 | 0 | N | N | 0 | 回复评论ID:空为0 |
4 | content | longtext | 2147483647 | 0 | Y | N | 内容: | |
5 | nickname | varchar | 255 | 0 | Y | N | 昵称: | |
6 | avatar | varchar | 255 | 0 | Y | N | 头像地址:[0,255] | |
7 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
9 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
10 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
11 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | goods_id | mediumint | 8 | 0 | N | Y | 产品id:[0,8388607] | |
2 | title | varchar | 125 | 0 | Y | N | 标题:[0,125]用于产品和html的<title>标签中 | |
3 | img | text | 65535 | 0 | Y | N | 封面图:用于显示于产品列表页 | |
4 | description | varchar | 255 | 0 | Y | N | 描述:[0,255]用于产品规格描述 | |
5 | price_ago | double | 8 | 2 | N | N | 0.00 | 原价:[1] |
6 | price | double | 8 | 2 | N | N | 0.00 | 卖价:[1] |
7 | sales | int | 10 | 0 | N | N | 0 | 销量:[0,1000000000] |
8 | inventory | int | 10 | 0 | N | N | 0 | 商品库存 |
9 | type | varchar | 64 | 0 | N | N | 商品分类: | |
10 | hits | int | 10 | 0 | N | N | 0 | 点击量:[0,1000000000]访问这篇产品的人次 |
11 | content | longtext | 2147483647 | 0 | Y | N | 正文:产品的主体内容 | |
12 | img_1 | text | 65535 | 0 | Y | N | 主图1: | |
13 | img_2 | text | 65535 | 0 | Y | N | 主图2: | |
14 | img_3 | text | 65535 | 0 | Y | N | 主图3: | |
15 | img_4 | text | 65535 | 0 | Y | N | 主图4: | |
16 | img_5 | text | 65535 | 0 | Y | N | 主图5: | |
17 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
18 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
19 | customize_field | text | 65535 | 0 | Y | N | 自定义字段 | |
20 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
21 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
22 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
23 | user_id | int | 10 | 0 | Y | N | 0 | 添加人 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | type_id | int | 10 | 0 | N | Y | 商品分类ID: | |
2 | father_id | smallint | 5 | 0 | N | N | 0 | 上级分类ID:[0,32767] |
3 | name | varchar | 255 | 0 | Y | N | 商品名称: | |
4 | desc | varchar | 255 | 0 | Y | N | 描述: | |
5 | icon | varchar | 255 | 0 | Y | N | 图标: | |
6 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
7 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
8 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | logistics_delivery_id | int | 10 | 0 | N | Y | 物流配送ID | |
2 | order_number | varchar | 64 | 0 | Y | N | 订单号 | |
3 | product_name | varchar | 64 | 0 | Y | N | 商品名称 | |
4 | purchase_quantity | varchar | 64 | 0 | Y | N | 购买数量 | |
5 | total_transaction_amount | double | 11 | 2 | Y | N | 0.00 | 交易总额 |
6 | the_date_of_issuance | date | 10 | 0 | Y | N | 发货日期 | |
7 | delivery_number | varchar | 30 | 0 | Y | N | 配送订单 | |
8 | ordinary_users | int | 10 | 0 | Y | N | 0 | 普通用户 |
9 | shipping_address | varchar | 64 | 0 | Y | N | 收货地址 | |
10 | delivery_status | varchar | 64 | 0 | Y | N | 配送状态 | |
11 | signing_status | varchar | 64 | 0 | Y | N | 签收状态 | |
12 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
13 | contact_name | varchar | 255 | 0 | Y | N | 联系人名字 | |
14 | merchant_id | int | 10 | 0 | Y | N | 商家id | |
15 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
16 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | notice_id | mediumint | 8 | 0 | N | Y | 公告id: | |
2 | title | varchar | 125 | 0 | N | N | 标题: | |
3 | content | longtext | 2147483647 | 0 | Y | N | 正文: | |
4 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
5 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | order_id | int | 10 | 0 | N | Y | 订单ID: | |
2 | order_number | varchar | 64 | 0 | Y | N | 订单号: | |
3 | goods_id | mediumint | 8 | 0 | N | N | 商品id:[0,8388607] | |
4 | title | varchar | 32 | 0 | Y | N | 商品标题: | |
5 | img | varchar | 255 | 0 | Y | N | 商品图片: | |
6 | price | double | 10 | 2 | N | N | 0.00 | 价格: |
7 | price_ago | double | 10 | 2 | N | N | 0.00 | 原价: |
8 | num | int | 10 | 0 | N | N | 1 | 数量: |
9 | price_count | double | 8 | 2 | N | N | 0.00 | 总价: |
10 | norms | varchar | 255 | 0 | Y | N | 规格: | |
11 | type | varchar | 64 | 0 | N | N | 未分类 | 商品分类: |
12 | contact_name | varchar | 32 | 0 | Y | N | 联系人姓名: | |
13 | contact_email | varchar | 125 | 0 | Y | N | 联系人邮箱: | |
14 | contact_phone | varchar | 11 | 0 | Y | N | 联系人手机: | |
15 | contact_address | varchar | 255 | 0 | Y | N | 收件地址: | |
16 | postal_code | varchar | 9 | 0 | Y | N | 邮政编码: | |
17 | user_id | int | 10 | 0 | N | N | 0 | 买家ID: |
18 | merchant_id | mediumint | 8 | 0 | N | N | 0 | 商家ID: |
19 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
20 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
21 | description | varchar | 255 | 0 | Y | N | 描述:[0,255]用于产品规格描述 | |
22 | state | varchar | 16 | 0 | N | N | 待付款 | 订单状态:待付款,待发货,待签收,已签收,待退款,已退款,已拒绝,已完成 |
23 | remark | text | 65535 | 0 | Y | N | 订单备注 | |
24 | delivery_state | varchar | 16 | 0 | Y | N | 未配送 | 发货状态:未配送,已配送 |
25 | vip_discount | double | 11 | 2 | Y | N | 0.00 | 折扣 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | pet_mall_id | int | 10 | 0 | N | Y | 宠物商城ID | |
2 | pet_gender | varchar | 64 | 0 | Y | N | 宠物性别 | |
3 | purchase_notice | varchar | 64 | 0 | Y | N | 购买须知 | |
4 | hits | int | 10 | 0 | N | N | 0 | 点击数 |
5 | praise_len | int | 10 | 0 | N | N | 0 | 点赞数 |
6 | cart_title | varchar | 125 | 0 | Y | N | 标题:[0,125]用于产品html的标签中 | |
7 | cart_img | text | 65535 | 0 | Y | N | 封面图:用于显示于产品列表页 | |
8 | cart_description | varchar | 255 | 0 | Y | N | 描述:[0,255]用于产品规格描述 | |
9 | cart_price_ago | double | 8 | 2 | N | N | 0.00 | 原价:[1] |
10 | cart_price | double | 8 | 2 | N | N | 0.00 | 卖价:[1] |
11 | cart_inventory | int | 10 | 0 | N | N | 0 | 商品库存 |
12 | cart_type | varchar | 64 | 0 | N | N | 未分类 | 商品分类: |
13 | cart_content | longtext | 2147483647 | 0 | Y | N | 正文:产品的主体内容 | |
14 | cart_img_1 | text | 65535 | 0 | Y | N | 主图1: | |
15 | cart_img_2 | text | 65535 | 0 | Y | N | 主图2: | |
16 | cart_img_3 | text | 65535 | 0 | Y | N | 主图3: | |
17 | cart_img_4 | text | 65535 | 0 | Y | N | 主图4: | |
18 | cart_img_5 | text | 65535 | 0 | Y | N | 主图5: | |
19 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
20 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | praise_id | int | 10 | 0 | N | Y | 点赞ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 点赞人: |
3 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
5 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
6 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
7 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
8 | status | bit | 1 | 0 | N | N | 1 | 点赞状态:1为点赞,0已取消 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | regular_users_id | int | 10 | 0 | N | Y | 普通用户ID | |
2 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
3 | user_gender | varchar | 64 | 0 | Y | N | 用户性别 | |
4 | contact_phone_number | varchar | 16 | 0 | Y | N | 联系电话 | |
5 | examine_state | varchar | 16 | 0 | N | N | 已通过 | 审核状态 |
6 | user_id | int | 10 | 0 | N | N | 0 | 用户ID |
7 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
5 系统实现
宠物商城的详细设计与实现主要是根据前面的宠物商城的需求分析和宠物商城的总体设计来设计页面并实现业务逻辑。主要从宠物商城界面实现、业务逻辑实现这两部分进行介绍。
5.1用户功能模块
5.1.1 前台首页界面
当进入宠物商城的时候,首先映入眼帘的是系统的导航栏,下面是轮播图以及系统内容,其主界面展示如下图5-1所示。
图5-1 前台首页界面图
5.1.2 注册界面
不是宠物商城中正式用户的是可以在线进行注册的,如果你没有本宠物商城的账号的话,添加“注册”,当填写上自己的账号+密码+确认密码+昵称+邮箱+手机号等后再点击“注册”按钮后将会先验证输入的有没有空数据,再次验证密码和确认密码是否是一样的,最后验证输入的账户名和数据库表中已经注册的账户名是否重复,只有都验证没问题后即可用户注册成功。其用用户注册界面展示如下图5-2所示。

图5-2 注册界面图
注册关键代码如下所示。
/**
* 注册
* @param user
* @return
*/
@PostMapping("register")
public Map<String, Object> signUp(@RequestBody User user) {
// 查询用户
Map<String, String> query = new HashMap<>();
Map<String,Object> map = JSON.parseObject(JSON.toJSONString(user));
query.put("username",user.getUsername());
List list = service.selectBaseList(service.select(query, new HashMap<>()));
if (list.size()>0){
return error(30000, "用户已存在");
}
map.put("password",service.encryption(String.valueOf(map.get("password"))));
service.insert(map);
return success(1);
}
5.1.3 登录界面
宠物商城中的前台上注册后的用户是可以通过自己的账户名和密码进行登录的,当用户输入完整的自己的账户名和密码信息并点击“登录”按钮后,将会首先验证输入的有没有空数据,再次验证输入的账户名+密码和数据库中当前保存的用户信息是否一致,只有在一致后将会登录成功并自动跳转到宠物商城的首页中;否则将会提示相应错误信息,用户登录界面如下图5-3所示。

图4-3登录界面图
登录代码如下:
/**
* 登录
* @param data
* @param httpServletRequest
* @return
*/
@PostMapping("login")
public Map<String, Object> login(@RequestBody Map<String, String> data, HttpServletRequest httpServletRequest) {
log.info("[执行登录接口]");
String username = data.get("username");
String email = data.get("email");
String phone = data.get("phone");
String password = data.get("password");
List resultList = null;
Map<String, String> map = new HashMap<>();
if(username != null && "".equals(username) == false){
map.put("username", username);
resultList = service.select(map, new HashMap<>()).getResultList();
}
else if(email != null && "".equals(email) == false){
map.put("email", email);
resultList = service.select(map, new HashMap<>()).getResultList();
}
else if(phone != null && "".equals(phone) == false){
map.put("phone", phone);
resultList = service.select(map, new HashMap<>()).getResultList();
}else{
return error(30000, "账号或密码不能为空");
}
if (resultList == null || password == null) {
return error(30000, "账号或密码不能为空");
}
//判断是否有这个用户
if (resultList.size()<=0){
return error(30000,"用户不存在");
}
User byUsername = (User) resultList.get(0);
Map<String, String> groupMap = new HashMap<>();
groupMap.put("name",byUsername.getUserGroup());
List groupList = userGroupService.select(groupMap, new HashMap<>()).getResultList();
if (groupList.size()<1){
return error(30000,"用户组不存在");
}
UserGroup userGroup = (UserGroup) groupList.get(0);
//查询用户审核状态
if (!StringUtils.isEmpty(userGroup.getSourceTable())){
String sql = "select examine_state from "+ userGroup.getSourceTable() +" WHERE user_id = " + byUsername.getUserId();
String res = String.valueOf(service.runCountSql(sql).getSingleResult());
if (res==null){
return error(30000,"用户不存在");
}
if (!res.equals("已通过")){
return error(30000,"该用户审核未通过");
}
}
//查询用户状态
if (byUsername.getState()!=1){
return error(30000,"用户非可用状态,不能登录");
}
String md5password = service.encryption(password);
if (byUsername.getPassword().equals(md5password)) {
// 存储Token到数据库
AccessToken accessToken = new AccessToken();
accessToken.setToken(UUID.randomUUID().toString().replaceAll("-", ""));
accessToken.setUser_id(byUsername.getUserId());
tokenService.save(accessToken);
// 返回用户信息
JSONObject user = JSONObject.parseObject(JSONObject.toJSONString(byUsername));
user.put("token", accessToken.getToken());
JSONObject ret = new JSONObject();
ret.put("obj",user);
return success(ret);
} else {
return error(30000, "账号或密码不正确");
}
}
5.1.4通知公告界面
用户点击“通知公告”菜单显示管理员在后台发布的所有的通知公告信息,可以查看通知公告详情,通知公告界面如下图5-4所示。

图5-4通知公告界面图
5.1.5 宠物资讯界面
用户点击“宠物资讯”菜单显示所有的宠物资讯信息,可以按照条件进行宠物资讯的筛选或者输入关键词进行局部搜索,点击可以进入宠物资讯详细展示界面,在此界面用户可以收藏、点赞和评论,界面如下图5-5所示。

图5-5宠物资讯界面图
当访客点击了任意宠物后将会进入该款宠物的详情界面,可以了解到该宠物的图片信息、宠物信息、价钱信息等,同时可以对该宠物进行加购+立即购买+收藏+点赞+评论,宠物详情展示页面如图5-6所示。

图5-6 宠物信息界面图
5.1.7 我的订单界面
当用户点击“我的订单”链接后就进入自己购买的订单的界面展示,界面如下图5-7所示。

图5-7 我的订单界面图
当用户点击右上角“我的”这个按钮,会出现子菜单,点击“我的账户”可以对个人的资料、登录系统的密码信息进行设置管理,我的账户界面如下图5-8所示。

图5-8 我的账户界面图
5.2管理员功能模块
5.2.1 用户管理界面
宠物商城中的管理人员是可以对前台注册的买家和卖家进行管理的,也可以对管理员进行管控。界面如下图5-9所示。

图5-9用户管理界面图
用户管理关键代码如下所示。
@PostMapping("/add")
@Transactional
public Map<String, Object> add(HttpServletRequest request) throws IOException {
service.insert(service.readBody(request.getReader()));
return success(1);
}
public Map<String, Object> addMap(Map<String,Object> map){
service.insert(map);
return success(1);
}
管理员点击“通知公告管理”菜单可以查看到系统中的所有通知公告信息,对已经存在的通知公告,管理员可以修改,也可以添加新的通知公告或者删除通知公告,界面如下图5-10所示。

图5-10通知公告管理界面图
通知公告管理关键代码如下所示。
@RequestMapping("/get_obj")
public Map<String, Object> obj(HttpServletRequest request) {
List resultList = service.selectBaseList(service.select(service.readQuery(request), service.readConfig(request)));
if (resultList.size() > 0) {
JSONObject jsonObject = new JSONObject();
jsonObject.put("obj",resultList.get(0));
return success(jsonObject);
} else {
return success(null);
}
}
管理员点击“资源管理”菜单能够对其下子菜单宠物资讯和宠物资讯的分类进行增删改查。资源管理界面如下图5-11所示。

图5-11资源管理界面图
资源管理关键代码如下:
@PostMapping("/set")
@Transactional
public Map<String, Object> set(HttpServletRequest request) throws IOException {
service.update(service.readQuery(request), service.readConfig(request), service.readBody(request.getReader()));
return success(1);
}
5.2.4 商城管理界面
宠物商城中的管理人员是可以对宠物商城内发布的宠物进行维护和管理的,支持增删改查操作。界面如下图5-12所示。

图5-12商城管理界面图
6系统测试
6.1系统测试的类型
在宠物商城系统的开发过程中,可以进行多种类型的测试,以确保系统的质量和稳定性。以下是宠物商城系统可能需要进行的测试类型:
1、功能测试:对宠物商城系统各个功能模块进行测试,验证系统是否按照需求规格说明书的要求正常工作。。
2、性能测试:评估系统在不同负载条件下的性能表现,包括响应时间、并发用户数、吞吐量和资源利用率等指标。这有助于确定系统的容量和性能限制,并进行性能优化。
3、安全性测试:通过模拟各种安全攻击、检查系统的漏洞和弱点,确保系统的安全性和防护能力。包括身份认证、数据加密、跨站脚本攻击(XSS)、SQL注入等。
4、兼容性测试:在不同的操作系统、浏览器和设备上测试系统的兼容性,确保系统在各种环境下都能正常运行和显示。
5、用户界面测试:评估用户界面的可用性、易用性和一致性。测试页面布局、导航结构、交互反应等,确保用户能够方便地浏览和使用系统。
6、集成测试:对宠物商城系统的各个模块进行集成测试,验证模块之间的接口和数据交互是否正常,确保整个系统能够协同工作。
7、冒烟测试:在每次更新或发布版本后进行快速的冒烟测试,检查系统是否可用并没有明显错误,以便及时发现和修复问题。
8、回归测试:在系统进行功能或代码修改后,重新运行已有的测试用例,确保修改不会影响现有功能的正常工作。
6.2 功能测试
系统测试包括:用户登录功能测试、用户注册功能测试、宠物展示功能测试、宠物添加功能测试,如表6-1、6-2、6-3、6-4所示:
用户登录功能测试:
表6-1 用户登录功能测试表
测试名称 | 测试功能 | 操作 | 操作过程 | 预期结果 | 测试结果 |
用户登录模块测试 | 正确输入用户信息,用户成功登录 | 输入用户的信息 | 1.在密码框输入用户密码。2.点击登录 | 跳转到首页 | 正确 |
用户注册功能测试:
表6-2 用户登录功能测试表
测试名称 | 测试功能 | 操作 | 操作过程 | 预期结果 | 测试结果 |
用户注册模块测试 | 正确输入用户星系,完成用户注册 | 输入用户的基本信息 | 在注册页面填写用户相应的信息,然后点击“注册”按钮。 | 提示成功并跳转到登录界面 | 正确 |
用户注册模块测试 | 用户注册失败 | 用户两次输入密码不一致 | 用户在注册页面填写信息时不填写用户名然后点击“注册”按钮。 | 注册失败提示用户名不能为空 | 正确 |
宠物信息界面测试:
表5-3 宠物信息界面测试表
测试名称 | 测试功能 | 操作 | 操作过程 | 预期结果 | 测试结果 |
宠物信息功能模块测试 | 宠物信息正常的显示 | 浏览宠物信息 | 在前台首页选择一个宠物分类进入分类列表,然后选择一个宠物 | 进入该宠物的详细信息界面 | 正确 |
管理员添加宠物功能测试:
表5-4 管理员添加宠物功能测试表
测试名称 | 测试功能 | 操作 | 操作过程 | 预期结果 | 测试结果 |
管理员添加宠物功能测试 | 添加宠物成功的情况 | 输入新宠物的基本信息 | 后台选择“发布宠物”选项,然后填写新宠物基本信息点击“添加”按钮 | 新宠物添加成功 | 正确 |
管理员添加宠物功能测试 | 添加宠物失败的情况 | 输入宠物基本信息不完全 | 后台选择“发布宠物”选项,然后不完全填写宠物信息,点击“添加”按钮。 | 对应信息框后出现提示请输入XXXX信息 | 正确 |
管理员添加宠物功能测试 | 添加宠物失败的情况 | 管理员在价格框输入非数字字符 | 后台选择“发布宠物”选项然后再价格框输入非数字字符,点击“添加”按钮。 | 添加失败,提示“价格必须时货币格式!” | 正确 |
6.3 可用性测试
宠物商城系统的可用性测试涵盖了导航和界面、注册和登录、商品浏览和购买、支付和结算、购物车和订单管理、搜索和过滤、用户评价和反馈以及平台兼容性等方面。在导航和界面测试中,确保用户能够顺利浏览主页、搜索商品并进行分类筛选,同时保证界面布局合理且页面加载速度快,使用户能够轻松找到所需信息。注册和登录测试则验证用户能否顺利完成账号注册和登录操作,并检查密码安全性、表单验证和错误处理等功能的有效性。商品浏览和购买测试确保商品展示准确,价格计算正确,用户能够顺利进行购买流程。支付和结算测试验证支付接口的稳定性和可靠性,确保订单金额准确且支付成功。购物车和订单管理测试保证这些功能正常可用,用户可以编辑、删除或批量结算购物车商品,以及查看、取消或退款订单。搜索和过滤测试评估关键字搜索和过滤条件筛选功能的准确性和有效性。用户评价和反馈测试确保用户可以方便地对已购买商品进行评价、提交反馈或提问,并获得及时回应。平台兼容性测试在不同浏览器、操作系统和设备上进行,验证系统在各种平台下的兼容性和一致性。通过可用性测试,可以发现并改进用户体验问题、界面设计缺陷和功能不稳定等,提高宠物商城系统的易用性和用户满意度。
6.4 测试结果分析
宠物商城测试结果分析是评估系统质量和稳定性的关键过程。通过综合考虑不同类型的测试,如功能测试、性能测试、安全性测试、兼容性测试和用户界面测试,可以对系统进行全面评估。通过分析各项测试结果,我们能够发现系统中存在的功能缺陷、性能瓶颈、安全漏洞或用户体验问题。根据这些分析结果,团队可以制定相应的改进计划和修复措施,以提高系统的可靠性、易用性和安全性。通过不断优化和改进,宠物商城系统将能够满足用户需求,并提供良好的购物体验和用户满意度。
结论
至此,宠物商城已经结束,在开发前做了许多的准备,在本系统的设计和开发过程中阅览和学习了许多文献资料,从中我也收获了很多宝贵的方法和设计思路,对系统的开发也起到了很重要的作用,系统的开发技术选用的都是自己比较熟悉的,比如Web、Java技术、MYSQL,这些技术都是在以前的学习中学到了,其中许多的设计思路和方法都是在以前不断地学习中摸索出来的经验,其实对于我们来说工作量还是比较大的,但是正是由于之前的积累与准备,才能顺利的完成这个项目,由此看来,积累经验跟做好准备是十分重要的事情。
当然在该系统的设计与实现的过程中也离不开老师以及同学们的帮助,正是因为他们的指导与帮助,我才能够成功的在预期内完成了这个系统。同时在这个过程当中我也收获了很多东西,此系统也有需要改进的地方,但是由于专业知识的浅薄,并不能做到十分完美,希望以后有机会可以让其真正的投入到使用之中。
参考文献
[1]束方鹏,张逸. 基于SpringBoot框架的数据转换系统及方法[P]. 江苏省: CN117289914B, 2024-02-02.
[2]吴伶琳. 基于SpringBoot的客户关系管理系统设计与实现 [J]. 无线互联科技, 2023, 20 (24): 60-62.
[3]吴昊,张丹. 基于SpringBoot框架的大学生网上兼职系统设计与实现 [J]. 电脑知识与技术, 2023, 19 (35): 68-72.
[4]李冉,杨军,宁玉富等. 基于SpringBoot框架和CNN-SVM算法的浸润性肺腺癌细胞的初步诊断筛选系统 [J]. 无线互联科技, 2023, 20 (22): 58-61.
[5]Liang C . School Vehicle Management System Based on JAVA Language [J]. Academic Journal of Computing & Information Science, 2023, 6 (9):
[6]高志平. 基于SpringBoot框架与ITIL方法的运维管理系统的设计与实现[D]. 华东师范大学, 2021.
[7]夏健强, 基于Java语言的在线网络视频聊天系统V1.0. 湖北省, 武汉东湖学院, 2021-11-01.
[8]胡明生, 网上宠物销售商城系统. 河南省, 郑州师范学院, 2021-05-01.
[9]Liu S . Explore Java Language and Android Mobile Software Development [J]. International Journal of Frontiers in Engineering Technology, 2021, 3.0 (2.0):
[10]Kline K . The Java Language Extension for SQL Server Is Now Open Source [J]. Database Trends and Applications, 2020, 34 (4): 31-31.
[11]蔡家婧. 容器云平台上MySQL数据库集群的负载均衡研究[D]. 华中科技大学, 2019.
[12]叶建林,陈锐植,吴秋坤等. 基于Android的宠物商城互动平台《Pap》的设计与应用 [J]. 电脑知识与技术, 2019, 14 (13): 100-103.
[13]GB/T 34944-2019, Java语言源代码漏洞测试规范[S].
致 谢
逝者如斯夫,不舍昼夜。转眼间,大学生活便已经接近尾声,人面对着离别与结束,总是充满着不舍与茫然,我亦如此,仍记得那年秋天,我迫不及待的提前一天到了学校,面对学校巍峨的大门,我心里充满了期待:这里,就是我新生活的起点吗?那天,阳光明媚,学校的欢迎仪式很热烈,我面对着一个个对着我微笑的同学,仿佛一缕缕阳光透过胸口照进了我心里,同时,在那天我认识可爱的室友,我们携手共同度过了这难忘的两年。如今,我望着这篇论文的致谢,不禁又要问自己:现在,我们就要说再见了吗?
感慨莫名,不知所言。遥想当初刚来学校的时候,心里总是想着工科学校会过于板正,会缺乏一些柔情,当时心里甚至有一点点排斥,但是随着我对学校的慢慢认识与了解,我才认识到了她的美丽,她的柔情,并且慢慢的喜欢上了这个校园,但是时间太快了,快到我还没有好好体会她的美丽便要离开了,但是她带给我的回忆,永远不会离开我,也许真正离开那天我的眼里会满含泪水,我不是因为难过,我只是想将她的样子映在我的泪水里,刻在我的心里。最后,感谢我的老师们,是你们教授了我们知识与做人的道理;感谢我的室友们,是你们陪伴了我如此之久;感谢每位关心与支持我的人。
少年,追风赶月莫停留,平荒尽处是春山。
免费领取项目源码,请关注❥点赞收藏并私信博主,谢谢~