第1次阶段性评审汇报‐讲述版 - H15058218452-rgb/Software-Engineering-Experimental-Group GitHub Wiki
第1次阶段性评审汇报(讲述版)
汇报日期:2026-10-08 项目组:第 6 组 · 在线购物系统
一、 项目概述与范围
我们本次迭代的目标是定义“在线购物系统 MVP”的需求与核心架构。系统定位为单卖家、免注册、线下交易的极简交易撮合平台。
- 核心用户:卖家(唯一管理员)、买家(免注册,凭口令码操作)。
- 核心场景:买家提交意向排队 → 卖家手动触发交易 → 线下交易 → 卖家标记结果。
- 明确不做:不做线上支付、不做物流、不做购物车、不做 Android/iOS 客户端。
二、 需求分析过程
在需求分析阶段,我们共同讨论了给出的“基线需求”,而是通过以下步骤挖掘出了大量隐含需求:
1. 第一步:整理基线需求
明确系统必须实现的功能:卖家发布商品、买家提交意向、线下交易、商品冻结/恢复、历史记录。
2. 第二步:组织讨论与问题澄清
我们通过腾讯共享文档进行讨论,整理出存在的问题与解决方法,围绕“排队、冻结、口令码、交易失败”等核心场景进行提问,再通过产品经理向群里的智能助手提问,记录了大量Q&A,通过这些进行隐藏需求的挖掘与整体需求的整理。 问题汇总.xlsx
3. 第三步:挖掘隐含需求
最终,通过讨论,我们发现了几个基线需求中没有写明、但必须定义的逻辑漏洞,进行整理归纳,形成了最终的需求规格说明书。
三、 核心业务逻辑
整个系统只有一条主线:
flowchart TD
A[卖家发布商品] --> B[商品在售]
B --> C[买家提交购买意向]
C --> D[进入排队队列]
D --> E[卖家手动触发交易]
E --> F[队首买家进入交易]
F --> G[商品自动冻结]
G --> H[线下交易]
H --> I{卖家标记结果}
I -->|成功| J[商品下架]
I -->|失败| K[商品恢复在售]
K --> L{队列是否还有买家}
L -->|有| F
L -->|无| B
要点:
- 买家提交意向只是排队,不会立刻冻结商品。
- 只有卖家在后台手动点击“开始交易”,系统才会拉取队首买家进入交易,并自动冻结商品。
- 交易失败后,商品自动恢复在售,并自动递补下一位排队买家;如果队列空了,就继续等待新买家。
四、 商品状态流转
商品只有三个状态,所有后台操作都围绕它们展开:
stateDiagram-v2
[*] --> 在售: 卖家发布商品
在售 --> 已冻结: 卖家触发交易
在售 --> 已下架: 卖家手动下架
已冻结 --> 已下架: 卖家标记交易成功
已冻结 --> 在售: 卖家标记交易失败
已下架 --> [*]
要点:
- 在售:可接收买家意向。
- 已冻结:交易中,不再接收新意向。
- 已下架:交易成功或手动下架后的终态。
- 特别规则:交易中的商品禁止手动解冻,必须先标记交易结果。(因为商品冻结有“手动冻结”和“交易中自动冻结”两种情况。交易中的商品如果手动解冻,会导致“商品在售但买家还卡在交易中”的数据矛盾。)
五、 核心业务规则
1. 排队与“先到先得”机制
- 排队触发:买家提交购买意向时进入队列。
- 冻结时机:商品冻结发生在 卖家手动点击“开始交易” ,系统自动拉取队首买家进入交易的那一刻。
- 队列封闭:一旦进入“已冻结(交易中)”状态,不再接收任何新意向。
- 自动递补:当队首买家交易失败,队列后面的买家自动按顺序递补进入交易,商品再次冻结。
2. 口令码机制(买家唯一凭证)
- 生成与展示:买家提交意向后,系统即时生成唯一口令码,仅显示一次在提交成功页面。
- 失效条件:① 意向彻底终结(成功/作废/撤销);② 商品下架。
- 特殊说明:交易失败后若卖家选择“重新排队”,该意向并未终结,口令码继续有效(排到队尾)。
- 权限范围:查询排队位次、修改姓名/电话、撤销意向(仅限排队阶段)。
3. 交易结果与恢复机制
- 判定方式:由卖家在后台手动标记(成功/失败),系统不自动判断。
- 标记成功:商品直接下架,进入历史商品。操作不可撤销。
- 标记失败:商品立即自动恢复为“在售”,并递补下一位买家进入交易。若队列已空,商品保持“在售”等待新买家。
六、 各成员工作成果
1. 杜美芳(后端商品模块 + 产品经理)
- 产出:需求规格说明书、后端商品模块设计文档、三张核心状态图。
- 具体工作:整理需求澄清记录,明确商品状态机与接口设计(商品表
status字段、5个核心接口:发布、冻结、解冻、确认成功、确认失败)。 - 个人工作内容汇报:[个人汇报]https://github.com/Asuka-ferry/myhub/wiki/第1次阶段性评审个人汇报(后端商品模块---产品经理)
2. 童昕祺(前端买家端)
- 产出:买家前端设计文档。
- 具体工作:将买家端划分成了六个主要页面,分别是:商品浏览首页、商品详情页、购买意向提交页、意向提交成功页、口令码管理页以及意向详情和状态页。
- 细化内容:明确了表单校验规则(姓名/电话必填)、17条异常提示文案、口令码生命周期(生效、持续、失效)、排队规则(先到先得、修改信息不改变位次)、买卖家权限隔离等。
3. 陈泽英(前端卖家后台)
- 产出:《卖家前端设计文档》(含需求梳理、操作流程图、状态按钮对照表、页面线框图、问题库)。
- 具体工作:定义卖家后台的 6 个功能模块(登录、发布商品、历史商品、意向查看、商品状态操作、修改密码)。
- 细化内容:绘制了卖家后台操作流程图与5 张页面线框图,制定了商品状态与后台按钮对照表;整理出 19 条卖家前端问题及解决方案,包括商品修改限制(在售且无有效意向时可改)、图片约束(JPG/PNG,≤5MB,至少 1 张,最多 5 张)、商品描述长度(10~2000 字符)、价格格式(>0,2 位小数)、必填项校验、无需二次确认弹窗、历史商品持久化保留且只读、不支持评论等。
4. 李炫苇(后端 + 数据库)
- 产出:数据库表结构设计初稿(进行中)。
- 具体工作:负责意向表、卖家表、图片上传接口、SQL、API 联调。
5. 胡芷源(测试 + 部署)
- 产出:测试用例与部署方案(进行中)。
- 具体工作:负责测试用例、自动化测试脚本、Postman 集合、Dockerfile、部署 README、CI。
七、 下一步计划
- 基于本次评审反馈,完善需求规格说明书与前端设计文档。
- 推进数据库表结构详细设计(李炫苇负责)。
- 完成前端原型图绘制(童昕祺、陈泽英负责)。
- 准备下一迭代的编码与测试工作(胡芷源负责)。