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

From KFCoder✅️

项目 内容
这个作业属于哪个课程 ->点我进入课程主页
这个作业要求在哪里 ->点我查看作业要求

一、需求改进

1.1 针对课堂讨论的修改

上周课堂中,老师与其他小组聚焦 “数据效率”“提醒精准性”“功能完整性” 提出建议,结合设备联动实现难度,我们围绕核心痛点优化如下:

问题 修改
运动数据仅支持手动输入,操作繁琐;未考虑智能设备联动的兼容性,用户体验低效 【设想预留】FR-D1:智能设备联动同步功能:暂不落地开发,仅预留接口设计;当前优化手动输入体验,新增“运动类型快捷选择(如步行/跑步/瑜伽)”“常用数据一键填充”功能;明确设备联动为最低优先级设想功能,待基础功能稳定后再评估实现可行性
提醒管理模块仅说明自定义时间 / 周期,未明确不同打卡类型的差异化规则,提醒实用性弱 细化FR-R2:分类型提醒规则(高优先级):运动类提醒关联健康目标(如目标步数未达标时,提醒频率提升至每30分钟1次);饮食类提醒匹配用餐时间推荐(如早餐提醒附带“低GI主食建议”);饮水提醒按2小时间隔推送,结合当日饮水量进度调整文案
需求未覆盖 “健康建议个性化”,仅统计数据无指导价值 新增FR-A1:个性化健康建议功能(高优先级):基于用户打卡数据(如连续3天睡眠不足6小时),自动生成适配其健康目标的建议(如“今日建议增加20分钟午休”),嵌入日/周健康报告
需求文档缺少功能验收标准,可落地性不足 补充各核心功能验收指标(高优先级):如“打卡完成率统计误差≤2%”“数据导出文件格式兼容Excel/CSV”“提醒消息送达率≥99%”;设备联动因暂不开发,暂不制定验收标准

说明:因智能设备联动功能技术实现难度较高,当前仅作为设想预留扩展空间,优先级调整为最低,核心开发资源聚焦基础及高价值功能

1.2 目标用户调研与原型展示

为验证需求合理性,我们选取2类典型目标用户,采用 线下1v1访谈+ 线上问卷 的调研方式,收集痛点与使用反馈:

典型用户痛点 & 场景

用户 痛点 场景(去除设备联动相关描述,聚焦当前可实现功能)
职场白领小A(28岁,健康目标:月减3斤) 工作忙忘记饮水/记录饮食,手动输入运动数据太耗时;提醒内容笼统,和自身减脂目标不匹配 周一早8点,小A收到APP弹窗提醒(FR-R2):“该吃早餐啦~推荐搭配全麦面包+鸡蛋(适配你的减脂目标)”,她通过“早餐-轻食”快捷选项完成饮食打卡,再选“500ml”快捷按钮完成饮水打卡(FR-C1)。中午步行20分钟回公司,通过“步行-20分钟”快捷选项快速完成运动打卡。晚上9点,APP提醒“你的今日步数还差2000步,楼下散步10分钟就能达标~”,她完成散步后,查看当日柱状图(FR-V1),发现打卡完成率90%,报告附带“明日可增加10分钟瑜伽”的个性化建议(FR-A1)。
健身新手小B(20岁,健康目标:增肌) 不知道怎么匹配饮食/运动与增肌目标;无法直观看到睡眠/训练数据的变化趋势 小B在用户管理模块(FR-U1)设置“增肌”健康目标后,每次饮食打卡时,APP会提示“今日蛋白质摄入还需50g,可补充1个鸡蛋+200ml牛奶”(FR-A1)。周末完成1小时力量训练后,通过“力量训练-1小时”快捷选项同步数据,周健康报告(FR-S1)用折线图展示其睡眠时长从6小时提升至7.5小时,附带“增肌期建议睡眠≥7.5小时”的指导。

使用前后对比(更新数据记录效率来源)

维度 使用前 使用后
数据记录效率 手动记饮食/运动,每天耗时15分钟,常遗漏 快捷选项+分类模板,记录耗时≤3分钟,无遗漏
提醒实用性 闹钟式提醒,常忽略,和目标无关 分类型精准提醒,关联健康目标,响应率提升至85%
健康指导 无针对性建议,盲目调整习惯 个性化报告+适配建议,能针对性优化饮食/运动

1.3 上周需求规格说明书的不足与改进

上周初稿存在“功能关联弱、可落地性差、体验单一”等问题,具体改进如下:

不足 改进
功能间关联描述缺失,未体现流程连贯性 补充“职场白领小A”用户故事,串联“提醒-打卡-统计-建议”全流程,去除原设备联动相关内容,明确当前可实现功能的联动逻辑
无功能验收标准,开发边界模糊 新增核心功能验收指标,明确设备联动为“设想功能”,暂不纳入开发范围,避免资源浪费
缺乏个性化设计,用户体验同质化 新增“个性化健康建议”功能(高优先级),基于用户健康目标+打卡数据生成适配内容;同时优化手动打卡体验,新增快捷选项,替代原设备联动的效率提升方案

2. 功能分析的四个象限

2.1 重要紧急

  • 用户注册/登录(FR-U1)
  • 基础打卡功能(运动/饮食/睡眠/饮水,含快捷选项,FR-C1)
  • 基础提醒功能(自定义时间/周期,FR-R1)

2.2 重要不紧急

  • 数据统计(日/周/月报告+分类筛选,FR-S1)
  • 可视化图表(柱状图/折线图+缩放,FR-V1)
  • 个性化健康建议(FR-A1)
  • 分类型提醒规则(FR-R2)

2.3 紧急不重要

  • 账号安全找回(重置密码,FR-U2)
  • 个人信息修改(FR-U3)

2.4 不重要不紧急

  • 数据导出(FR-E1)
  • 【设想功能】智能设备联动同步(FR-D1,实现难度高,暂不开发)

adf128a9aa7d41cf84fd265fa0d3116

3. 任务分解 WBS 及 项目进度计划

3.1 任务分解 WBS

① 需求完善

1.1 用户故事 & 验收标准补充

1.2 功能优先级校准

② 模块开发

2.1 用户管理模块(FR-U1/2/3)

2.2 打卡管理模块(FR-C1)

2.3 提醒管理模块(FR-R1/2)

2.4 数据统计 + 个性化建议模块(FR-S1+FR-A1)

2.5 可视化 + 数据导出模块(FR-V1+FR-E1)

③ 测试

3.1 功能流程测试

3.2 设备联动兼容性测试

④ 上线准备

4.1 原型最终优化

4.2 任务复盘文档

3.2 项目进度计划

A. 规划与设计阶段

Issues编号 任务名称 负责人 截止日期 状态 优先级 备注
#1 撰写需求规格说明书 辜艺淇 2025-11-08 已完成 (调整)补充FR-A1/FR-R2需求,明确FR-D1为设想功能
#8 确定技术栈与架构方案 徐新曜 2025-11-15 已完成 (调整)聚焦核心模块架构,设备联动仅做接口预留规划
#2 设计前端打卡页面原型 罗芷忻 2025-11-15 已完成 (调整)新增“快捷打卡选项”“分类模板”,删除设备同步相关设计
#5 数据库表结构设计 许国伟 2025-11-15 已完成 (调整)完善打卡数据字段
#21【新增】 设计分类型提醒界面原型 罗芷忻 2025-11-22 进行中 设计运动/饮食/饮水分类提醒设置界面,关联健康目标
#22【新增】 设计个性化建议展示原型 罗芷忻 2025-11-22 进行中 设计健康报告页面,包含数据图表+个性化建议模块

B. 后端开发阶段

Issues编号 任务名称 负责人 截止日期 状态 优先级 备注
#3 开发用户注册登录接口 徐新曜 2025-11-23 未开始 (调整)新增“健康目标设置”字段接口,关联个性化建议算法
#9 开发核心打卡业务接口 许国伟 2025-12-02 未开始 (调整)开发快捷打卡接口,支持分类模板数据快速提交
#24【新增】 开发分类型提醒接口 许国伟 2025-12-04 未开始 开发提醒规则CRUD接口,支持按类型返回个性化提醒文案
#10 开发数据统计与分析接口 徐新曜 2025-12-06 未开始 (调整)新增个性化建议算法接口,基于打卡数据生成健康指导
#11 开发数据导出接口 许国伟 2025-12-07 未开始 支持导出打卡数据报表,兼容Excel/CSV
#23【设想】 设备联动接口技术调研 徐新曜 2025-12-20 未开始 仅做技术可行性调研,不进行开发,输出调研文档

C. 前端开发阶段

Issues编号 任务名称 负责人 截止日期 状态 优先级 备注
#12 实现用户登录注册页面 田璐 2025-11-25 未开始 (调整)新增“健康目标选择”弹窗,对接#3接口
#13 实现核心打卡功能页面 罗芷忻 2025-12-04 未开始 (调整)集成“快捷打卡选项”“分类模板”
#26【新增】 实现提醒规则设置页面 田璐 2025-12-05 未开始 按运动/饮食/饮水类型设置提醒频率,对接#24接口
#14 实现数据统计与报表页面 田璐 2025-12-08 未开始 (调整)新增个性化建议模块,用图表展示打卡数据,对接#10接口

D. 测试与质量保障阶段

Issues编号 任务名称 负责人 截止日期 状态 优先级 备注
#15 制定整体测试计划 陈曦 2025-11-18 已完成 聚焦核心功能测试
#4 设计数据导出功能测试用例 陈曦 2025-12-07 未开始 设计打卡数据导出的测试用例,验证数据完整性
#28【新增】 设计提醒规则功能测试用例 陈曦 2025-12-05 未开始 按运动/饮食/饮水类型测试提醒逻辑,验证与健康目标的匹配度
#16 执行功能测试与集成测试 陈曦 2025-12-14 未开始 重点测试“提醒-打卡-统计-建议”全流程,覆盖核心功能场景
#17 性能与安全测试 白子璇 2025-12-14 未开始 测试核心模块响应速度与用户数据安全性

E. 部署与交付阶段

Issues编号 任务名称 负责人 截止日期 状态 优先级 备注
#18 服务器环境准备与配置 徐新曜 2025-12-15 未开始 配置核心模块所需环境
#19 系统部署与上线 徐新曜 2025-12-17 未开始 部署核心功能版本,确保“打卡-提醒-分析”链路稳定
#7 项目文档整理与归档 白子璇 2025-12-20 未开始 补充个性化建议算法说明、快捷打卡功能文档,附设备联动调研文档
#20 项目总结与复盘 辜艺淇 2025-12-27 未开始 复盘核心功能开发效率,评估设备联动后续实现价值

二、系统架构设计

1. 架构模式

采用前后端分离的架构模式:

  • 前端:负责用户界面展示和交互逻辑
  • 后端:提供RESTful API服务,处理业务逻辑和数据存储
  • 数据库:持久化存储系统数据
  • 文件存储:可选,用于存储用户上传的图片(如运动证明、饮食照片等)

2. 技术栈选择

前端技术栈:

  • 框架:Vue.js 3 + Vite
  • UI组件库:Element Plus
  • HTTP客户端:Axios
  • 状态管理:Pinia
  • 路由:Vue Router
  • 图表可视化:ECharts

后端技术栈:

  • 框架:Spring Boot 3.x
  • ORM框架:MyBatis-Plus
  • 数据库:MySQL 8.0
  • 认证授权:Spring Security + JWT
  • API文档:Swagger/OpenAPI 3.0

开发工具:

  • IDE:IntelliJ IDEA, VS Code
  • 构建工具:Maven, npm
  • 版本控制:Git
  • CI/CD:GitHub Action

3. 系统架构图

+------------------+      +------------------+      +------------------+
|    前端应用       |      |    后端服务       |     |    数据存储       |
|  (Vue.js + Vite) | <--> | (Spring Boot)    | <--> |  (MySQL)         |
+------------------+      +------------------+      +------------------+
        ^                          
        |                          
+------------------+    
|  用户浏览器/APP   |     
+------------------+     

4. 核心流程

  1. 用户认证流程
    • 用户登录请求 → 后端验证凭据 → 生成JWT令牌 → 返回给前端
    • 前端存储JWT令牌 → 后续请求携带令牌 → 后端验证令牌有效性
  2. 打卡记录流程
    • 前端提交打卡数据 → 后端验证用户身份 → 处理业务逻辑 → 保存到数据库 → 返回结果
  3. 数据统计流程
    • 前端请求统计数据 → 后端查询数据库 → 数据聚合处理 → 返回统计结果

5. 后端三层架构设计

5.1 架构分层说明

后端采用经典的三层架构设计,各层职责明确,解耦合高,便于维护和扩展。

5.1.1 控制层(Controller Layer)

  • 职责:处理HTTP请求,参数校验,调用服务层,返回响应结果
  • 组件
    • 各类Controller类,负责不同功能模块的路由处理
    • DTO(Data Transfer Object)用于前后端数据传输
    • 全局异常处理器,统一处理和包装异常响应

5.1.2 服务层(Service Layer)

  • 职责:实现核心业务逻辑,协调多个数据访问操作
  • 组件
    • Service接口定义业务方法
    • ServiceImpl实现类包含具体业务逻辑
    • 事务管理,确保数据一致性

5.1.3 数据访问层(DAO/Repository Layer)

  • 职责:负责与数据库交互,执行CRUD操作
  • 组件
    • Mapper接口(基于MyBatis-Plus)
    • 实体类(Entity/Model)对应数据库表结构
    • 自定义SQL(如需要)

5.2 核心模块划分

基于功能模块划分,后端主要包含以下几个核心模块:

  1. 用户模块:处理用户注册、登录、信息管理
  2. 运动打卡模块:记录和管理用户运动数据
  3. 饮食记录模块:记录和管理用户饮食数据
  4. 睡眠记录模块:记录和管理用户睡眠数据
  5. 饮水记录模块:记录和管理用户饮水数据
  6. 统计分析模块:提供数据统计和分析功能

5.3 包结构设计

com.shiliuzi.healthcheckin
├── HealthCheckInApplication.java     # 应用入口
├── common/                          # 公共组件
│   ├── config/                      # 配置类
│   ├── constant/                    # 常量定义
│   ├── exception/                   # 异常处理
│   └── util/                        # 工具类
├── controller/                      # 控制层
│   ├── UserController.java
│   ├── ExerciseController.java
│   ├── DietController.java
│   ├── SleepController.java
│   └── WaterController.java
├── service/                         # 服务层
│   ├── UserService.java
│   ├── ExerciseService.java
│   ├── DietService.java
│   ├── SleepService.java
│   ├── WaterService.java
│   └── impl/                        # 服务实现
├── mapper/                          # 数据访问层
│   ├── UserMapper.java
│   ├── ExerciseMapper.java
│   ├── DietMapper.java
│   ├── SleepMapper.java
│   └── WaterMapper.java
├── model/                           # 数据模型
│   ├── entity/                      # 实体类
│   ├── dto/                         # 数据传输对象
│   └── vo/                          # 视图对象
└── security/                        # 安全相关
    ├── config/                      # 安全配置
    ├── filter/                      # 过滤器
    └── util/                        # 安全工具类

6. 用户认证与JWT管理方案

6.1 认证流程设计

采用基于JWT(JSON Web Token)的无状态认证机制,完整流程如下:

  1. 用户注册
    • 用户提交注册信息(用户名、密码、邮箱等)
    • 后端验证信息合法性,密码进行加密存储
    • 创建用户账户,返回注册结果
  2. 用户登录
    • 用户提交登录凭据(用户名/邮箱、密码)
    • 后端验证凭据有效性
    • 生成JWT令牌,包含用户ID、角色等信息
    • 返回JWT令牌及用户基本信息
  3. API访问
    • 前端请求携带JWT令牌(通常在Authorization header)
    • JWT过滤器拦截请求,验证令牌有效性
    • 验证通过后,提取用户信息并继续处理请求
    • 验证失败则返回401/403错误

6.2 JWT令牌结构

JWT令牌由三部分组成:Header、Payload、Signature

6.2.1 Header

{
  "alg": "HS256",  // 加密算法
  "typ": "JWT"     // 令牌类型
}

6.2.2 Payload

{
  "sub": "1",            // 用户ID
  "iat": 1677618245,     // 签发时间
  "exp": 1677625445      // 过期时间
}

6.3 安全配置

6.3.1 密码安全

  • 密码使用BCrypt算法进行加密存储
  • 设置密码复杂度要求(长度、字符类型等)
  • 登录失败次数限制,防止暴力破解

6.3.2 JWT安全

  • 设置合理的令牌过期时间(建议15分钟-7天)
  • 使用强密钥进行签名
  • 敏感信息不放入Payload中
  • 支持令牌刷新机制

6.4 关键组件

6.4.1 JwtTokenProvider

  • 负责JWT令牌的生成、解析和验证
  • 包含密钥管理、过期时间设置等功能

6.4.2 JwtAuthenticationFilter

  • 拦截请求,从Header中提取JWT令牌
  • 验证令牌有效性,设置安全上下文

6.4.3 SecurityConfig

  • 配置Spring Security,设置安全规则
  • 定义哪些端点需要认证,哪些可以匿名访问

7. 数据库设计

7.1 数据库表结构概览

基于系统功能需求,设计以下核心数据表:

  1. 用户表(user:存储用户基本信息和认证信息
  2. 运动打卡表(exercise_record:记录用户每日运动数据
  3. 饮食记录表(diet_record:记录用户每日饮食数据
  4. 睡眠记录表(sleep_record:记录用户每日睡眠数据
  5. 饮水记录表(water_record:记录用户每日饮水数据

7.2 详细表结构设计

7.2.1 用户表(user

字段名 数据类型 约束 描述
id BIGINT PRIMARY KEY AUTO_INCREMENT 用户ID
username VARCHAR(50) UNIQUE NOT NULL 用户名
password VARCHAR(255) NOT NULL 加密后的密码
email VARCHAR(100) UNIQUE NOT NULL 邮箱地址
nickname VARCHAR(50) 用户昵称
avatar VARCHAR(255) 头像URL
gender TINYINT 性别(0:未知, 1:男, 2:女)
birthday DATE 出生日期
height DECIMAL(5,2) 身高(cm)
weight DECIMAL(5,2) 体重(kg)
role VARCHAR(20) DEFAULT 'USER' 角色(USER/ADMIN)
status TINYINT DEFAULT 1 状态(0:禁用, 1:启用)
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP 创建时间
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP 更新时间

7.2.2 运动打卡表(exercise_record

字段名 数据类型 约束 描述
id BIGINT PRIMARY KEY AUTO_INCREMENT 记录ID
user_id BIGINT NOT NULL, FOREIGN KEY REFERENCES user(id) 用户ID
record_date DATE NOT NULL 记录日期
exercise_type VARCHAR(50) NOT NULL 运动类型(跑步、游泳、健身等)
duration INT NOT NULL 运动时长(分钟)
distance DECIMAL(8,2) 运动距离(公里,如跑步)
calories INT 消耗卡路里
description TEXT 运动描述
image_url VARCHAR(255) 运动证明图片URL
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP 创建时间
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP 更新时间

索引

  • INDEX idx_user_date (user_id, record_date) - 加速用户按日期查询

7.2.3 饮食记录表(diet_record

字段名 数据类型 约束 描述
id BIGINT PRIMARY KEY AUTO_INCREMENT 记录ID
user_id BIGINT NOT NULL, FOREIGN KEY REFERENCES user(id) 用户ID
record_date DATE NOT NULL 记录日期
meal_type TINYINT NOT NULL 餐次类型(1:早餐, 2:午餐, 3:晚餐, 4:加餐)
food_name VARCHAR(100) NOT NULL 食物名称
quantity VARCHAR(50) 数量
calories INT 卡路里
protein DECIMAL(6,2) 蛋白质(克)
carbs DECIMAL(6,2) 碳水化合物(克)
fat DECIMAL(6,2) 脂肪(克)
description TEXT 饮食描述
image_url VARCHAR(255) 食物图片URL
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP 创建时间
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP 更新时间

索引

  • INDEX idx_user_date_meal (user_id, record_date, meal_type) - 加速用户按日期和餐次查询

7.2.4 睡眠记录表(sleep_record

字段名 数据类型 约束 描述
id BIGINT PRIMARY KEY AUTO_INCREMENT 记录ID
user_id BIGINT NOT NULL, FOREIGN KEY REFERENCES user(id) 用户ID
sleep_date DATE NOT NULL 睡眠日期(实际睡眠的日期)
sleep_start_time DATETIME NOT NULL 入睡时间
sleep_end_time DATETIME NOT NULL 起床时间
sleep_duration DECIMAL(5,2) NOT NULL 睡眠时长(小时)
sleep_quality TINYINT 睡眠质量(1-5级)
description TEXT 睡眠描述
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP 创建时间
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP 更新时间

索引

  • INDEX idx_user_sleep_date (user_id, sleep_date) - 加速用户按睡眠日期查询

7.2.5 饮水记录表(water_record

字段名 数据类型 约束 描述
id BIGINT PRIMARY KEY AUTO_INCREMENT 记录ID
user_id BIGINT NOT NULL, FOREIGN KEY REFERENCES user(id) 用户ID
record_date DATE NOT NULL 记录日期
drink_time TIME NOT NULL 饮水时间
amount INT NOT NULL 饮水量(毫升)
water_type VARCHAR(50) 水类型(纯水、茶、咖啡等)
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP 创建时间

索引

  • INDEX idx_user_date_time (user_id, record_date, drink_time) - 加速用户按日期和时间查询
  • INDEX idx_user_date (user_id, record_date) - 加速用户每日统计查询

7.3 表关系图

                  +-------------+
                  |    user     |
                  +-------------+
                  | id (PK)     |
                  | username    |
                  | password    |
                  | email       |
                  | ...         |
                  +-------------+
                          |
                          | 1:N
        +------------------+------------------+
        |                  |                  |
+----------------+  +----------------+  +----------------+
|exercise_record |  |  diet_record   |  |  sleep_record  |
+----------------+  +----------------+  +----------------+
|id (PK)         |  |id (PK)         |  |id (PK)         |
|user_id (FK)    |  |user_id (FK)    |  |user_id (FK)    |
|record_date     |  |record_date     |  |sleep_date      |
|...             |  |...             |  |...             |
+----------------+  +----------------+  +----------------+
                          |
                  +----------------+
                  |  water_record  |
                  +----------------+
                  |id (PK)         |
                  |user_id (FK)    |
                  |record_date     |
                  |...             |
                  +----------------+

7.4 数据约束

  1. 主键约束:所有表都有自增主键
  2. 外键约束:确保数据完整性
  3. 唯一约束:确保用户名和邮箱唯一
  4. 非空约束:确保必要字段有值
  5. 检查约束:可以在应用层实现(如性别、状态等枚举值校验)

8. 部署与扩展性考虑

8.1 部署架构

  • 开发环境
    • 前端:Node.js + Vite开发服务器
    • 后端:Spring Boot内嵌Tomcat
    • 数据库:本地MySQL
  • 生产环境
    • 前端:Nginx静态资源服务
    • 后端:Spring Boot应用部署在独立Tomcat或容器化部署(Docker)
    • 数据库:独立MySQL服务器或云数据库服务

8.2 扩展性设计

  1. 模块化设计
    • 各功能模块高度内聚,便于独立开发和测试
    • 接口设计标准化,便于未来扩展新功能
  2. 数据扩展
    • 数据库设计预留扩展字段
    • 支持自定义健康指标记录
  3. 性能优化
    • 数据库索引优化
    • 合理使用缓存减少数据库压力
    • API接口返回数据分页处理
  4. 安全扩展
    • 支持未来集成第三方登录
    • 支持多因素认证

三、Alpha 任务分配计划

Sprint Backlog

Sprint ID 任务名称 所属模块 任务描述 依赖任务 预估时间(小时) 认领人 计划开始(Day) 计划结束(Day)
SB01 后端基础架构搭建 后端支撑 初始化 Spring Boot 项目、配置 MySQL 连接 - 4 徐新曜 1 1
SB02 核心数据库表落地 后端支撑 创建用户表、打卡表 SB01 3 许国伟 1 1
SB03 前端基础框架搭建 前端支撑 初始化 H5 项目、配置路由 - 3 罗芷忻 1 1
SB04 用户注册接口开发 用户管理 实现注册逻辑 SB02 3 许国伟 2 2
SB05 用户登录接口开发 用户管理 实现登录逻辑 SB04 3 许国伟 2 2
SB06 前端登录页面开发 用户管理 设计登录 UI、对接 SB05 登录接口、处理 Token 存储 SB03、SB05 4 罗芷忻 2 2
SB07 前端注册页面开发 用户管理 设计注册 UI、对接 SB04 注册接口、添加表单校验 SB03、SB04 4 罗芷忻 3 3
SB08 密码重置接口开发 用户管理 实现 “手机号 / 邮箱验证 → 重置密码” 逻辑、关联用户表更新 SB02 2 许国伟 3 3
SB09 前端密码重置页面开发 用户管理 设计重置 UI、对接 SB08 接口、适配多手机型号 SB03、SB08 3 田璐 3 3
SB10 运动 / 饮食打卡接口开发 打卡管理 实现运动、饮食打卡逻辑,关联用户 ID 存储数据 SB05 6 许国伟 4 4
SB11 饮水 / 睡眠打卡接口开发 打卡管理 实现饮水、睡眠打卡逻辑 SB05 4 许国伟 4 4
SB12 前端打卡首页开发 打卡管理 设计 Tab 切换,统一页面样式 SB03 5 罗芷忻 4 5
SB13 前端打卡子页面开发 打卡管理 开发运动、饮食、饮水、睡眠子页面 SB11、SB12 8 罗芷忻 5 5
SB14 前端打卡页面适配 打卡管理 优化打卡子页面在不同手机分辨率的显示、修复交互 bug SB13 1 田璐 5 5
SB15 每日打卡记录接口开发 数据展示 实现按用户 ID + 日期查询打卡记录的接口,返回打卡类型、时长 / 容量等明细 SB05、SB11 2 徐新曜 6 6
SB16 前端打卡记录页面开发 数据展示 设计列表页、对接 SB15 接口、添加下拉刷新功能 SB03、SB15 3 田璐 6 6
SB17 提醒时间存储接口开发 提醒管理 实现 “用户 - 打卡项 - 提醒时间” 关联存储接口,支持基础重复周期 SB05 2 徐新曜 6 6
SB18 前端提醒设置页面开发 提醒管理 设计时间选择器、重复周期选项、对接 SB17 接口 SB03、SB17 3 田璐 7 7
SB19 APP 内弹窗提醒逻辑开发 提醒管理 实现前端定时检测提醒时间、触发弹窗提醒 SB18 1 罗芷忻 7 7
SB20 核心功能测试用例设计 测试保障 设计用户模块、打卡模块的功能测试用例 SB04、SB11 4 陈曦 8 8
SB21 接口测试执行 测试保障 验证用户、打卡、记录接口的正确性 SB20 3 陈曦 8 8
SB22 前端功能测试执行 测试保障 验证登录、打卡、记录页面的功能完整性 SB21 3 陈曦 9 9
SB23 Alpha 阶段 bug 修复 全模块 修复测试发现的接口报错、前端显示异常 SB22 4 全员协作 9 9
SB24 Alpha 任务文档整理 文档保障 整理任务分解表、进度跟踪记录、bug 修复清单,形成 Alpha 阶段总结文档 SB23 2 白子璇 10 10
SB25 Alpha 冲刺验收准备 项目管理 协调全员确认功能完整性、整理验收清单 SB24 1(每天跟进) 辜艺淇 1-10 10

甘特图

任务 开始时间 持续时间(天) 结束时间
后端基础支撑 1 1 1
用户管理模块 2 2 3
核心打卡模块 4 2 5
基础数据展示 6 1 6
简易提醒功能 6 2 7
跨模块测试与 Bug 修复 8 2
任务文档整理与 Alpha 验收准备 10

甘特图

四、测试计划

重点测试功能

功能模块 测试重点 优先级
提醒管理 运动/饮食/饮水提醒规则逻辑
打卡管理 数据快速录入、历史记录查看
数据统计 日/周/月数据自动汇总
数据导出 导出数据完整性验证
性能安全 响应速度、数据安全

时间安排

任务 负责人 截止日期 状态 优先级
制定整体测试计划 陈曦、白子璇 2025-11-18 ✅ 已完成
设计提醒规则功能测试用例 陈曦 2025-12-05 ⏳ 未开始
设计数据导出功能测试用例 陈曦 2025-12-07 ⏳ 未开始
执行功能测试与集成测试 陈曦 2025-12-14 ⏳ 未开始
性能与安全测试 白子璇 2025-12-14 ⏳ 未开始

核心测试流程

  • 端到端测试:使用 Selenium 脚本模拟真实用户流程,“提醒 → 打卡 → 统计 → 建议”
  • 模块测试:使用 pytest 对后端接口与业务逻辑进行模块级测试
  • 自动化回归测试:结合 pytest + Selenium 执行关键路径回归测试,保障迭代稳定性
  • 验收测试:邀请真实用户参与体验测试

测试方法

测试类型 使用技术 说明
功能测试 pytest + Selenium 覆盖核心业务流程及边界值场景
UI 交互测试 Selenium 验证界面元素可操作性和三步内完成关键操作
数据准确性测试 pytest 对统计计算逻辑进行断言校验
兼容性测试 Selenium + 多浏览器 Chrome / Edge / Firefox
回归测试 pytest + Selenium 每次迭代执行自动化测试套件

测试工具

工具类别 工具名称 用途
单元与模块测试 pytest 用于后端接口与业务逻辑断言验证
自动化UI测试 Selenium 自动执行用户流程、兼容性与回归测试
性能测试 JMeter 压力测试与性能基线检测
缺陷管理 Jira / 禅道 缺陷记录与跟踪

资源需求

1. 人力资源

  • 测试负责人:陈曦(总体协调、测试设计)
  • 性能测试:白子璇(性能与安全测试)
  • 开发支持:开发团队(问题修复)

2. 环境需求

  • 测试环境:云服务器,配置接近生产环境
  • 浏览器:Chrome、Firefox、Edge最新版本
  • 测试数据:100名虚拟用户模拟数据
posted @ 2025-11-22 16:02  高远球  阅读(28)  评论(0)    收藏  举报