分类: 项目管理
2009-03-06 16:10:51
软件需求规格说明书(SRS,Software Requirement Specification)是为了软件开发系统而编写的,主要用来描述待开发系统的功能性需求和非功能性需求,以及系统所要实现的功能和目标,为项目开发人员提供基本思路,明确开发方向,节约时间提高开发效率,降低软件开发风险,节约成本。
SRS主要面向系统分析员,程序员,测试员,实施员和最终用户。
SRS是整个软件开发的依据,它对以后阶段的工作起指导作用,同时也是项目完成后系统验收的依据,还是《用户手册》和《测试计划》的编写依据。
以下是SRS的描述规范:
1.功能需求
按模块为单位描述功能需求,重复以下几点描述每一模块的功能需求。
1.1 模块1
第一个模块。每个模块用一个用例图表示,在写SRS时,名字使用能够表达模块功能的短语表示,而不用模块1表示。
1.1.1 用例图
描述此模块的用例图。一个用例图中有若干个Actor、用例及其关系,描述包括涉及到的所有Actor、用例及其关系。其中,Actor是参与者;一个用例描述的是一个功能需求;关系是用例和用例之间的关系。用例的名字使用能够表达用例目标的动词短语。
1.1.2 业务流程图
用例应说明的是系统内发生的事件,而不是事件发生的方式和原因。一个业务流程图是用来描述1.1.1用例图中的一个用例事件的业务流程操作。
下面是对业务流程图对应的这个用例的描述说明:
用例编号(用需求编号加上简短词汇作为用例编号,R.INTF.CALC.002 打印)
| ||
简要说明
|
简要介绍该用例的目的、作用和背景 | |
前置条件
|
用例的前置条件是执行用例之前系统必须存在的状态 | |
后置条件
|
成功后置条件
|
用例成功执行完毕系统可能处于的一组状态 |
失败后置条件
|
用例执行失败后系统可能处于的一组状态 | |
角色
|
角色 的名称,或描述(可选) | |
触发条件
|
启动用例的动作或事件,如时间事件 | |
基本事件流描述、步骤 | 当Actor有所行动时,此用例随即开始。总是由Actor来带动用例。用例应说明Actor的行为及系统的响应。应按照Actor与系统进行对话的形式来逐步引入用例。 | |
备选事件流、步骤 | 由于主事件流中发生异常事件,这时每个备选流都可代表备选行为。 | |
特殊需求 | 特殊需求通常是非功能性需求,它为一个用例所专有,但无法在用例的事件流文本中较容易或较自然地进行说明。特殊需求的示例包括法律或法规方面的需求、应用程序标准和质量属性(包括可用性、可靠性、性能或支持性需求)。 |
以下是SRS描述规范的一个范例:
1.功能需求
1.1业务区管理
1.1.1 用例图
>
1.1.2 业务流程图
业务区创建
>
业务区创建 | ||
简要说明 | 创建给定信息的业务区 | |
前置条件 | 输入业务区名称,代码,及其他信息 | |
后置条件 | 成功后置条件 | 输出显示到页面上 |
失败后置条件 | 输出不显示到页面上 | |
角色 | 系统管理员 | |
触发条件 | 将这些信息加入到数据库中的业务区表 | |
基本事件流描述、步骤 | 1. 输入业务区名称,代码,及其他信息;2.将这些信息加入到数据库中的业务区表;3.输出显示到页面上 | |
备选事件流、步骤 | 无 | |
特殊需求 | 无 |
范例说明:
以上范例是直放站统一通讯管理系统的SRS中的第三章节,是用来描述系统的功能需求的,其中,1.1小节描述了其中一个模块——业务区管理的功能需求。其中包括了业务区管理这一模块的用例图,以及对这一用例图中由Actor带动的三个用例:业务区创建、业务区管理、业务区删除的业务流程图描述,列出了其中一个用例——业务区创建的业务流程图,以及对这个用例的简要说明、前置条件、后置条件、角色、触发条件、基本事件流、备选事件流、特殊需求等的描述。