1、7.11 软件需求规格说明(SRS)说明: 1. 软件需求规格说明(SRS)描述对计算机软件配置项CSCI的需求,及确保每个要求得以满足的所使用的方法.涉及该CSCI外部接口的需求可在本SRS中给出:或在本SRS引用的一个或多个接口需求规格说明(IRS)中给出。 2. 这个SRS,可能还要用IRS加以补充,是CSCI设计与合格性测试的基础。-1 1 范围范围 本章应分为以下几条。1.1 标识 本条应包含本文档适用的系统和软件的完整标识,(若适用)包括标识号、标题、缩略词语、版本号和发行号。1.2 系统概述 本条应简述本文档适用的系统和软件的用途,它应描述系统和软件的一般特性;概述系统开发、运行
2、和维护的历史;标识项目的投资方、需方、用户、开发方和支持机构;标识当前和计划的运行现场;列出其它有关的文档。-1.3 文档概述 本条应概述本文档的用途和内容,并描述与其使用有关的保密性或私密性要求。1.4 基线 说明编写本系统设计说明书所依据的设计基线。2 2 引用文档引用文档 本章应列出本文档引用的所有文档的编号、标题、修订版本和发行日期,也应标识不能通过正常的供货渠道获得的所有文档的来源。-3 3 需求需求 本章应分以下几条描述CSCI需求,也就是,构成CSCI验收条件的CSCI的特性。CSCI需求是为了满足分配给该CSCI的系统需求所形成的的软件需求。给每个需求指定项目唯一标识符以支持测
3、试和可追踪性。并以一种可以定义客观测试的方式来陈述需求。如果每个需求有关的合格性方法(见第4章)和对系统(若适用,子系统)需求的可追踪性(见5.a条)在相应的章中没有提供,则在此进行注解。 - 描述的详细程度遵循以下规则:应包含构成CSCI验收条件的那些CSCI特性,需方愿意推迟到设计时留给开发方说明的那些特性。如果在给定条中没有需求的话,本条应如实陈述。如果某个需求在多条中出现,可以只陈述一次而在其它条直接引用。-3.1 所需的状态和方式 如果需要CSCI在多种状态和方式下运行,且不同状态和方式具有不同的需求的话,则要标识和定义每一状态和方式,状态和方式的例子包括:空闲、准备就绪、活动、事后
4、分析、培训、降级、紧急情况和后备等。状态和方式的区别是任意的,可以仅用状态描述CSCI,也可以仅用方式、方式中的状态、状态中的方式或其它有效方式描述。如果不需要多个状态和方式,不需人为加以区分,应如实陈述;如果需要多个状态或方式,还应使本规格说明中的每个需求或每组需求与这些状态和方式相关联,关联可在本条或本条引用的附录中用表格或其它的方法表示,也可在需求出现的地方加以注解。-3.2 需求概述3.2.1 目标 a. 本系统的开发意图、应用目标及作用范围(现有产品存在的问题和建议产品所要解决的问题)。 b. 本系统的主要功能、处理流程、数据流程及简要说明。 c. 表示外部接口和数据流的系统高层次图
5、。说明本系统与其他相关产品的关系,是独立产品还是一个较大产品的组成部分(可用方框图说明)。-3.2.2 运行环境 简要说明本系统的运行环境(包括硬件环境和支持环境)的规定。3.2.3 用户的特点 说明是那一种类型的用户,从使用系统来说,有些什么特点。3.2.4 关键点 说明本软件需求规格说明书中的关键点(例如:关键功能、关键算法和所涉及的关键技术等)。-3.2.5 约束条件 列出进行本系统开发工作的约束条件。例如:经费限制、开发期限和所采用的方法与技术,以及政治、社会、文化、法律等。-3.3 需求规格3.3.1 软件系统总体功能对象结构 对软件系统总体功能对象结构进行描述,包括结构图、流程图或
6、对象图。3.3.2 软件子系统功能对象结构 对每个主要子系统中的基本功能模块对象进行描述,包括结构图、流程图或对象图。3.3.3 描述约定 通常使用的约定描述(数学符号、度量单位等)。-3.4 CSCI能力需求 本条应分条详细描述与CSCI每一能力相关联的需求。“能力”被定义为一组相关的需求。可以用“功能”、“性能”、“主题”、“目标”、或其它适合用来表示需求的词来替代“能力”。-3.4.x (CSCI能力) 本条应标识必需的每一个CSCI能力,并详细说明与该能力有关的需求。如果该能力可以更清晰地分解成若干子能力,则应分条对子能力进行说明。该需求应指出所需的CSCI行为,包括适用的参数,如响应
7、时间、吞吐时间、其它时限约束、序列、精度、容量(大小/多少)、优先级别、连续运行需求、和基于运行条件的允许偏差:(若适用)需求还应包括在异常条件、非许可条件或越界条件下所需的行为,错误处理需求和任何为保证在紧急时刻运行的连续性而引入到CSCI中的规定。在确定与CSCI所接收的输入和CSCI所产生的输出有关的需求时,应考虑在本文3.5.x给出要考虑的主题列表。- 对于每一类功能或者对于每一个功能,需要具体描写其输入、处理和输出的需求。 a. 说明 描述此功能要达到的目标、所采用的方法和技术,还应清楚说明功能意图的由来和背景。 b. 输入 包括: 1)详细描述该功能的所有输入数据,如:输入源、数量
8、、度量单位、时间设定和有效输入范围等。 2)指明引用的接口说明或接口控制文件的参考资料。- c. 处理 定义对输入数据、中间参数进行处理以获得预期输出结果的全部操作。包括: 1)输入数据的有效性检查。 2)操作的顺序,包括事件的时间设定。 3)异常情况的响应,例如,溢出、通信故障、错误处理等。 4)受操作影响的参数。 5)用于把输入转换成相应输出的方法。 6)输出数据的有效性检查。- d. 输出 1)详细说明该功能的所有输出数据,例如,输出目的地、数量、度量单位、时间关系、有效输出范围、非法值的处理、出错信息等。 2)有关接口说明或接口控制文件的参考资料。-3.5 CSCI外部接口需求 本条应
9、分条描述CSCI外部接口的需求。(如有)本条可引用一个或多个接口需求规格说明(IRS)或包含这些需求的其它文档。 外部接口需求,应分别说明: a. 用户接口; b. 硬件接口; c. 软件接口; d. 通信接口的需求。-3.5.1 接口标识和接口图 本条应标识所需的CSCI外部接口,也就是CSCI和与它共享数据、向它提供数据或与它交换数据的实体的关系。(若适用)每个接口标识应包括项目唯一标识符,并应用名称、序号、版本和引用文档指明接口的实体(系统、配置项、用户等)。该标识应说明哪些实体具有固定的接口特性(因而要对这些接口实体强加接口需求),哪些实体正被开发或修改(从而接口需求已施加给它们)。可
10、用一个或多个接口图来描述这些接口。-3.5.x (接口的项目唯一标识符) 本条(从3.5.2开始)应通过项目唯一标识符标识CSCI的外部接口,简单地标识接口实体,根据需要可分条描述为实现该接口而强加于CSCI的需求。该接口所涉及的其它实体的接口特性应以假设或“当(未提到实体)这样做时,CSCI将”的形式描述,而不描述为其它实体的需求。本条可引用其它文档(如:数据字典、通信协议标准、用户接口标准)代替在此所描述的信息。(若适用)需求应包括下列内容,它们以任何适合于需求的顺序提供,并从接口实体的角度说明这些特性的区别(如对数据元素的大小、频率或其它特性的不同期望):- a. CSCI必须分配给接口
11、的优先级别; b. 要实现的接口的类型的需求(如:实时数据传送、数据的存储和检索等); c. CSCI必须提供、存储、发送、访问、接收的单个数据元素的特性,如: 1)名称/标识符; a)项目唯一标识符; b)非技术(自然语言)名称; c)标准数据元素名称; d)技术名称(如代码或数据库中的变量或字段名称); e)缩写名或同义名;- 2)数据类型(字母数字、整数等); 3)大小和格式(如:字符串的长度和标点符号); 4)计量单位(如:米、元、纳秒); 5)范围或可能值的枚举(如:099);- 6)准确度(正确程度)和精度(有效数字位数); 7)优先级别、时序、频率、容量、序列和其它的约束条件,如
12、:数据元素是否可被更新和业务规则是否适用; 8)保密性和私密性的约束; 9)来源(设置/发送实体)和接收者(使用/接收实体);- d. CSCI必须提供、存储、发送、访问、接收的数据元素集合体(记录、消息、文件、显示和报表等)的特性,如: l)名称/标识符; a)项目唯一标识符; b)非技术(自然语言)名称; c)技术名称(如代码或数据库的记录或数据结构); d)缩写名或同义名; 2)数据元素集合体中的数据元素及其结构(编号、次序、分组); 3)媒体(如盘)和媒体中数据元素/数据元素集合体的结构;- 4)显示和其它输出的视听特性(如:颜色、布局、字体、图标和其它显示元素、蜂鸣器以及亮度等);
13、5)数据元素集合体之间的关系。如排序访问特性; 6)优先级别、时序、频率、容量、序列和其它的约束条件,如:数据元素集合体是否可被修改和业务规则是否适用; 7)保密性和私密性约束; 8)来源(设置/发送实体)和接收者(使用接收实体;- e. CSCI必须为接口使用通信方法的特性。如: 1)项目唯一标识符; 2)通信链接带宽频率媒体及其特性; 3)消息格式化; 4)流控制(如:序列编号和缓冲区分配); 5)数据传送速率,周期性/非周期性,传输间隔; 6)路由、寻址、命名约定; 7)传输服务,包括优先级别和等级; 8)安全性/保密性/私密性方面的考虑,如:加密、用户鉴别、隔离和审核等;- f. CS
14、CI必须为接口使用协议的特性,如: 1)项目唯一标识符; 2)协议的优先级别/层次; 3)分组,包括分段和重组、路由和寻址; 4)合法性检查、错误控制和恢复过程; 5)同步,包括连接的建立、维护和终止; 6)状态、标识、任何其它的报告特征; g. 其它所需的特性,如:接口实体的物理兼容性(尺寸、容限、负荷、电压和接插件兼容性等)。-3.6 CSCI内部接口需求 本条应指明CSCI内部接口的需求(如有的话)。如果所有内部接口都留待设计时决定,则需在此说明这一事实。如果要强加这种需求,则可考虑本文档的3.5给出的一个主题列表。3.7 CSCI内部数据需求 本条应指明对CSCI内部数据的需求,(若有
15、)包括对CSCI中数据库和数据文件的需求。如果所有有关内部数据的决策都留待设计时决定,则需在此说明这一事实。如果要强加这种需求,则可考虑在本文档的3.5.x.c和3.5.x.d给出的一个主题列表。-3.8 适应性需求 (若有)本条应指明要求CSCI提供的、依赖于安装的数据有关的需求(如:依赖现场的经纬度)和要求CSCI使用的、根据运行需要进行变化的运行参数(如:表示与运行有关的目标常量或数据记录的参数)。3.9 保密性需求 (若有)本条应描述有关防止对人员、财产、环境产生潜在的危险或把此类危险减少到最低的CSCI需求,包括:为防止意外动作(如意外地发出”自动导航关闭”命令)和无效动作(发出一个
16、想要的”自动导航关闭”命令时失败)CSCI必须提供的安全措施。-3.10 保密性和私密性需求 (若有)本条应指明保密性和私密性的CSCI需求,包括:CSCI运行的保密性/私密性环境、提供的保密性或私密性的类型和程度、CSCI必须经受的保密性/私密性的风险、减少此类危险所需的安全措施、CSCI必须遵循的保密性/私密性政策、CSCI必须提供的保密性/私密性审核、保密性/私密性必须遵循的确证/认可准则。3.11 CSCI环境需求 (若有)本条应指明有关CSCI必须运行的环境的需求。例如,包括用于CSCI运行的计算机硬件和操作系统(其它有关计算机资源方面的需求在下条中描述)。-3.12 计算机资源需求
17、 本条应分以下各条进行描述。3.12.1 计算机硬件需求 本条应描述CSCI使用的计算机硬件需求,(若适用)包括:各类设备的数量、处理器、存储器、输入/输出设备、辅助存储器、通信/网络设备和其它所需的设备的类型、大小、容量及其它所要求的特征。-3.12.2 计算机硬件资源利用需求 本条应描述CSCI计算机硬件资源利用方面的需求,如:最大许可使用的处理器能力、存储器容量、输入/输出设备能力、辅助存储器容量、通信/网络设备能力。描述(如每个计算机硬件资源能力的百分比)还包括测量资源利用的条件。3.12.3 计算机软件需求 本条应描述CSCI必须使用或引入CSCI的计算机软件的需求,例如包括:操作系
18、统、数据库管理系统、通信/网络软件、实用软件、输入和设备模拟器、测试软件、生产用软件。必须提供每个软件项的正确名称、版本、文档引用。-3.12.4 计算机通信需求 本条应描述CSCI必须使用的计算机通信方面的需求,例如包括:连接的地理位置、配置和网络拓扑结构、传输技术、数据传输速率、网关、要求的系统使用时间、传送/接收数据的类型和容量、传送/接收/响应的时间限制、数据的峰值、诊断功能。-3.13 软件质量因素 (若有)本条应描述合同中标识的或从更高层次规格说明派生出来的对CSCI的软件质量方面的需求,例如包括有关CSCI的功能性(实现全部所需功能的能力)、可靠性(产生正确、一致结果的能力)、可
19、维护性(易于更正的能力)、可用性(需要时进行访问和操作的能力)、灵活性(易于适应需求变化的能力)、可移植性(易于修改以适应新环境的能力)、可重用性(可被多个应用使用的能力)、可测试性(易于充分测试的能力)、易用性(易于学习和使用的能力)以及其它属性的定量需求。-3.14 设计和实现的约束. (若有)本条应描述约束CSCI设计和实现的那些需求。这些需求可引用适当的商用标准和规范。例如需求包括: a. 特殊CSCI体系结构的使用或体系结构方面的需求,例如:需要的数据库和其它软件配置项;标准部件、现有的部件的使用;政府需方提供的资源(设备、信息、软件)的使用; b. 特殊设计或实现标准的使用;特殊数
20、据标准的使用;特殊编程语言的使用; c. 为支持在技术、威胁或任务等方面预期的增长和变更区域,必须提供的灵活性和可扩展性。-3.15 数据 说明本系统的输入、输出数据及数据管理能力方面的要求(处理量、数据量)。3.16 操作 说明本系统在常规操作、特殊操作以及初始化操作、恢复操作等方面的要求。-3.17 故障处理 说明本系统在发生可能的软硬件故障时,对故障处理的要求。 a. 说明属于软件系统的问题; b. 给出发生错误时的错误信息; c. 说明发生错误时可能采取的补救措施。-3.18 算法说明 用于实施系统计算功能的公式和算法的描述。 a. 每个主要算法的概况 b. 用于每个主要算法的详细公式
21、-3.19 有关人员需求 (若有)本条应描述与使用或支持CSCI的人员有关的需求,包括人员数量、技能等级、责任期、培训需求、其它的信息。如:同时存在的用户数量的需求,内在帮助和培训能力的需求:(若有)还应包括强加于CSCI的人力行为工程需求,这些需求包括对人员在能力与局限性方面的考虑:在正常和极端条件下可预测的人为错误:人为错误造成严重影响的特定区域,例如包括错误消息的颜色和持续时间、关键指示器或关键的物理位置以及听觉信号的使用的需求。-3.20 有关培训需求 (若有)本条应描述有关培训方面的CSCI需求。包括:在CSCI中包含的培训软件。3.21 有关后勤需求 (若有)本条应描述有关后勤方面
22、的CSCI需求,包括:系统维护、软件支持、系统运输方式、供应系统的需求、对现有设施的影响、对现有设备的影响。-3.22 其它需求 (若有)本条应描述在以上各条中没有涉及到的其它CSCI需求。3.23 包装需求 (若有)本条应描述需交付的CSCI在包装、加标签和处理方面的需求(如用确定方式标记和包装8磁道磁带的交付)。(若适用)可引用适当的规范和标准。-3.24 需求的优先次序和关键程度 (若适用)本条应给出本规格说明中需求的、表明其相对重要程度的优先顺序、关键程度或赋予的权值,如:标识出那些认为对安全性、保密性或私密性起关键作用的需求,以便进行特殊的处理。如果所有需求具有相同的权值,本条应如实
23、陈述。-4 4 合格性规定合格性规定 本章定义一组合格性方法,对于第3章中每个需求,指定所使用的方法,以确保需求得到满足。可以用表格形式表示该信息,也可以在第3章的每个需求中注明要使用的方法。合格性方法包括: a. 演示:运行依赖于可见的功能操作的CSCI或部分CSCI,不需要使用仪器、专用测试设备或进行事后分析; b. 测试:使用仪器或其它专用测试设备运行CSCI或部分CSCI,以便采集数据供事后分析使用;- c. 分析:对从其它合格性方法中获得的积累数据进行处理,例如测试结果的归约、解释或推断; d. 审查:对CSCI代码、文档等进行可视化检查; e. 特殊的合格性方法。任何应用到CSCI
24、的特殊合格性方法,如:专用工具、技术、过程、设施、验收限制。-5 5 需求可追踪性需求可追踪性 本条应包括: a. 从本规格说明中每个CSCI的需求到其所涉及的系统(或子系统)需求的可追踪性。(该可追踪性也可以通过对第3章中的每个需求进行注释的方法加以描述) 注:每一层次的系统细化可能导致对更高层次的需求不能直接进行追踪.例如:建立多个CSCI的系统体系结构设计可能会产生有关CSCI之间接口的需求,而这些接口需求在系统需求中并没有被覆盖,这样的需求可以被迫踪到诸如”系统实现”这样的一般需求,或被追踪到导致它们产生的系统设计决策上. b. 从分配到被本规格说明中的CSCI的每个系统(或子系统)需
25、求到涉及它的CSCI需求的可追踪性。分配到CSCI的所有系统(或子系统)需求应加以说明。追踪到IRS中所包含的CSCI需求可引用IRS。-6 6 尚未解决的问题尚未解决的问题 如需要,可说明软件需求中的尚未解决的遗留问题。7 7 注解注解 本章应包含有助于理解本文档的一般信息(例如背景信息、词汇表、原理。本章应包含为理解本文档需要的术语和定义并给出解释,所有缩略词语和它们在文档中的含义的字母序列表。-附录附录 附录可用来提供那些为便于文档维护而单独出版的信息(例如图表、分类数据)。(若适用)在提供资料的文档主体部分应当引用附录a为便于处理,附录可单独装订成册。附录应按字母顺序(A,B等)编排。
26、-7.13 软件(结构)设计说明(SDD)说明: 1. 软件(结构)设计说明(SDD)描述了计算机软件配置项(CSCI)的设计。它描述了CSCI级设计决定、CSCI体系结构设计(概要设计)和实现该软件所需的详细设计。DD可用接口设计说明IDD和数据库(顶层)设计说明DBDD加以补充。 2. SDD连同相关的IDD和DBDD是实现该软件的基础。向需方提供了设计的可视性,为软件支持提供了所需要的信息。 3. IDD和DBDD是否单独成册抑或与SDD合为一份资料视情况繁简而定。-1 1 引言引言 本章应分为以下几条。1.1 标识 本条应包含本文档适用的系统和软件的完整标识。(若适用)包括标识号、标题
27、、缩略词语、版本号、发行号。1.2 系统概述 本条应简述本文档适用的系统和软件的用途。它应描述系统与软件的一般性质;概述系统开发、运行和维护的历史;标识项目的投资方、需方、用户、开发方和支持机构;标识当前和计划的运行现场;并列出其它有关文档。-1.3 文档概述 本条应概述本文档的用途与内容,并描述与其使用有关的保密性或私密性要求。1.4 基线 说明编写本系统设计说明书所依据的设计基线。2 2 引用文档引用文档 本章应列出本文档引用的所有文档的编号、标题、修订版本和日期。本章也应标识不能通过正常的供货渠道获得的所有文档的来源。-3 CSCI3 CSCI级设计决策级设计决策 本章应根据需要分条给出
28、CSCI级设计决策,即CSCI行为的设计决策(忽略其内部实现,从用户的角度看,它如何满足用户的需求)和其它影响组成该CSCI的软件配置项的选择与设计的决策。如果所有这些决策在CSCI需求中均是明确的,或者要推迟到CSCI的软件配置项设计时指出,本章应如实陈述。为响应指定为关键性的需求(如安全性、保密性、私密性需求)而作出的设计决策,应在单独的条中加以描述。如果设计决策依赖于系统状态或方式,则应指出这种依赖性。应给出或引用理解这些设计所需的设计约定。 - CSCI级设计决策的例子如下: a. 关于CSCI应接受的输入和产生的输出的设计决策,包括与其它系统、HWCI、CSCI和用户的接口(本文的4
29、.3.x标识了本说明要考虑的主题)。如果该信息的部分或全部已在接口设计说明(IDD)中给出,此处可引用。 b. 有关响应每个输入或条件的CSCI行为的设计决策,包括该CSCI要执行的动作、响应时间及其它性能特性、被模式化的物理系统的说明、所选择的方程式/算法/规则和对不允许的输入或条件的处理。- c. 有关数据库/数据文件如何呈现给用户的设计决策(本文的4.3.x标识了本说明要考虑的主题)。如果该信息的部分或全部已在数据库(顶层)设计说明(DBDD)中给出,此处可引用。 d. 为满足安全性、保密性、私密性需求而选择的方法。 e. 对应需求所做的其它CSCI级设计决策,例如为提供所需的灵活性、可
30、用性和可维护性所选择的方法。-4 CSCI4 CSCI体系结构设计体系结构设计 本章应分条描述CSCI体系结构设计。如果设计的部分或全部依赖于系统状态或方式,则应指出这种依赖性。如果设计信息在多条中出现,则可只描述一次,而在其它条引用。应给出或引用为理解这些设计所需的设计约定。-4.1 体系结构4.1.1 程序(模块)划分 用一系列图表列出本CSCI内的每个程序(包括每个模块和子程序)的名称、标识符、功能及其所包含的源标准名。4.1.2 程序(模块)层次结构关系 用一系列图表列出本CSCI内的每个程序(包括每个模块和子程序)之间的层次结构与调用关系。-4.2 全局数据结构说明 本章说明本程序系
31、统中使用的全局数据常量、变量和数据结构。4.2.1 常量 包括数据文件名称及其所在目录,功能说明,具体常量说明等。4.2.2 变量 包括数据文件名称及其所在目录,功能说明,具体变量说明等。4.2.3 数据结构 包括数据结构名称,功能说明,具体数据结构说明(定义、注释、取值 .)等。-4.3 CSCI部件 本条应: a. 标识构成该CSCI的所有软件配置项。应赋予每个软件配置项一个项目唯一标识符。 注:软件配置项是CSCI设计中的一个元素,如CSCI的一个主要的分支、该分支的一个组成部分、一个类、对象、模块、函数、例程或数据库。软件配置项可以出现在一个层次结构的不同层次上,并且可以由其它软件配置
32、项组成。设计中的软件配置项与实现它们的代码和数据实体(例程、过程、数据库、数据文件等)或包含这些实体的计算机文件之间,可以有也可以没有一对一的关系。一个数据库可以被处理为一个CSCI,也可被处理为一个软件配置项。SDD可以通过与所采用的设计方法学一致的名字来引用软件配置项。- b. 给出软件配置项的静态关系(如“组成”)。根据所选择的软件设计方法学可以给出多种关系(例如,采用面向对象的设计方法时,本条既可以给出类和对象结构,也可以给出CSCI的模块和过程结构)。 c. 陈述每个软件配置项的用途,并标识分配给它的CSCI需求与CSCI级设计决策(需求的分配也可在6.a中提供)。 d. 标识每个软
33、件配置项的开发状态/类型(如新开发的软件配置项、重用已有设计或软件的软件配置项、再工程的已有设计或软件、为重用而开发的软件、为开发阶段N计划的软件等)。对于已有设计或软件,本说明应提供标识信息,如名字、版本、文档引用、库等。- e. 描述CSCI(若适用,每个软件配置项)计划使用的计算机硬件资源(例如处理器能力、内存容量、输入/输出设备能力、辅存容量和通信/网络设备能力)。这些描述应覆盖该CSCI的资源使用需求中提及的、影响该CSCI的系统级资源分配中提及的、以及在软件开发计划的资源使用度量计划中提及的所有计算机硬件资源。如果一给定的计算机硬件资源的所有使用数据出现在同一个地方,如在一个SDD
34、中,则本条可以引用它。针对每一计算机硬件资源应包括如下信息:- 1)得到满足的CSCI需求或系统级资源分配; 2)使用数据所基于的假设和条件(例如,典型用法、最坏情况用法、特定事件的假设); 3)影响使用的特殊考虑(例如虚存的使用、覆盖的使用、多处理器的使用或操作系统开销、库软件或其它的实现开销的影响); 4)所使用的度量单位(例如处理器能力百分比、每秒周期、内存字节数、每秒千字节); 5)进行评估或度量的级别(例如软件配置项、CSCI或可执行程序)。 f. 指出实现每个软件配置项的软件放置在哪个程序库中。-4.4 执行概念 本条应描述软件配置项间的执行概念。为表示软件配置项之间的动态关系,即
35、CSCI运行期间它们如何交互的,本条应包含图示和说明,(若适用)包括执行控制流、数据流、动态控制序列、状态转换图、时序图、配置项之间的优先关系、中断处理、时间/序列关系、异常处理、并发执行、动态分配与去分配、对象/进程/任务的动态创建与删除和其它的动态行为。-4.5 接口设计 本条应分条描述软件配置项的接口特性,既包括软件配置项之间的接口,也包括与外部实体,如系统、配置项及用户之间的接口。如果这些信息的部分或全部已在接口设计说明(IDD)、本文的第5章或其它地方说明的话,可在此处引用。-4.5.1 接口标识与接口图 本条应陈述赋予每个接口的项目唯一标识符,(若适用)并用名字、编号、版本和文档引
36、用等标识接口实体(软件配置项、系统、配置项、用户等)。接口标识应说明哪些实体具有固定接口特性(从而把接口需求强加给接口实体),哪些实体正在开发或修改(因而已把接口需求分配给它们)。(若适用)应该提供一个或多个接口图以描述这些接口。-4.5.x (接口的项目唯一标识符) 本条(从4.5.2开始编号)应用项目唯一标识符标识接口,应简要标识接口实体,并且应根据需要划分为几条描述接口实体的单方或双方的接口特性。如果一给定的接口实体本文没有提到(例如,一个外部系统),但是其接口特性需要在本SDD描述的接口实体时提到,则这些特性应以假设、或“当未提到实体这样做时,提到的实体将”的形式描述。本条可引用其它文
37、档(例如数据字典、协议标准、用户接口标准)代替本条的描述信息。本设计说明应包括以下内容,(若适用)它们可按适合于要提供的信息的任何次序给出,并且应从接口实体角度指出这些特性之间的区别(例如数据元素的大小、频率或其它特性的不同期望)。- a. 由接口实体分配给接口的优先级; b. 要实现的接口的类型(例如实时数据传输、数据的存储与检索等); c. 接口实体将提供、存储、发送、访问、接收的单个数据元素的特性,例如: 1)名称/标识符; a)项目唯一标识符; b)非技术(自然语言)名称; c)标准数据元素名称; e)缩写名或同义名;- 2)数据类型(字母数字、整数等); 3)大小与格式(例如字符串的
38、长度与标点符号); 4)计量单位(如米、元、纳秒等); 5)范围或可能值的枚举(如099); 6)准确度(正确程度)与精度(有效数位数); 7)优先级、时序、频率、容量、序列和其它约束,如数据元素是否可被更新,业务规则是否适用; 8)保密性与私密性约束; 9)来源(设置/发送实体)与接收者(使用/接收实体)。- d. 接口实体将提供、存储、发送、访问、接收的数据元素集合体(记录、消息、文件、数组、显示、报表等)的特性,例如: 1)名称/标识符; a)项目唯一标识符; b)非技术(自然语言)名称; c)技术名称(如代码或数据库中的记录或数据结构名); d)缩写名或同义名; 2)数据元素集合体中的
39、数据元素及其结构(编号、次序、分组);- 3)媒体(如盘)及媒体上数据元素/集合体的结构; 4)显示和其它输出的视听特性(如颜色、布局、字体、图标及其它显示元素、蜂鸣声、亮度等); 5)数据集合体之间的关系,如排序/访问特性; 6)优先级、时序、频率、容量、序列和其它约束,如数据集合体是否可被更新,业务规则是否适用; 7)保密性与私密性约束; 8)来源(设置/发送实体)与接收者(使用/接收实体)。- e. 接口实体为该接口使用通信方法的特性,例如: 1)项目唯一标识符; 2)通信链路带宽频率媒体及其特性; 3)消息格式化; 4)流控制(如序列编号与缓冲区分配); 5)数据传输率、周期或非周期和
40、传送间隔; 6)路由、寻址及命名约定; 7)传输服务,包括优先级与等级; 8)安全性/保密性私密性考虑,如加密、用户鉴别、隔离、审核等。- f. 接口实体为该接口使用协议的特性,例如: 1)项目唯一标识符; 2)协议的优先级/层; 3)分组,包括分段与重组、路由及寻址; 4)合法性检查、错误控制、恢复过程; 5)同步,包括连接的建立、保持、终止; 6)状态、标识和其它报告特性。 g. 其它特性,如接口实体的物理兼容性(尺寸、容限、负荷、电压、接插件的兼容性等)。-5 CSCI5 CSCI详细设计详细设计 本章应分条描述CSCI的每个软件配置项。如果设计的部分或全部依赖于系统状态或方式,则应指出
41、这种依赖性。如果该设计信息在多条中出现,则可只描述一次,而在其它条引用。应给出或引用为理解这些设计所需的设计约定。软件配置项的接口特性可在此处描述,也可在第4章或接口设计说明(IDD)中描述。数据库软件配置项,或用于操作/访问数据库的软件配置项,可在此处描述,也可在数据库(顶层)设计说明(DBDD)中描述。-5.x (软件配置项的项目唯一标识符或软件配置项组的指定符) 本条应用项目唯一标识符标识软件配置项并描述它。(若适用)描述应包括以下信息。作为一种变通,本条也可以指定一组软件配置项,并分条标识和描述它们。包含其它软件配置项的软件配置项可以引用那些软件配置项的说明,而无需在此重复。 a.(若
42、有)配置项设计决策,诸如(如果以前未选)要使用的算法; b. 软件配置项设计中的约束、限制或非常规特征; c. 如果要使用的编程语言不同于该CSCI所指定的语言,应该指出,并说明使用它的理由;- d. 如果软件配置项由过程式命令组成或包含过程式命令(如数据库管理系统(DBMS)中用于定义表单与报表的菜单选择、用于数据库访问与操纵的联机DBMS查询、用于自动代码生成的图形用户接口(GUI)构造器的输入、操作系统的命令或shell脚本),应有过程式命令列表和解释它们的用户手册或其它文档的引用;- e. 如果软件配置项包含、接收或输出数据,(若适用)应有对其输入、输出和其它数据元素以及数据元素集合体
43、的说明。(若适用)本文的4.5.x提供要包含主题的列表。软件配置项的局部数据应与软件配置项的输入或输出数据分开来描述。如果该软件配置项是一个数据库,应引用相应的数据库(顶层)设计说明(DBDD);接口特性可在此处提供,也可引用本文第4章或相应接口设计说明。- f. 如果软件配置项包含逻辑,给出其要使用的逻辑,(若适用)包括: 1)该软件配置项执行启动时,其内部起作用的条件; 2)把控制交给其它软件配置项的条件; 3)对每个输入的响应及响应时间,包括数据转换、重命名和数据传送操作; 4)该软件配置项运行期间的操作序列和动态控制序列,包括: a)序列控制方法; b)该方法的逻辑与输入条件,如计时偏
44、差、优先级赋值; c)数据在内存中的进出; d)离散输入信号的感知,以及在软件配置项内中断操作之间的时序关系; 5)异常与错误处理。-6 6 需求的可追踪性需求的可追踪性 本章应包括: a. 从本SDD中标识的每个软件配置项到分配给它的CSCI需求的可追踪性(亦可在4.1中提供); b. 从每个CSCI需求到它被分配给的软件配置项的可追踪性。-7 7 注解注解 本章应包含有助于理解本文档的一般信息(例如背景信息、词汇表、原理)。本章应包含为理解本文档需要的术语和定义并给出解释,所有缩略词语和它们在文档中的含义的字母序列表。附录附录 附录可用来提供那些为便于文档维护而单独出版的信息(例如图表、分类数据)。(若适用)在提供资料的文档主体部分应当引用附录。为便于处理,附录可单独装订成册。附录应按字母顺序(A,B等)编排。-