摘 要

在互联网和电子商务快速发展的背景下,传统书店因实体店面的局限性,难以满足消费者对便捷性与多样性的需求,同时在库存管理、销售数据分析及客户服务方面存在效率低下的问题。

系统在Spring Boot框架搭建后端服务,利用其自动配置和依赖注入两大特性,简化系统开发流程,提高系统性能与稳定性。前端采用Vue.js框架,以组件化开发和响应式数据绑定的形式,实现高效交互与动态页面渲染。数据库选用MySQL,保障数据存储的高效性和安全性。系统采用B/S架构,设计了清晰的分层结构,实现用户与管理员的高效交互。个人可进行商品浏览、购买、订单查询、收藏与评论管理等操作。管理员则负责用户管理、图书分类、订单处理及通知公告发布等任务,满足不同角色的核心需求,提升购书体验与管理效率。

线上书店系统为传统书店行业的数字化转型提供了有效的解决方案,优化了购书流程,提升了运营效率和服务质量,具有重要的应用价值和推广意义。通过技术创新与功能优化,系统不仅为用户提供了更加便捷、个性化的购书服务,还为线上书店行业的技术发展提供了新的思路与借鉴,推动整个行业向更高水平迈进,为传统书店的数字化转型和电子商务的发展贡献了积极力量。

关键词:线上书店;Spring Boot;Vue.js;MySQL

Design and implementation of online bookstore system based on Spring Boot + Vue

Abstract

In the context of the rapid development of the Internet and e-commerce, traditional bookstores are unable to meet consumers' needs for convenience and diversity due to the limitations of physical stores. At the same time, there are problems of inefficiency in inventory management, sales data analysis and customer service.

The system builds backend services based on the Spring Boot framework, and uses its automatic configuration and dependency injection features to simplify the development process and improve system performance and stability. The front end uses the Vue.js framework, and achieves efficient interaction and dynamic page rendering through component development and responsive data binding. The system adopts a B/S architecture and designs a clear hierarchical structure to achieve efficient interaction between users and administrators. Users can browse, purchase, query orders, collect and comment on books. Administrators are responsible for tasks such as user management, book classification, order processing and notification announcement release, meeting the core needs of different roles and improving book purchasing experience and management efficiency.

The online bookstore system provides an effective solution for the digital transformation of the traditional bookstore industry, optimizes the book purchasing process, improves operational efficiency and service quality, and has important application value and promotion significance. Through technological innovation and functional optimization, the system not only provides users with more convenient and personalized book-purchasing services, but also provides new ideas and references for the technological development of the online bookstore industry, promotes the entire industry to a higher level, and contributes positively to the digital transformation of traditional bookstores and the development of e-commerce.

Key words:Online bookstore; Spring Boot; Vue.js; MySQL

目  录

第1章 绪论

1.1 研究背景及研究意义

1.1.1 研究背景

1.1.2 研究意义

1.2 国内外研究现状

1.2.1 国内研究现状

1.2.2 国外研究现状

第2章 相关技术介绍

2.1 B/S架构

2.2 MVC设计模式

2.3 Vue框架

2.4 Spring Boot框架

2.5 MySQL

第3章 需求分析

3.1 功能需求分析

3.1.1 用户功能

3.1.2 管理员功能

3.2 非功能需求分析

3.2.1 可用性分析

3.2.2 可靠性分析

3.2.3 安全性分析

3.3 可行性分析

3.3.1 经济可行性

3.3.2 技术可行性

3.3.3 操作可行性

第4章 系统设计

4.1 系统架构设计

4.2 系统功能模块设计

4.3 系统工作流程设计

4.4 数据库设计

4.4.1 概念设计

4.4.2 逻辑设计

第5章 系统实现

5.1 用户功能模块实现

5.1.1 图书商城

5.1.2 购买图书

5.1.3 购物车

5.1.4 个人订单

5.1.5 订单配送

5.1.6 图书收藏

5.1.7 评论管理

5.2 管理员功能模块实现

5.2.1 用户管理

5.2.2 通知公告管理

5.2.3 新闻资讯管理

5.2.4 图书商城管理

5.2.5 图书分类管理

5.2.6 订单管理

5.2.7 配送管理

第6章 系统测试

6.1 测试目的

6.2 测试方法

6.3 测试内容

6.4 测试结论

第7章 总结与展望

7.1 总结

7.2 展望

致谢

参考文献


 

1章 绪论

1.1 研究背景及研究意义

1.1.1 研究背景

在互联网技术的广泛应用和电子商务的发展下,线上浏览已成为人们获取知识和满足阅读需求的一大便捷方式。线上书店凭借其充足的图书资源、快捷的购买流程和个性化的服务,逐渐成为图书销售的主要渠道。现有的线上书店系统在功能设计和用户体验方面仍存在诸多不足。从用户角度来看,购书流程不够简洁,购物车功能不够完善,订单管理不够清晰,图书推荐的精准度有待提高,用户对于图书收藏和评论管理等功能的需求也未得到充分满足。从管理员角度来看,系统在用户管理、图书分类管理、订单管理和配送管理等方面的功能不够完善,难以实现高效运营。但现有网络系统在高并发访问时稳定性不足,容易出现卡顿甚至网络崩溃的情况,影响用户体验和系统信誉。这些问题不仅限制了线上书店的市场竞争力,也阻碍了其进一步发展。因此,开发一个功能完备、用户体验良好的线上书店系统,对于提升线上购书服务质量和推动图书销售行业的数字化转型具有重要的现实意义。

1.1.2 研究意义

本研究着力于开发一个功能完善操作方便的线上书店系统,通过优化用户和管理员的功能模块,提升系统的整体性能和用户体验。系统将提供便捷的图书浏览、高效的购物车操作、清晰的个人订单管理、可靠的订单配送服务、个性化的图书收藏以及灵活的评论管理功能,简化购书流程,提升用户满意度和忠诚度。通过这些创新与优化,该系统不仅能够为用户提供更优质、便捷的购书服务,还将为线上书店行业的技术发展提供新的思路与借鉴,推动整个行业向更高水平迈进。

1.2 国内外研究现状

1.2.1 国内研究现状

在互联网技术的飞速发展的当下,线上书店系统在我国经历了从无到有、从简单到复杂、从单一功能到多功能融合的演变过程。早期的线上书店多以简单的图书销售平台为主,功能较为单一,主要提供图书的展示与销售服务。随着市场需求的不断变化和技术的不断进步,线上书店系统逐渐向多元化、智能化方向发展。

近年来,我国学者对线上书店系统的发展主要集中在系统功能架构设计、服务体验优化等方面。2022年崔睿玲和赵志豪[1] 在《基于网上书店的物流配送模式分析——以亚马逊为例》中,通过对亚马逊网上书店物流配送模式的深入研究,揭示了其在配送规模、专业人才、基础设施以及对物流配送公司的管理等方面存在的诸多问题,并提出了针对性的合理化对策。该研究为我国网上书店的物流配送优化提供了重要的参考,有助于线上书店系统更好地解决物流配送环节的痛点,提升用户体验和服务效率。2021年黄真真[2] 在《基于SSH的“ibook”书店商城设计与实现》中,利用SSH框架设计并开发了一个“ibook”书店购物商城系统。该系统融合了会员制度、账户注册、订单查询、书籍查找、书籍管理以及用户信息管理等多功能模块,实现了传统书店营销模式与电子商务经销模式的有机结合。其研究成果为线上书店系统的功能设计提供了实践案例,展示了如何通过技术手段提升线上书店的运营效率和用户体验。2021年张彦芳和靳继红[3] 在《基于JSP的网上书店系统设计》中,详细介绍了基于JSP技术的网上书店系统开发过程,包括系统需求分析、功能结构设计以及数据表设计等内容。该系统前台为用户提供了登录、注册、图书查询与购买、订单查询等功能,后台则为管理员提供了图书管理及订单管理等功能。其研究为线上书店系统的开发提供了技术思路和实现路径,有助于解决用户因工作繁忙而无法前往实体书店购物的问题,推动线上书店的发展。

1.2.2 国外研究现状

国外线上书店系统的发展历程较长,其研究与实践在国际范围内具有广泛的影响力。早期的线上书店系统以亚马逊为代表,其在20世纪90年代初成立,开创了线上图书销售的先河。亚马逊通过构建强大的技术平台和供应链体系,实现了图书的高效销售与配送,奠定了其在全球线上书店领域的领先地位。此后,随着互联网技术的不断进步,国外线上书店系统在功能和服务上不断拓展与深化。

在研究方面,国外学者对线上书店系统的发展进行了多维度的探讨。2024年,Wei Shihong等[4] 在《Click-through conversion rate prediction model of book e-commerce platform based on feature combination and representation》中提出了一种基于特征组合与表示学习的点击转化率预测模型。该研究聚焦于书电商的买家、书籍和活动(BBA)三个核心要素,构建了一个全面的三部分BBA图,涵盖用户、书籍和营销活动,并通过因子分解方法构建了综合特征空间。研究引入了book2tag文本特征,以捕捉文本信息的潜在丰富性,并提出了BBA2vec表示学习方法来全面表示书电商平台的信息空间。该模型能够有效提升书电商平台的点击转化率预测精度,为线上书店系统优化营销策略、精准推荐书籍提供了有力支持,有助于提高用户体验和平台运营效率。2023年,Walek Bogdan和Fajmon Petr[5] 在《A hybrid recommender system for an online store using a fuzzy expert system》中提出了一种混合推荐系统——Eshop recommender。该系统结合了协同过滤、基于内容的推荐方法和模糊专家系统,能够根据不同用户的偏好和在电商平台上的活动,生成个性化的推荐产品列表。研究通过相似度水平、购买系数和产品平均评分等参数,利用模糊专家系统进行推荐,取得了90%以上的标准指标(精确率、召回率、F1值)结果,优于传统推荐方法。这一研究为线上书店系统的个性化推荐提供了新的思路,有助于提升用户满意度和购买转化率。2022年,Lyu Ruxia等[6] 在《Who benefits from offline investment: an analysis of strategic interactions between e-book pricing and bookstores’ investment》中分析了线上书店对线下书店的投资行为及其对电子书定价策略的影响。研究构建了一个包含出版社和线上书店的供应链模型,探讨了批发模式和代理模式下电子书定价策略与线下投资策略的交互作用。结果表明,线下投资改变了书店对电子书定价模式的偏好,且在批发模式下,出版社对书店的投资效率有不同的偏好。这一研究为线上书店系统在多渠道融合和定价策略优化方面提供了理论支持,有助于平衡线上线下的利益分配,提升整体运营效益。

第2章 相关技术介绍

2.1 B/S架构

B/S架构是一种基于网络终端支持的网络架构。该架构通过浏览器作为客户端,将应用程序逻辑与数据处理集中于服务器端,从而实现客户端与服务器的分离[7] 。用户可以通过访问相关应用程序,无需安装对应系统,单纯依靠网络连接进行操作。B/S架构具备易于维护和升级的特性,开发者仅需在服务器上进行修改,即可使所有用户受益[8] 。该架构具备较强的适应性,可通过不同设备访问同一应用,实现跨平台操作。

2.2 MVC设计模式

MVC设计模式是一种广泛应用的软件架构模式,其目的在于将应用程序的业务逻辑、用户界面与输入控制分离[9] 。该模式将系统划分为三部分:模型层负责数据和业务逻辑处理,视图层负责用户界面展示,控制器层则充当模型与视图之间的桥梁,处理用户输入并更新模型与视图[10] 。通过这种分离,MVC模式提高了系统的可维护性与可扩展性,开发者可独立修改各个部分而不影响其他部分。

2.3 Vue框架

Vue.js是用于构建系统界面的渐进式JavaScript框架。其核心库发展于视图层,操作要求低且能够与其他现有项目和库进行有效集成。Vue的设计理念是通过组件化的方式组织代码,提高框架复用性与可维护性[11] 。该框架提供响应式数据绑定与灵活组件系统,便于开发者创建动态的单页应用。Vue还拥有丰富的生态系统,涵盖Vue Router与Vuex等工具,支持复杂应用开发。其优秀文档与活跃社区为开发者提供良好技术支持,成为现代前端开发中的热门选择。

2.4 Spring Boot框架

Spring Boot是一个基于Spring框架的开源Java框架,目的是简化企业级应用程序的开发[12] 。提供默认配置和即开即用的功能,使开发者能够节约时间在创建独立、生产级的Spring应用程序开发。Spring Boot具备自动配置、嵌入式服务器和简化的依赖管理等特性,使开发过程更加高效。该框架还支持相关微服务架构,能够随意构建部署需要的分布式系统。其丰富的生态系统与活跃的社区支持,开发者能够有效利用Spring的强大功能,减少繁琐的配置工作。

2.5 MySQL

MySQL是一种开源关系数据库管理系统,以高性能、可靠性和易用性而受到广泛欢迎[13] 。作为关系数据库,MySQL使用结构化查询语言进行多样数据操作,支持复杂查询和数据管理功能。其架构支持多用户并发访问,能够处理大量数据并保证数据的完整性与安全性[14] 。MySQL广泛应用于Web应用、数据仓库与在线交易处理场景,适用于各类规模的项目。

第3章 需求分析

3.1 功能需求分析

3.1.1 用户功能

系统提供图书商城功能,用户可浏览图书列表并查看详细信息。购买图书功能支持用户选择图书并提交订单。购物车功能允许用户添加、移除或调整图书数量。个人订单功能可展示订单详细记录,允许查看订单状态与详情。订单配送功能显示订单的配送信息。图书收藏功能支持用户添加和管理收藏的图书。评论管理功能提供用户对已购图书进行评价,并执行编辑或删除操作。用户功能用例图如图3-1所示。

图3-1 用户功能用例图

3.1.2 管理员功能

管理员通过登录功能进入系统后台。用户管理功能支持查询、添加、修改和删除用户信息。通知公告管理功能提供公告的发布、编辑和删除操作。新闻资讯管理功能用于维护新闻内容,支持添加、修改和删除。图书商城管理功能涉及图书信息的维护,管理员可更新图书的基本信息。图书分类管理功能提供分类的创建、编辑和删除。订单管理功能支持订单的查询、修改与处理。配送管理功能用于管理订单的配送信息,更新配送状态。管理员功能用例图如图3-2所示。

图3-2 管理员功能用例图

3.2 非功能需求分析

3.2.1 可用性分析

系统支持用户随时访问和操作。页面加载迅速,响应灵敏,用户能够顺畅浏览信息和选择服务,操作方式清晰简便。系统采用模块化设计,各功能模块独立运行,个别模块的异常不会影响整体使用。在访问高峰期,系统仍能保持平稳运行,提供良好用户体验。

3.2.2 可靠性分析

系统具有稳定的运行表现,适应多种网络环境,用户信息正确显示与操作顺利完成。后端服务采用冗余设计和自动备份,降低数据丢失与服务中断的风险。系统内置故障检测机制,遇到异常情况时能够快速定位和修复,提升了系统的稳定性与数据完整性。

3.2.3 安全性分析

系统在用户数据隐私和交易安全上进行保护,采用数据加密、身份验证和权限控制等多种安全措施,防止敏感信息被非法访问或泄露。系统配备监控与防护机制,能够识别并阻挡恶意攻击,保护数据在传输和存储过程中的安全性,提供可靠的使用体验。

3.3 可行性分析

3.3.1 经济可行性

该系统所有使用的技术均为开源,降低了软件许可费用,适合预算有限的项目。快速开发能力与组件化设计能够缩短开发周期,从而减少人力成本。所选关系数据库具有高效的数据存储能力,满足大规模数据需求,进一步降低运营成本。通过高效架构和灵活扩展性,系统能够适应未来业务的增长,保证投资的长期回报。因此,该系统在经济上具备良好的可行性。

3.3.2 技术可行性

Spring Boot作为一款成熟的Java后端框架,具备高性能和安全性优势,适合处理复杂的业务逻辑。Vue作为轻量化前端框架,支持快速开发和高效渲染。MySQL为数据管理提供可靠的支撑,能够处理复杂查询和海量数据存储。整体架构简洁,便于扩展与维护,显示出较高的技术成熟度。因此,该方案在技术实现上具有可行性。

3.3.3 操作可行性

在操作层面,该系统用户界面友好且响应迅速,非技术人员也能够轻松操作。系统设计采用分层架构,有助于实现模块化管理,降低维护复杂性。后台管理界面提供直观的操作功能,用户可通过简单点击完成日常任务。系统的日志管理和权限控制功能,能够维护数据的安全性与完整性,为操作人员提供稳定的工作环境。因此,操作上具备良好的可行性。

第4章 系统设计

4.1 系统架构设计

本系统采用B/S架构,结合Web与MySQL数据库,有效降低了开发和运维成本。系统的软件架构基于Spring Boot、Spring MVC和My Batis,采用展现层、业务逻辑层、数据访问持久层、实体层和工具层等多层设计。各层之间遵循独立原则,减少了相互依赖,同时为每一层提供统一的访问接口,从而提升安全性,实现了“低耦合、高内聚”的特性。该多层架构模式分工明确,结构清晰,为未来的系统扩展和维护奠定了坚实基础。系统架构如图4-1所示。

图4-1 系统整体架构图

4.2 系统功能模块设计

根据系统分析,线上书店系统后台管理端设计为用户管理、通知公告管理、新闻资讯管理、图书商城管理、图书分类管理、订单管理、配送管理等。用户端设计的功能模块有图书商城、购买图书、购物车、个人订单、订单配送、图书收藏、评论管理等。系统功能模块设计如图4-2所示。

图4-2 系统功能模块图

4.3 系统工作流程设计

线上书店系统总体工作流程包含管理员添加书籍后,用户可以在登录系统后进行购买等功能流程,系统的总体工作流程如图4-3所示。

图4-3 系统总体流程图

4.4 数据库设计

数据库设计是一种用于创建数据库结构的过程,通过需求分析确定数据类型和操作需求,并使用实体-关系图表达数据的实体、属性及其关系,形成概念模型。在此基础上,将概念模型转化为特定数据库系统可识别的逻辑模型,确定表结构、字段、数据类型及约束关系。数据库设计通常分为概念设计、逻辑设计两个阶段。

4.4.1 概念设计

概念设计作为数据库设计的关键环节,通过高层次的抽象描述系统中的数据结构和关系,明确系统的数据需求[15] 。通常采用E-R图来展现数据的实体、属性及关系,形成逻辑完整的模型,更加清晰地表达和传达设计意图。在该阶段,需要确定关键数据实体,定义属性并表达关系类型,为数据库的逻辑设计和物理设计奠定必要基础。以下是系统各个实体图和总体E-R图。

地址实体属性包括收货地址、用户ID、是否默认地址等,地址实体属性图如图4-4所示。

图4-4 地址实体属性图

购物车实体属性包括购物车ID、用户ID、商品ID等,购物车实体属性图如图4-5所示。

图4-5 购物车实体属性图

商品实体属性包括产品ID、标题、卖价等,商品实体属性图如图4-6所示。

图4-6 商品实体属性图

商品类型实体属性包括商品分类ID、商品名称等,商品类型实体属性图如图4-7所示。

图4-7 商品类型实体属性图

订单实体属性包括订单ID、订单号、商品ID等,订单实体属性图如图4-8所示。

图4-8 订单实体属性图

用户实体属性包括用户ID、用户姓名、审核状态等,用户实体属性图如图4-9所示。

图4-9 用户实体属性图

管理员实体属性包括用户ID、用户名、密码等,管理员实体属性图如图4-10所示。

图4-10 管理员实体属性图

图4-11 系统总体E-R图

4.4.2 逻辑设计

逻辑设计是数据库设计中的关键环节,主要任务是将概念设计中的抽象模型转化为数据库管理系统可识别的结构,确定表结构、字段名称、数据类型、主键和外键等要素,从而构建数据的逻辑框架。逻辑设计明确了数据的存储方式和关联规则,维持数据一致性与完整性,并提升查询与管理的效率。以下是系统的数据库表设计。

地址表主要是用来存储用户的收货地址信息。主要字段包括收货地址、姓名、手机、邮编、地址、用户ID、是否默认地址等。地址表如表4-1所示。

表4-1 地址表

编号

字段名

类型

长度

是否非空

是否主键

注释

1

address_id

int

收货地址

2

name

varchar

32

姓名

3

phone

varchar

13

手机

4

postcode

varchar

8

邮编

5

address

varchar

255

地址

6

user_id

mediumint

用户ID

7

create_time

timestamp

创建时间

8

update_time

timestamp

更新时间

9

default

tinyint

默认判断

购物车表主要是用来存储用户购物车中的商品信息。主要字段包括购物车ID、标题、图片、用户ID、单价、数量、商品ID、状态等。购物车表如表4-2所示。

表4-2 购物车表

编号

字段名

类型

长度

是否非空

是否主键

注释

1

cart_id

int

购物车ID

2

title

varchar

64

标题

3

img

varchar

255

图片

4

user_id

int

用户ID

5

create_time

timestamp

创建时间

6

update_time

timestamp

更新时间

7

state

int

状态

8

price

double

单价

9

price_ago

double

原价

10

price_count

double

总价

11

num

int

数量

12

goods_id

mediumint

商品id

13

type

varchar

64

商品分类

14

description

varchar

255

描述

商品表主要是用来存储商品的详细信息。主要字段包括产品ID、标题、封面图、描述、原价、卖价、销量、库存、商品分类、点击量、正文等。商品表如表4-3所示。

表4-3 商品表

编号

字段名

类型

长度

是否非空

是否主键

注释

1

goods_id

mediumint

产品ID

2

title

varchar

125

标题

3

img

text

200

封面图

4

description

varchar

255

描述

5

price_ago

double

原价

6

price

double

卖价

7

sales

int

销量

8

inventory

int

商品库存

9

type

varchar

64

商品分类

10

hits

int

点击量

11

content

longtext

255

正文

12

img_1

text

200

主图1

13

img_2

text

200

主图2

14

img_3

text

200

主图3

15

img_4

text

200

主图4

16

img_5

text

200

主图5

17

create_time

timestamp

创建时间

18

update_time

timestamp

更新时间

19

customize_field

text

200

自定义字段

20

source_table

varchar

20

来源表

21

source_field

varchar

20

来源字段

22

source_id

int

来源ID

23

user_id

int

添加人

商品类型表主要是用来存储商品分类的信息。主要字段包括商品分类ID、上级分类ID、商品名称、描述、图标等。商品类型表如表4-4所示。

表4-4 商品类型表

编号

字段名

类型

长度

是否非空

是否主键

注释

1

type_id

int

商品分类ID

2

father_id

smallint

上级分类ID

3

name

varchar

100

商品名称

4

desc

varchar

255

描述

5

icon

varchar

30

图标

6

source_table

varchar

20

来源表

7

source_field

varchar

20

来源字段

8

create_time

timestamp

创建时间

9

update_time

timestamp

更新时间

订单表主要是用来存储订单的详细信息。主要字段包括订单ID、订单号、商品ID、商品标题、商品图片、价格、数量、总价、规格等。订单表如表4-5所示。

表4-5 订单表

编号

字段名

类型

长度

是否非空

是否主键

注释

1

order_id

int

订单ID

2

order_number

varchar

64

订单号

3

goods_id

mediumint

商品ID

4

title

varchar

255

商品标题

5

img

varchar

255

商品图片

6

price

double

价格

7

price_ago

double

原价

8

num

int

数量

9

price_count

double

总价

10

norms

varchar

255

规格

11

type

varchar

64

商品分类

12

contact_name

varchar

32

联系人姓名

13

contact_email

varchar

125

联系人邮箱

14

contact_phone

varchar

11

联系人手机

15

contact_address

varchar

255

收件地址

16

postal_code

varchar

9

邮政编码

17

user_id

int

买家ID

18

merchant_id

mediumint

商家ID

19

create_time

timestamp

创建时间

20

update_time

timestamp

更新时间

21

description

varchar

255

描述

22

state

varchar

16

订单状态

23

remark

text

200

订单备注

24

delivery_state

varchar

16

发货状态

25

vip_discount

double

折扣

用户表主要是用来存储用户的基本信息。主要字段包括用户ID、用户姓名、用户年龄、用户性别、审核状态等。用户表如表4-6所示。

表4-6 用户表

编号

字段名

类型

长度

是否非空

是否主键

注释

1

registered_user_id

int

用户ID

2

user_name

varchar

64

用户姓名

3

user_age

double

用户年龄

4

user_gender

varchar

64

用户性别

5

examine_state

varchar

16

审核状态

6

create_time

datetime

创建时间

7

update_time

timestamp

更新时间

管理员表主要是用来存储管理员的账户信息。主要字段包括用户ID、账户状态、用户组、上次登录时间、手机号码、手机认证、用户名、昵称、密码、邮箱、邮箱认证、头像地址等。管理员表如表4-7所示。

表4-7 管理员表

编号

字段名

类型

长度

是否非空

是否主键

注释

1

user_id

int

用户ID

2

state

smallint

账户状态

3

user_group

varchar

32

所在用户组

4

login_time

timestamp

上次登录时间

5

phone

varchar

11

手机号码

6

phone_state

smallint

手机认证

7

username

varchar

16

用户名

8

nickname

varchar

16

昵称

9

password

varchar

64

密码

10

email

varchar

64

邮箱

11

email_state

smallint

邮箱认证

12

avatar

varchar

255

头像地址

13

open_id

varchar

255

针对获取用户信息字段

14

create_time

timestamp

创建时间

第5章 系统实现

5.1 用户功能模块实现

5.1.1 图书商城

用户进入图书商城页面后,可浏览所有图书的信息。页面提供分类筛选、搜索框及排序选项,用户可根据需求筛选图书。点击图书封面或名称进入详情页面,查看图书简介、价格、库存情况等信息。图书商城功能效果图如图5-1所示。

图5-1 图书商城功能效果图

5.1.2 购买图书

用户在购物车页面勾选需要购买的图书后,点击“去结算”按钮,系统跳转至订单确认页面。用户可选择配送地址、支付方式,并查看订单总金额。确认无误后,点击“提交订单”按钮,系统生成订单并跳转至支付页面。用户完成支付后,系统显示支付成功提示,并可在个人订单页面查看订单状态。购买图书功能效果图如图5-2所示。

图5-2 购买图书功能效果图

5.1.3 购物车

用户进入购物车页面后,可查看已添加的图书列表。每本图书旁显示数量调整按钮,用户可增加或减少购买数量,系统实时更新总金额。点击“删除”按钮可移除图书。用户可勾选多个商品后点击“去结算”按钮,系统进入订单确认页面。购物车功能效果图如图5-3所示。

图5-3 购物车功能效果图

5.1.4 个人订单

用户进入个人订单页面后,可查看所有订单的状态,包括待支付、待发货、配送中和已完成等状态。点击订单号可进入订单详情页面,查看具体信息。待支付订单可点击“立即支付”进行支付,待收货订单可点击“确认收货”。个人订单功能效果图如图5-4所示。

图5-4 个人订单功能效果图

5.1.5 订单配送

用户在个人订单页面查看订单状态,若订单状态为“配送中”,可点击“查看物流”按钮,系统弹出物流详情,包括快递公司、运单号及运输进度信息。订单配送功能效果图如图5-5所示。

图5-5 订单配送功能效果图

5.1.6 图书收藏

用户在图书详情页面点击“收藏”按钮,系统将该图书加入用户的收藏列表。用户进入“我的收藏”页面后,可查看已收藏的图书,点击图书封面可进入详情页面,点击“取消收藏”可移除收藏记录。图书收藏功能效果图如图5-6所示。

图5-6 图书收藏功能效果图

5.1.7 评论管理

用户在个人订单页面查看已完成订单,点击“评价”按钮进入评价页面。用户可填写评论内容,并选择评分等级,确认后点击“提交评价”按钮,系统保存评价记录。用户进入“评论管理”页面,可查看和管理已发布的评论,支持删除或修改。评论管理功能效果图如图5-7所示。

图5-7 评论管理功能效果图

5.2 管理员功能模块实现

5.2.1 用户管理

管理员登录后台后,进入用户管理页面,可查看所有注册用户信息,包括用户名、联系方式、注册时间等。管理员可通过搜索框查找特定用户,并进行账号状态管理,如禁用或解禁用户账号。用户管理功能效果图如图5-8所示。

图5-8 用户管理功能效果图

5.2.2 通知公告管理

管理员进入通知公告管理页面,可查看现有公告列表,点击“新增公告”按钮,进入公告编辑页面,填写公告标题和内容,点击“发布”按钮,公告即显示在用户端。管理员可在公告列表中选择公告进行编辑或删除。通知公告管理功能效果图如图5-9所示。

图5-9 通知公告管理功能效果图

5.2.3 新闻资讯管理

管理员进入新闻资讯管理页面,可添加、修改或删除新闻资讯。点击“新增新闻”按钮,进入编辑页面,输入标题、内容并上传封面图,点击“发布”按钮,新闻即发布至用户端。管理员可在列表中选择新闻进行编辑或删除。新闻资讯管理功能效果图如图5-10所示。

图5-10 新闻资讯管理功能效果图

5.2.4 图书商城管理

管理员进入图书商城管理页面后,可查看所有图书信息,并支持添加、修改或删除图书。点击“新增图书”按钮,进入编辑页面,填写书名、价格、库存等信息,上传封面图片后点击“保存”,图书即添加至商城。图书商城管理功能效果图如图5-11所示。

图5-11 图书商城管理功能效果图

5.2.5 图书分类管理

管理员进入图书分类管理页面,可新增、修改或删除图书分类。点击“新增分类”按钮,输入分类名称后点击“保存”,分类即生效。管理员可点击分类名称进行修改,或点击“删除”按钮移除分类。图书分类管理功能效果图如图5-12所示。

图5-12 图书分类管理功能效果图

5.2.6 订单管理

管理员进入订单管理页面后,可查看所有订单记录,支持按订单状态筛选。点击订单号可查看订单详情。管理员可手动修改订单状态。订单管理功能效果图如图5-13所示。

图5-13 订单管理功能效果图

5.2.7 配送管理

管理员进入配送管理页面后,可查看待配送订单。点击订单进入详情页面。管理员可在订单详情页面更新物流信息。配送管理功能效果图如图5-14所示。

图5-14 配送管理功能效果图

第6章 系统测试

6.1 测试目的

软件测试的目的在于识别系统缺陷,验证软件对需求的符合程度,使其功能、性能和安全性达到设计标准[16] 。在开发过程中,测试能够及时发现潜在问题,降低发布后出现故障的风险。测试不仅关注系统的正常运行,还模拟各种异常情况,评估在不同环境和边界条件下的表现,从而提升软件的可靠性和稳定性,为用户提供更高质量的产品体验,增强信任感。测试过程中的数据和经验积累能完善测试策略,改进开发流程,成为后续项目的参考。软件测试贯穿开发生命周期,是实现产品质量和发布标准的重要环节。

6.2 测试方法

测试方法是一系列用于评估和验证产品、软件或系统性能的技术和程序。这些方法根据测试目标的不同,可以划分为黑盒测试、白盒测试和灰盒测试等多种类型。黑盒测试关注输入和输出,不涉及内部逻辑结构[17] 。白盒测试深入代码和系统内部结构,检查程序流程和逻辑错误。灰盒测试介于两者之间,对内部结构有部分了解。其他方法还包括自动化测试、手动测试、性能测试和安全测试,各自具有特定的应用场景和优势。性能测试检验系统的响应时间和稳定性,安全测试识别潜在的安全漏洞。选择适当的测试方法能够有效发现问题,提高产品的质量和可靠性。

6.3 测试内容

系统采用黑盒测试对系统功能进行测试,以下是测试的详细用例表。

为保证购买图书功能的正常运行,需验证用户在登录状态下能否通过购物车成功完成图书购买,订单是否正确生成,支付是否成功,以及订单状态是否更新为“待发货”。购买图书功能测试用例如表6-1所示。

表6-1 购买图书功能测试用例表

测试目的

验证用户能否成功购买图书,订单是否正确生成

测试条件

1. 用户已登录 2. 购物车中至少有一件商品

测试步骤

1. 进入“购物车”页面,查看已添加的商品 2. 选择需要购买的图书,点击“去结算” 3. 进入订单结算页面,填写收货地址、支付方式 4. 确认订单信息,点击“提交订单” 5. 选择支付方式并完成支付

预期效果

1. 购物车中商品正常显示 2. 订单页面显示正确的购买信息 3. 支付成功后,订单状态变更为“待发货” 4. 订单记录可在“个人订单”中查看

实际效果

与预期结果一致

结论

测试通过

购物车功能是用户购书的关键环节,需验证用户在登录状态下能否正常添加、删除购物车中的商品,以及商品总价是否能正确显示和更新。购物车功能测试用例如表6-2所示。

表6-2 购物车功能测试用例表

测试目的

验证用户是否可以添加、删除购物车商品,并正确显示商品总价

测试条件

1. 用户已登录 2. 系统中有可购买的图书

测试步骤

1. 进入“图书商城”,选择一本图书 2. 点击“加入购物车”,查看是否成功添加 3. 进入“购物车”页面,查看是否显示添加的商品 4. 修改商品数量,检查总价是否正确更新 5. 点击“删除”按钮,确认商品是否从购物车移除

预期效果

1. 商品可成功加入购物车 2. 购物车页面正确显示商品及总价 3. 数量修改后总价自动更新 4. 删除后商品从购物车移除

实际效果

与预期结果一致

结论

测试通过

个人订单功能是用户管理订单的核心模块,需验证用户在登录状态下能否查看订单列表、订单详情,并对订单进行操作。个人订单功能测试用例如表6-3所示。

表6-3 个人订单功能测试用例表

测试目的

验证用户能否正确查看和管理个人订单

测试条件

1. 用户已登录 2. 已成功提交订单

测试步骤

1. 进入“个人中心”,点击“我的订单” 2. 查看订单列表,检查订单状态 3. 点击某个订单,查看订单详情 4. 在“待支付”订单中,尝试取消订单 5. 在“待收货”订单中,点击“确认收货”

预期效果

1. 订单列表正常加载 2. 订单详情信息准确 3. 取消订单后状态变为“已取消” 4. 确认收货后订单状态变为“已完成”

实际效果

与预期结果一致

结论

测试通过

订单配送功能是图书销售系统的关键环节,需验证订单配送信息的准确性以及物流状态的正常更新。订单配送功能测试用例如表6-4所示。

表6-4 订单配送功能测试用例表

测试目的

验证订单配送信息是否正确,物流状态是否正常更新

测试条件

1. 用户已登录 2. 订单状态为“待发货”

测试步骤

1. 进入“个人订单”页面,查看待发货订单 2. 等待管理员发货,查看状态变更为“已发货” 3. 进入订单详情,查看物流信息 4. 等待物流更新,检查状态变化 5. 确认收货后,查看订单状态是否变为“已完成”

预期效果

1. 订单状态正确更新 2. 物流信息显示准确 3. 确认收货后订单状态变为“已完成”

实际效果

与预期结果一致

结论

测试通过

用户管理功能是管理员对用户信息进行管理的重要工具,需验证管理员能否正确查看、修改和删除用户信息。用户管理功能测试用例如表6-5所示。

表6-5 用户管理功能测试用例表

测试目的

验证管理员能否正确查看、修改、删除用户信息

测试条件

1. 管理员已登录 2. 系统中已有用户数据

测试步骤

1. 进入“用户管理”页面,查看用户列表 2. 选择一个用户,点击“查看详情” 3. 修改用户信息,如联系方式,保存并查看是否更新 4. 选中某个用户,点击“删除”,确认用户是否被移除

预期效果

1. 用户列表正常加载 2. 修改信息后成功更新 3. 删除后用户数据消失

实际效果

与预期结果一致

结论

测试通过

图书管理功能是管理员对图书商城进行管理的核心模块,需验证管理员能否添加、修改和删除图书信息。图书管理功能测试用例如表6-6所示。

表6-6 图书管理功能测试用例表

测试目的

验证管理员是否可以添加、修改、删除商城中的图书

测试条件

1. 管理员已登录 2. 系统中已有图书数据

测试步骤

1. 进入“图书商城管理”页面,查看已有图书列表 2. 点击“添加图书”,填写书名、价格、分类等信息,点击保存 3. 选中一本图书,点击“编辑”,修改价格并保存 4. 选中一本图书,点击“删除”,确认是否移除

预期效果

1. 添加图书后,商城可正常显示新图书 2. 修改后图书信息正确更新 3. 删除后图书从商城移除

实际效果

与预期结果一致

结论

测试通过

订单管理功能是管理员对订单进行管理和操作的重要工具,需验证管理员能否正确查看订单列表、修改订单状态。订单管理功能测试用例如表6-7所示。

表6-7 订单管理功能测试用例表

测试目的

验证管理员是否能正确查看订单、修改订单状态

测试条件

1. 管理员已登录 2. 系统中已有用户订单

测试步骤

1. 进入“订单管理”页面,查看订单列表 2. 选中“待发货”订单,点击“发货”,填写物流信息 3. 进入订单详情,检查状态是否更新 4. 选中“待支付”订单,尝试取消订单

预期效果

1. 订单列表正确显示 2. 发货后订单状态变为“已发货” 3. 取消订单后状态变为“已取消”

实际效果

与预期结果一致

结论

测试通过

公告管理功能是管理员发布、修改和删除系统公告的重要工具,需验证管理员能否正确发布、修改和删除公告。公告管理功能测试用例如表6-8所示。

表6-8 公告管理功能测试用例表

测试目的

验证管理员是否可以发布、修改、删除公告

测试条件

1. 管理员已登录 2. 系统中已有公告

测试步骤

1. 进入“通知公告管理”页面,查看现有公告 2. 点击“添加公告”,填写标题和内容,点击保存 3. 选中一条公告,点击“编辑”,修改内容并保存 4. 选中一条公告,点击“删除”,确认是否成功移除

预期效果

1. 添加后公告正常显示 2. 修改后内容正确更新 3. 删除后公告从列表中消失

实际效果

与预期结果一致

结论

测试通过

6.4 测试结论

本次测试围绕用户和管理员的核心功能展开,涵盖购买图书、购物车、个人订单、订单配送、用户管理、图书商城管理、订单管理、通知公告管理八个模块。测试过程中,各项功能均按照预设测试步骤执行,所有测试点均达到预期效果,未出现异常情况。用户功能方面,购买图书流程完整,购物车功能正常运行,个人订单可正确显示和管理,订单配送状态同步无误。管理员功能方面,用户管理模块支持查看、修改、删除操作,图书商城管理模块可添加、编辑、删除图书,订单管理功能可正确更新订单状态,通知公告管理模块能够正常发布、修改、删除公告。所有功能测试均通过,系统各模块运行稳定,核心功能符合需求。

第7章 总结与展望

7.1 总结

在本次毕业设计中,完成了一套基于Spring Boot的线上书店系统的设计与实现。系统采用B/S架构,前端使用Vue.js框架,后端依托Spring Boot框架,数据库选用MySQL,构建了高效、稳定的技术架构。通过深入分析用户和管理员的需求,系统实现了丰富的功能模块,包括图书浏览、购买、购物车管理、订单查询与跟踪、图书收藏、评论管理等用户功能,以及用户管理、图书分类管理、订单管理和通知公告管理等管理员功能。系统不仅优化了购书体验,还提升了管理流程的效率。在测试阶段,通过黑盒测试验证了系统的功能完整性与稳定性,所有核心功能均达到预期目标。

7.2 展望

尽管系统在功能和性能上取得了显著成果,但仍存在一些不足之处。系统的个性化推荐功能还不够完善,未能充分利用大数据分析为用户提供精准的图书推荐,在一定程度上影响了用户体验。系统的界面设计在美观性和交互性上还有提升空间,部分操作流程较为繁琐,需要进一步优化以提高用户满意度。在高并发访问时,系统的响应速度仍有待提高,以更好地应对实际运营中的流量压力。未来,将致力于改进这些不足,进一步完善系统功能,提升用户体验,使其更具市场竞争力和社会价值。

致谢

在时光的长河中,毕业的钟声已然敲响,回首往昔,这段求学之旅仿若一场绚丽的梦,而诸多温暖的陪伴,让这梦愈发斑斓。

感恩我的导师,您是那盏照亮我学术之路的明灯。在论文的撰写过程中,您耐心地为我答疑解惑,每一次的指导都如春风化雨,润泽心田。您严谨的治学态度,让我学会了如何在知识的海洋中精耕细作。您温和的鼓励,让我在遇到挫折时重拾信心。您的教诲,如同星辰,将永远闪耀在我的人生轨迹上。

感谢我的父母,是你们用爱为我撑起了一片天。在我迷茫时,是你们的鼓励让我坚定前行。在我疲惫时,是你们的关怀让我满血复活。你们是我最坚实的后盾,无论风雨如何,都默默支持着我。你们的爱,是我一路披荆斩棘的勇气源泉。

还要感谢我的同学们,感谢你们在学习路上的陪伴与支持。我们一起探讨学术问题,一起分享成长的喜悦,那些在图书馆里并肩作战的日子,那些在校园里漫步畅谈的时光,都将成为我最珍贵的回忆。感谢你们给予我的帮助与鼓励,让我在这段旅程中不再孤单。

感谢这段旅程中所有的相遇与陪伴,让我得以成长,让我得以收获。未来的路还很长,但有了这些温暖的力量,我相信自己能够勇敢地走下去。

参考文献

  1. 崔睿玲,赵志豪.基于网上书店的物流配送模式分析——以亚马逊为例[J].中国物流与采购,2022,(23):37-38.
  2. 黄真真.基于SSH的“ibook”书店商城设计与实现[J].科技与创新,2021,(16):173-174+178.
  3. 张彦芳,靳继红.基于JSP的网上书店系统设计[J].信息技术与信息化,2021,(08):110-112.
  4. Shihong W ,Zhou Y ,Jian Z , et al.Click-through conversion rate prediction model of book e-commerce platform based on feature combination and representation[J].Expert Systems With Applications,2024,238(PF):
  5. Bogdan W ,Petr F .A hybrid recommender system for an online store using a fuzzy expert system[J].Expert Systems With Applications,2023,212
  6. Ruxia L ,Cuihua Z ,Zhitang L , et al.Who benefits from offline investment: an analysis of strategic interactions between e-book pricing and bookstores’ investment[J].Electronic Commerce Research,2022,23(4):2605-2645.
  7. 赵惠. 基于B/S模式的实验室管理系统设计和实现 [J]. 中国新通信, 2023, 25 (21): 72-74.
  8. 田应权,尹瑞雪. 基于三层B/S模式的飞机结构损伤信息管理系统设计与实现 [J]. 机械工程师, 2023, (06): 36-39.
  9. 唐满华,李贵龙,李维思,等. 基于MVC模式的三层架构区域与产业监测预警平台设计与实现 [J]. 软件, 2023, 44 (11): 24-29+66.
  10. 金妍池. 基于MVC模式的科技管理信息系统设计研究 [J]. 电子技术与软件工程, 2022, (16): 192-195.
  11. 罗光武,陈典灿,吴荷,等. 应用Spring boot + Vue框架的时间管理软件的设计与实现 [J]. 工业控制计算机, 2024, 37 (04): 64-66.
  12. 刘慧玲,谭定英,陈平平. 基于Spring Boot和Vue.js的大学生团队管理系统的设计 [J]. 电脑编程技巧与维护, 2024, (03): 120-122. 
  13. 杨芬,宋晓燕.MySQL数据库应用的课程教学分析[J].电子技术,2023,52(10):180-181.
  14. 赵停停.基于MySQL数据库技术的Web动态网页设计研究[J].信息与电脑(理论版),2023,35(17):174-176.
  15. 周晓玉,崔文超.基于Web技术的数据库应用系统设计[J].信息与电脑(理论版),2023,35(09):189-191.
  16. 童浩楠,车啸平,鲁凌云,等. 软件测试与质量保证课程思政教学探索与实践 [J]. 电脑与信息技术, 2024, 32 (02): 114-118. 
  17. 刘娜.计算机软件的测试方法与应用[J].集成电路应用,2023,40(12):60-61.

点赞+收藏+关注  →私信领取本源代码、数据库

关注博主下篇更精彩
一键三连!!!
一键三连!!!
一键三连!!!
感谢一键三连!!!

更多推荐