第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 当前迭代目标定义
- 完成需求澄清,产出增值后的需求规格说明书、用例表、业务流程图
- 完成子系统划分与接口设计,确定技术栈与目录结构
- 建好 GitHub 仓库与 Wiki,5 人全部加入,提交记录可区分到个人
- 基线 MVP 可运行:商品发布、商品详情、买家提交意向、卖家后台 5 项、交易冻结与结果标记
- 跑通构建(Maven)与部署(Docker)两条链路,产出构建手册与部署手册
- 测试用例清单 + 自动化脚本,做不出自动化的部分用屏幕录制补
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-S1 |
董嘉润、陈星宇 | 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 表)
整体意见(主评老师)
- 报告要回应时间维度:总体计划(分几个迭代、两周一次)、当前进度百分比及算法、本次迭代的起止日期与可度量目标,然后才是任务与成果物。展示内容里必须把进度与完成度讲出来,不能只讲开发工作。
- 汇报不要陷进细节:4 条矛盾逐条罗列属于细节,应改为统计式表述(经过几轮需求、引用多少别组结论、本组多少问多少答复、识别几个矛盾),举例最多 1 条。
- 不要在评审现场尝试在教师机上跑系统:改为线下录制 1~2 分钟演示视频,评审时播放。
- PPT 一个同学一页自己的工作:不要出现「某某和某某一起做」,人和人要严格分开,以明确各自边界。
- 前端介绍不要讲成需求:要讲页面如何设计、与后端如何交互、如何收集请求、拿到数据如何更新页面。
- PPT 不要堆砌自己解释不清的 AI 生成内容:无用内容只会减分,应严格规定输出边界后清除。
技术细节点评(潘老师)
- 「自动」不是什么都不做就完成,背后要有代码或机制触发,须写明在什么条件下触发(在售 → 冻结由谁、由哪段代码、在什么条件触发)。
- 「作废/撤销」须在数据中体现:哪个字段、取什么值、口令码如何失效。
- 状态机转移箭头上要标清「打上什么标记」才发生转移,不能只写「标记成功」。
- 成功与失败必须是两个独立状态,不能合并为「终态:成功/失败」。
- 状态不能全是单向的,需考虑回退(已下架商品能否回到在售)。
整改安排
逐条整改安排与责任人见 第1次评审教师意见与整改清单(如该页未建,见仓库 )。整改结果在迭代 2 汇报(2026-10-22)时逐条回应。