## 非功能性需求（Non-functional Requirements）

用于在需求拆分的早期，把“系统必须具备的质量属性”显式化并可验证化，避免只拆业务功能，到了实现/压测/上线才补救。

适用场景：
- 任意业务需求在进入 detail/verify/impl 前的“范围与口径对齐”
- 对性能、稳定性、安全、合规、可观测、可运维有明确约束的系统

类型展开（按需裁剪；每类都要写到“可验证”为止）：

### 性能（Performance）

关注“快不快、扛不扛得住”，以及在峰值与异常下是否仍可控。
- 常见关注点：响应时间（P50/P95/P99）、吞吐（QPS/TPS）、并发、峰值、队列积压、批处理窗口、限流与排队策略
- 容量口径：按“关键场景”定义容量，而不是按单接口；例如“下单 + 支付回调 + 库存扣减”的端到端耗时与成功率
- 验证方式：压测方案（数据集/并发模型/峰值曲线/扩缩容策略）+ 上线后看板（SLO 与告警阈值）

### 稳定性 / 可用性（Reliability / Availability）

关注“能不能一直稳定提供服务”，以及故障发生时是否可恢复、可止血。
- 常见关注点：SLA/SLO、降级、熔断、超时、重试、幂等、限流、隔离、容灾、备份与恢复、数据一致性策略
- 故障边界：明确哪些故障允许“部分不可用”（例如导出/报表），哪些必须“核心链路可用”
- 验证方式：故障演练（注入超时/依赖不可用/限流/主备切换）+ RTO/RPO 验收

### 安全（Security）

关注“能不能被越权、被篡改、被泄露”，以及风险是否可审计、可追踪。
- 常见关注点：认证、授权（RBAC/数据权限）、会话与 token 管理、加密（传输/存储）、敏感信息处理、审计、漏洞风险（OWASP）、供应链安全
- 数据保护：明确哪些字段是敏感信息（脱敏展示/导出限制/水印/访问审计/最小权限）
- 验证方式：权限用例（允许/拒绝/提示）、安全测试（扫描/渗透/基线核查）、审计日志抽查

### 合规（Compliance）

关注“必须遵守的规则是否被落实到系统行为”，包括留痕、数据生命周期、隐私与跨境。
- 常见关注点：留痕与不可抵赖、数据保留期限、访问控制、导出限制、隐私条款、跨境传输、日志留存、审计取证
- 生命周期：明确数据的“采集→使用→共享→存档→删除”策略，并定义触发条件与责任人
- 验证方式：审计检查清单 + 取证演练（能否按时间/操作者/对象还原事件）

### 可观测（Observability）

关注“出了问题能不能快速定位”，以及关键指标是否可被持续监控。
- 常见关注点：日志（结构化/关联 ID）、指标（RED/USE）、链路追踪、告警、关键事件埋点、业务漏斗与异常率
- 最小可观测集：每条关键链路必须具备 trace_id，关键动作必须有操作日志与审计字段
- 验证方式：看板与告警演练（模拟错误率升高/延迟升高/队列堆积），能在限定时间内定位根因

### 可运维（Operability）

关注“上线与变更是否可控”，以及运维动作是否可重复、可回滚、可审计。
- 常见关注点：配置管理、灰度发布、回滚策略、变更窗口、数据迁移、开关（feature flag）、运行手册、值班与应急预案
- 变更控制：明确哪些变更必须灰度、哪些必须停机窗口，回滚触发条件与回滚步骤
- 验证方式：一次演练式发布（灰度→扩大→回滚），验证数据迁移与回滚的可操作性

### 可访问性（Accessibility）

关注“残障/老年/临时受限用户是否可用”，并满足法规或组织标准（如 WCAG）。
- 常见关注点：键盘可达（Tab 顺序/焦点可见）、语义化结构（ARIA）、对比度、字体可缩放、读屏支持、表单错误提示、动效可关闭
- 交互要求：所有核心操作必须在无鼠标/无触摸精细操作下可完成；错误提示必须可被读屏读到
- 验证方式：自动化扫描（a11y lint）+ 人工走查（键盘/读屏/高对比度模式）+ 关键页面验收清单

### 风俗习惯 / 本地化（Locale & Cultural Conventions）

关注“不同地区用户的习惯是否被尊重”，避免因格式、表达、流程不符合习惯导致误用或投诉。
- 常见关注点：语言与术语、时间/时区/历法、数字与货币格式、小数点/千分位、地址格式、姓名顺序、手机号规则、节假日与工作日、颜色/图标含义、合规文案差异
- 交互要求：时间与金额必须明确时区/币种；默认格式随地区变化但允许用户切换；不把文化假设写死在规则里
- 验证方式：按地区测试用例（格式/排序/搜索/校验/导出）+ 关键文案审核（本地化与合规）

### 兼容性（Compatibility）

关注“在目标环境里能不能正常跑”，包括浏览器、设备、系统版本、API 版本与外部依赖。
- 常见关注点：浏览器/设备矩阵、分辨率与输入方式（鼠标/触屏）、API 版本兼容、外部依赖兼容与替换策略、降级策略
- 版本策略：明确最低支持版本与淘汰策略；对 breaking change 需要迁移窗口与兼容层
- 验证方式：兼容矩阵测试（主流 + 最低支持）+ 回归基线 + 依赖替换演练（mock/降级）

### 可移植性（Portability）

关注“迁移成本高不高”，包括部署环境迁移、云厂商迁移、数据库/中间件替换、地域扩展。
- 常见关注点：环境无关配置（12-factor）、基础设施抽象、依赖可替换（DB/缓存/MQ/对象存储）、数据迁移与回滚、跨地域部署
- 架构约束：避免把厂商特性写死在业务层；对依赖能力要有最小能力集与适配层
- 验证方式：在第二套环境（或本地容器化环境）完成一次端到端部署与回归；对核心依赖做替换验证（如切换 DB/MQ）
