通过上一次对《软件需求模式》前两章的阅读,我了解了需求是什么,而作为这本书的书名,我们自然就要了解什么是需求模式以及如何编写和使用需求模式。
所谓的需求模式,就是定义一种特定类型需求的方法。然而使用需求模式能够给我们带来什么好处呢?第一,需求模式提供指导:建议包含哪些信息、提出忠告、提醒常见缺陷以及指出其他应该考虑的问题;第二,需求模式节省时间:不需要从头开始写每一个需求,因为模式给予了合适的出发点,以及开发的基础;第三,需求模式促进同种类型需求的一致性。在了解了需求模式的大概的内容之后,我们需要对需求模式进行剖析。为了传达需求模式需要描述什么时候使用模式以及基于模式如何编写需求,还可以提示如何实现以及如何测试这种需求的信息,每个需求模式还包含以下的要素:(1)基本细节,就是模式声明、自己的领域、相关模式、预期使用频率、模式分类以及模式作者。(2)适用性,就是在书面情况下模式适用而在书面情况下不适用。(3)讨论,就是我们应该如何编写这种类型的需求模式和在编写的过程中需要注意的事项。(4)内容,这一块是模式的核心内容,它描述了这种类型的需求模式必须要有和额外可以有的事情。(5)模板,就是编写这类需求的一个出发点。(6)实例,使用这种模式的一个或多个典型的需求。(7)额外需求,就是这种类型的需求通常会和别的什么需求有所关联,或者是这种需求可能需要什么普遍性系统级需求。(8)开发考虑,提示如何实现这种类型的需求。(9)测试考虑,就是决定测试这种需求的时候需要记住什么。掌握了一定的需求模式的知识之后,我们再从大的方面来看待需求模式。从整个需求模式来说,我们应该把一个需求模式拆分成一些小的领域,这样来说,更能清楚地知道这类的需求到底需要我们做什么,这样更能体现一个需求模式的价值。而从不同类型的模式来看,我们需要发现不同类型的模式之间有什么相同的或者相似的地方,可以建立起引用或者扩展的相互之间的关系。所以,对于给定的系统是没有唯一的一套完美的需求模式的,这需要我们明白需求模式和方法的多样性,加深对需求模式的了解,才能更好地使用需求模式。
对需求模式有了一定的认识和了解之后,也就是说有了理论的基础之后,随之而来的当然就是实践,就是如何使用和编写需求模式。首先我们应该知道如何使用需求模式,在定义系统期间,有两种场合使用需求模式:①当定义需求时,看是否存在一个模式可以知道如何定义这种需求。②当考虑是否完全时,看是否会有遗漏什么或者要添加什么。其次,需求模式也可以在事后使用:①当评审需求规格时,模式可以帮助检查需求质量。②当评估系统的规模以及开发所需的工作量时,基于需求,使用模式可以对实现的复杂性有更准确的感觉。③当实现需求时,模式可以使你更深刻地理解需求的意图。④当测试需求的时候,用于建议测试这种需求的方法。使用需求模式可以让需求更容易阅读,更容易与同类型的其他需求比较,可以判断是否有遗漏,也可以使得编写需求更容易,其实总结一下就是能给读者带来更多的信息。最后,我们应该思考,应该如何编写需求模式,书中就给出了十五个步骤:1.是否有足够的价值2.建立模式的骨架3.编写模式的“适用性”部分4.收集需求实例5.检查需求实例6.描述需求可能包含的信息7.编写需求模板8.编写剩下的“讨论”和“内容”部分9.开发潜在的额外需求实例的列表10.确定额外需求的候选主题11.编写“额外需求”部分12.编写“开发考虑”部分13.编写“测试考虑”部分14.是否值得15.评审模式。这样就算是对需求模式的内在方面有了更深入的了解。
今天的学习阅读,让我从外而内,从面到点,对需求模式有了一个深入地了解,从学习什么是需求模式到学习如何使用需求模式,再到如何编写需求模式,从中我体会到了需求模式所带来的好处,也为之后学习不同类型的需求模式打好了基础。