第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

要点:

  1. 买家提交意向只是排队,不会立刻冻结商品。
  2. 只有卖家在后台手动点击“开始交易”,系统才会拉取队首买家进入交易,并自动冻结商品。
  3. 交易失败后,商品自动恢复在售,并自动递补下一位排队买家;如果队列空了,就继续等待新买家。

四、 商品状态流转

商品只有三个状态,所有后台操作都围绕它们展开:

stateDiagram-v2
    [*] --> 在售: 卖家发布商品
    在售 --> 已冻结: 卖家触发交易
    在售 --> 已下架: 卖家手动下架
    已冻结 --> 已下架: 卖家标记交易成功
    已冻结 --> 在售: 卖家标记交易失败
    已下架 --> [*]

要点:

  • 在售:可接收买家意向。
  • 已冻结:交易中,不再接收新意向。
  • 已下架:交易成功或手动下架后的终态。
  • 特别规则:交易中的商品禁止手动解冻,必须先标记交易结果。(因为商品冻结有“手动冻结”和“交易中自动冻结”两种情况。交易中的商品如果手动解冻,会导致“商品在售但买家还卡在交易中”的数据矛盾。)

五、 核心业务规则

1. 排队与“先到先得”机制

  • 排队触发:买家提交购买意向时进入队列。
  • 冻结时机:商品冻结发生在 卖家手动点击“开始交易” ,系统自动拉取队首买家进入交易的那一刻。
  • 队列封闭:一旦进入“已冻结(交易中)”状态,不再接收任何新意向。
  • 自动递补:当队首买家交易失败,队列后面的买家自动按顺序递补进入交易,商品再次冻结。

2. 口令码机制(买家唯一凭证)

  • 生成与展示:买家提交意向后,系统即时生成唯一口令码,仅显示一次在提交成功页面。
  • 失效条件:① 意向彻底终结(成功/作废/撤销);② 商品下架。
  • 特殊说明:交易失败后若卖家选择“重新排队”,该意向并未终结,口令码继续有效(排到队尾)。
  • 权限范围:查询排队位次、修改姓名/电话、撤销意向(仅限排队阶段)。

3. 交易结果与恢复机制

  • 判定方式:由卖家在后台手动标记(成功/失败),系统不自动判断。
  • 标记成功:商品直接下架,进入历史商品。操作不可撤销。
  • 标记失败:商品立即自动恢复为“在售”,并递补下一位买家进入交易。若队列已空,商品保持“在售”等待新买家。

六、 各成员工作成果

1. 杜美芳(后端商品模块 + 产品经理)

2. 童昕祺(前端买家端)

  • 产出:买家前端设计文档。
  • 具体工作:将买家端划分成了六个主要页面,分别是:商品浏览首页、商品详情页、购买意向提交页、意向提交成功页、口令码管理页以及意向详情和状态页。
  • 细化内容:明确了表单校验规则(姓名/电话必填)、17条异常提示文案、口令码生命周期(生效、持续、失效)、排队规则(先到先得、修改信息不改变位次)、买卖家权限隔离等。

3. 陈泽英(前端卖家后台)

  • 产出:《卖家前端设计文档》(含需求梳理、操作流程图、状态按钮对照表、页面线框图、问题库)。
  • 具体工作:定义卖家后台的 6 个功能模块(登录、发布商品、历史商品、意向查看、商品状态操作、修改密码)。
  • 细化内容:绘制了卖家后台操作流程图与5 张页面线框图,制定了商品状态与后台按钮对照表;整理出 19 条卖家前端问题及解决方案,包括商品修改限制(在售且无有效意向时可改)、图片约束(JPG/PNG,≤5MB,至少 1 张,最多 5 张)、商品描述长度(10~2000 字符)、价格格式(>0,2 位小数)、必填项校验、无需二次确认弹窗、历史商品持久化保留且只读、不支持评论等。

4. 李炫苇(后端 + 数据库)

  • 产出:数据库表结构设计初稿(进行中)。
  • 具体工作:负责意向表、卖家表、图片上传接口、SQL、API 联调。

5. 胡芷源(测试 + 部署)

  • 产出:测试用例与部署方案(进行中)。
  • 具体工作:负责测试用例、自动化测试脚本、Postman 集合、Dockerfile、部署 README、CI。

七、 下一步计划

  • 基于本次评审反馈,完善需求规格说明书与前端设计文档。
  • 推进数据库表结构详细设计(李炫苇负责)。
  • 完成前端原型图绘制(童昕祺、陈泽英负责)。
  • 准备下一迭代的编码与测试工作(胡芷源负责)。