系统需求规范 (SyRS) 详细定义了系统的高级技术规格和人机交互可用性,包括总体目标、环境背景、约束和非功能性需求。SyRS 通过概念模型说明系统环境和使用场景,全面描述系统功能及与外部环境的接口。它作为采购方和技术团队之间的沟通桥梁,确保双方理解一致。SyRS 的呈现方式应适合不同受众,可以是纸质文档、模型或原型等形式。标准还区分了系统需求(系统应做什么)和流程需求(如何构建系统),并强调了信息的一致性和可靠性。

信息项指南

在需求工程的过程中,项目应当生成以下几种关键的信息文档:

  • 利益相关者 1需求规范文档 (StRS)
  • 系统需求规范文档 (SyRS)
  • 软件需求规范文档 2 (SRS)(如果遵循 ISO/IEC 12207 标准)

需要注意的是:

  1. 在实际操作中,针对上述每种类型的文档可能会产生多个具体的规范文件。例如,可以分别为整个系统及其各个组成元素创建独立的 SyRS 文档。
  2. StRS、SyRS 和 SRS 这三种规范可能包含相似的信息点。这些信息点可以从不同的角度来描述同一产品的需求。为了便于理解和使用,本标准分别列出了这三类规范文档的典型内容结构。
  3. 参考 ISO/IEC/IEEE 15289 标准可以获得关于如何识别和规划在整个系统及软件生命周期中需要产生的特定信息项的具体指导。

对于信息项的管理,应按照 ISO/IEC 12207:2008 (IEEE Std 12207-2008) 和 ISO/IEC 15288:2008 (IEEE Std 15288-2008) 中规定的信息管理过程以及 ISO/IEC 12207:2008 的文件管理过程来进行。需要注意的是,信息项并不强制要求以物理形式存在;只要确保相关信息能够方便获取,并且按照逻辑顺序组织即可。

示例: 在采用模型驱动开发 (MDD) 方法时,几乎所有系统信息都是通过建模工具进行维护的。在这种情况下,信息会根据其上下文关系存储于建模工具的数据库中。用户可以直接查看模型中的信息,或者将所需数据导出为报告或表格的形式以便进一步分析和处理。

1 需求信息项概述

本文档系列以大纲的形式提供了三种规范文档的典型内容结构,这是第二部分 SyRS 部分。

2 系统需求规范文档(SyRS)

2.1 简介

2.1.1 系统需求规范 (SyRS)

系统需求规范 (SyRS) 确定了所选系统的详细技术规格和预期的人机交互可用性。它从领域角度定义了高级系统需求,以及关于系统总体目标、目标环境的背景信息,还包括约束、假设和非功能性需求的陈述。SyRS 可能包括概念模型 3,用以说明系统环境、使用场景、主要领域实体、数据、信息和工作流。

2.1.1.1 目的

SyRS 的目的是提供系统应实现功能的详细描述,包括系统与外部环境的交互或接口。它应该全面描述所有输入、输出以及输入和输出之间的关系。传统上,SyRS 被视为将采购方的需求传达给负责指定和构建系统的技术团队的文档。这些需求集合充当了采购方和技术团队之间的桥梁,确保双方都能理解。

2.1.1.2 沟通挑战

创建系统的一个难点在于与采购方和技术团队内部的所有子组进行有效沟通,尤其是在一个文档中。这种沟通通常需要采用不同的形式和语言。本国际标准建议区分结构化信息收集和向不同受众呈现信息的方式。SyRS 的呈现方式应适合其预期用途,可以是纸质文档、模型、原型或其他非纸质文档表示,或是这些形式的组合。所有这些表示都可以从 SyRS 中派生出来,以满足特定受众的需求。需要注意的是,每个演示文稿都应能够追溯到系统需求信息的共同来源,以确保信息的一致性和可靠性。

2.1.1.3 区分系统需求与流程需求

该国际标准明确区分了 SyRS 中包含的系统需求(即系统应做什么)和合同文件如工作说明书中应包含的流程需求(即如何构建系统)。SyRS 呈现了需求定义、系统操作概念和系统需求分析的结果,因此它描述了系统采购方期望系统能为他们做什么、系统的预期环境、使用情况、性能参数、预期质量和有效性,以及验证活动。

通过这种方式,SyRS 不仅提供了系统功能的具体描述,还确保了采购方和技术团队之间的清晰沟通,从而提高了项目的成功概率。

2.2 SyRS 示例概述

SyRS 的具体需求部分 应以利益相关者一致同意的组织方式进行编排,即采用有助于理解需求的结构。不同的项目可能需要不同的组织方式,并没有一种通用的最佳方法。下面 展示了一个 SyRS 的示例大纲。

1. 简介

  • 1.1 系统目的:概述系统开发的目的和目标。
  • 1.2 系统范围:定义系统的边界和覆盖范围。
  • 1.3 系统概述
    • 1.3.1 系统背景:提供系统的背景信息和上下文。
    • 1.3.2 系统功能:描述系统的主要功能。
    • 1.3.3 用户特征:描述目标用户的特点和需求。
  • 1.4 定义:列出文档中使用的术语及其定义。

2. 参考文献

列出编写 SyRS 时参考的所有文档、标准和其他资料。

3. 系统要求

  • 3.1 功能要求:详细说明系统必须实现的功能。
  • 3.2 可用性要求:描述系统的易用性和用户体验要求。
  • 3.3 性能要求:定义系统在响应时间、吞吐量等方面的性能指标。
  • 3.4 系统接口:描述系统与其他系统或组件之间的接口。
  • 3.5 系统操作:详细说明系统的操作流程和步骤。
  • 3.6 系统模式和状态:描述系统在不同模式和状态下的行为。
  • 3.7 物理特性:描述系统的物理属性,如尺寸、重量等。
  • 3.8 环境条件:定义系统运行所需的环境条件。
  • 3.9 系统安全:描述系统的安全要求和措施。
  • 3.10 信息管理:说明系统如何管理和保护信息。
  • 3.11 政策和法规:列出系统必须遵守的相关政策和法规。
  • 3.12 系统生命周期维持:描述系统在其整个生命周期中的维护和支持要求。
  • 3.13 包装、处理、装运和运输:说明系统的包装、处理、装运和运输要求。

4. 验证

  • 验证:与第 3 节中的各个小节相对应,详细说明如何验证每个需求是否得到满足。

5. 附录

  • 假设和依赖关系:列出所有假设条件和依赖关系。
  • 首字母缩略词和缩写:提供文档中使用的所有首字母缩略词和缩写的完整列表。

注释: 经过适当的修改后,此 SyRS 大纲可以用于系统元素的下属规范,甚至包括软件的规范。

通过这种结构化的组织方式,SyRS 能够清晰地传达系统的技术规格和需求,确保所有参与者都能理解和遵循项目的目标和要求。这不仅提高了项目的可管理性,还增强了采购方和技术团队之间的沟通效果。