1、保密级别:S资料编号:SRS-产品代号-序列号版 本:V*.*产品型号名称(二号字体)部件型号名称(可选、小二号字体)软件需求分析说明书共 11 页编制: 审核: 审定: 会签: 批准: XXXXXXXXXX公司*年*月*日文档修改记录日期版本修改内容修改人批准人目 录1引言21.1编写目的21.2范围21.3定义、首字母缩写词和缩略语21.4参考资料22项目概述32.1产品描述32.2产品需求32.2.1功能需求32.2.2性能需求42.2.3可服务性需求42.3用户及用户特点42.4一般约束52.5假设和依据53用例描述53.1用例153.2用例263.3用例n64外部接口需求74.1用户
2、接口74.2硬件接口74.3软件接口74.4通信接口85设计约束85.1其他标准的约束85.2硬件的限制86属性86.1可用性86.2安全性96.3可维护性96.4可转移 转换性96.5警告97其他需求97.1数据库97.2操作107.3场合适应性需求108附录10说明:本模板中的蓝色字体与橙色字体为说明性文字,在最终提交的文档中请删除这些说明性的文字。1 引言1.1 编写目的 说明编写这份软件需求说明书的目的,指出预期的读者范围。1.2 范围说明:a 待开发的软件系统的名称;b 说明软件将干什么,如果需要的话,还要说明软件产品不干什么;c 描述所说明的软件的应用。应当:1) 尽可能精确地描述
3、所有相关的利益、目的、以及最终目标。2) 如果有一个较高层次的说明存在,则应该使其和高层次说明中的类似的陈述相一致(例如,系统的需求规格说明)。1.3 定义、首字母缩写词和缩略语 列出本文件中用到的专门术语的定义和缩写词的原词组。1.4 参考资料列出要用到的参考资料,如:a 本项目的经核准的计划任务书或合同、上级机关的批文;b 属于本项目的其他已发表的文件;c 本文件中各处引用的文件、资料,包括所要用到的软件开发标准。列出这些文件的标题、文件编号、发表日期和出版单位,说明能够得到这些文件资料的来源。2 项目概述2.1 产品描述叙述该项软件开发的意图、应用目标、作用范围以及其他应向读者说明的有关
4、该软件开发的背景材料。解释被开发软件与其他有关软件之间的关系。如果本软件产品是一项独立的软件,而且全部内容自含,则说明这一点。如果所定义的产品是一个更大的系统的一个组成部分,则应说明本产品与该系统中其他各组成部分之间的关系,为此可使用一张方框图来说明该系统的组成和本产品同其他各部分的联系和接口。2.2 产品需求2.2.1 功能需求本条是为将要完成的软件功能提供一个摘要。例如,对于一个记帐程序来说,需求说明可以用这部分来描述:客房帐目维护、客房财务报表和发票制作,而不必把功能所要求的大量的细节描写出来。有时,如果存在较高层次的规格说明时,则功能摘要可从中取得,这个较高层次的规格说明为软件产品分配
5、了特殊的功能,为了清晰起见,请注意:a 编制功能的一种方法是制作功能表,以便客户或者第一次读这个文件的人都可以理解;b 用方框图来表达不同的功能和它们的关系也是有帮助的。但应牢记,这样的图不是产品设计时所需求的,而只是一种有效的解释性的工具。c 用系统用例图可以表达系统主要功能,如果功能较多,可以按功能分组分几个小节分别描述。范例:需求编号需求版本需求名称需求描述PR01V1.0采集属性采集遥测点的采集属性包括采集RTU号、点号、工程转换系数等2.2.2 性能需求从整体来说,本条应具体说明软件、或人与软件交互的静态或动态数值需求。A 静态数值需求可能包括:1) 支持的终端数;2) 支持并行操作
6、的用户数;3) 处理的文卷和记录数;4) 表和文卷的大小。B 动态数值需求可能包括:欲处理的事务和任务的数量,以及在正常情况下和峰值工作条件下一定时间周期中处理的数据总量。所有这些需求都必须用可以度量的术语来叙述。例如,95的事务必须在小于1s时间内处理完,不然,操作员将不等待处理的完成。范例:需求编号需求版本需求名称需求描述TR01V1.0遥控、遥调正确率遥控、遥调正确率99.99%2.2.3 可服务性需求从易于安装与调试方面提出产品的可服务性需求。 需求编号需求版本需求名称需求描述SER01V1.0产品安装包应制作产品安装包,一步一步指导完成监控软件、数据库服务器、基础数据的安装及配置。
7、2.3 用户及用户特点列出系统所有可能的用户,建议用UML图表示。列出本软件的最终用户的特点,充分说明操作人员、维护人员的教育水平和技术专长,以及本软件的预期使用频度。这些是软件设计工作的重要约束。2.4 一般约束本条对设计系统时限制开发者选择的其他一些项作一般性描述。而这些项将限定开发者在设计系统时的任选项。这些包括:a 管理方针;b 硬件的限制;c 与其他应用间的接口;d 并行操作;e 审查功能;f 控制功能;g 所需的高级语言;h 通信协议;i 应用的临界点;j 安全和保密方面的考虑。2.5 假设和依据本条列出影响需求说明中陈述的需求的每一个因素。这些因此不是软件的设计约束,但是它们的改
8、变可能影响到需求说明中的需求。例如:假定一个特定的操作系统是在被软件产品指定的硬件上使用的,然而,事实上这个操作系统是不可能使用的,于是,需求说明就要进行相应的改变。3 用例描述下面各节分别描述各用例的具体流程。3.1 用例1给出对本用例的概括性说明,这里的说明不仅限于文字,可以给出界面草图、活动流程图等。按下表的方式描述用例准确过程用例1用例名称描述该用例的详细解释 前提要使该用例能够工作,系统需要处于什么样条件下,如商店要卖东西必须先开张触发条件是什么导致这个用例开始工作?如顾客需要商品,并进入商店。成功用例完成后系统处于什么状态?如顾客拥有了所需产品并感到愉快,货币保存在出纳机中,等待下
9、一位顾客。中止如果用例被放弃了,会发生哪些情况?如,如果顾客放下购物篮没有买任何东西离开,需要有人看到这些并把货物放回原处。参与者主要的 谁起主导作用?如顾客和收款员?从属的 谁起次要作用?如店员?过程步骤活动名描述123变更步骤活动名描述异常步骤活动名描述3.2 用例2.3.3 用例n.4 外部接口需求4.1 用户接口提供用户使用软件产品时的接口需求。例如,如果系统的用户通过显示终端进行操作,就必须指定如下要求:a 对屏幕格式的要求;b 报表或菜单的页面打印格式和内容;c 输入输出的相对时间;d 程序功能键的可用性。4.2 硬件接口要指出软件产品和系统硬部件之间每一个接口的逻辑特点。还可能包
10、括如下事宜:支撑什么样的设备,如何支撑这些设备,有何约定。4.3 软件接口在此要指定需使用的其他软件产品(例如,数据管理系统、操作系统或数学软件包),以及同其他应用系统之间的接口。对每一个所需的软件产品,要提供如下内容:a 名字;b 助记符;c 规格说明号;d 版本号;e 来源。 对于每一个接口,这部分应说明与软件产品相关的接口软件的目的,并根据信息的内容和格式定义接口,但不必详细描述任何已有完整文件的接口,只要引用定义该接口的文件即可。4.4 通信接口指定各种通信接口。例如,局部网络的协议等等。5 设计约束设计约束受其他标准、硬件限制等方面的影响。5.1 其他标准的约束本项将指定由现有的标准
11、或规则派生的要求。例如:a 报表格式;b 数据命名;c 财务处理;d 审计追踪,等等。5.2 硬件的限制本项包括在各种硬件约束下运行的软件要求,例如,应该包括:a 硬件配置的特点(接口数,指令系统等);b 内存储器和辅助存储器的容量。6 属性在软件的需求之中有若干个属性,以下指出其中的几个(注意:对这些决不应理解为是一个完整的清单)。6.1 可用性可以指定一些因素,如检查点、恢复和再启动等,以保证整个系统有一个确定的可用性级别。6.2 安全性指的是保护软件的要素,以防止各种非法的访问、使用、修改、破坏或者泄密。这个领域的具体需求必须包括:a 利用可靠的密码技术;b 掌握特定的记录或历史数据集;
12、c 给不同的模块分配不同的功能;d 限定一个程序中某些区域的通信;e 计算临界值的检查和。6.3 可维护性规定若干需求以确保软件是可维护的。例如:a 软件模块所需要的特殊的耦合矩阵;b 为微型装置指定特殊的数据程序分割要求。6.4 可转移 转换性规定把软件从一种环境移植到另一种环境所要求的用户程序,用户接口兼容方面的约束等等。6.5 警告指定所需属性十分重要,它使得人们能用规定的方法去进行客观的验证。7 其他需求根据软件和用户组织的特性等,某些需求放在下面各项中描述。7.1 数据库本项对作为产品的一部分进行开发的数据库规定一些需求,它们可能包括:a 在功能需求中标识的信息类别;b 使用的频率;
13、c 存取能力;d 数据元素和文卷描述符;e 数据元素、记录和文卷的关系;f 静态和动态的组织;g 数据保存要求。 注:如果使用一个现有的数据库包,这个包应在“软件接口”中命名,并在那里详细说明其用法。7.2 操作这里说明用户要求的常规的和特殊的操作。A 在用户组织之中各种方式的操作。例如,用户初始化操作;B 交互作用操作的周期和无人操作的周期;C 数据处理运行功能;D 后援和恢复操作。 注:这里的内容有时是用户接口的一部分。7.3 场合适应性需求这里包括:a 对给定场合或相关任务或操作方式的任何数据或初始化顺序的需求进行定义。例如,栅值,安全界限等等。b 指出场合或相关任务为特点,这里可以被修改以使软件适合特殊配制的要求。8 附录对一个实际的需求规格说明来说,若有必要应该编写附录。附录中可能包括:a 输入输出格式样本,成本分析研究的描述或用户调查结果;b 有助于理解需求说明的背景信息;c 软件所解决问题的描述;d 用户历史、背景、经历和操作特点;e 交叉访问表。按先后次序进行编排,使一些不完全的软件需求得以完善;f 特殊的装配指令用于编码和媒体,以满足安全、输出、初始装入或其他要求。 注:当包括附录时,需求说明必须明确地说明附录是不是需求要考虑的部分。 . . . .