《《软件需求分析》第15章.需求规格说明解析ppt课件.ppt》由会员分享,可在线阅读,更多相关《《软件需求分析》第15章.需求规格说明解析ppt课件.ppt(40页珍藏版)》请在三一办公上搜索。
1、第15章. 需求规格说明,主要内容,需求规格说明概述需求规格说明文档模版的选择与裁剪文档写作技巧优秀需求规格说明文档的特性需求规格说明的实践调查,1. 需求规格说明概述获取 VS 分析 VS 规格说明,需求获取目标是得到用户需求收集需求信息需求分析目标是更深刻的理解用户需求界定能够让用户满意的解决方案准则需求规格说明目标是定义用户需求准确描述需求及其解决方案,1. 需求规格说明概述需求规格说明活动,主要内容,需求规格说明概述需求规格说明文档模版的选择与裁剪文档写作技巧优秀需求规格说明文档的特性需求规格说明的实践调查,2. 需求规格说明文档作用,更好的传递软件系统的需求信息和解决方案给所有的开发
2、者拓展人们的知识记忆能力作为合同协议的重要部分作为项目开发活动的一个重要依据发现和减少可能的需求错误,减少项目的返工,降低项目的工作量作为有效的智力资产,2. 需求规格说明文档忽视的原因,交流途径时间压力迭代式开发敏捷,2. 需求规格说明文档类型,2. 需求规格说明文档类型,2. 需求规格说明文档内容,前景和范围内问题域信息解决方案需求,2. 需求规格说明文档作者,项目管理者组织安排、提供条件需求工程师负责人、主导人文档写作人员有时会采用,节省需求工程师的时间涉众(用户)验证人,2. 需求规格说明文档读者,2. 需求规格说明文档 手段,非形式化自然语言限制性文本半形式化结构化文本伪码/结构化英
3、语模型语言图、表形式化形式化语言数学语言:BNF,Z,主要内容,需求规格说明概述需求规格说明文档模版的选择与裁剪文档写作技巧优秀需求规格说明文档的特性需求规格说明的实践调查,3. 模版的选择与裁剪动机,优秀的文档结构组织复用:模版选择与裁剪文字写作字词、句法写作技巧,3. 模版的选择与裁剪,3. 模版的选择与裁剪,主要内容,需求规格说明概述需求规格说明文档模版的选择与裁剪文档写作技巧优秀需求规格说明文档的特性需求规格说明的实践调查,4. 文档写作技巧原则,写作是一门艺术没有什么固定的规律有一些效用有限的经验原则文档的组织方式;常见情景的处理;常用的写作技巧;容易出错的地方等。文档化的目标是交流
4、简洁、易读 VS 严格、准确不要机械的照搬某些标准和规则,有没有另外一种更容易理解的表达方式?是否一次性提供了太多的信息?对读者来说什么是重要的,什么是不重要的?是否太抽象了?需不需要举例说明?是否太专业了?需不需要解释原理?会不会引起读者对内容的错误解释?哪些内容有益于读者?有益于哪些读者?文档在整体上是不是过于机械、乏味或者松散?文档枯燥吗?令人厌烦吗?,4. 文档写作技巧结构组织,所有内容位置得当借鉴和使用标准的文档模版引用或强化,但不重复引用而不是复制强化与重复引言与冗余元文本,4. 文档写作技巧表达方式,形式依赖于内容根据需要表达的内容,选择合适的表达方式使用系统的表达方式人们倾向于
5、系统的表达方式使用相同的语句格式来描述所有的细节需求。使用列表或者表格来组织独立、并列的信息。使用编号来表达繁杂信息之间的关系,包括顺序关系、嵌套关系和层次关系。,4. 文档写作技巧细节描述,定义术语表或数据字典术语不一致“方言”问题错误术语和冗余术语避免干扰文本“这一段的意思是”“上一句话是指”避免歧义词汇表151,主要内容,需求规格说明概述需求规格说明文档模版的选择与裁剪文档写作技巧优秀需求规格说明文档的特性需求规格说明的实践调查,5. 优秀需求规格说明文档的特性,完备性标准描述了用户的所有有意义的需求,包括功能、性能、约束、质量属性和对外接口。定义了软件对所有情况的所有实际输入(无论有效
6、输入还是无效输入)的响应。为文档中的所有插图、图、表和术语、度量单位的定义提供了完整的引用和标记。前景和范围TBD问题,5. 优秀需求规格说明文档的特性,一致性标准细节的需求不能同高层次的需求相冲突,例如系统需求不能和业务需求、用户需求互相矛盾同一层次的不同需求之间也不能互相冲突评审自动化检查,5. 优秀需求规格说明文档的特性,根据重要性和稳定性分级建立需求的优先级可修改标准它的结构和风格使得人们可以对其中任一需求进行容易地、完整地、一致地修改,同时还不会影响文档现有的结构和风格文档的可修改性要求:有着条理分明并且易于使用的组织方式,包括目录、索引和显式的交叉引用。没有重复冗余。独立表达每个需
7、求,而不是和其他需求混在一起。,5. 优秀需求规格说明文档的特性,可跟踪后向跟踪(Backward traceability)能找到需求的来源,例如和更早期文档的显式关联。前向跟踪(Forward traceability)能找到需求所对应的设计单元、实现源代码和测试用例等,它要求每个需求都要有唯一的标识或者可供引用的名称,主要内容,需求规格说明概述需求规格说明文档模版的选择与裁剪文档写作技巧优秀需求规格说明文档的特性需求规格说明的实践调查,6. 需求规格说明的实践调查,需求规格说明文档的编写和使用时间压力替代品迭代式开发,6. 需求规格说明的实践调查,需求规格说明文档的内容,6. 需求规格说
8、明的实践调查,需求规格说明文档的内容,6. 需求规格说明的实践调查,需求规格说明文档的内容,6. 需求规格说明的实践调查,模版和示例的使用,6. 需求规格说明的实践调查,需求规格说明文档的描述语言,实例分析,由于时间压力以及采取迭代开发的方式,造成了该项目没有编写需求规格说明书。但是可以采用更为灵活的方式编写,例如wiki。我曾在某一预研性质的项目中使用wiki来完成各类文档。结果证明它非常好用。个人认为wiki非常适合用在迭代开发以及预研性质的项目中编写文档。,实例分析,我们公司项目的需求规格说明书,主要存在以下几点问题:模版不是很统一,具有很多个人的特点没有明确的业务需求、用户需求、系统需
9、求,这三个层次,在需求规格说明书中或多或少地涵盖前三项内容,但显得不够饱满和清晰。鉴于项目的状况,一般较少考虑硬件需求,倒是一般来说,项目上线选用的都是最新的硬件设备,成本较高。内容的书写,自然语言居多,出现歧义、省略、模糊的机会较多,质量不高从项目的后期来看,性能需求、约束、质量需求没有明确地分门别类地明确列出,导致后期项目中的各个业务流程还是基本可行,但是整体系统还是出现不满足需求的地方。,实例分析,需求分析报告中夹杂了很多专业名词和行业名词,例如横冲、平衡等等,部分客户看不懂,部分程序员看不懂,只有自己心里明白,但这样就会造成客户和程序员理解上的问题,应该加些注释尽量写得比较白话。另外报告中写得比较凌乱,没有把相关问题归类整合,编写目录,并得到客户的签字确认,导致程序员零散地一条条对着开发,很多地方衔接不是很好,另外客户很多想法尤其一些重要部分在软件交付的时候会有所改变,没有签字确认只能自认倒霉。,思考题,什么时候建立术语表?在需求获取和需求分析当中采用哪些手段可以保证最终需求集的完备性、一致性和正确性?,本章小结,需求规格说明定义解决方案和需求,承载需求分析的成果需求规格说明是一项复杂的活动,正确的文档写作要求准确的界定文档的特性掌握文档模版的裁剪技巧和文档的写作技巧,可以帮助提高需求规格说明文档写作的能力优秀的需求规格说明文档需要达到一定的要求,