标识:密级:版本:××技术文件{子系统名称}软件需求规格说明中国电子科技集团公司第十五研究所二○一年月{子系统名称} 软件需求规格说明拟制:审核:会签:质量保证:批准:文档修改记录目次1范围 (1)1.1标识 (1)1.2系统概述 (1)1.2.1项目背景 (1)1.2.2业务范围 (1)1.2.3软件边界 (1)1.2.4系统角色 (1)1.3文档概述 (2)1.4术语及缩略语 (2)2引用文档 (2)3功能需求/GN (2)3.1功能概述 (2)3.1.1 XX功能/XX功能标识 (3)3.1.2 YY功能/YY功能标识 (3)3.2用例 (4)3.2.1 XX功能/XX功能标识 (4)3.2.2 YY功能/YY功能标识 (4)3.3需求动态关系 (5)3.4用例与建模 (5)3.4.1 XX功能/XX功能标识 (5)3.4.2 YY功能/YY功能标识 (7)4接口需求/JK (8)4.1外部接口需求/JK-WB (8)4.1.1接口标识和接口图 (8)4.1.2人机交互界面接口 (10)4.1.3 XX接口名称/标识 (10)4.2内部接口需求/JK-NB (12)4.2.1接口标识和接口图 (12)4.2.2 XX接口名称/标识 (12)5数据需求/SJ (12)5.1入、出库单/SJ-IOL (12)5.2数据需求名称/标识 (13)6非功能性需求 (14)6.1性能需求 (14)6.1.1容量估算 (14)6.1.2性能指标/XN (14)6.2适应性需求/SY (14)6.3安全性需求/AQ (14)6.4保密性需求/BM (15)6.5备份与恢复/BH (15)6.6数据移植/YZ (15)6.7标准需求/BZ (16)6.8环境需求/HJ (16)6.8.1硬件环境 (17)6.8.2软件环境 (17)6.8.3网络环境 (17)6.8.4其他环境 (17)6.9计算机资源需求/ZY (17)6.10软件质量因素及可靠性/ZK (18)6.10.1软件质量因素/ZK-YS (18)6.10.2可靠性需求/ZK-KK (18)6.11设计和实现约束/YS (18)6.12需求的关、重程度 (18)6.13人员需求 (19)6.14培训需求 (20)6.15软件保障需求 (20)6.16验收、交付时的包装需求 (20)7合格性规定 (20)8与上级设计文档的可追溯性 (20)8.1正向追溯 (21)8.2逆向追溯 (21)9附件 (21)9.1界面需求 (21)9.2导出文档/报表模版格式 (21)1 范围1.1 标识本文档的标题:本文档的标识:本文档的版本号:1.2 系统概述如果软件应满足不同的工作模式(如演习训练、教学)要求,应在本节中增加章节说明软件应满足的不同工作模式,以及在不同工作模式下应满足的功能、非功能的要求。
1.2.1 项目背景注1:对项目的背景作简要介绍。
本软件为XXXX。
项目的名称:项目的委托方:产品的最终用户:项目的开发方:1.2.2 业务范围本软件为XX集团军XX的管理提供帮助,包括XX、YY。
1.2.3 软件边界本节描述软件的功能边界、职能边界、地域边界。
图1 软件边界示意图a) 功能边界:b) 职能边界:c) 地域边界:1.2.4 系统角色注1:描述软件中的主要角色,如系统管理员、计划管理员。
1.3 文档概述本文档各章节内容说明如下表:表 1 文档概述一览表1.4 术语及缩略语本文档中使用的术语或缩略语详见下表:表 2 本文档使用的术语或缩略语一览表2 引用文档表 3 引用文档一览表3 功能需求/GN3.1 功能概述注1:以图、表的方式描述功能需求的划分后,对各项功能逐一进行描述。
注2:当功能结构与系统设计或研制总要求不一致时,应说明原因。
本软件的主要功能组成如下图所示。
图2 功能框架图表 4 软件功能划分一览表进”、“沿用”。
3.1.1 XX功能/XX功能标识表 5 XX-1功能需求一览表进”、“沿用”。
3.1.2 YY功能/YY功能标识表 6 YY软件功能需求一览表注1:对于改造完善的软件,应在上表中增加列,说明需求的开发状态属于“新增”、“改进”、“沿用”。
3.2 用例注1:对“3.1 功能概述”中所描述功能的进一步分解,应与“3.1 功能概述”中的分解对应。
3.2.1 XX功能/XX功能标识3.2.1.1 XX-1功能/XX-1功能标识表 7 XX-1功能用例一览表注1:对于改造完善的软件,应在上表中增加列,说明需求的开发状态属于“新增”、“改进”、“沿用”。
3.2.1.2 XX-2功能(XX-1功能标识)表 8 XX-2功能用例一览表注1:对于改造完善的软件,应在上表中增加列,说明需求的开发状态属于“新增”、“改进”、“沿用”。
注2:3.2.2 YY功能/YY功能标识表 9 YY功能用例一览表注1:对于改造完善的软件,应在上表中增加列,说明需求的开发状态属于“新增”、“改进”、“沿用”。
3.3 需求动态关系注1:使用动态图,如数据流图、流程图、交互图、状态图等描述各功能组成部分的动态关系,或各用例之间的动态关系。
注2:本章节内不能使用静态图,如结构图、用例图。
注3:如有必要可在本章节内细分小节,分别描述不同层次功能、用例的动态关系。
注4:图中所描述的功能、用例应与“3.1 功能概述”、“3.2 用例”一致。
本软件用例关系如下。
图3 用例关系图示意图3.4 用例与建模注1:按照“3.2 用例”中的分解结果描写每个用例,应与“3.2 用例”的分解结果一致。
3.4.1 XX功能/XX功能标识3.4.1.1 XX-1功能/XX-1功能标识表 10 XX-1-1用例注1:表中的各表项可根据用例的具体情况进行增、减或修改,表中主要表项的含义如下:注2:主要角色:启动本用例从而达到某一目标的人或物,源自“1.2.4 系统角色”中的定义。
注3:上下文目标:用例执行的语境;注4:前置条件:在用例执行前必须满足的条件;注5:最小保证:系统向项目相关人员做出的最低承诺,特别是在主要角色的目标不能被满足的情况下;注6:成功场景:一切顺利情况的主场景,基本用例的实质内容,说明用例执行时,系统所执行的活动,包括与参与者的交互。
事件流以一系列步骤记录事件发生的顺序;注7:备选场景:一切顺利情况的分支场景,如果没有可不填写,如果有备选场景应说明从主场景的哪一步骤开始形成备选场景。
如,成功场景描述的是如何查看记录的场景,从成功场景中的步骤3开始,既可以延成功场景的步骤继续查看报表,也可以进入备选场景将记录保存为报表,则在备选场景中描述如果保存报表,该备选场景的名称为“保存报表(step3的备选场景)”。
但如果备选场景比较独立,或者在备选场景内容过多,导致用例表超过1页半,则建议将备选场景的内容形成独立的用例建模。
注8:扩展:对成功场景、备选场景中的某一步骤进行的合法性判断的处理;注9:业务规则:用例在执行过程中遵循的规则,这些规则往往与用户的业务有关;注10:界面ID:本用例中使用到的界面的ID;注11:备注:备注信息。
3.4.1.2 XX-2功能/XX-2功能标识表 11 XX-1-1用例3.4.2 YY功能/YY功能标识表 12 YY-1用例4 接口需求/JK4.1 外部接口需求/JK-WB4.1.1 接口标识和接口图本节描述本软件的外部接口,本节中所描述的直接与本软件有外部接口关系的软件、硬件与本软件有横向关系,使用本软件所提供的消息机制接口、数据接口的软件及硬件也与本软件有横向关系。
注1:本条应标识本文档所描述软件所需要的外部接口(即,与涉及共享、提供或交换数据的其他实体的关系)。
每一个接口的标识应包括项目唯一的标识符,(若适用)应通过名称、编号、版本、引用文档来指明接口实体(系统、配置项、用户等)。
该标识应声明哪些实体具有固定的接口特性(要给出这些接口实体的接口需求);说明哪些实体正在开发或修改之中(这些实体已有各自的接口需求)。
应该通过一张或多张接口图来描述这些接口。
注2:对本小节中所列接口,分小节逐一进行描述,如4.1.3 节“XX接口名称/标识”。
注3:接口图中应给出的接口标识。
本项目的接口如下图所示:图4 接口图本软件提供的软件外部接口如下表所示。
表 13 与软件的外部接口一栏表注2:对于改造完善的软件,应在上表中增加列,说明需求的开发状态属于“新增”、“改进”、“沿用”。
本软件提供的硬件接口如下表所示。
表 14 与硬件的外部接口一栏表9本软件提供的通信接口如下表所示。
表 15 通信接口一栏表注1:对于改造完善的软件,应在上表中增加列,说明需求的开发状态属于“新增”、“改进”、“沿用”。
4.1.2 人机交互界面接口如有界面需求,可引用界面需求。
如没有界面需求可写“本软件提供人机交互界面,具体内容在《界面设计》中设计。
”描述所开发软件与其他软件的接口。
对每个接口4.1.3 XX接口名称/标识本节应通过项目唯一的标识符来标识CSCI外部接口,应简要地标识接口实体。
逐条描述该接口的需求。
该接口所涉及的其他实体的接口特性应作为假定予以描述,或以“当[未涵盖的实体]这么做时,本CSCI应该……”的形式加以叙述,而不作为针对其他实体的需求。
本节可引用其他文档(例如数据字典、通信协议标准、用户接口标准)代替在此所描述的信息。
(若适用)需求应包括如下内容,并以任何适合于需求的顺序给出,还应从接口实体的角度说明这些特性之间的区别(例如对数据元素的大小、频率或其他特性的不同期望值值):a) 对要实现的接口类型的要求(例如实时数据传送、数据的储存和检索等)。
b) CSCI必须提供、储存、发送、存取、接收的各个数据元素所要求的特征,例如:1) 名称/标识符:a. 项目唯一的标识符;b. 非技术(自然语言)名称;c. 数据元素名称;d. 技术名(如在代码或数据库中的变量名或字段名);e. 缩略名或同义名。
2) 数据类型(字母、数字、整数等)。
3) 大小和格式(如:字符串的长度和标点符号)。
4) 计量单位(如:m等)。
5) 可能值的范围或枚举(如:0-99)。
6) 准确性(正确程度)和精度(有效数字位数)。
7) 优先级别、定时、频率、容量、序列以及其他约束条件(例如数据元素是否可以被更新、业务规则是否适用)。
8) 保密性约束。
9) 来源(设置/发送实体)和接收者(使用/接收实体)。
c) CSCI必须提供、存储、发送、访问、接收的数据元素组合体(记录、消息、文件、数组、显示、报表等)所要求的特征,例如:1) 名称/标识符:a. 项目唯一的标识符;b. 非技术(自然语言)名称;c. 技术名称(如在代码或数据库中的记录名或数据结构名);d. 缩略名或同义名。