文档介绍:软件需求工程Software Requirements Engineering( SRE ) 第二部分软件需求开发第十章编写需求文档
龚永罡
2018/6/2
学习目标
在学完本章内容之后,你应该能够:
理解文档编写的重要意义和作用;
掌握编写需求文档的方法;
学会使用SRS模板。
掌握数据字典的定义过程。
2/26
需求文档的作用
作为需求分析师,很可能经常会发现自己处于进退维谷的境地—前有业务目标,后有IT系统。这两方面都具有规模大、不易改变和灵活性差的特点,制定业务目标的人员和开发系统的人员不一定了解彼此的工作内容和成果。
如果你无法足够详细而清晰地将干系人的需求用书面的形式表达出来,则表明你没有完成捕获项目要求的任务。
3/26
需求文档的作用
前景和范围文档包含了业务需求;
用例文档包含了用户需求;
根据系统需求和用例产生功能需求文档;
根据用户需求和系统需求编写质量属性和外部接口需求等非功能需求文档。
P112
4/26
需求文档的作用
表示软件需求的三种方法:
用结构化和自然语言编写文本型文档。
建立图形化模型,这些模型可以描绘转换过程、系统状态和它们之间的变化、数据关系、逻辑流或对象类和它们的关系。
编写形式化规格说明,这可以通过使用数学上精确的形式化逻辑语言来定义需求。
P112
5/26
软件需求规格说明
SRS ( 软件需求规格说明 Software Requirement Specification ) 也称为功能规格说明、产品规格说明、需求文档或系统规格说明;
SRS 精确地阐述一个软件系统必须提供的功能和性能以及它所要考虑的限制条件;
SRS 不仅是系统测试和用户文档的基础,也是所有子系列项目规划、设计和编码的基础;
SRS 应该尽可能完整地描述各种条件下的系统行为;
SRS 不应该包括设计、构造、测试或工程管理细节。
P112
6/26
软件需求规格说明
不同的读者使用SRS来达到不同的目的
客户、市场部、销售人员需要了解他们期望的产品是怎样的;
项目经理根据它估计项目的进度、工作量和所需资源;
开发团队根据它来了解需要开发什么样的产品;
测试小组使用SRS来制定测试计划、测试用例和测试过程;
软件维护和支持人员根据SRS了解产品的功能;
文档编写人员根据SRS和用户界面设计来编写用户手册和帮助屏幕;
培训人员根据S R S和用户文档编写培训材料。
公司律师要确保该需求符合相关法律法规
分包商根据SRS来进行工作,当然这些工作必须合法。
P113
7/26
软件需求规格说明
编写SRS的要点
SRS作为产品需求的最终成果必须包括所有的需求。
任何未写入SRS中的需求,将不能作为协议的一部分,并且不能在产品中出现。
所有的参与者必须根据已通过评审的需求来安排工作,以避免不必要的返工和误解。
高质量需求文档必须具有完整性、一致性、可修改性、可跟踪性和可读性的特征。
P113
8/26
软件需求规格说明
编写SRS的要点
必须在实现每个需求集之前将需求集纳入基线。
可以采用反复地或者渐增的方式来编写SRS,这取决于如下几个因素:
是否可以一开始就确定所有的需求;
编写SRS的人是否参加系统开发;
计划发行的版本数量。
P110
9/26
软件需求规格说明
1)需求的标识
为了保证SRS的可跟踪性和可修改性的质量标准,必须唯一标识每个软件需求。
下面的标识方法有不同的优缺点需要根据具体情况进行选择:
序列号:赋予每个需求一个唯一的序列号
层次型编码:对需求中主要的部分进行层次化编号,然后对于每个部分中的单一功能需求用一个简短文字代码加上一个序列号来识别。
层次型文本标签。层次化文本标签是结构化的,具有语义上的含义, 1) 并且不受增加、删除或移动其它需求的影响。
P113
10/26