立项背景和目标: 中小型图书馆普遍沿用手工登记或早期单机软件管理,导致图书编目、借还登记、逾期统计与库存盘点等环节存在流程割裂、数据更新滞后、人工差错率偏高等问题,同时读者对跨终端查询、在线续借及借阅历史追溯的服务期望不断提升。本系统旨在设计一套基于Web的轻量化图书借阅管理系统(SpringBoot + SSM技术栈),在不增加硬件投入的前提下,改善中小型图书馆的流通效率与服务体验。
软件功能、核心功能模块的介绍: 本系统围绕图书借阅核心业务,共实现四大功能模块:
图书与读者信息管理:支持图书导入、检索及读者资质有效期设置;
借还书闭环操作:通过手动输入完成借出、归还与续借,实时更新库存与借阅状态;
逾期与预约管理:系统按预设规则自动计算滞纳金、发送到期提醒,并维护预约队列;
借阅统计与可视化面板:可按时段、图书分类、读者类型输出借阅热度排行与活跃度趋势图表。
上述功能通过统一 Web 界面整合,兼顾管理员操作与读者自助使用。
业务流程、功能路径描述: 系统采用 B/S(浏览器/服务器)分布式架构,整体流程如下:读者/管理员通过 Web 浏览器发起请求 → SpringMVC 控制层路由分发 → Service 层处理核心业务逻辑(借书、还书、逾期计算等)→ MyBatis 持久层操作 MySQL 数据库 → 返回结果展示。管理员端可进行图书入库、读者注册、权限配置;读者端可自助查询馆藏、提交预约、查看借阅历史。
整体架构和设计思路,不同模块使用的技术栈: 系统采用经典 SSM(Spring + SpringMVC + MyBatis)轻量级整合架构,前端使用 HTML/CSS/JS 构建 Web 界面,后端通过 RESTful API 提供数据服务,数据库使用 MySQL 并利用事务控制保障数据一致性。Spring 负责 IoC/DI 容器管理与事务控制,SpringMVC 负责请求路由调度,MyBatis 负责 SQL 映射与持久化优化(使用动态 SQL 与结果集映射)。此外,系统引入了动态规则引擎支持逾期规则的热重载,无需重启即可更新滞纳金计算策略。
"我"的负责模块和结果(尽可能量化): 独立完成系统全部功能模块的设计与实现,主要产出包括:
完成包含 6 张核心数据表(图书表、读者表、借阅记录表、预约表、罚款表、配置表)的数据库设计与 E-R 建模;
实现 借还书闭环、逾期自动计算、预约队列管理等核心业务逻辑;
完成本地环境部署与核心功能验证,模拟包含 50 册图书、20 名读者的借阅场景,执行图书入库、读者注册、借书、还书等全部业务操作,各模块运行稳定,业务规则计算准确;
在模拟 50 并发请求的压力测试下,系统平均响应时间保持在可接受范围内。
"我"遇到的难点、坑,和解决方案:
并发借阅数据一致性问题:多用户同时借阅同一本书时可能导致库存超借。解决方案:在借书 Service 层引入数据库行级锁(SELECT ... FOR UPDATE),配合 Spring 事务管理,保证借阅操作的原子性;
逾期规则灵活配置难题:不同图书类型滞纳金标准不同,且可能随政策调整。解决方案:将规则抽取为独立配置表,实现规则引擎动态热重载,运营方可在不停机情况下修改规则;
RESTful API 接口稳定性:前后端交互过程中接口数据结构频繁变动导致联调困难。解决方案:统一定义 API 返回数据格式,前期先约定接口文档,减少后期联调返工成本。