产品开发软件需求规格说明书模板
文档状态: 文档编号:
编撰日期: [ ] Draft
[ ] Released 保密级别:
[ ] Modifying 文档版本: 1.0.0
软件需求规格说明书
Software Requirements Specification
项 目 号:
项目名称:
编 制 人:
部 门:
初审Pre-Reviewed by 日 期 Date 复审Reviewed by 日 期 Date 批准Approved by 日 期 Date
修订表
版本编号 *变化 简要说明 变更人 变更日期 批准人 批准日期
状态
*变化状态:A——增加,M——修改,D——删除
软件需求规格说明书 第 2 页 共 14 页
目录
1. 引言 .......................................................................................................................................................................4 1.1 编写目的 .................................................................................................................................................4 1.2 文档约定 .................................................................................................................................................4 1.3 产品的范围.............................................................................................................................................4 1.4 参考资料 .................................................................................................................................................4 2. 综合描述 ..........................................................................................................................................................4 2.1 产品的前景.............................................................................................................................................4 2.2 产品的功能.............................................................................................................................................5 2.3 用户类和特征 ........................................................................................................................................5 2.4 运行环境 .................................................................................................................................................5 2.5
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
和实现上的限制 ...........................................................................................................................5 3. 外部接口需求..................................................................................................................................................5 3.1 用户界面 .................................................................................................................................................5 3.2 硬件接口 .................................................................................................................................................6 3.3 软件接口 .................................................................................................................................................6 3.4 通信接口 .................................................................................................................................................6 4. 功能需求 ..........................................................................................................................................................6 4.1 整体功能描述 ........................................................................................................................................6 4.2 功能FEATURE A .....................................................................................................................................7
4.2.1 用例图 ....................................................................................................................................................7
4.2.2 用例规约 ...............................................................................................................................................7 4.3 功能点FEATURE B.................................................................................................................................8 5. 非功能需求 ......................................................................................................................................................8 5.1 性能需求 .................................................................................................................................................8 5.2 安全性需求.............................................................................................................................................9 5.3 软件质量属性 ........................................................................................................................................9 5.4 其它需求 .................................................................................................................................................9 6. 数据字典 ..........................................................................................................................................................9 6.1 实体关系图.............................................................................................................................................9 6.2 实体定义 ...............................................................................................................................................10 附录A:分析模型(也可以纳入 4功能需求章节中描述) ...................................................................11 附录B:待确定问题的列表 ..............................................................................................................................13 附录C:编写文档的原则...................................................................................................................................13 附录D:需求评审报告摘要 ..............................................................................................................................14
软件需求规格说明书 第 3 页 共 14 页
1. 引言
提出对软件需求规格说明书的纵览,帮助读者理解文档如何编写并且如何阅读和解释。 1.1 编写目的
对产品(也可能是项目,但是我们统称为产品)进行定义,在该文档中详尽说明这个产品的软件需求,包括修正或发行版本号。如果这个软件需求规格说明书只与整个系统的一部
分有关,那么只定义文档中说明的部分或子系统。
1.2 文档约定
描述编写文档时所采用的标准或排版约定,包括正文风格、提示区或重要符号。例如,说明高层需求的优先级是否可以被其所有细化的需求所继承,或者每个需求陈述是否都有优
先级。
1.3 产品的范围
提供对指定的软件及其目的的简短描述,包括利益和目标。把软件与企业目标或业务策
略相联系。
1.4 参考资料
列举编写软件需求规格说明书时所参考的资料或其它来源。可能包括用户界面风格指导、
合同
劳动合同范本免费下载装修合同范本免费下载租赁合同免费下载房屋买卖合同下载劳务合同范本下载
、标准、系统需求规格说明书、用户需求、相关产品的软件需求规格说明书。这里应该给出详细的信息,包括标题名称、作者、版本号、日期、出版单位或资料来源,以方便
读者查阅这些文献。
2. 综合描述
这一部分概述了正在定义的产品以及它所运行的环境、使用产品的用户和已知的限制、
假设和依赖。
2.1 产品的前景
描述软件需求规格说明书中所定义的产品的背景和起源。说明该产品是否是产品系列中的下一个成员,是否是成熟产品所改进的下一代产品、是否是现有应用程序的替代品,或者
是否是一个全新的产品。
如果软件需求规格说明书定义了大系统的一个组成部分,那么就要说明这部分软件是怎样与整个系统相关联的,并且要定义出两者之间的接口。建议使用系统结构图或者实体关系
图表示。
软件需求规格说明书 第 4 页 共 14 页
2.2 产品的功能
概述产品所具有的主要功能,详细内容在第4节描述,所以这里只需要概括总结,例如用列表的方法给出。很好地组织产品的功能,使每个读者都易于理解。用图形表示主要的需
求分组以及它们之间的联系。
DFD 建议使用数据流程图()的顶层图或类图来实现图形化。
2.3 用户类和特征
确定可能使用该产品的不同用户类并描述它们相关的特征。有一些需求可能只与特定的
用户类相关。将该产品的重要用户类与那些不太重要的用户类区分开。
2.4 运行环境
描述软件的运行环境,包括硬件平台、操作系统和版本,还有其它的软件组件或者与其
共存的应用程序。
2.5 设计和实现上的限制
确定影响开发人员自由选择的问题,并说明这些问题为什么成为一种限制。可能的限制
包括:
, 必须使用或者避免的特定技术、工具、编程语言、数据库;
, 经费、进度、资源等方面的限制;
, 所要求的开发
规范
编程规范下载gsp规范下载钢格栅规范下载警徽规范下载建设厅规范下载
或标准;
, 企业策略、政府法规或工业标准;
, 硬件限制,例如定时需求或存储器限制;
, 数据转换格式标准。
, 其它。
3. 外部接口需求
确定可以保证新产品与外部组件正确连接的需求。关联图表示了高层抽象的外部接口。需要把对接口数据和控制组件的详细描述写入数据字典中。如果产品的不同部分有不同的外
部接口,那么应该把这些外部接口的详细要求并入到这一部分的实例中。3.1 用户界面
陈述所需要的用户界面的软件组件。描述每个用户界面的逻辑特征。以下是可能要包括
的一些特征:
, 将要采用的图形用户界面标准或产品系列的风格;
软件需求规格说明书 第 5 页 共 14 页
, 屏幕布局或解决
方案
气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载
的限制;
, 将出现在每个屏幕的标准按钮、功能或导航链接;
, 快捷键;
, 错误信息显示标准。
对于用户界面的细节,例如特定对话框的布局,建议写入一个独立的用户界面规格说明
中,不要写入软件需求规格说明书中。
3.2 硬件接口
描述系统中软件和硬件每个接口的特征。可能包括支持的硬件类型、软硬件之间交流的
数据和控制信息的性质以及所使用的通信
协议
离婚协议模板下载合伙人协议 下载渠道分销协议免费下载敬业协议下载授课协议下载
。
3.3 软件接口
描述产品与其它外部组件(由名字和版本识别)的连接,包括数据库、操作系统、工具、库和集成的商业组件。明确并描述在软件组件之间交换数据或信息的目的,描述所需要的服务以及内部组件通信的性质,确定将在组件之间共享的数据。如果必须用一种特殊的方法来
实现数据共享机制,那么就必须把它定义为一种实现上的限制。
3.4 通信接口
描述与产品所使用的通信功能相关的需求,包括电子邮件、WEB浏览器、网络通信标准或协议及电子表格等,定义相关的信息格式、规定通信安全或加密问题、数据传输速率和同
步通信机制。
4. 功能需求
4.1 整体功能描述
[将功能性需求先粗分再细分,下表中的 Feature A, Function A.1等符号应当被替换成有
] 含义的名称。也可以用功能结构图表示
功能类别 功能 优先级
Feature A Function A.1
Function A.2
…
Feature B Function B.1
Function B.2
… 软件需求规格说明书 第 6 页 共 14 页
…
优先级说明:必须且优先 1;必须但一般 2;可选且优先 3;可选且一般 4;本期不考虑 5
4.2 功能Feature A
4.2.1 用例图
给出该功能对应的用例图
例:
借阅图书
借阅人
4.2.2 用例规约
详细列出与该特性相关的功能需求。这些是必须提交给用户的软件功能,使用户可以使用所提供的特性执行服务或者使用所指定的用例执行任务。描述产品如何响应可预知的出错
条件或非法输入或动作。
用例名称:
用例ID:
角色: 本功能的执行人员
用例说明: 本功能的简要说明
前置条件: 该功能启动的前提条件
基本事件流: 详细描述功能的主要事件
备选事件流: 详细描述功能的分支事件
异常事件流: 详细描述功能的异常事件
后置条件: 该功能结束的退出条件
输入/输出: 描述本功能的输入/输出信息(包括需要访问的存储信息)。 业务规则: 列举出与该功能相关的操作规则。例如什么人在特定环境下可以进行何
种操作。
例:
用例名称: 图书借阅
软件需求规格说明书 第 7 页 共 14 页
用例ID: LIB001
借阅人 角色:
用例说明: 借阅人通过此功能向系统查询并提交借书请求 前置条件: 1. 借阅人借阅证件在有效期内
2. 借阅人没有逾期未归还的图书
基本事件流: 1用户用借阅证提供的帐号登录系统,系统显示我的图书馆界面
2.用户选择查询图书,系统显示查询界面
3.用户按书名、作者、出版社查询,系统显示查询结果
4.用户可单选或多选书本,并确认借阅。系统显示确认借阅图书清单。
5.用户选择确认借阅,系统显示借阅定单及费用
6用户选择提交定单,系统显示提交结果和定单号
7.系统执行后置条件
备选事件流: 2.1.1用户选择查看原有定单,系统执行4;
4.1.1用户可单选或多选书本,放入借书篮,系统显示借书篮现有内容
4.1.2.1.1用户选择继续借书,系统执行2;
4.1.2.2.1用户选择提交借书篮,系统执行4
4.2.1 用户选择放弃,系统执行2;
6.1.1用户选择保存定单,系统保存并执行1;
6.2.1用户选择放弃,系统执行1;
异常事件流: 1.1.1借阅证已过期,拒绝登录,结束
1.2.1借阅人有逾期未归还书本,启动“归还图书”功能
5.1.1用户余额不足,系统显示余额和所需金额
5.1.2.1.1用户选择续费,启动“交纳借阅费”功能
5.1.2.2.1用户选择放弃,系统执行1后置条件: 1. 创建借书定单
2. 更新借阅人借阅记录
输入: 借阅证号码
输出: 费用记录
借阅定单
业务规则: 每次每人至少选择一本,至多选择三本
4.3 功能点Feature B
5. 非功能需求
5.1 性能需求
软件需求规格说明书 第 8 页 共 14 页
阐述不同的应用领域对产品性能的需求,并解释它们的原理以帮助开发人员做出合理的设计选择。确定相互合作的用户数或者所支持的操作、响应时间以及与实时系统的时间关系;还要定义容量需求,例如存储器和磁盘空间的需求或者存储在数据库中表的最大行数。也可
能需要针对每个功能需求或特性分别陈述其性能需求,而不是把它们集中在一起陈述。例如:
WINDOWS 2000450MHZ Pentium II 50%的的计算机上,当系统至少有的空闲资“在运行
95%的目录数据库查询必须在两秒内完成”。 源时,
5.2 安全性需求
陈述与系统安全性、完整性或私人问题相关的需求,这些问题将会影响到产品的使用和产品所创建或使用的数据的保护。明确产品必须满足的安全性或保密性策略。一个软件系统的安全需求的范例如下:“每个用户在第一次登录之后,必须更改他的最初登录密码。最初
的登录密码不能重用。”
5.3 软件质量属性
详尽陈述与客户或开发人员至关重要的质量特性。这些特性必须是确定、定量的并可验证的。至少应指明不同属性的相对侧重点,例如易用程度优于易学程度,或者可移植性优于
有效性。
5.4 其它需求
定义至今未出现的需求。例如国际化需求、法律上的需求、有关操作、管理、维护、安装、配置、启动、关闭、修复、容错、登录、监控等等方面的需求。说明本产品在可使用性、
可维护性、可移植性、可靠性和安全性等方面的要求。
6. 数据字典
6.1 实体关系图
软件需求规格说明书 第 9 页 共 14 页
订单号总购书价购书号列表购书数量列表顾客号姓名住址等级„
订单顾客订单号
包含图书号
数量
仓库号仓库名地点图书号
出版社图书库藏仓库
单价
作者
图书号仓库号数量...
采购订单号包含
图书号
数量
采购订单供应厂商
采购订单号总购书价购书号列表购书数量列表厂商号厂商名地址6.2 实体定义
指出数据项名、定义、项结构组成、项范围、项类型。
Be_图书 实体名称
每本图书都经有上架,预定,借出,返回待查和下架几个状态,详细请参看图书状态图 实体描述
属性名称 类型 精度 说明(属性的业务含义及业务规则 )
图书编号 字符 图书类别编号(3位)+图书购入年份(4位)+流水12
(5)位 号图书分类 字符 图书的分类 3
名称 字符 书本的封面名称 100
作者 字符 书籍的作者 20
软件需求规格说明书 第 10 页 共 14 页
出版社 字符 书籍标明的出版社 100
出版日期 日期 书籍标明的出版日期
版本信息 字符 书籍标明的出版社 100
简介字符书籍的内容简介,上架时录入1000
状态 字符 书籍的状态,请参看图书状态图 1
附录A:分析模型(也可以纳入 4功能需求章节中描述) 包括或涉及到相关的分析模型的位置,例如数据流图、类图、状态转换图等。 顶层数据流图:
DBMS1.1DBMS1.2DBMS1.3暂存订单书籍库存采购订单
PBMS1.1FBMS1.1 用户登入FBMS1.7 订货单
FBMS1.2 密码修改FBMS1.8 发货单书籍FBMS1.3 订单
FBMS1.9 付款顾客网上书店管理系统供应FBMS1.4 发货票厂商FBMS1.5 付款FBMS1.10 收据
FBMS1.6 收据
DBMS1.5DBMS1.4DBMS1.6DBMS1.7
应收款明细帐销售历史应付款明细帐总帐
第1层数据流图:
软件需求规格说明书 第 11 页 共 14 页
采购订单暂存订单DBMS1.3DBMS1.1
订单FBMS1.3
发货订货通知订货单FBMS1.4FBMS2.2FBMS1.7书籍供应2.12.2顾客厂商到货通知销售采购发货单付款FBMS2.3FBMS1.8FBMS1.5
收据修改修改FBMS1.6付款单FBMS2.4询问询问付款FBMS1.9收款单书籍库存FBMS2.1收据DBMS1.2FBMS1.10销售历史
DBMS1.42.3
结算
应收款明细帐总帐应付款明细帐
DBMS1.5DBMS1.6DBMS1.7 数据流图: 第2层
书籍库存
2.1.32.1.42.1.5订单不能满足的订单编辑检查产生暂存顾客
订单订单订单
新顾客注册订单订货通知/旧顾客登陆可满足订单
的订单2.1.1新密码暂存订单采购部门2.1.2注册修改密码修改成功/登陆订单到货通知顾客信息2.1.6记录对比暂存书籍库存
订单
订单会计部门收款单2.1.82.1.92.1.10
计算顾客检索编写2.1.7收据经验值库存销售历史开发货票
并修改
库存销售历史应收款明细帐
软件需求规格说明书 第 12 页 共 14 页
附录B:待确定问题的列表
编辑一张在软件需求规格说明书中待确定问题的列表,其中每一表项都是编上号的,以
便跟踪调查。
附录C:编写文档的原则
编写文档时,要求具有本规范规定的所有条目如果某条目无内容,则填写“无”,并在可
能的情况下说明理由。必要时,可增加适当的条目。
编写优秀的需求文档没有现成固定的方法,最好是根据经验进行。许多需求文档可以通过使用有效的技术编写风格和使用用户术语而不是技术术语的方式得以改进。你在编写需求
文档时,应牢记以下几点建议:
, 保持语句和段落的简短;
, 采用主动语态的表达方式;
, 语法正确,句子完整;
, 使用的术语与词汇表中所定义的术语一致;
, 避免模糊的、主观的术语如用户友好、容易、简单、迅速、有效、许多、最新技术、
优越的、可接受的、健壮的等等;
, 避免使用比较性的词汇如提高、最大化、最小化、最佳化等。定量说明所需要提高
的程度或者说清一些参数可以接受的最大值和最小值。含糊的语句表达将引起需求
的不可验证。
, 由于需求的编写是层次化的,因此,可以把顶层不明确的需求向低层详细分解,直
到消除不明确性为止。编写详细的需求文档,所带来的益处是如果需求得到满足,
那么客户的目的也就达到了,但是不要让过于详细的需求影响了设计。如果你能用
不同的方法来满足需求,并且这种方法是可接受的,那么需求的详细程度也就足够
了。然而,如果评审需求规格说明书的设计人员对客户的意图还不甚了解,那么就
需要增加额外的说明,以减少由于误解而产生返工的风险。
, 需求文档的编写人员总是力求寻找到恰如其分的需求详细程度。一个有益的原则就
是编写单个的可测试需求文档。如果你想出一些相关的测试用例可以验证这个需
求,那么就达到了合理的详细程度。如果你预想的测试很多并且很分散,那么就要
将一些集合在一起的需求分离开。
, 必须以相同的详细程度编写每个需求文档。
, 不应该把多个需求集中在一个冗长的叙述段落中。在需求中,诸如“和”,“或”之
/或”,“等等”类的连词就表明了该部分集中了多个需求。不要在需求说明中使用“和
软件需求规格说明书 第 13 页 共 14 页
之类的连词。
, 不应该出现需求的冗余。
附录D:需求评审报告摘要
需求评审报告摘要
需求文档 输入名称,标识符,版本,作者,完成日期,...
需求评审报告 输入名称,标识符,评审日期,...
[ ] 工作成果合格,“无需修改”或者“需要轻微修改但不必再审核”。
[?] 工作成果基本合格,需要做少量的修改,之后通过审核即可。 评审结论
[ ] 工作成果不合格,需要做出比较大的修改,之后必须重新对其评
审。
评审意见
评审小组成员 输入评审小组成员
软件需求规格说明书 第 14 页 共 14 页