软件需求的分析要透过现象看本质,不能只停留在表面。再好的方法也需要有明确的范围和清晰的目标,才能发挥其最大作用。

需求也是不断变化的需求,而需求的变化也无疑加重了软件开发人员的工作量。那么如何控制这种变化,就是我们需要做的。最有效的方法,就是找到需求变化的来源。找到了来源,才能更好的把控这种变化,以及变化带来的各种后果反应。

用户其实并不是需求变化的来源,用户为之服务的人群才是变化的来源。服务对象的各种需求会随着社会环境的变化而变化,那么相对应的,用户的需求也会随之发生变化。本书提出的创新观点,即把客户业务,对象业务和软件系统同时作为研究对象,这样就会更好的把控需求变化。形式逻辑中的假设方法,也是一种很好的控制需求变化的方法。

自然语言总是有歧义的,比如我说一句:“今天的太阳真好。”有的人可能认为重点是今天的太阳,而不是明天的太阳;有的人会认为重点在太阳,是太阳很好而不是月亮很好;还有的人可能觉得好才是重点。只是一个很简单的句子,不同的人看到就会有这么多不同的理解,更何况是需求分析这种复杂逻辑性强的东西了。所以我们要尽可能的消除这种自然语言的二义性,保证大家的理解和认知能尽可能的保持一致。

为了保持这种相对一致,UML描述语言、基于代数的形式化描述、VDM、LOTOS形式化描述语言等等这些逻辑比较严密的描述语言就被运用了。但是事有两面,虽然这些语言在消除自然语言二义性上有很大的成效,但是学习起来就比较困难。所以我们还是选择了相对易懂好理解的自然语言,结合表格、图形、模型等等来描述需求,这样多种形式结合起来,也大致能够达到我们预想中的目标。

posted on 2020-11-15 19:53  在下程序猿  阅读(54)  评论(0编辑  收藏  举报