企业 AI 项目 Wiki · 需求与业务场景
非功能要求
也常写作Non-functional requirement · Nonfunctional requirement · NFR · 质量属性要求 · 质量要求
非功能要求是针对系统、产品、服务或其运行环境的质量特征、质量水平或实现与运行约束所作的规范性陈述。它说明功能在什么对象、情境、负载、时间窗口和风险条件下必须达到何种可测结果,或设计运行必须遵守什么有依据的边界,并应可验证、可追溯、可分配和受控变更。
非功能要求不是“其他要求”,而是可验证的质量要求或约束
“系统应稳定、安全、易用、响应快”表达了关切,却没有说明什么对象、在什么条件下、由谁用什么方法判断。这些词只有被展开成具体质量属性、适用场景、测量对象、单位、统计口径、阈值和失败边界,才成为可管理的要求。
非功能要求这个名称存在行业争议,因为安全、恢复、审计等质量目标通常会导出具体功能,而“如何”与“做什么”也不能永远清楚二分。项目可以保留 NFR 分类,也可以直接按性能、安全、可靠性等类别管理;关键是声明分类口径、避免遗漏,并让每项要求仍然是必要且可验证的规范陈述。
质量不是系统完成后再做的装饰。响应、容量、隔离、故障恢复、可访问性、可维护性和供应商退出等要求会决定架构、数据、接口、部署和运行方式。过晚上基线,常会发现功能虽然存在,却不能在真实负载、风险或维护条件下使用。
非功能要求通常覆盖哪些质量与约束
用户说系统“不好用”,可能是在等得太久,也可能是经常中断、权限难理解或故障后找不回工作。质量分类帮助团队把这些不同问题分别看见。ISO/IEC 25010:2023 可以用于检查遗漏,但项目仍要根据真实场景和风险选择,而不是逐项照抄。
性能效率与容量
响应时间、处理量、并发、批量规模、资源利用和最大容量,必须同时规定工作负载、数据规模、测量位置、时间窗口和统计口径。
兼容性与互操作
系统与其他产品共享环境时不相互破坏,并能按共同语义交换和使用信息;包括版本兼容、共存、格式与协议条件。
交互能力与可访问性
特定用户在特定任务和使用环境中能识别、学习、操作、避免错误、恢复并使用辅助技术;不能只用“界面友好”替代。
可靠性、可用性与容错
规定在给定期间和条件下持续正确运行、允许故障、服务可用、故障隔离、降级、数据恢复和恢复后完整性的水平。
安全与隐私
从保护需要和风险形成机密性、完整性、可用性、真实性、可问责、最小权限、隐私处理、事件响应和供应链等要求。
可维护性与可观测性
包括模块化、分析定位、修改、测试、部署、监控、日志、诊断和知识交接,使指定团队能在目标时限和权限内维护。
灵活性、可适配与可替换
规定环境、规模、规则、语言或供应组件变化时的适配、扩展、安装、迁移、替换与退出能力,避免无边界的“可扩展”。
安全性与危害控制
当系统故障或错误行为可能造成人身、财产、环境或重大业务损害时,规定危害避免、失效安全、介入、隔离与恢复条件。
运行和生命周期约束
部署区域、数据驻留、支持时段、备份、保留、许可、标准、设备资源、能源或退役条件可能是质量要求,也可能是外部约束,须标明来源。
质量要求要写成能够复现和测量的质量场景
“响应要快”在十个人查看短记录和上千人同时处理长文档时,含义完全不同。质量场景把使用者、负载、环境、触发事件和观察结果放在一起,使测试能够重建要求成立的条件,而不是只测一个脱离业务的数字。
质量对象
明确评价的是端到端服务、某接口、批处理、用户任务、模型组合、运行支持还是单个组件。组件指标不能自动代表整项服务质量。
刺激来源
说明请求、负载增长、故障、攻击、数据变化、维护操作或用户错误由谁或什么产生,以及是否属于代表性、峰值、恶意或罕见情形。
刺激与输入规模
量化事件类型、频率、并发、数据大小、分布、复杂度和持续时间;“大量用户”或“复杂文档”不能复现。
环境与系统状态
规定正常、峰值、降级、维护、恢复或依赖故障环境,以及部署区域、资源配置、数据版本和缓存预热状态。
预期响应
描述系统在刺激下怎样继续、拒绝、降级、隔离、告警、恢复或保持安全状态,并关联受影响功能和角色。
响应测量
给出测量位置、工具、开始结束点、单位、窗口、百分位或比例、允许误差、排除规则和最低样本,使不同团队得到同一结论。
阈值与失败等级
区分目标、最低通过线、严重失败和硬停止,说明连续还是单次违规、谁批准阈值、什么情况下可豁免或重新评估。
一条可管理的非功能要求要记录什么
质量要求的数字只有和对象、条件、统计口径及业务后果放在一起才有意义。团队还要知道数据从哪里采集、哪些失败不可被平均值掩盖,以及未达到时由谁决定降级或停止。
稳定编号、属性和层级
标明性能、安全、可靠性等属性、适用的系统层级和配置基线,避免同一“高可用”口号在服务、组件和基础设施间漂移。
来源、理由与不满足后果
追溯用户需要、业务结果、风险、事故、法规、合同、运行数据或架构决定,并说明不满足会影响谁和什么结果。
适用功能与业务优先级
质量必须附着到具体关键功能、业务场景、数据或角色;同一系统不同路径可有不同等级,不能无依据全局套最高标准。
质量场景六要素
记录对象、刺激来源、刺激、环境、响应和响应测量,尤其覆盖峰值、异常、攻击、维护、依赖故障和恢复场景。
指标定义和采样规则
规定指标公式、分子分母、样本单位、数据来源、时间窗口、百分位或置信度、缺失数据和异常值处理。
阈值、容差和严重失败
分别记录目标、最低线、容差、连续违规和不可接受单次事件;尚无证据的数值保留为有负责人和截止日期的待决定项。
验证与持续监测方法
说明通过负载测试、故障注入、分析、检查、用户评价或安全评估怎样验证,上线后由哪些监测数据确认持续满足。
分配、责任与取舍决定
把要求分配到架构元素、人员、外部服务和运行控制,记录实现责任、验证人、接受残余风险者及与其他属性的取舍。
版本、状态和变更触发
关联需求、设计、配置、测试和监控版本,规定负载、数据、模型、供应商、部署或业务重要性变化时何时重新验证。
怎样发现、量化和批准非功能要求
非功能要求很少能从一次访谈直接得到成熟数字。它通常来自用户等待、历史故障、容量数据、监管边界和恢复演练,再通过测量现状与比较方案确定可行目标。没有证据的目标值,应明确标为待验证,而不是伪装成行业标准。
从业务后果而不是形容词开始
询问哪些功能不能慢、错、停、泄露、难以恢复或无法维护,谁会受影响,损失和不可逆后果是什么,确定真正的质量关切。
建立角色、场景与生命周期覆盖
覆盖最终用户、运营维护、安全隐私、接口所有者、支持和退役角色,在正常、峰值、故障、变化和恢复阶段发现不同需要。
使用质量模型检查遗漏
用 ISO/IEC 25010 等模型检查性能、兼容、交互、可靠、安全、维护、灵活和安全性,但只选择有来源、适用于目标系统的属性。
收集当前基线和真实证据
使用现有日志、业务量、用户研究、事件、支持工单、法规、接口承诺、供应商能力和试验数据;没有基线时明确如何测量,不猜数字。
把关切写成质量场景
确定对象、刺激、环境、响应和测量,按关键功能与风险分层;先把口径写清,再讨论阈值,避免各方围绕不同定义争论。
分析可行性和属性取舍
由架构、运营、安全、数据、用户、采购和业务人员分析成本、复杂度、供应依赖及属性冲突,形成多个方案和残余风险。
批准阈值、验证与责任
有权业务和风险角色确认最低线与取舍,技术角色确认测量可行性,指定验证环境、数据、工具、见证者和失败处置。
形成基线并持续校准
把要求与功能、架构、测试、监控和服务责任连接;真实负载与风险变化时按受控流程调整,不用生产表现悄悄改写原要求。
质量属性之间发生取舍时怎样处理
更严格的检查可能增加延迟,更长的日志保留可能增加隐私与成本压力,更高的可用性也可能要求更多基础设施。取舍不能藏在实现细节里;团队要展示各方案对用户、风险和运营的影响,由有权的人批准适用场景与优先级。
先识别不可取舍边界
适用法律、生命安全、正式安全策略和合同最低线可能构成硬约束;其适用性和解释必须由有权角色确认,不能由平均成本收益抵消。
把取舍放回具体场景
更强验证可能增加正常路径时间,却降低高风险动作的越权概率。分别比较角色、功能、风险等级与运行模式,不做抽象的“安全还是体验”二选一。
用同一口径比较方案
同时展示性能、可靠、安全、可维护、成本、周期、供应锁定和运营负担的可量化影响、证据范围和不确定性。
允许分级而非全局最高
关键决定与普通查询可以采用不同可用性、复核、延迟或恢复等级,但分级必须有业务重要性和风险依据,并防止低等级路径绕过控制。
记录决定和残余风险
保存方案、证据、参与者、批准人、理由、接受的残余风险、补偿控制和复核日期;技术团队不能自行以实现方便决定业务风险。
用原型、试验和监测复核
高不确定取舍通过容量试验、可用性研究、故障演练、安全评估或灰度运行取得证据,达到触发条件时重新决策。
非功能要求基线前要检查什么
一条质量要求可以语法完整,却仍然无法验证,例如缺少并发量、观察窗口或严重失败定义。基线前既要检查测量能否执行,也要确认阈值与业务风险相称,并且测试环境能够代表目标运行条件。
- 属性、对象与来源明确吗?
每条要求属于可解释的质量或约束,指定目标系统与关键功能,并能回到需要、风险、标准、合同或运行证据。
核对:属性分类、对象、来源和理由。
- 场景和环境可复现吗?
刺激来源、负载、数据、状态、部署、依赖和时间窗口足以重建测试,正常与异常条件没有混为平均情况。
核对:质量场景和环境配置。
- 指标定义没有歧义吗?
测量起止、工具、单位、样本、分母、百分位、窗口、异常值和排除规则明确,不使用“接近实时”“大多数”等词。
核对:指标字典和计算例子。
- 阈值有证据且可行吗?
目标和最低线来自业务后果、基线、试验、标准或合同,技术、成本、人员和供应条件允许实现;不编造行业通用数字。
核对:基线、试验、可行性和批准。
- 属性冲突和残余风险已决定吗?
性能、安全、可靠、体验、维护、成本和周期的冲突已透明比较,由对应权限批准,而不是隐藏在架构选择里。
核对:取舍记录、风险接受和补偿控制。
- 能在交付前验证并在生产持续观测吗?
测试或分析能够给出明确结论,生产监测与相同定义一致;敏感指标的访问、保留和隐私也受控制。
核对:验证计划、仪表盘定义和告警责任。
- 分配、追溯和变化触发完整吗?
要求连接功能、架构元素、供应依赖、验证证据、验收和运营,组件、负载、数据或风险变化能触发影响分析。
核对:追溯矩阵、配置与变更规则。
采购申请服务的非功能要求构造例子
下面用独立构造、与任何客户无关的采购服务,展示等待时间、可用性、恢复和访问保护怎样写成可测结构。具体数值保留为待批准变量,因为合理阈值必须来自实际基线、风险和预算,而不是从别的项目借来。
NFR-PERF-01:提交检查性能
对代表性申请材料规模、规则数量和获批并发分布,在指定预发布配置与测量点,提交前检查的端到端响应应满足经容量试验和业务等待容忍批准的百分位阈值 T1;同时记录超时与拒绝比例。
NFR-REL-02:依赖故障下保持状态
当规则或材料服务在提交处理中不可用时,系统不得产生部分正式提交或重复通知,应保持可恢复草稿与幂等记录,并在获批恢复目标 R1 内使运营人员能够重新处理。
NFR-SEC-03:敏感材料隔离
在所有正常、导出、日志、缓存和支持场景中,申请材料只可由当前授权主体访问;越权测试不得返回内容或可推断敏感值,并记录经批准的安全事件证据。
NFR-USE-04:错误恢复
具有代表性的申请角色在指定设备和辅助技术条件下,应能够识别每个阻塞原因、定位修正并在不重填已验证材料的情况下继续;成功率、时间和严重错误阈值由用户研究批准。
NFR-MAINT-05:规则版本可维护
获准维护人员应能在不修改应用代码的情况下准备、审查、测试、批准和回退规则版本;变更全过程必须关联责任、差异、测试结果与生效时间。
NFR-OBS-06:关键路径可观测
提交、拒绝、人工转接、依赖失败和状态副作用应产生可关联且受访问控制的记录,使值班人员在目标诊断时间 D1 内确定受影响版本、依赖和申请范围。
非功能要求怎样进入架构、验证、验收和运行
质量要求往往决定缓存、扩容、备份、日志和故障隔离等架构选择,也会产生持续成本。验收只能证明指定条件下达到要求;上线后仍要用同一口径监测趋势,才能发现负载、数据或供应商变化正在侵蚀质量。
质量属性登记与场景库
按属性维护要求、场景、指标字典、阈值、来源、负责人和状态,避免散落在方案、合同、测试脚本和聊天记录中使用不同口径。
架构驱动与分配
记录哪些架构决策、系统元素、外部服务和运行流程共同满足要求,以及分配之间的假设。端到端质量不能只分给某一个开发组件。
验证策略和代表环境
根据属性选择负载与容量测试、故障注入、恢复演练、安全评估、可用性研究、静态分析或检查,并说明与生产环境的已知差异。
验收和服务等级
从完整质量基线中选择本期可验收的对象、样本、环境与通过线;持续运行指标和 SLA 可引用部分要求,但项目验收不等于长期服务承诺全部履行。
偏差、豁免和技术债
未满足项记录要求版本、实测结果、业务影响、补偿控制、责任、期限与有权批准;不能把“后续优化”当成自动通过。
生产监测和容量复核
用与验证一致的指标持续观察趋势、分层和严重失败,设置告警、响应与复核责任;负载、架构、数据、模型和供应依赖重大变化后重新验证。
交接和持续维护
移交质量基线、测量脚本、仪表盘、告警、容量模型、恢复记录、安全与可用性结论、已知限制和取舍决定,使接手方能够复现判断。
企业 AI 的非功能要求必须覆盖组合系统、概率输出和持续变化
模型排行榜上的分数只描述受控条件下的一部分能力。真实服务还要经过检索、权限、工具和人工队列,并面对不同语言、资料状态与风险等级。AI 质量因此要按场景分层衡量,也要持续观察组合版本变化后的表现。
评价对象是组合系统
明确应用、模型、提示、知识、检索、规则、工具和人工流程的版本;单个模型基准分数不能代表端到端任务质量、权限或运行可靠性。
功能正确性与任务表现
按任务、场景、语言、资料状态和风险等级定义正确、完整、适当与严重错误,建立代表样本、标注规则、重复次数和统计口径。
稳健性和边界行为
覆盖输入变化、噪声、长文档、提示攻击、冲突来源、分布变化和模型服务降级,规定性能下降、拒绝、隔离和停止阈值。
透明、可解释与证据可追溯
针对使用者和决定责任规定来源、版本、不确定性、限制、理由与系统动作记录的可理解程度;不要用暴露敏感内部信息冒充透明。
可控性与可介入性
规定用户或运营者在何时能够纠正上下文、取消生成、阻止工具、要求人工、覆盖建议、暂停组件和回滚版本,以及介入生效时间。
公平、隐私、安全与安全性
按受影响群体和风险路径检查表现差异、数据用途、泄露、越权、滥用、危害与对抗行为;平均质量不能抵消严重个体或群体失败。
延迟、容量、成本和资源
端到端响应同时受检索、模型、工具和人工队列影响。按实际任务记录时间、吞吐、并发、调用成本、资源与降级优先,防止用模型延迟替代服务延迟。
可监测、可重复和可回退
保存满足隐私边界的输入分类、组合版本、结果、严重失败和人工处置,使回归可重复;规定模型或知识变化的灰度、回滚和非 AI 备用能力。
一次测得不错,不能替代上线后的持续观察
上线前的评测只能说明当时那组样本和组合版本的表现。生产中的资料、提问方式、用途和供应服务会继续变化,因此红队、运行监测、事件反馈与定期复核要沿用可比较的分层指标;关键条件变化后还要重新评价并取得批准。
非功能要求与相邻概念怎样区分
非功能要求不是功能做完后的“优化项”,服务等级也不是它的全部。它描述系统在特定条件下要表现得多好或受什么约束,并继续影响架构、成本、测试与运营;愿望、设计原则和供应商宣传不能替代可验证要求。
| 概念 | 与非功能要求的边界 |
|---|---|
| 功能要求 | 规定系统在给定条件下做什么以及产生什么结果;非功能要求规定这些功能的质量水平或系统必须遵守的质量与约束边界。两者需要关联而非二选一。 |
| 质量属性 | 性能、可靠性、安全等是用于分类和讨论的特征;只有写明对象、条件、测量与阈值后,才成为具体质量要求。 |
| 性能要求 | 性能规定时间行为、吞吐、容量和资源效率,通常被视为质量或非功能要求的子类;它需要独立深度,不能代表全部 NFR。 |
| 约束 | 约束限制设计、实现或运行选择,例如标准、区域、许可或必用接口。约束可归入 NFR,但须有权威来源,且不一定描述质量水平。 |
| 系统要求 | 系统要求基线同时覆盖功能、性能、接口、数据、质量和约束;非功能要求是其中跨功能或规定质量的一组。 |
| 架构与设计 | 架构和设计选择怎样实现质量属性。NFR 驱动并限制方案,方案分析也可能产生派生要求,但实现手段不等于质量目标。 |
| 服务级别协议(SLA) | SLA 是服务双方对指标、测量、责任、例外和补救的运营或合同安排,可能引用可用率、响应等 NFR,但范围和法律效果不同。 |
| 验收标准 | 验收标准把已批准质量要求应用到指定版本、环境、样本和通过决定;不是所有长期质量都能在一次项目验收中证明。 |
| 测试目标与测试用例 | 测试目标选择要评价的质量风险,测试用例或脚本定义环境、负载、步骤和预期;它们验证要求,不应先有测试数字再反向假定需求。 |
| 监控指标与 SLO | 运行指标是观测数据,SLO 是特定期间的服务目标。它们可落实 NFR,但指标存在不代表阈值已经由业务和风险权限批准。 |
| 项目或过程要求 | 预算、排期、评审、编码方法和交付程序约束建设工作;只有当它们明确约束产品或服务质量时,才可能形成产品 NFR。 |
| 合规要求 | 合规来自适用法律、监管、合同或政策,可能导出功能、质量、证据和过程要求;“符合所有法规”不是可验证的单条 NFR。 |
依据与适用边界
本文解释系统与软件需求工程中的非功能要求:规定系统或服务必须达到的质量属性、运行特征和有明确来源的约束,例如性能效率、兼容性、交互能力、可靠性、安全、可维护性、灵活性与安全性。不同标准和组织对 non-functional requirement 的定义与分类并不完全一致;IREB 将其概括为质量要求或约束,有些团队则直接使用“质量要求”和具体属性名称。本文不完整定义功能要求、性能要求、服务级别协议、系统架构、设计约束、安全或隐私要求、可用性、可靠性、可维护性、验收标准、测试方案或法规合规,也不把所有无法归类的项目事项塞进 NFR。具体属性、阈值、测量口径、取舍、法规适用和批准权必须由项目有权人员确认。
- ISO/IEC/IEEE 29148:2018:需求工程过程、良好要求特征、系统与软件规格、验证、追溯和变更管理;2024 年确认继续有效
- ISO/IEC/IEEE 15288:2023:系统全生命周期、技术要求、逻辑分解、架构、验证、运行、维护与退役过程
- ISO/IEC 25010:2023:适用于 ICT 与软件产品的九类产品质量模型,用于规定、测量、评价、测试和验收质量
- ISO/IEC 25059:2023:AI 系统质量模型,为 AI 质量要求的规定、测量、评价和完整性检查提供一致术语;该版正进入修订
- NASA Technical Requirements Definition:性能、环境、安全、人因与各类质量属性必须与功能、接口一起形成完整一致的技术要求集
- NASA How to Write a Good Requirement:性能、可靠性、可维护性等要求须现实、可测、可验证并能双向追溯
- NASA Software Requirements Specification:非功能要求覆盖性能时序、质量属性、运行特征、资源与有依据的设计实现约束
- IREB CPRE Glossary:非功能要求是质量要求或约束,并将性能要求视为质量要求的子类
- NIST SP 800-160 Vol. 1:从相关方保护需要和风险出发,在全生命周期中工程化可信、安全、可生存的系统
- NIST AI RMF Core:AI 系统预期用途、风险容忍、测量指标、人工监督、透明、公平、安全、韧性与持续监测