Appearance
第十五章 非功能需求
15.1 性能要求
15.1.1 响应时间
| 指标 | 要求 | 说明 |
|---|---|---|
| 首屏加载时间 | ≤ 2 秒 | 从页面请求到数据渲染完成 |
| 筛选响应时间 | ≤ 500 毫秒 | 从用户操作到列表更新 |
| 实时数据延迟 | ≤ 1 秒 | 从数据源推送到界面显示 |
| 操作反馈时间 | ≤ 200 毫秒 | 从用户点击到界面响应(加载状态) |
| 接口响应时间 | ≤ 1 秒 | 服务端接口响应时间(P95) |
15.1.2 容量要求
| 指标 | 要求 | 说明 |
|---|---|---|
| 单页最大数据量 | 200 条 | 与第八章分页设置一致 |
| 同时在线用户 | ≥ 100 人 | MVP 阶段目标 |
| 单用户并发请求 | ≥ 10 个 | 支持多 Tab 同时操作 |
15.1.3 渲染性能
| 指标 | 要求 |
|---|---|
| 列表滚动帧率 | 60 fps |
| 数据更新帧率 | ≥ 30 fps |
| 内存占用 | 单页面 ≤ 200 MB |
15.2 可用性要求
15.2.1 系统可用性
| 指标 | 要求 | 说明 |
|---|---|---|
| 可用性 | 99.9% | 年度不可用时间 ≤ 8.76 小时 |
| 计划内维护 | 每月 ≤ 2 小时 | 安排在凌晨 02:00-06:00 低峰期 |
| 故障恢复时间(RTO) | ≤ 5 分钟 | 从故障发现到服务恢复 |
| 数据恢复点(RPO) | ≤ 1 分钟 | 最大可接受数据丢失时间 |
15.2.2 降级策略
| 故障场景 | 降级方式 | 用户感知 |
|---|---|---|
| WebSocket 连接不可用 | 自动切换为定时轮询 | 显示横幅提示「已切换为轮询模式」 |
| 部分接口超时 | 显示缓存数据 | 数据旁显示「数据存在过期风险」标记 |
| 数据源不可用 | 禁止上架操作 | 告警列显示「数据源维护」,上架按钮禁用 |
15.3 兼容性要求
15.3.1 浏览器兼容
| 浏览器 | 最低版本 | 推荐版本 |
|---|---|---|
| rome | 80 | 最新版 |
| Firefox | 75 | 最新版 |
| Safari | 13 | 最新版 |
| Edge | 80 | 最新版 |
| IE | 不支持 | — |
说明:MVP 阶段主要支持 rome 浏览器,其他浏览器保证基本功能可用。
15.3.2 分辨率兼容
| 分辨率 | 支持程度 |
|---|---|
| 1280×720 | 最小支持,部分列需横向滚动 |
| 1920×1080 | 推荐分辨率,完整显示所有列 |
| 2560×1440 及以上 | 完整支持 |
15.3.3 网络环境
| 网络类型 | 支持程度 |
|---|---|
| 有线网络 | 完整支持 |
| WiFi | 完整支持 |
| 弱网环境(延迟大于300ms) | 支持,自动降级为轮询模式 |
15.4 安全要求
15.4.1 身份认证
| 要求 | 说明 |
|---|---|
| 登录认证 | 用户名密码 + 验证码 |
| 会话管理 | JWT Token,有效期 2 小时 |
| 自动续期 | 活跃用户自动续期,无感刷新 |
| 多设备登录 | 允许,同时在线设备 ≤ 3 个 |
15.4.2 权限校验
| 要求 | 说明 |
|---|---|
| 接口权限 | 所有接口需要 Token 验证 |
| 操作权限 | 服务端严格校验操作权限,详见第12章 |
| 数据权限 | 根据角色控制数据可见范围 |
| 越权检测 | 检测并阻止越权操作,记录告警日志 |
15.4.3 数据安全
| 要求 | 说明 |
|---|---|
| 传输加密 | HTTPS / WSS |
| 敏感数据脱敏 | 金额数据支持脱敏显示(默认关盘,系统管理配置) |
| 日志脱敏 | 日志中不记录完整敏感信息 |
15.4.4 操作审计
| 要求 | 说明 |
|---|---|
| 审计范围 | 所有状态变更操作记录日志 |
| 保留时间 | 180 天 |
| 审计内容 | 操作人、操作时间、操作内容、操作前后状态、操作结果 |
| 防篡改 | 审计日志不可修改、不可删除 |
15.4.5 配置冲突仲裁规则
当多个配置模块(风控管理、联赛管理、系统管理)中存在冲突的规则或限制时,按以下优先级执行:
| 优先级 | 配置来源 | 适用范围 | 说明 |
|---|---|---|---|
| 1(最高) | 风控管理配置 | 赔率校验、限额、5类告警阈值 | 风险控制优先,确保平台安全 |
| 2 | 联赛管理配置 | 跟随配置、默认操盘手、玩法启用 | 联赛级个性化配置 |
| 3(最低) | 系统默认值 | 精度规则、同步间隔 | 系统级写死,修改需发版 |
冲突处理示例:
- 若风控管理设置单个玩法最大货量为100万,联赛管理设置为200万,则执行风控管理的100万(取最严格)
- 若风控管理启用某玩法,联赛管理禁用该玩法,则该玩法对该联赛禁用(取最严格)
15.5 可维护性要求
15.5.1 日志规范
系统技术日志:
| 日志类型 | 级别 | 保留时间 | 说明 |
|---|---|---|---|
| 访问日志 | INFO | 30 天 | 用户访问记录 |
| 操作日志 | INFO | 180 天 | 业务操作记录 |
| 错误日志 | ERROR | 90 天 | 系统错误记录 |
业务日志保留期汇总(跨章节统一参考):
| 日志类型 | 保留时间 | 定义章节 | 说明 |
|---|---|---|---|
| 状态流转日志 | 180 天 | 10.7 | 赛事/盘口/上架状态变更记录 |
| 审计日志 | 180 天 | 12.6.1 | 权限操作、安全合规审计(更长) |
| 操盘日志 | 180 天 | 18 | 操盘手操作记录,等同操作日志 |
日志保留期设计原则
- 审计日志保留180天:满足安全合规和事后追溯需求
- 状态流转日志保留180天:支持日常运营分析和事后追溯,与审计日志/操盘日志统一
- 操盘日志与操作日志同为180天:确保操盘记录可追溯
15.5.2 监控告警
| 监控项 | 告警阈值 | 告警方式 |
|---|---|---|
| 接口响应时间 | P99 > 3 秒 | 短信 + 邮件 |
| 错误率 | > 1% | 短信 + 邮件 |
| CPU 使用率 | > 80% | 邮件 |
| 内存使用率 | > 80% | 邮件 |
15.5.3 版本管理
| 要求 | 说明 |
|---|---|
| 版本号规范 | 主版本.次版本.修订号(如 1.2.3) |
| 回滚能力 | 支持快速回滚到前一版本 |
15.6 可扩展性要求
15.6.1 功能扩展预留
| 扩展点 | 说明 |
|---|---|
| 筛选条件 | 支持动态添加新筛选条件 |
| 表格列 | 支持配置显示/隐藏列 |
| 告警类型 | 支持配置新告警类型和阈值 |
15.6.2 数据扩展预留
| 扩展点 | 说明 |
|---|---|
| 体育类型 | 支持添加新体育类型(篮球、网球等) |
| 联赛 | 支持动态添加联赛 |
| 玩法 | 支持配置新玩法类型 |
15.6.3 集成扩展预留
| 扩展点 | 说明 |
|---|---|
| 数据源 | 支持对接多个数据源(当前仅 IM) |
| 消息通知 | 支持对接企业微信、钉钉等(P2) |
15.7 国际化要求
15.7.1 一期范围
| 项目 | 支持情况 |
|---|---|
| 界面语言 | 仅简体中文 |
| 时区 | 仅北京时间(UTC+8) |
| 货币 | 仅人民币(CNY) |
15.7.2 预留扩展
| 项目 | 预留方式 |
|---|---|
| 多语言 | 文案配置化,支持后续添加语言包 |
| 多时区 | 时间统一存储 UTC,显示时转换 |
| 多货币 | 金额字段预留货币类型 |