资源描述
归属部门
密级
版本
共 页
V1.00
软件项目名称
软件需求规格说明书
拟制:
日期:
审核:
日期:
同意:
日期:
文件修改统计
修改日期
版本
修改页码、 章节、 条款
修改描述
作者
目 录
1范围 5
2 总体概述 5
2.1 产品描述 5
2.2 软件功效 5
2.3 通常约束 6
2.4 假设和依靠 6
3 具体需求 6
3.1 功效需求 6
3.1.1 功效需求1 6
3.1.2 功效需求2 7
3.1.n 功效需求n 8
3.2 外部接口需求 8
3.2.1 用户接口 8
3.2.2 硬件接口 8
3.2.3 软件接口 8
3.2.4 通讯接口 8
3.3 性能需求 8
4 设计约束 9
4.1 标准约束 9
4.2 硬件限制 9
4.3 技术限制 9
5 软件质量属性 9
5.1 安全性 10
5.2 可维护性 10
5.3 可移植性 10
6 其她需求 10
6.1 数据库 10
6.2 当地化 11
7待确定问题 11
模板使用说明:
[1]注明可选部分, 能够依据实际情况选择是否填写; 假如无须说明, 请保留相关章节标题, 同时在该可选章节内容中填入“无”; 未注名可选, 则必需描述; 假如有些设计此模版中没有适宜地方填写, 则补充在最终其她栏目中
[2]模版中斜体字相当于撰写指南, 最终文稿请将本模板中全部斜体字部分全部删除。
[3]模板里并不说明设计技术和方法, 而只是说明应包含哪些内容, 以及怎样描述、 组织这些内容。
1范围
说明文档所包含和不包含内容, 具体是:
a. 待开发软件系统名称;
b. 说明软件将干什么, 假如需要话, 还要说明软件产品不干什么;
c. 描述所说明软件应用。假如有一个较高层次说明存在, 则应该使其和高层次说明中类似陈说相一致(比如, 系统需求规格说明)。
2 总体概述
2.1 产品描述
叙述该项软件开发意图、 应用目标、 作用范围以及其她应向读者说明相关该软件开发背景材料。解释被开发软件与其她相关软件之间关系。假如本软件产品是一项独立软件, 而且全部内容自含, 则说明这一点。假如所定义产品是一个更大系统一个组成部分, 则应说明本产品与该系统中其她各组成部分之间关系, 为此可使用一张方框图来说明该系统组成和本产品同其她各部分联络和接口。
2.2 软件功效
概述软件必需实现和经过用户操作实现关键功效。这里只需要进行简明描述(比如目录列表), 具体描述在具体需求部分描述。
有时, 假如存在较高层次规格说明时, 则功效摘要可从中取得, 这个较高层次规格说明为软件产品分配了特殊功效, 为了清楚起见, 请注意:
a. 编制功效一个方法是制作功效表, 方便用户或者第一次读这个文件人都能够了解;
b. 用方框图来表示不一样功效和它们关系也是有帮助。但应切记, 这么图不是产品设计时所需求, 而只是一个有效解释性工具。
比如: 高层数据流图, 面向对象分析等。
2.3 通常约束
对设计系统时限制开发者选择其她部分项作通常性描述(具体需求或具体设计约束在具体需求和设计约束章节叙述)。这些包含:
a. 管理方针;
b. 硬件限制;
c. 与其她应用间接口;
d. 并行操作;
e. 审查功效;
f. 控制功效;
g. 所需高级语言;
h. 通信协议;
i. 应用临界点;
j. 安全和保密方面考虑。
2.4 假设和依靠
列出可能影响需求全部假设原因(与已知事实相对而言), 包含准备使用第三方或商业组件, 操作和开发环境问题约束等。假如上述假设不正确、 没有被通知或者改变了都将对项目产生影响。列出项目对外部条件依靠, 比如重用其她项目模块等。假如在其她文档(比如项目计划或范围文档等)里已经描述了, 在这里能够不用描述。
3 具体需求
3.1 功效需求
对于每一类功效或者有时对于每一个功效, 需要具体描述其输入、 处理和输出需求, 提议用UML图进行描述。由四个部分组成
3.1.1 功效需求1
a. 引言
描述是功效要达成目标、 所采取方法和技术, 还应清楚说明功效意图由来和背景。
b. 输入
1) 具体描述该功效全部输入数据, 如: 输入源、 数量、 度量单位、 时间设定、 有效输入范围(包含精度和公差);
2) 操作员控制细节需求。其中有名字、 操作员活动描述、 控制台或操作员位置。比如: 当打印检验时, 要求操作员进行格式调整;
c. 处理
定义输入数据、 中间参数, 以取得预期输出结果全部操作。它包含以下说明:
1) 输入数据有效性检验;
2) 操作次序, 包含事件时间设定;
3) 响应, 比如, 溢出、 通信故障、 错误处理等;
4) 受操作影响参数;
5) 降级运行要求;
6) 用于把系统输入变换成对应输出任何方法(方程式、 数学算法、 逻辑操作等);
7) 输出数据有效性检验。
需有基础事件流(正常处理步骤)和备选事件流(异常处理步骤), 可用步骤图附加描述。
d. 输出
1) 具体描述该功效全部输出数据, 比如: 输出目地、 数量、 度量单位、 时间关系、 有效输出范围(包含精度和公差)、 非法值处理、 犯错信息;
2) 相关接口说明或接口控制文件参考资料。
另外, 对着重于输入输出行为系统来说, 需求说明应指定全部有意义输入、 输出对及其序列。当一个系统要求记忆它状态时, 需要这个序列, 使得它能够依据此次输入和以前状态作出响应。也就是说, 这种情况如同有限状态机。
3.1.2 功效需求2
......
3.1.n 功效需求n
3.2 外部接口需求
3.2.1 用户接口
提供用户使用软件产品时接口需求。比如, 假如系统用户经过显示终端进行操作, 就必需指定以下要求:
a. 对屏幕格式要求;
b. 报表或菜单页面打印格式和内容;
c. 输入输出相对时序;
d. 程序功效键可用性。
3.2.2 硬件接口
具体描述与硬件接口
在此描述软件产品和系统硬件组件之间接口逻辑特征, 也包含支持哪些设备、 怎样支持这些设备和协议等。
按软/硬件协议内容和格式定义接口。假如接口已在其它文档中很清楚地描述, 就没有必需在这儿进行具体描述, 但需说明应参考文档。
3.2.3 软件接口
在此要指定需使用其她软件产品(比如, 数据管理系统、 操作系统或数学软件包), 以及同其她应用系统之间接口。
对于每一个接口, 这部分应说明与软件产品相关接口软件目, 并依据信息内容和格式定义接口, 但无须具体描述任何已经有完整文件接口, 只要引用定义该接口文件即可。
3.2.4 通讯接口
具体描述通讯接口, 如当地网络协议等。
按消息/函数内容和格式定义接口。假如接口已在其它文档中很清楚地描述, 就没有必需在这儿进行具体描述, 但需说明应参考文档。
3.3 性能需求
假如有性能方面需求, 在这里列出并解释她们原理。以帮助开发者了解意图以做出正确设计选择。在实时系统中时序关系。确保需求尽可能具体而正确。
从整体上具体说明软件、 或人与软件交互静态或动态数值需求。
A. 静态数值需求可能包含:
1) 支持终端数;
2) 支持并行操作用户数;
3) 处理文件和统计数;
4) 表和文件大小。
B. 动态数值需求可能包含: 欲处理事务和任务数量, 以及在正常情况下和峰值工作条件下一定时间周期中处理数据总量。
全部这些需求都必需用能够度量术语来叙述。比如, 95%事务必需在小于1s时间内处理完, 不然, 操作员将不等候处理完成。
4 设计约束
描述可能限制开发人员选择事项。
4.1 标准约束
具体说明需求所采取标准或规范起源。假如项目采取了国际标准, 应该说明国际标准及项目与标准偏离情况。
4.2 硬件限制
本项包含在多种硬件约束下运行软件要求, 比如, 应该包含:
a. 硬件配置特点(接口数, 指令系统等);
b. 内存放器和辅助存放器容量。
4.3 技术限制
本节包含对使用特定技术限制, 包含接口, 数据库, 操作系统, 通讯协议, 设计约定, 编程规范等。
5 软件质量属性
具体说明项目任何其她质量特征。该特征对用户和开发者都非常关键。考虑方面包含: 适应性, 可用性, 正确性, 灵活性, 交互工作能力, 可维护性, 可移植性, 可靠性, 可重用性, 鲁棒性, 可测试性和可用性等。定量具体描述这些特征, 尽可能可验证。对不一样属性之间关键性加以叙述, 如: 易用性比易学性更关键。
每一个属性单独使用一个小节描述, 可依据需要进行增减, 如:
5.1 安全性
指是保护软件要素, 以预防多种非法访问、 使用、 修改、 破坏或者泄密。这个领域具体需求必需包含:
a. 利用可靠密码技术;
b. 掌握特定统计或历史数据集;
c. 给不一样模块分配不一样功效;
d. 限定一个程序中一些区域通信;
e. 计算临界值检验和。
5.2 可维护性
要求若干需求以确保软件是可维护。
5.3 可移植性
要求把软件从一个环境移植到另一个环境所要求用户程序, 用户接口兼容方面约束等等。
6 其她需求
使用合适章节, 具体说明任何其她用户需求, 包含数据库, 编码需求, 错误处理, 测试需求等。下面仅列出了少许样例, 你能够删除和增加项目。
6.1 数据库
本项对作为产品一部分进行开发数据库要求部分需求, 它们可能包含:
a. 在功效需求中标识信息类别;
b. 使用频率;
c. 存取能力;
d. 数据元素和文卷描述符;
e. 数据元素、 统计和文卷关系;
f. 静态和动态组织;
g. 数据保留要求。
假如没有设计阶段, 此处应该给出具体数据库设计。以附件形式添加在此处。
6.2 当地化
描述支持多语种需求。
7待确定问题
需求ID
问题描述
影响
风险
责任人
处理日期
状态(Open/Close)
展开阅读全文