软件需求规格说明.docx
《软件需求规格说明.docx》由会员分享,可在线阅读,更多相关《软件需求规格说明.docx(12页珍藏版)》请在冰豆网上搜索。
软件需求规格说明
软件需求规格说明(SRS)
(用例模型、领域模型、行为模型)
用例模型:
用例图+用例描述(3-5个)
领域模型:
不带操作的类图
行为模型:
1、交互图(时序图3个)
2、行为图(状态图2个,1个画系统的状态图,1个画类/对象的状态图;活动图2个,1个画系统的业务流程;1个画某个类的方法的计算流程。
说明:
1.《软件需求规格说明》(SRS)描述对计算机软件配置项CSCI的需求,及确保每个要求得以满足的所使用的方法。
涉及该CSCI外部接口的需求可在本SRS中给出:
或在本SRS引用的一个或多个《接口需求规格说明》(IRS)中给出。
2.这个SRS,可能还要用IRS加以补充,是CSCI设计与合格性测试的基础。
软件需求规格说明的正文的格式如下:
1范围
本章应分为以下几条。
标识
本条应包含本文档适用的系统和软件的完整标识,(若适用)包括标识号、标题、缩略词语、版本号和发行号。
系统概述
本条应简述本文档适用的系统和软件的用途,它应描述系统和软件的一般特性;概述系统开发、运行和维护的历史;标识项目的投资方、需方、用户、开发方和支持机构;标识当前和计划的运行现场;列出其他有关的文档。
文档概述
本条应概述本文档的用途和内容,并描述与其使用有关的保密性或私密性要求。
基线
说明编写本系统设计说明书所依据的设计基线。
2引用文件
本章应列出本文档引用的所有文档的编号、标题、修订版本和发行日期,也应标识不能通过正常的供货渠道获得的所有文档的来源。
3需求
本章应分以下几条描述CSCI需求,也就是,构成CSCI验收条件的CSCI的特性。
CSCI需求是为了满足分配给该CSCI的系统需求所形成的软件需求。
给每个需求指定项目唯一标识符以支持测试和可追踪性。
并以一种可以定义客观测试的方式来陈述需求。
如果每个需求有关的合格性方法(见第4章)和对系统(若适用,子系统)需求的可追踪性(见条)在相应的章中没有提供,则在此进行注解。
描述的详细程度遵循以下规则:
应包含构成CSCI验收条件的那些CSCI特性,需方愿意推迟到设计时留给开发方说明的那些特性。
如果在给定条中没有需求的话,本条应如实陈述。
如果某个需求在多条中出现,可以只陈述一次而在其他条直接引用。
所需的状态和方式
如果需要CSCI在多种状态和方式下运行,且不同状态和方式具有不同的需求的话,则要标识和定义每一状态和方式,状态和方式的例子包括:
空闲、准备就绪、活动、事后分析、培训、降级、紧急情况和后备等。
状态和方式的区别是任意的,可以仅用状态描述CSCI,也可以仅用方式、方式中的状态、状态中的方式或其他有效方式描述。
如果不需要多个状态和方式,不需人为加以区分,应如实陈述;如果需要多个状态或方式,还应使本规格说明中的每个需求或每组需求与这些状态和方式相关联,关联可在本条或本条引用的附录中用表格或其他的方法表示,也可在需求出现的地方加以注解。
需求概述
a.本系统的开发意图、应用目标及作用范围(现有产品存在的问题和建议产品所要解决的问题)。
b.本系统的主要功能、处理流程、数据流程及简要说明。
c.表示外部接口和数据流的系统高层次图。
说明本系统与其他相关产品的关系,是独立产品还是一个较大产品的组成部分(可用方框图说明)。
简要说明本系统的运行环境(包括硬件环境和支持环境)的规定。
说明是哪一种类型的用户,从使用系统来说,有些什么特点。
说明本软件需求规格说明书中的关键点(例如:
关键功能、关键算法和所涉及的关键技术等)。
列出进行本系统开发工作的约束条件。
例如:
经费限制、开发期限和所采用的方法与技术,以及政治、社会、文化、法律等。
需求规格
对软件系统总体功能/对象结构进行描述,包括结构图、流程图或对象图。
对每个主要子系统中的基本功能模块/对象进行描述,包括结构图、流程图或对象图。
通常使用的约定描述(数学符号、度量单位等)。
CSCI能力需求
本条应分条详细描述与CSCI(ComputerSoftwareConfigurationItem-计算机软件配置项)每一能力相关联的需求。
“能力”被定义为一组相关的需求。
可以用“功能”、“性能”、“主题”、“目标”或其他适合用来表示需求的词来替代“能力”。
(CSCI能力)
对于每一类功能或者对于每一个功能,需要具体描写其输入、处理和输出的需求。
a.说明
描述此功能要达到的目标、所采用的方法和技术,还应清楚说明功能意图的由来和背景。
b.输入
包括:
1)详细描述该功能的所有输入数据,如:
输入源、数量、度量单位、时间设定和有效输入范围等。
2)指明引用的接口说明或接口控制文件的参考资料。
c.处理
定义对输入数据、中间参数进行处理以获得预期输出结果的全部操作。
包括:
1)输入数据的有效性检查。
2)操作的顺序,包括事件的时间设定。
3)异常情况的响应,例如,溢出、通信故障、错误处理等。
4)受操作影响的参数。
5)用于把输入转换成相应输出的方法。
6)输出数据的有效性检查。
d.输出
1)详细说明该功能的所有输出数据,例如,输出目的地、数量、度量单位、时间关系、有效输出范围、非法值的处理、出错信息等。
2)有关接口说明或接口控制文件的参考资料。
CSCI外部接口需求
本条应分条描述CSCI外部接口的需求。
(如有)本条可引用一个或多个接口需求规格说明(IRS)或包含这些需求的其他文档。
外部接口需求,应分别说明:
a.用户接口;
b.硬件接口;
c.软件接口;
d.通信接口的需求。
本条应标识所需的CSCI外部接口,也就是CSCI和与它共享数据、向它提供数据或与它交换数据的实体的关系。
(若适用)每个接口标识应包括项目唯一标识符,并应用名称、序号、版本和引用文件指明接口的实体(系统、配置项、用户等)。
该标识应说明哪些实体具有固定的接口特性(因而要对这些接口实体强加接口需求),哪些实体正被开发或修改(从而接口需求已施加给它们)。
可用一个或多个接口图来描述这些接口。
[未提到实体]这样做时,CSCI将……”的形式描述,而不描述为其他实体的需求。
本条可引用其他文档(如:
数据字典、通信协议标准、用户接口标准)代替在此所描述的信息。
(若适用)需求应包括下列内容,它们以任何适合于需求的顺序提供,并从接口实体的角度说明这些特性的区别(如对数据元素的大小、频率或其他特性的不同期望):
必须分配给接口的优先级别;
b.要实现的接口的类型的需求(如:
实时数据传送、数据的存储和检索等);
必须提供、存储、发送、访间、接收的单个数据元素的特性,如:
1)名称/标识符;
a)项目唯一标识符;
b)非技术(自然语言)名称;
c)标准数据元素名称;
d)技术名称(如代码或数据库中的变量或字段名称);
e)缩写名或同义名;
2)数据类型(字母数字、整数等);
3)大小和格式(如:
字符串的长度和标点符号);
4)计量单位(如:
米、元、纳秒);
5)范围或可能值的枚举(如:
0-99);
6)准确度(正确程度)和精度(有效数字位数);
7)优先级别、时序、频率、容量、序列和其他的约束条件,如:
数据元素是否可被更新和业务规则是否适用;
8)保密性和私密性的约束;
9)来源(设置/发送实体)和接收者(使用/接收实体);
必须提供、存储、发送、访问、接收的数据元素集合体(记录、消息、文件、显示和报表等)的特性,如:
1)名称/标识符;
a)项目唯一标识符;
b)非技术(自然语言)名称;
c)技术名称(如代码或数据库的记录或数据结构);
d)缩写名或同义名;
2)数据元素集合体中的数据元素及其结构(编号、次序、分组);
3)媒体(如盘)和媒体中数据元素/数据元素集合体的结构;
4)显示和其他输出的视听特性(如:
颜色、布局、字体、图标和其他显示元素、蜂鸣器以及亮度等);
5)数据元素集合体之间的关系。
如排序/访问特性;
6)优先级别、时序、频率、容量、序列和其他的约束条件,如:
数据元素集合体是否可被修改和业务规则是否适用;
7)保密性和私密性约束;
8)来源(设置/发送实体)和接收者(使用/接收实体);
必须为接口使用通信方法的特性。
如:
1)项目唯一标识符;
2)通信链接/带宽/频率/媒体及其特性;
3)消息格式化;
4)流控制(如:
序列编号和缓冲区分配);
5)数据传送速率,周期性/非周期性,传输间隔;
6)路由、寻址、命名约定;
7)传输服务,包括优先级别和等级;
8)安全性/保密性/私密性方面的考虑,如:
加密、用户鉴别、隔离和审核等;
必须为接口使用协议的特性,如:
1)项目唯一标识符;
2)协议的优先级别/层次;
3)分组,包括分段和重组、路由和寻址;
4)合法性检查、错误控制和恢复过程;
5)同步,包括连接的建立、维护和终止;
6)状态、标识、任何其他的报告特征;
g.其他所需的特性,如:
接口实体的物理兼容性(尺寸、容限、负荷、电压和接插件兼容性等)。
CSCI内部接口需求
本条应指明CSCI内部接口的需求(如有的话)。
如果所有内部接口都留待设计时决定,则需在此说明这一事实。
如果要强加这种需求,则可考虑本文档的给出的一个主题列表。
CSCI内部数据需求
适应性需求
(若有)本条应指明要求CSCI提供的、依赖于安装的数据有关的需求(如:
依赖现场的经纬度)和要求CSCI使用的、根据运行需要进行变化的运行参数(如:
表示与运行有关的目标常量或数据记录的参数)。
保密性需求
(若有)本条应描述有关防止对人员、财产、环境产生潜在的危险或把此类危险减少到最低的CSCI需求,包括:
为防止意外动作(如意外地发出“自动导航关闭”命令)和无效动作(发出一个想要的“自动导航关闭”命令时失败CSCI必须提供的安全措施。
保密性和私密性需求
(若有)本条应指明保密性和私密性的CSCI需求,包括:
CSCI运行的保密性/私密性环境、提供的保密性或私密性的类型和程度.CSCI必须经受的保密性/私密性的风险、减少此类危险所需的安全措施、CSCI必须遵循的保密性/私密性政策、CSCI必须提供的保密性/私密性审核、保密性/私密性必须遵循的确证/认可准则。
CSCI环境需求
(若有)本条应指明有关CSCI必须运行的环境的需求。
例如,包括用于CSCI运行的计算机硬件和操作系统(其他有关计算机资源方面的需求在下条中描述)。
计算机资源需求
本条应分以下各条进行描述。
本条应描述cSc1使用的计算机硬件需求,(若适用)包括:
各类设备的数量、处理器、存储器、输入/输出设备、辅助存储器、通信/网络设备和其他所需的设备的类型、大小、容量及其他所要求的特征。
本条应描述CSCI计算机硬件资源利用方面的需求,如:
最大许可使用的处理器能力、存储器容量、输入/输出设备能力、辅助存储器容量、通信/网络设备能力。
描述(如每个计算机硬件资源能力的百分比)还包括测量资源利用的条件。
本条应描述CSCI必须使用或引人CSCI的计算机软件的需求,例如包括:
操作系统、数据库管理系统、通信/网络软件、实用软件、输入和设备模拟器、测试软件、生产用软件。
必须提供每个软件项的正确名称、版本、文档引用。
本条应描述CSCI必须使用的计算机通信方面的需求,例如包括:
连接的地理位置、配置和网络拓扑结构、传输技术、数据传输速率、网关、要求的系统使用时间、传送/接收数据的类型和容量、传送/接收/响应的时间限制、数据的峰值、诊断功能。
软件质量因素
(若有)本条应描述合同中标识的或从更高层次规格说明派生出来的对CSCI的软件质量方面的需求,例如包括有关CSCI的功能性(实现全部所需功能的能力)、可靠性(产生正确、一致结果的能力)、可维护性(易于更正的能力)、可用性(需要时进行访间和操作的能力)、灵活性(易于适应需求变化的能力)、可移植性(易于修改以适应新环境的能力)、可重用性(可被多个应用使用的能力)、可测试性(易于充分测试的能力)、易用性(易于学习和使用的能力)以及其他属性的定量需求。
设计和实现的约束
(若有)本条应描述约束CSCI设计和实现的那些需求。
这些需求可引用适当的标准和规范。
例如需求包括:
a.特殊CSCI体系结构的使用或体系结构方面的需求,例如:
需要的数据库和其他软件配置项;标准部件、现有的部件的使用;需方提供的资源(设备、信息、软件)的使用;
b.特殊设计或实现标准的使用;特殊数据标准的使用;特殊编程语言的使用;
c.为支持在技术、风险或任务等方面预期的增长和变更区域,必须提供的灵活性和可扩展性.
数据
说明本系统的输入、输出数据及数据管理能力方面的要求(处理量、数据量)。
操作
说明本系统在常规操作、特殊操作以及初始化操作、恢复操作等方面的要求。
故障处理
说明本系统在发生可能的软硬件故障时,对故障处理的要求。
包括:
a.说明属于软件系统的问题;
b.给出发生错误时的错误信息;
c.说明发生错误时可能采取的补救措施。
算法说明
用于实施系统计算功能的公式和算法的描述。
包括:
a.每个主要算法的概况;
b.用于每个主要算法的详细公式。
有关人员需求
(若有)本条应描述与使用或支持CSCI的人员有关的需求,包括人员数量、技能等级、责任期、培训需求、其他的信息。
如:
同时存在的用户数量的需求,内在帮助和培训能力的需求,(若有)还应包括强加于CSCI的人力行为工程需求,这些需求包括对人员在能力与局限性方面的考虑:
在正常和极端条件下可预测的人为错误,人为错误造成严重影响的特定区域,例如包括错误消息的颜色和持续时间、关键指示器或关键的物理位置以及听觉信号的使用的需求。
有关培训需求
(若有)本条应描述有关培训方面的CSCI需求。
包括:
在CSCI中包含的培训软件。
有关后勤需求
(若有)本条应描述有关后勤方面的CSCI需求,包括:
系统维护、软件支持、系统运输方式、供应系统的需求、对现有设施的影响、对现有设备的影响。
其他需求
(若有)本条应描述在以上各条中没有涉及到的其他CSCI需求。
包装需求
(若有)本条应描述需交付的CSCI在包装、加标签和处理方面的需求(如用确定方式标记和包装8磁道磁带的交付)。
(若适用)可引用适当的规范和标准。
需求的优先次序和关键程度
(若适用)本条应给出本规格说明中需求的、表明其相对重要程度的优先顺序、关键程度或赋予的权值,如:
标识出那些认为对安全性、保密性或私密性起关键作用的需求,以便进行特殊的处理。
如果所有需求具有相同的权值,本条应如实陈述。
4合格性规定
本章定义一组合格性方法,对于第3章中每个需求,指定所使用的方法,以确保需求得到满足。
可以用表格形式表示该信息,也可以在第3章的每个需求中注明要使用的方法。
合格性方法包括:
a.演示:
运行依赖于可见的功能操作的CSCI或部分CSCI,不需要使用仪器、专用测试设备或进行事后分析;
b.测试:
使用仪器或其他专用测试设备运行CSCI或部分CSCI,以便采集数据供事后分析使用;
c.分析:
对从其他合格性方法中获得的积累数据进行处理,例如测试结果的归约、解释或推断;
d.审查:
对CSCI代码、文档等进行可视化检查;
e.特殊的合格性方法。
任何应用到CSCI的特殊合格性方法,如:
专用工具、技术、过程、设施、验收限制。
5需求可追踪性
本章应包括:
a.从本规格说明中每个CSCI的需求到其所涉及的系统(或子系统)需求的可追踪性。
(该可追踪性也可以通过对第3章中的每个需求进行注释的方法加以描述).
注:
每一层次的系统细化可能导致对更高层次的需求不能直接进行追踪。
例如:
建立多个CSCI的系统体系结构设计可能会产生有关CSCI之间接口的需求,而这些接口需求在系统需求中并没有被覆盖,这样的需求可以被追踪到诸如“系统实现”这样的一般需求,或被追踪到导致它们产生的系统设计决策上。
b.从分配到被本规格说明中的CSCI的每个系统(或子系统)需求到涉及它的CSCI需求的可追踪性。
分配到CSCI的所有系统(或子系统)需求应加以说明。
追踪到IRS中所包含的CSCI需求可引用IRS.
6尚未解决的问题
如需要,可说明软件需求中的尚未解决的遗留问题。
7注解
本章应包含有助于理解本文档的一般信息(例如背景信息、词汇表、原理)。
本章应包含为理解本文档需要的术语和定义,所有缩略语和它们在文档中的含义的字母序列表。
附录
附录可用来提供那些为便于文档维护而单独出版的信息(例如图表、分类数据)。
为便于处理,附录可单独装订成册。
附录应按字母顺序(A,B等)编排。