《软件需求十步走》阅读笔记二
软件需求的分析要透过现象看本质,不能只停留在表面。再好的方法也需要有明确的范围和清晰的目标,才能发挥其最大作用。
需求也是不断变化的需求,而需求的变化也无疑加重了软件开发人员的工作量。那么如何控制这种变化,就是我们需要做的。最有效的方法,就是找到需求变化的来源。找到了来源,才能更好的把控这种变化,以及变化带来的各种后果反应。
用户其实并不是需求变化的来源,用户为之服务的人群才是变化的来源。服务对象的各种需求会随着社会环境的变化而变化,那么相对应的,用户的需求也会随之发生变化。本书提出的创新观点,即把客户业务,对象业务和软件系统同时作为研究对象,这样就会更好的把控需求变化。形式逻辑中的假设方法,也是一种很好的控制需求变化的方法。
自然语言总是有歧义的,比如我说一句:“今天的太阳真好。”有的人可能认为重点是今天的太阳,而不是明天的太阳;有的人会认为重点在太阳,是太阳很好而不是月亮很好;还有的人可能觉得好才是重点。只是一个很简单的句子,不同的人看到就会有这么多不同的理解,更何况是需求分析这种复杂逻辑性强的东西了。所以我们要尽可能的消除这种自然语言的二义性,保证大家的理解和认知能尽可能的保持一致。
为了保持这种相对一致,UML描述语言、基于代数的形式化描述、VDM、LOTOS形式化描述语言等等这些逻辑比较严密的描述语言就被运用了。但是事有两面,虽然这些语言在消除自然语言二义性上有很大的成效,但是学习起来就比较困难。所以我们还是选择了相对易懂好理解的自然语言,结合表格、图形、模型等等来描述需求,这样多种形式结合起来,也大致能够达到我们预想中的目标。
需求分析的核心是业务研究,这也是很创新的一个思维。重点是业务研究,其次再到技术研究。将业务研究透彻之后,再去进行技术研究,才能使技术发挥出其最大作用。假如业务研究的不透彻,不具体,那么技术研究的再好,这个软件系统整体还是不完整的。所以在分析过程中,要把业务研究放在首位,业务研究是基础。
软件需求的验证工作,其目的是为了保证需求的完整性和正确性。说的明白点,就是保证我做出来的这个东西正是用户所需要的。不仅需要人工验证,借助于机器验证也是一个很好的办法。机器验证会模拟一个软件系统的运行环境,不仅能够测试系统逻辑的正确性,还能给出系统的相关参数。并且在这个过程中要慎用基于从前的工作经验的验证方法。
转载于:https://www.cnblogs.com/meimiaozi/p/5003066.html
- 《软件需求十步走》阅读笔记一
- 《软件需求十步走》阅读笔记第二篇
- 《软件需求十步走》阅读笔记一
- 《软件需求十步走》阅读笔记二
- 《软件需求十步走》阅读笔记第一篇
- 《C专家编程》阅读笔记
- 《ASP.NET 2.0编程珠玑》阅读笔记
- 《代码大全2》阅读笔记16 -- Chapter 13 Unusual Data Types
- 《Head First 设计模式》阅读笔记(二)——观察者模式
- 《C专家编程》阅读笔记
- 《走近云计算》阅读笔记3--亚马逊的云服务
- 《JavaScript高级程序设计》阅读笔记(五):ECMAScript中的运算符(一)
- 《JavaScript高级程序设计》阅读笔记(三) ECMAScript中的引用类型
- HELLOWIN程序详细注释——《Windows程序设计》阅读笔记
- 《代码大全》阅读笔记 第二章,用隐喻更充分的理解软件开发
- 《气场修习术》阅读笔记
- 《Switch》阅读笔记
- 《推荐系统实践》阅读笔记二 利用用户标签进行推荐
- 《移动的帝国》阅读笔记
- 《Effective c++》阅读笔记二:让自己习惯于C++