第1次阶段性评审报告 - xych5q/online-shop GitHub Wiki

第 1 次阶段性评审报告

本报告为 2026-10-08 第 1 次评审提交版。2026-10-15 按当前实现统一了数值口径 (需求规格说明书 v1.4、JUnit 18 组、Docker 部署已实测);评审结论与教师意见栏保留 10-08 原样。

3.1 基本信息

  • 报告期次:第 1 次
  • 报告日期:2026-10-08
  • 项目组号:第 1 组
  • 项目名称:在线购物系统
  • 组长:陈星宇
  • 汇报幻灯片:pptx 原文件(12 页,与本报告 3.1~3.6 章节一一对应)

3.2 项目总体计划

总目标:用一学期(2026-09-17 ~ 2026-12-31),以 Scrum 方式完成老师逐轮发布的"在线购物"需求,交付一个可构建、可部署、可运行测试的系统。

迭代划分(对照课程 Wiki 评审日程):

迭代 起止 目标 评审
1 09-17 ~ 10-08 基线需求 MVP:单商品买卖、交易冻结、卖家后台 5 项、改密码 10-08
2 10-09 ~ 10-22 第 1 批升级需求(10-08 评审后确定方向) 10-22
3 10-23 ~ 11-05 待定 11-05
4 11-06 ~ 11-19 待定 11-19
5 11-20 ~ 12-03 待定 12-03
6 12-04 ~ 12-17 待定 12-17
7 12-18 ~ 12-31 期末项目验收 12-31

当前项目进度:95%(2026-10-08 提交时口径为 80%)

估算依据:基线需求按用户故事拆分为 12 个(卖家端 7、买家端 4、公共 1),合计 22 故事点,明细见 用户故事与产品订单。按交付维度分项核算(组长依据仓库实际代码与本地实测结果核算):

维度 权重 完成度 依据
需求与设计文档 0.20 100% 需求规格说明书(v1.4,含矛盾裁决 C1~C4 与追踪矩阵)、用例表、业务流程图、接口设计、用户故事与产品订单 均已上线并互为索引
后端功能代码(Java) 0.45 100% 12/12 故事、22/22 故事点、17 个 REST 接口全部实现;mvn package 编译通过
单元测试(JUnit 5) 0.10 100% 18 组用例,mvn test 实测 Tests run: 18, Failures: 0, Errors: 0, Skipped: 0,BUILD SUCCESS
前端页面接入 0.10 90% 5 个页面文件迁入 static/ 并完成联调,启动实测页面与静态资源全部 HTTP 200;页面说明与截图已补
构建与部署(Maven / Docker) 0.15 100% Maven 构建链路已通并产出可执行 jar;Docker 镜像由云端 Actions 构建成功,容器内冒烟 44/44 通过,详见 构建与部署手册

加权合计 99%;因 Selenium 端到端自动化与 JMeter 性能测试属迭代 2 工作尚未开始,保守下调至 95%(2026-10-08 提交时为 80%)。明细与实测记录见 Java实现进度。

说明:迭代 1 严格按「需求澄清 → 需求规格说明书与用例设计 → 接口设计与子系统划分 → 编码实现 → 测试验证」的顺序推进,需求与设计文档先行于实现,后端 22/22 故事点均可在成果物页逐条回溯到 FR 条目。

3.3 当前迭代期定义

  • 起止日期:2026-09-17 ~ 2026-10-08(含国庆假期,比常规两周长)
  • 迭代事件:迭代计划会 / 每日站会 / 本次评审会 / 回顾会

3.4 当前迭代目标定义

  1. 完成需求澄清,产出增值后的需求规格说明书、用例表、业务流程图
  2. 完成子系统划分与接口设计,确定技术栈与目录结构
  3. 建好 GitHub 仓库与 Wiki,5 人全部加入,提交记录可区分到个人
  4. 基线 MVP 可运行:商品发布、商品详情、买家提交意向、卖家后台 5 项、交易冻结与结果标记
  5. 跑通构建(Maven)与部署(Docker)两条链路,产出构建手册与部署手册
  6. 测试用例清单 + 自动化脚本,做不出自动化的部分用屏幕录制补

3.5 当前迭代的任务与成果物

# 任务 责任人 预期成果物 完成情况
1 需求澄清访谈与需求问题库 董嘉润 需求问题库 已完成(10 条提问,8 条答复已于 2026-10-07 回填)
2 需求分析与编写需求规格说明书(增值版)+ 用例表 + 业务流程图 董嘉润、陈星宇 需求规格说明书(v1.4)、用例表、业务流程图 已完成(董嘉润提出并澄清需求问题,两人共同完成需求分析与文档编写)
3 领域模型与接口设计 王振涛 接口设计 已完成(17 个接口,Java 侧全部实现)
4 后端:卖家模块(Java) 王振涛 仓库 server/ + 接口设计 已完成(730 行,12 接口,提交 f4d8821)
5 后端:买家模块与交易流转(Java)+ JUnit 测试 林初俊 仓库 server/ + Java实现进度 已完成(492 行业务代码 + 492 行测试,18 组 JUnit 全通过,整改后提交 a42a102)
6 前端:商品详情页、意向提交页、卖家后台 嵇宇锋 server/src/main/resources/static/ 已完成联调(5 个文件,启动实测可访问,提交 a4c7081);页面说明文档待补
7 Selenium 端到端自动化、JMeter 性能测试 待分配 测试脚本 + 报告 未开始(迭代 2)
8 构建脚本、构建手册、Dockerfile、部署手册 陈星宇 build/ 与 deploy/ 目录 已完成(云端 Actions 构建成功,容器内冒烟 44/44,镜像与 tar 已产出)
9 Wiki 搭建与本次评审报告 陈星宇 本 Wiki 全部页面 已完成

3.6 工作任务表(重点)

序号 已完成工作任务 完成人 成果物地址 教师评审意见
1 搭建 GitHub 仓库与 Wiki,建立仓库目录结构与协作规范 陈星宇 https://github.com/xych5q/online-shop/wiki 整体意见 A、D:总体计划与进度算法须在汇报中讲出;PPT 按人分页,不写「共同完成」
2 编写构建手册与部署手册、Dockerfile、构建脚本 陈星宇 https://github.com/xych5q/online-shop/wiki/构建与部署手册 整体意见 A、C:构建已通,部署实测未做;演示改线下录屏播放,不在现场起服务
3 组织需求澄清访谈,提出并整理需求问题库 10 问,完成 8 条答复回填 董嘉润 https://github.com/xych5q/online-shop/wiki/需求问题库 整体意见 B:汇报改为统计式表述(几轮需求、多少条澄清、几个矛盾),举例只留 1 条
4 需求分析与编写《需求规格说明书》(提交时 v1.3,现行 v1.4;FR-S1S10 / FR-B1B5、矛盾裁决 C1C4、状态机与排队规则、追踪矩阵),并完成《用例表》UC-0115 与《业务流程图》 董嘉润、陈星宇 https://github.com/xych5q/online-shop/wiki/需求规格说明书 技术意见 2、3、4、5:状态机需修订——标注转移触发条件、成功与失败拆为两个状态、补状态回退路径、撤销要在数据字段中定义
5 领域模型与 REST 接口设计:17 个接口(卖家 12 + 买家 5)的入参、出参与错误码约定 王振涛 https://github.com/xych5q/online-shop/wiki/接口设计 技术意见 3:接口与状态机对应处需写清「打上什么标记」触发状态转移
6 实现 Java 卖家端模块:登录鉴权、发布商品、冻结解冻、进入交易、标记交易结果与失败意向处置、下架、历史流水、修改密码共 12 个 REST 接口(730 行,mvn package 编译通过、curl 逐条实测通过) 王振涛 https://github.com/xych5q/online-shop/wiki/卖家端模块实现 技术意见 1、5:「自动冻结」须写明触发机制与条件(代码位置);已下架能否回到在售需给出结论
7 实现 Java 买家端与交易流转模块(提交意向与 8 位唯一口令码、凭码查询位次、修改信息不改位次、撤销留痕、队首自动进入交易并冻结、标记成功清队进历史、标记失败自动递补、交易中撤销与递补、失败买家重排沿用原码排队尾,492 行 5 接口),并编写 JUnit 5 单元测试 18 组(492 行,mvn test 实测 18 通过 0 失败 0 跳过) 林初俊 https://github.com/xych5q/online-shop/wiki/买家端模块实现 技术意见 2、4:撤销/作废须在数据中体现(终态字段取值、口令码失效);成功与失败是两个独立状态
8 完成前端页面与文档:商品详情页、意向提交页、口令码展示页、卖家后台共 5 个页面按接口契约开发并置于 static/(启动实测 HTTP 200、静态资源加载正常);编写《前端页面说明》(页面清单、买卖双方操作流程、空状态、接口对应表),附 8 张运行截图 嵇宇锋 https://github.com/xych5q/online-shop/wiki/前端页面说明 整体意见 E、C:前端要讲页面设计、与后端如何交互、如何收集请求与更新页面,不要讲成需求;配合录制演示视频

教师评审意见(2026-10-08 评审现场,已回写至 3.6 表)

整体意见(主评老师)

  1. 报告要回应时间维度:总体计划(分几个迭代、两周一次)、当前进度百分比及算法、本次迭代的起止日期与可度量目标,然后才是任务与成果物。展示内容里必须把进度与完成度讲出来,不能只讲开发工作。
  2. 汇报不要陷进细节:4 条矛盾逐条罗列属于细节,应改为统计式表述(经过几轮需求、引用多少别组结论、本组多少问多少答复、识别几个矛盾),举例最多 1 条。
  3. 不要在评审现场尝试在教师机上跑系统:改为线下录制 1~2 分钟演示视频,评审时播放。
  4. PPT 一个同学一页自己的工作:不要出现「某某和某某一起做」,人和人要严格分开,以明确各自边界。
  5. 前端介绍不要讲成需求:要讲页面如何设计、与后端如何交互、如何收集请求、拿到数据如何更新页面。
  6. PPT 不要堆砌自己解释不清的 AI 生成内容:无用内容只会减分,应严格规定输出边界后清除。

技术细节点评(潘老师)

  1. 「自动」不是什么都不做就完成,背后要有代码或机制触发,须写明在什么条件下触发(在售 → 冻结由谁、由哪段代码、在什么条件触发)。
  2. 「作废/撤销」须在数据中体现:哪个字段、取什么值、口令码如何失效。
  3. 状态机转移箭头上要标清「打上什么标记」才发生转移,不能只写「标记成功」。
  4. 成功与失败必须是两个独立状态,不能合并为「终态:成功/失败」。
  5. 状态不能全是单向的,需考虑回退(已下架商品能否回到在售)。

整改安排

逐条整改安排与责任人见 第1次评审教师意见与整改清单(如该页未建,见仓库 )。整改结果在迭代 2 汇报(2026-10-22)时逐条回应。