﻿# 需求评审最终结论

## 1. 结论

本稿可作为**评审稿**交付，不可作为**开发冻结稿**。用户明确规则（U）与已确认关联规则（I）部分形成可落地基线；补充方案（S）已明确标注待评审，但所附验收标准 DL-AC12 至 DL-AC22 覆盖了大量 S 项业务规则，在相应 Q01–Q07 未确认前不具备实施验收效力。全文存在 3 项真实矛盾、2 项结构性遗漏，另有 1 项 AC 与正文规则冲突、部分 B 类 AC 将 S 项按已批准口径措辞，存在静默转正风险。

22 条验收标准已全量检查。正文缺口集中为：有效期边界（Q04）、企业—项目关系来源（Q02）、已打开会话处理（Q07）、删除操作信息保留要求（Q05），上述内容在正文中均无明确定义，相关 AC 标为**待确认**。

---

## 2. 主要问题

按严重性排序，共 5 项：

### 问题 1（严重）：DL-AC13 与 S03 存在冲突

**位置**：第 9.2 节 DL-AC13；第 6 节 S03。

**冲突内容**：DL-AC13 表述为“保存成功整份替换**且保持原上下线状态**”，并列为 B 类“待批准”。S03 本身是“建议保存不改变原上线/下线状态”。DL-AC13 的措辞“保存成功…保持原上下线状态”与验收标准“不得新增业务规则”的要求构成冲突：AC 把 S 项的“建议”写成了保存成功后的必然断言，而非待确认行为。

**处理建议**：将 DL-AC13 拆分为两个断言：①保存机制类（编辑/移除/排序不改变有效内容，仅保存成功整份替换，失败保留原内容及状态）标为待评审并引用 S03；②上下线状态保持单独列出，关联 Q01/Q07 的确认结果，不得将状态保持作为已批准规则嵌入 AC 正文。

### 问题 2（严重）：DL-AC18 的“剩 1 项仍留列表，0 项为空结果”混淆了批准来源

**位置**：第 9.2 节 DL-AC18；第 6 节 S02、S06；第 8.2 节。

**冲突/遗漏内容**：DL-AC18 将“剩 1 项仍留列表，不自动进入；0 项显示空结果”列为 B 类验证项，依据标注为“S02/S06、第 8.2 节；Q01/Q04”。但第 8.2 节明确说明该行为**由 P01 负责**，“本文不重复新增 C 端验收条目”。因此，将此规则作为本模块的 AC 交付验证，混淆了模块边界，且对“空结果”的 C 端展示细节依赖 P01 原条款，正文没有引用足以单独成立的本模块规则。

**处理建议**：DL-AC18 中的“剩 1 项／0 项”展示行为移出本模块 AC，仅保留“多项目列表事后失效不足 2 项不自动改变上线状态；剩余有效项目保持原相对顺序”作为 A 端规则（待 Q01/Q04 确认后实施），C 端展示部分改为引用 P01 的已验证范围/回归项，或删除该 AC 的 C 端断言。

### 问题 3（严重）：DL-AC12 把“编号生成”与“数量门槛”合并验证，导致一个 B 类 AC 含多个待确认来源

**位置**：第 9.2 节 DL-AC12。

**遗漏/结构问题**：DL-AC12 并列了三个独立业务选择：①列表编号生成规则（S01）；②首次保存默认下线（S02/Q01）；③下线可保存 0/1 项且上线至少 2 个有效项目（S02/Q01）。三个来源不同、前提条件不同、确认主体不同，一旦合并为一条 AC，实施团队可能只验证编号生成，忽略数量门槛；或反之。

**处理建议**：拆分 DL-AC12 为至少三条最小验证单元：编号生成与只读性（S01）；新建初始状态（Q01）；保存数量门槛（Q01）。如产品最终只批准部分，可单独启用。

### 问题 4（严重）：DL-AC16 混入 Q07 未确认内容且将“恢复上线读取最近保存内容”表述为可验证行为

**位置**：第 9.2 节 DL-AC16；第 6 节 S04。

**冲突/待确认问题**：DL-AC16 验证“恢复上线读取最近保存内容”，但 Q07 尚未确认“更新/下线对已打开会话的影响”，且 S04 明确说“已打开并加载的画面、正在播放的项目能否继续使用，见 Q07”。在此前提下，AC 写“恢复上线读取最近保存内容”并未限定是“新读取请求”还是“已打开会话刷新”，后者在正文无定义。

**处理建议**：将 DL-AC16 中的“恢复上线读取最近保存内容”改为与新读取请求相关的限定，或待 Q07 确认后增加“已打开会话”分项；不得在 Q07 未确认前把“读取最近保存内容”理解为强制刷新或主动中断定义。

### 问题 5（中等）：DL-AC17 将“续期后重新判断资格”与“列表下线时不自动上线”绑定，缺少续期动作的定义依据

**位置**：第 9.2 节 DL-AC17；第 6 节 S06；第 3.3 节 R04；第 11 节 Q04。

**遗漏内容**：Q04 明确需要确认“项目有效期依据与时区/边界/无有效期记录含义”。DL-AC17 说“续期后重新判断”，但正文没有定义“续期”谁能发起、是否改变项目主档、续期后 A 端是否自动刷新、需不需要重新保存列表。若按字面验证会引发未定义的行为。

**处理建议**：将 DL-AC17 保持待确认，并在 Q04 确认后明确“续期行为本身不属于本模块功能，本模块只消费项目主档有效期结果”，再将 AC 调整为“项目主档有效状态从失效变为有效后，同一关联按最新结果重新判断；不自动改变列表上线状态；是否需重新保存取决于项目有效期来源接入方式”。

---

## 3. 需要追问的问题

以下问题不在已列 Q01–Q07 中重复，需补充：

| # | 问题 | 所属位置 | 备注 |
| --- | --- | --- | --- |
| RQ1 | 项目主档有效期与列表页面“有效期核验结果”之间的时区、精度、展示格式从哪个来源获取？ | 第 5.2 节 VISTAID 输入与关联；Q04 | DDL-AC05/17 依赖此定义；不得用 P01 或 A 端推测替代 |
| RQ2 | “最近操作人/时间”对保存失败是否更新？ | 第 5.1 节 | S01 声称“名称/企业/项目/排序保存、上下线均更新”，未定义失败或未提交改动是否刷新 |
| RQ3 | 列表编号在 Q01 之前的显示规则：新建未保存时不显示虚构编号，已确认；但“列表编号稳定且只读”与“新建首次保存成功生成”的 编号格式/前缀 是谁定义？ | 第 5.1 节、第 5.2 节 | 若格式由接入方决定，则 AC12 需增加关于格式的待确认说明 |
| RQ4 | 已打开会话在 Q07 未确认时，AC16 是否需要对“后续读取立即按最新状态校验”做端到端验证，还是验证到 B 端网关即可？ | DL-AC16；第 6 节 S04 | 边界可能造成验收偏差 |
| RQ5 | UC04 中“上线门槛”是仅指 S02 的项目数量，还是包括企业在当前是否有可访问入口、P01 卡片源数据齐全性等？ | 第 4 节 UC04；第 6 节 S04 | 需在 Q01/Q06 确认时扩展说明；不得在 AC 中虚构额外门槛 |

---

## 4. 建议改法

1. **第 9.2 节整体调整**：AC12–AC22 必须逐条检查是否存在“将 S 项写为必然结果”的措辞，若存在，量化为“待确认”或“部分覆盖”；A/B 分离时，不将 B 类 AC 作为开发冻结标准交付。
2. **第 9.2 节 DL-AC13/16/17/18 拆分**：将“保存后状态”“恢复上线读取”“续期重新判断”“1/0 展示”四个断言解耦，分别对应 Q01/Q04/Q07 确认结果；已确认的保存机制保留，待确认的行为另列。
3. **第 6 节 S01 增加操作信息更新边界的规则补充**：至少在评审阶段说明“保存失败／未提交修改”是否更新“最近操作时间”。
4. **第 2.1 节明确对接 VISTA 项目有效期主档的约束**：避免把“有效期无法确认不能当作已通过”延伸为“无条件拒绝”。
5. **第 8.1 节 Q06 的确认要求进一步明确**：多列表如何分配到 B 端入口，以及是否由本模块产出映射关系还是由接入方在 B 端配置。

---

## 5. 可作为需求文档落稿的要点

**可落稿的确定规则（A 类）**：
- R01：企业一对多；每列表仅一企业。
- R02：项目至多一个列表；下线不释放关联。
- R03：仅 VISTAID 关联。
- R04：准入需在有效期内；无法确认不算通过。
- R05：运营排序，客户不可排序。
- R06：无快照，更新即生效。
- R07：仅上线可访问；不替代身份与权限。
- R08：B 端有效登录企业员工交集过滤，不限销售岗位；无权不输出。
- R09：删除列表不删项目本体。

**待产品确认后落稿（B 类）**：
- Q01：默认下线；数量门槛（2 个有效项目）；运行中到期不自动下线。
- Q02：企业—项目关系校验。
- Q03：已保存列表不可直接改企业。
- Q04：有效期依据、时区、边界、无有效期定义。
- Q05：删除门槛（先下线再删除）、删除不可恢复、操作信息保留范围。
- Q06：企业多列表与 B 端入口映射。
- Q07：已打开会话处理策略。

**可整体评审不拆分**：S01、S03、S08、S09 中常规字段、操作反馈、并行维护建议。

---

## 6. 验收标准与需求正文逐条核对表

全量检查 DL-AC01 至 DL-AC22；逐条输出。A 类按已明确规则评审，B 类按待确认评审。结论仅使用：已覆盖／部分覆盖／无依据／冲突／待确认／未检查。

| AC 编号 | 验收要求（含前提、操作、结果、限制） | 正文依据（具体规则及证据） | 核对结论 | 缺口与处理建议 |
| --- | --- | --- | --- | --- |
| DL-AC01 | A端存在演示列表清单及新增、修改、删除操作；企业客户侧不提供清单增删改和排序能力 | R09、R05；第 2.1 节；第 3.2 节 | 已覆盖 | 无缺口 |
| DL-AC02 | 保存列表时必须且只能选择一个企业；同企业可分别建立多个独立列表，不因已有列表而拒绝创建 | R01 | 已覆盖 | 无缺口 |
| DL-AC03 | 通过 VISTAID 关联已有项目；相同名称不能代替 VISTAID，也不能以手填链接关联项目 | R03；第 3.1 节 | 已覆盖 | 无缺口 |
| DL-AC04 | 同一 VISTAID 已在列表甲时，甲内不重复加入，乙也不能加入；甲下线但仍保留关联时仍不能加入乙 | R02；第 3.3 节 | 已覆盖 | 无缺口 |
| DL-AC05 | 只有处于项目有效期内的项目可新加入；未生效、已到期或无法确认有效期均不能作为准入通过 | R04；第 3.3 节 | 部分覆盖 | “有效期具体来源与边界以 Q04 收口”，正文未定义时区、起始/截止是否含边界及无有效期记录含义；AC05 自身注明“具体时间边界须 Q04 明确后实例化测试”，应标为部分覆盖，不能宣称已覆盖 |
| DL-AC06 | 运营调整项目顺序并成功保存，B/C端采用保存后的顺序，客户不能自行重排 | R05 | 已覆盖 | 无缺口 |
| DL-AC07 | 列表成功更新后使用当前有效内容，不要求另行发布快照，不提供内容快照恢复 | R06；第 2.2 节 | 已覆盖 | 无缺口 |
| DL-AC08 | 下线列表通过普通入口或直接地址均不能取得列表内容；上线状态仍不能绕过身份及项目权限 | R07、R08 | 已覆盖 | 无缺口 |
| DL-AC09 | P01对未登录、B端登录失效、非企业员工不提供列表数据；有效员工不因非销售岗位被额外拒绝 | R08；第 3.2 节 | 已覆盖 | 无缺口 |
| DL-AC10 | 员工有甲、丙的 VISTA 管理权，当前列表含甲、乙时，P01只输出甲；不输出乙，不补入丙，按 VISTAID 匹配 | R08 | 已覆盖 | 无缺口 |
| DL-AC11 | 移除列表项或删除列表，不删除 VISTA 项目本体 | R09 | 已覆盖 | 无缺口 |
| DL-AC12 | 名称、企业已填写，首次保存生成稳定只读列表编号并默认下线；下线可保存0/1个项目；上线及线上编辑保存至少保留2个有效关联项目 | S01/S02；Q01 | 待确认 | 三个来源（编号生成、默认下线、数量门槛）都属待评审方案，且分属不同决策；建议拆分为编号生成（S01）、初始状态（Q01）、数量门槛（Q01）三条，避免合并验证。 |
| DL-AC13 | 保存前编辑、移除、排序不改变有效内容；保存成功整份替换且保持原上下线状态；失败保留原内容及状态，本页保留输入 | S03 | 冲突 | “保持原上下线状态”本身是 S03 建议且尚未确认，被写为“保存成功…保持原上下线状态”的必然断言；且 AC 属待确认，但与正文存在建议等级不对等。处理：删除状态保持断言或等产品 Q01 确认后单独列。 |
| DL-AC14 | 提交保存时再次发现新加入项目失效或被占用，拒绝本次保存且不部分提交；不能只凭先前查询有效而通过 | S03、S06 | 待确认 | 保存前复检已作为 S03 建议明确，R04 为加入时规则，但“保存提交时再次检查”属于保存机制方案；Q01/Q04 确认前不算已批准。建议标注待确认并在 Q01/Q04 确认后转为可验收；不能以“R04 禁止失效准入”为由宣称已覆盖。 |
| DL-AC15 | 无法确认企业与项目交付关系时不默认允许；新建切企业确认后清空当前项目选择，取消保留；已保存列表不直接改企业 | S05；Q02/Q03 | 待确认 | 企业—项目关系校验来源未知，切换企业清空项目为交互方案，直接改企业为 Q03 待确认；均属补充方案。不能以“R01 每列表仅一企业”代替交付范围校验。 |
| DL-AC16 | 上线失败保持下线；下线成功停止后续列表读取/从列表进入，保留引用及占用；恢复上线读取最近保存内容 | S04；Q01/Q07 | 待确认 | 上线门槛、已打开会话处理（Q07）未确认；“恢复上线读取最近保存内容”未区分新读取和已打开会话刷新，正文无定义。建议明确为新读取请求后仍标待确认，待 Q07 确认后补已打开会话分项。 |
| DL-AC17 | 项目加入后到期，A端保留失效引用及占用，B/C不输出到期项；续期后重新判断，列表下线时不自动上线 | S06；Q04 | 待确认 | “续期”在正文中未定义动作、发起方、是否改项目主档、是否需要重新保存列表；Q04 只提确认有效期来源。建议词：“项目主档有效状态从失效变为有效后，同一关联按最新结果重新判断；不自动改变列表上线状态”，并标待确认。 |
| DL-AC18 | 多项目列表事后失效不足2项不自动改变上线状态；剩1项仍留列表，0项为空结果，其余项目保持原相对顺序 | S02/S06、第 8.2 节；Q01/Q04 | 部分覆盖 | A 端“不自动改变上线状态”为 S06 建议；C 端“剩1项仍留列表、0项空结果”直接引用 P01 第 6.2 节，而第 8.2 节明确本文不新增 C 端验收条目，边界冲突；Q01/Q04 未确认时此为待确认。建议仅保留 A 端规则，C 端展示移回 P01 或改引用回归。 |
| DL-AC19 | 移除项目保存成功才释放占用；取消或保存失败不释放；向另一列表加入须重新校验有效期和占用 | S07 | 待确认 | 保存成功才解除关联为合理引申，但属于 S 项；R02 只说明下线不释放，未说移除时释放时点。应待 Q05 确认后转为可验收；不能因 R02 已确定占用唯一而宣称已覆盖释放时点。 |
| DL-AC20 | 仅下线列表可删除；删除成功解除引用及占用、旧入口不可用且不能恢复；同名新列表不接替旧入口；删除失败保留列表及占用 | S07；Q05 | 待确认 | 删除前置和终态均为 S07 建议，Q05 待确认；其中“旧入口不可用且不能恢复”的不可用可由 R07 支持，但“不可恢复”、“同名新列表”均在正文无明确规则。建议标注待确认，待 Q05 明确删除终态后可转为可验收。 |
| DL-AC21 | 同一项目同时加入两个列表仅一方保存成功；同列表后提交者不能覆盖较新修改；重复操作和超时结果按核实后的当前状态处理 | S08 | 待确认 | 并行维护和建议均为 S08 补充方案；正文第 6 节明确 S 项待评审；不能仅凭“防重复点击” 或接口设计经验视为已批准。 |
| DL-AC22 | 运营无管理权限或提交时失权不能取得管理数据或修改；读取失败与空清单区分，有效期读取失败不显示有效数为0 | S01/S09 | 待确认 | “有效期读取失败不显示有效数为0”为 S01 建议；“权限粒度属于接入核验”；均待评审。建议在 S09 评审通过后转为可验收；不存在已确认明确的权限组来源。 |

---

## 7. 检查完整性报告

| 项目 | 结果 |
| --- | --- |
| AC 全检范围 | DL-AC01 至 DL-AC22，共 22 条，全部逐条检查，无抽查 |
| 已覆盖 | 10 条（DL-AC01、02、03、04、06、07、08、09、10、11） |
| 部分覆盖 | 2 条（DL-AC05、DL-AC18） |
| 待确认 | 9 条（DL-AC12、14、15、16、17、19、20、21、22），其中 DL-AC13 为冲突 |
| 无依据 | 0 条 |
| 冲突 | 1 条（DL-AC13） |
| 未检查 | 0 条 |
| 正文缺口统计 | 4 个主要大类缺口：①项目有效期来源与边界（Q04）；②企业—项目交付范围校验来源（Q02）；③删除终态及操作信息保留（Q05）；④已打开会话处理策略（Q07）。另：S01 中“最近操作人/时间”对失败/未提交修改的更新范围未定义（见 RQ2） |
| 未批准项 | Q01–Q07 全部未批准；S01–S09 中除已明确 U/I 规则外的补充方案未批准 |
| 是否可交付为开发冻结稿 | 否。当前版本仅可作为评审稿；必须完成 Q01–Q07 产品评审、S 项逐条批准，并修复 DL-AC13 冲突、DL-AC18 边界引用问题后，才能进入开发冻结评审 |

**结论：本评审发现 3 项真实矛盾、2 项结构性遗漏；22 条 AC 全部检查，其中 10 条已覆盖，2 条部分覆盖，1 条冲突，9 条待确认，0 条无依据，0 条未检查。文档当前状态为评审稿，不可作为开发冻结稿。**