团队作业3--需求改进&系统设计

团队作业3--需求改进&系统设计

项目 内容
所属课程 https://edu.cnblogs.com/campus/gdgy/Class12Grade23ComputerScience
作业要求 https://edu.cnblogs.com/campus/gdgy/Class12Grade23ComputerScience/homework/13473
作业目标 根据发布的项目时间规划,初步确立团队任务计划,将团队的任务计划添加到Coding的团队项目任务里
GitHub仓库 https://github.com/ywks1/library-system

一、需求&原型改进

(一)课堂反馈问题及修改

问题1:用户权限划分不够细致
修改1:增加更细粒度的权限管理,区分学生、教师、社团负责人、图书馆管理员、系统管理员等多级权限

问题2:电子资源版权问题未考虑
修改2:增加电子资源版权声明和使用限制,设置在线阅读时间限制和下载权限控制

问题3:集体借阅流程风险控制不足
修改3:增加社团/班级借阅的审批流程,设置借阅数量上限和借阅期限控制

问题4:推荐算法缺乏冷启动机制
修改4:增加基于热门图书和分类的初始推荐,解决新用户无历史数据的问题

(二)用户调研与场景分析

用户痛点分析:

学生用户张同学:

  • 使用前:需要到图书馆现场查询图书位置,经常找不到想要的书籍
  • 使用后:通过手机APP实时查询图书状态,预约后直接到馆取书
  • 核心痛点:时间浪费在找书上,借阅流程繁琐

图书馆管理员李老师:

  • 使用前:手工记录借阅信息,统计报表工作量大
  • 使用后:系统自动生成各类统计报表,工作量减少60%
  • 核心痛点:重复性工作多,容易出错

(三)需求规格说明书改进

改进内容:

  1. 增加用户故事描述:
作为一名大二学生,当我需要借阅专业参考书时,我可以通过系统快速检索图书位置和可借状态,并在线预约,这样我就能节省找书时间,提高学习效率。
  1. 完善功能描述:
  • 增加图书评论和评分功能
  • 完善逾期处理机制(积分扣除、借阅权限限制)
  • 增加图书捐赠和荐购功能

(四)功能分析四象限

功能优先级分析表:

功能重要性 高优先级 低优先级
用户核心需求 第一象限:杀手功能
• 图书检索
• 借阅归还
• 用户管理
第二象限:必要功能
• 数据统计
• 系统设置
• 权限管理
用户体验增强 第三象限:亮点功能
• 智能推荐
• 电子阅读
• 移动端支持
第四象限:辅助功能
• 图书评论
• 社交分享
• 个性化皮肤

(五)WBS及进度计划调整

项目进度甘特图:

gantt title 图书管理系统开发进度计划 dateFormat YYYY-MM-DD section 第一阶段:基础框架 团队组建与需求分析 :done, 2024-04-01, 7d 技术选型与架构设计 :done, 2024-04-08, 7d 数据库设计 :done, 2024-04-15, 5d 原型设计 :done, 2024-04-15, 5d section 第二阶段:核心功能 用户管理模块开发 :active, 2024-04-22, 10d 图书管理模块开发 :active, 2024-04-22, 10d 借阅系统开发 :2024-04-25, 12d 前端基础框架搭建 :active, 2024-04-22, 8d section 第三阶段:增强功能 推荐算法开发 :2024-05-06, 10d 电子资源模块 :2024-05-06, 8d 预约系统开发 :2024-05-10, 7d 移动端开发 :2024-05-13, 12d section 第四阶段:测试优化 单元测试与集成测试 :2024-05-20, 7d 性能测试与安全测试 :2024-05-24, 5d 用户体验优化 :2024-05-27, 5d 系统调试与修复 :2024-05-29, 4d section 第五阶段:部署上线 生产环境部署 :2024-06-03, 3d 用户培训与文档编写 :2024-06-05, 4d 项目总结与验收 :2024-06-07, 3d

二、系统设计

(一)系统架构设计

分层架构图:

graph TB A[前端展示层] --> B[API网关层] B --> C[业务应用层] C --> D[数据访问层] C --> E[缓存层] D --> F[数据存储层] subgraph A [前端展示层] A1[Web用户端] A2[移动APP] A3[管理后台] end subgraph B [API网关层] B1[路由转发] B2[身份认证] B3[限流熔断] B4[日志记录] end subgraph C [业务应用层] C1[用户服务] C2[图书服务] C3[借阅服务] C4[推荐服务] C5[预约服务] end subgraph D [数据访问层] D1[MyBatis] D2[JPA] end subgraph E [缓存层] E1[Redis缓存] E2[Session存储] end subgraph F [数据存储层] F1[MySQL] F2[文件存储] end style A fill:#e1f5fe style B fill:#f3e5f5 style C fill:#e8f5e8 style D fill:#fff3e0 style E fill:#fce4ec style F fill:#f1f8e9

微服务架构详情表:

服务模块 技术栈 主要职责 依赖服务
用户服务 SpringBoot + JWT 用户注册、登录、权限管理
图书服务 SpringBoot + MyBatis 图书信息管理、检索、分类 数据库服务
借阅服务 SpringBoot + MyBatis 借书、还书、续借、逾期处理 用户服务、图书服务
推荐服务 SpringBoot + 机器学习 个性化图书推荐 用户服务、图书服务
预约服务 SpringBoot + Redis 图书预约、排队通知 用户服务、图书服务

(二)数据库设计

实体关系图:

erDiagram USER { bigint user_id PK "用户ID" varchar username "用户名" varchar password "密码" varchar role "角色" varchar email "邮箱" varchar phone "手机号" datetime create_time "创建时间" } BOOK { bigint book_id PK "图书ID" varchar isbn "ISBN号" varchar title "书名" varchar author "作者" varchar publisher "出版社" varchar category "分类" int total_copies "总册数" int available_copies "可借册数" varchar location "馆藏位置" } BORROW_RECORD { bigint record_id PK "记录ID" bigint user_id FK "用户ID" bigint book_id FK "图书ID" date borrow_date "借阅日期" date due_date "应还日期" date return_date "实际归还日期" varchar status "状态" } RESERVATION { bigint reservation_id PK "预约ID" bigint user_id FK "用户ID" bigint book_id FK "图书ID" datetime reserve_date "预约时间" datetime expire_date "过期时间" varchar status "状态" } EBOOK { bigint ebook_id PK "电子书ID" bigint book_id FK "关联图书ID" varchar file_url "文件路径" varchar file_format "文件格式" bigint file_size "文件大小" boolean online_readable "可在线阅读" } USER ||--o{ BORROW_RECORD : "借阅" BOOK ||--o{ BORROW_RECORD : "被借阅" USER ||--o{ RESERVATION : "预约" BOOK ||--o{ RESERVATION : "被预约" BOOK ||--o| EBOOK : "拥有电子版"

数据库表结构详情:

表名 字段数 索引数 预估数据量 说明
USER 12 3 10,000 用户基本信息表
BOOK 15 5 50,000 图书信息表
BORROW_RECORD 10 4 100,000 借阅记录表
RESERVATION 8 3 5,000 预约记录表
EBOOK 9 2 10,000 电子资源表

三、Alpha任务分配计划

(一)任务分解与分配

Alpha阶段Sprint Backlog:

模块 任务项 预估工时 负责人 优先级 状态
用户管理 用户注册登录功能 8h 廖永祺 P0
JWT令牌实现 6h 廖永祺 P0
权限控制中间件 8h 廖永祺 P0
用户信息管理 6h 廖永祺 P1
图书管理 图书CRUD操作 10h 高扬鹏 P0
图书分类管理 6h 高扬鹏 P1
高级检索功能 12h 高扬鹏 P0
图书导入导出 8h 高扬鹏 P2
借阅系统 借书业务流程 8h 曾祥恩 P0
还书业务流程 6h 曾祥恩 P0
续借功能 4h 曾祥恩 P1
逾期处理 6h 曾祥恩 P1
前端开发 登录页面实现 6h 李炅佳 P0
主页布局设计 8h 李炅佳 P0
图书列表页面 10h 彭耿立 P0
借阅管理页面 8h 彭耿立 P0
响应式适配 12h 李炅佳 P1
测试部署 单元测试编写 12h 谭钧灏 P1
接口测试 8h 谭钧灏 P1
环境部署配置 6h 谭钧灏 P0

(二)迭代冲刺计划

Alpha阶段迭代甘特图:

gantt title Alpha阶段迭代冲刺计划(第11-12周) dateFormat YYYY-MM-DD axisFormat %m-%d section 用户管理模块 用户注册登录 :done, 2024-04-22, 2d 权限控制实现 :done, 2024-04-24, 2d 用户信息管理 :active, 2024-04-26, 2d section 图书管理模块 图书CRUD功能 :done, 2024-04-22, 3d 图书分类管理 :2024-04-25, 2d 高级检索功能 :2024-04-27, 3d section 借阅系统模块 借书功能实现 :done, 2024-04-23, 2d 还书功能实现 :2024-04-25, 2d 续借逾期处理 :2024-04-29, 3d section 前端开发 登录页面 :done, 2024-04-22, 2d 主页布局 :2024-04-24, 3d 图书列表页 :2024-04-26, 3d 借阅管理页 :2024-04-29, 3d section 测试部署 单元测试 :2024-04-29, 3d 接口测试 :2024-05-03, 2d 环境部署 :2024-05-05, 2d

工作量统计图表:

成员 总工时 已完成 剩余工时 完成度
曾祥恩 24h 8h 16h 33%
李炅佳 26h 6h 20h 23%
彭耿立 18h 0h 18h 0%
高扬鹏 36h 10h 26h 28%
廖永祺 28h 14h 14h 50%
谭钧灏 26h 0h 26h 0%

四、测试计划

(一)测试策略与计划

测试阶段安排表:

测试阶段 时间周期 测试重点 负责人 完成标准
单元测试 第11-12周 核心业务逻辑 全体开发 代码覆盖率≥80%
集成测试 第13周 模块接口集成 谭钧灏 接口通过率100%
系统测试 第14周 端到端功能 谭钧灏 业务流程完整
性能测试 第14周 压力负载测试 谭钧灏 支持500并发
安全测试 第14周 权限安全漏洞 廖永祺 无高危漏洞

(二)测试环境配置

测试环境规格表:

环境组件 版本规格 配置要求 用途
应用服务器 Tomcat 9.0 4核8G内存 后端服务部署
数据库 MySQL 8.0 100G存储 数据持久化
缓存 Redis 6.0 2G内存 会话缓存
前端服务器 Nginx 1.18 2核4G内存 静态资源服务
测试工具 JMeter 5.4 - 性能测试

(三)测试用例设计

核心功能测试矩阵:

测试场景 测试用例数 优先级 自动化程度 负责人
用户登录注册 15 P0 100% 谭钧灏
图书检索 20 P0 80% 谭钧灏
借阅流程 25 P0 90% 谭钧灏
权限控制 18 P0 95% 廖永祺
数据统计 10 P1 70% 谭钧灏
电子资源 12 P1 60% 谭钧灏

五、总结

本周团队在需求分析基础上,进一步完善了系统设计和开发计划。通过清晰的架构图表和详细的任务分解,为Alpha阶段的开发工作奠定了坚实基础。各成员对各自的任务职责有了明确认识,测试计划也为项目质量提供了保障。团队将按照计划有序推进,确保项目顺利完成。

posted @ 2025-11-22 21:53  曾祥恩  阅读(6)  评论(0)    收藏  举报