软件需求规格说明书模板201703 下载本文

它文档(如项目计划)中了,那么在此就可以参考其它文档。

2.7 关键点

说明本软件需求规格说明书中的关键点(例如:关键功能、关键算法和所涉及的关键技术等)。

3. 外部接口需求

确定可以保证新产品与外部组件正确连接的需求。关联图表示了高层抽象的外部接口。需要把对接口数据和控制组件的详细描述写入数据字典中。如果产品的不同部分有不同的外部接口,那么应该把这些外部接口的详细要求并入到这一部分的实例中。

3.1 用户界面

陈述所需要的用户界面的软件组件。描述每个用户界面的逻辑特征。以下是可能要包括的一些特征:

? 将要采用的图形用户界面标准或产品系列的风格; ? 屏幕布局或解决方案的限制;

? 将出现在每个屏幕的标准按钮、功能或导航链接; ? 快捷键;

? 错误信息显示标准。

对于用户界面的细节,例如特定对话框的布局,建议写入一个独立的用户界面规格说明中,不要写入软件需求规格说明书中。

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 … … 功能

4.2 系统特性Feature A

4.2.1 说明和优先级

提出对该系统特性的简短说明并指出该特性的优先级是高、中还是低。

4.2.2 功能需求

详细列出与该特性相关的功能需求。这些是必须提交给用户的软件功能,使用户可以使用所提供的特性执行服务或者使用所指定的用例执行任务。描述产品如何响应可预知的出错条件或非法输入或动作。

4.2.2.1

(1)说明

功能 function A.1

本功能的简要说明

(2)角色

本功能的执行人员 (3)前置条件

该功能启动的前提条件 (4)输入

描述本功能的输入信息(包括需要访问的存储信息)。

(5)过程

对本功能将做什么进行详细的描述。

(6)输出

描述本功能的输出信息(包括需要访问的存储信息)。

(7)后置条件

该功能结束的退出条件 (8)业务规则

列举出与该功能相关的操作规则。例如什么人在特定环境下可以进行何种操作。

4.2.2.2

(1)说明

function A.1 图书借阅

借阅人通过此功能向系统查询并提交借书请求

(2)角色 借阅人 (3)前置条件

? 借阅人借阅证件在有效期内 ? 借阅人没有逾期未归还的图书

(4)输入

借阅证

(5)过程

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 (6)输出

费用记录 借阅定单

(7)后置条件

? 创建借书定单 ? 更新借阅人借阅记录 (8)业务规则

每次每人至少选择一本,至多选择三本

4.3 系统特性Feature B

………

5. 非功能需求

5.1 性能需求

阐述不同的应用领域对产品性能的需求,并解释它们的原理以帮助开发人员做出合理的设计选择。确定相互合作的用户数或者所支持的操作、响应时间以及与实时系统的时间关系;还要定义容量需求,例如存储器和磁盘空间的需求或者存储在数据库中表的最大行数。也可能需要针对每个功能需求或特性分别陈述其性能需求,而不是把它们集中在一起陈述。例如:“在运行WINDOWS 10的3.5GHZ 双核芯片的计算机上,当系统至少有50%的空闲资源时,95%的目录数据库查询必须在两秒内完成”。

5.2 安全性需求

陈述与系统安全性、完整性或私人问题相关的需求,这些问题将会影响到产品的使用和产品所创建或使用的数据的保护。明确产品必须满足的安全性或保密性策略。一个软件系统的安全需求的范例如下:“每个用户在第一次登录之后,必须更改他的最初登录密码。最初的登录密码不能重用。”

5.3 软件质量属性

详尽陈述与客户或开发人员至关重要的质量特性。这些特性必须是确定、定量的并可验证的。至少应指明不同属性的相对侧重点,例如易用程度优于易学程度,或者可移植性优于有效性。

5.4 其它需求

定义至今未出现的需求。例如国际化需求、法律上的需求、有关操作、管理、维护、安装、配置、启动、关闭、修复、容错、登录、监控等等方面的需求。说明本产品在可使用性、可维护性、可移植性、可靠性和安全性等方面的要求。