03《软件需求模式》

需求模式最主要的目的是帮助定义一个新系统需要做什么。即使是最敏捷的、不编写正规需求的开发人员,也可以使用模式——在这种情况下,需求模式可以直接作用于思考,而不是通过中间的需求分析步骤。在定义系统期间,有两种场合使用需求模式:

1)当定义需求时,看是否存在一个模式可以指导如何定义这种需求。然后这个模式就可以提供详细的建议,例如应该描述什么,如何描述,其他还要担心什么,还有考虑什么额外主题。一旦决定使用一个模式,就要通读整个模式(或者熟悉它描述的所有事情,这样可以不必每一次都阅读)。也就是说,熟悉面前的模式,按照他告诉的去做。

特别注意“额外需求”一节所说的,因为他可能深刻的影响系统的本质和质量。即使认识到模式建议的额外需求的价值,可能你不想马上就撤下主要的工作去处理他们。没问题:只要标记还有工作要做。还需要注意使用的模式依赖的每一个基础架构:把他加到需求规格的“基础架构”部分,并确信被合适的定义。

2)当考虑需求是否完全时,浏览主题覆盖的整套模式——看是否还有遗漏,或者是否需要添加什么东西。

其次,需求模式也可以在事后使用——也就是说,需求已经编写完成。事后使用是否方便,以及效果如何,要看定义需求时是否使用了模式,如果是,还要看对模式遵守的程度。需求已经编写完以后使用模式有几种主要方式:

3)当评审需求规格时,模式可以帮助检查需求的质量,确定还有那些主题没有定义,理解特定需求的意义和内涵。

4)当评估系统的规模以及开发所需的工作量时,基于需求,使用模式可以对实现的复杂性有更准确的感觉。

如果在以前项目中有记录一个特性所花的时间,就可以计算实现一种特定类型的需求需要的工作量——也就是说,可以记录每个模式的度量,这样可以快速估算基于模式的所有需求的工作量。

5)当实现需求的时候,模式可以使你更深刻的理解需求的意图。

6)当测试需求的时候。

使用需求模式有几个好处:

1)需求更容易阅读——因为为了建立一个模式投入了大量的思考,远比能投入在一个需求上的思考要多。

2)需求更容易与同样类型的其他需求比较——因为他们的结构相似。

3)可以判断是否有遗漏——因为对照模式可以知道是否需求缺少模式中的一些内容。

4)编写需求更容易——因为可以按照主题的检查列表思考。对于没有经验的分析师这是最大的帮助。

5)可以参考编写的模式获得更多的信息。

6)编写需求规格时可以参考模式——检查是否有任何类型的需求应该定义但是被忘记了。

使用需求模式有几个坏处:

1)可能被诱导疏于思考——因为如果机械的应用模式,特别是从模板复制文字然后填充空白,有可能没有充分的调动你的智力。

2)可能滥用模式——如果在不恰当的环境中使用模式。为了提防这个,确信你完全掌握了你使用的每个模式(特别是适合使用的情况),并且确信应用模式的需求适合这个环境。

3)很多需求可能措辞相似。

需求的措辞很大程度上取决于个人的偏好,我们不会过度的限制,因为这样可以使需求更生动,而不是华而不实的技术文档。措辞还要考虑组织的文化,还有,以客户的语言编写需求规格是并且永远是最重要的。由于这些原因,需求模式模板中使用的语言应该与使用模式的需求规格的语言一致。风格的突然改变会让读者感到突兀和不舒服。最坏的情况下,由于规格的一些语言来自组织外部,可能会损害作者的信誉。由于这些原因,有必要裁剪需求模式而不是设计模式。所以准备好做裁剪。模式的基础是一样的;裁剪只是对使用模式产生的需求做一些调整。有时候只是需要改变需求定义模板,然后修改例子反映对模板的修改。同时要检查其他的模式是否与修改的模板一致,并按照需要调整他。

不要轻率地对待一个新模式,或者说只是因为喜欢一个想法。只有新模式能够交付足够有用的价值时才去做。这是主观判断,可以基于定义这种类型的需求将会节省多少时间、有多少需求合适、每一个将节省多少时间,还有编写需求会得到多大的收益。

时间: 2024-10-25 11:26:22

03《软件需求模式》的相关文章

需求工程-软件需求模式读书笔记1

今天读完这本书<软件需求模式>的第一部分,也就是准备阶段. 需求分析是困难的.需求分析师又往往缺少经验和训练.本书的目的是帮助和决定新的软件应该走什么,建议添加那些额外的特性,使系统更好或更卓越.需求模式是经验的结晶,本书主要建好了37个模式,解决了所有系统中反腐出现的特定问题.适合业务分析师.软件架构师和工程师.软件开发人员.软件测试人员.项目经理等人员阅读.. 软件系统的需求定义他要定义的问题:它的的意图和目的.为了更好地构造系统需要一系列的改进.该书主要可分为两部分:第一部分:解释开始,

软件需求模式阅读笔记之五

这周我学习的是软件需求模式的第二章------需求规格的内容. 目前为止还没有唯一正确的方法阻止需求规格,但是反复出现在大部分系统中的主题,是我们应该注意和掌握的内容.从大的方面来说,需求规格可以分为四个部分,分别是介绍部分,上下文部分,功能域部分,主要非功能要求部分四个方面,其中功能域部分定义了系统实际上要做的内容. 介绍部分包括系统目的,文档目的,需求格式,词汇表,参考书目以及文档历史.这个板块主要是介绍系统规格.这其中要注意,系统目的是系统本身的目的,而不是项目的目的,是落脚于功能的:文档

软件需求模式阅读笔记04

今天开始阅读<软件需求模式>的第7.8章,其中第7章主要讲的是数据实体需求模式,主要是数据处理的一些需求模式,而第8章讲的是用户功能需求模式,主要是介绍了如何应对用户的一些需求. 第7章数据实体需求模式,系统的开发者常常是以轻视,随意的态度对待信息,没有规则定义什么时候数据可以被删除,对丢失数据很松懈--而本章就是通过引入一种方案把所有的实体分为几个固定种类,增加秩序性和一致性. 活实体需求模式,它用来定义一种实体,它的信息需要保存,并且具有预期寿命.但是不能将它应用于系统配置的实体:而应该使

软件需求模式阅读笔记02

今天我开始阅读<软件需求模式>这本书的第3,4章,以下是从这本书中获得的一些知识. 其中第3章描述了需求模式扮演的角色,解释了每个模式的一些具体内容和具体结构.而第4章则介绍了何时以及如何去使用需求模式,如何从原有的模式创造出新的模式或者直接编写新的模式. 第3章首先为我们解释了需求模式的概念:定义一种特定类型需求的方法.需求模式就是为我们提供一种需求定义的方法,我们省去自己去从头定义需求的时间.我们使用需求模式可以1.合理利用它的指导,2.节省开发时间3.可以促进同类型需求的一致性. 而需求

软件需求模式阅读笔记01

在本学期的学习课程中,我们也学习软件需求分析的相关课程.为了更好地学习该科目,同时也为了拓展自己的知识层面,特意挑选了<软件需求模式>来进行阅读. 在本周的课余时间,我也对<软件需求模式>进行了简单的阅读.对软件需求的相关知识有了更进一步的了解. 需求无处不在,在我们的日常生活当中,我们也会有各种各样的生活需求.而需求放到了软件行业,就成了软件需求.在我们大学生活当中,由于缺少对软件行业的了解,缺少对于软件工程的了解,我们对于软件需求也只能停留在纸面的阶段,只有当我们真正步入软件行

《软件需求模式》读书笔记04

在系统开发的过程中,开发者常常是以轻视.随意的态度对待信息,为了解决众多的系统以马马虎虎的方式处理数据的问题,我们需要一种方案--数据实体需求模式.该方案把所有的实体分为几个固定的种类,共享很多重要的特征,目的是施加一些秩序和一致性.数据实体领域的需求模式包含:数据实体(活实体.交易.配置.编年史)和信息储存.其中,活实体需求模式是用来定义一种实体,它的信息需求保存,并且有预期寿命(也就是说,可以被建立,可以被多次修改,并最终被终止).它的内容必须至少包括:实体名称.实体的解释.实体包含的信息.

《软件需求模式》阅读笔记02

通过上一次对<软件需求模式>前两章的阅读,我了解了需求是什么,而作为这本书的书名,我们自然就要了解什么是需求模式以及如何编写和使用需求模式. 所谓的需求模式,就是定义一种特定类型需求的方法.然而使用需求模式能够给我们带来什么好处呢?第一,需求模式提供指导:建议包含哪些信息.提出忠告.提醒常见缺陷以及指出其他应该考虑的问题:第二,需求模式节省时间:不需要从头开始写每一个需求,因为模式给予了合适的出发点,以及开发的基础:第三,需求模式促进同种类型需求的一致性.在了解了需求模式的大概的内容之后,我们

软件需求模式阅读笔记之一

不知不觉就进入了大三的学习,王老师的课还是老样子,要选择一本书进行精读,来支撑和辅助这学期的学习.这次我选择的书是由Stephen Withall编著,曹新宇翻译的<软件需求模式> .这本书包括准备开始和需求模式目录两个部分,主要目的是帮助决定和定义新的软件系统需要什么,建议添加哪些额外的特性,使系统更好或者更卓越. 大致浏览了一下这本书的目录,前四章写的是准备开始,所有这些内容都是为需求模式在打基础.后面的八章则是详细描述了基础需求模式,信息需求模式等八种需求模式. 这周我学习的是第一章--

《软件需求模式》04

在系统开发的过程中,开发者常常是以轻视.随意的态度对待信息,为了解决众多的系统以马马虎虎的方式处理数据的问题,我们需要一种方案--数据实体需求模式.该方案把所有的实体分为几个固定的种类,共享很多重要的特征,目的是施加一些秩序和一致性.数据实体领域的需求模式包含:数据实体(活实体.交易.配置.编年史)和信息储存.其中,活实体需求模式是用来定义一种实体,它的信息需求保存,并且有预期寿命(也就是说,可以被建立,可以被多次修改,并最终被终止).它的内容必须至少包括:实体名称.实体的解释.实体包含的信息.

《软件需求模式》阅读笔记03

在对需求模式的概念和内容方面有了深刻的了解之后,我将学习各类不同的需求模式. 基础需求模式是所有种类的系统都可能需要的一些东西,它包括了:技术.遵从标准.参考需求.文档.系统间接口.系统间交互.系统间需求模式是用来定义被定义的系统和任何与之交互的外部系统或组件之间的接口的基本细节,它包含了以下内容:接口名称.接口标识符.两端的系统.接口的目的.接口的所有者.定义接口的标准.用于接口的技术.在开发测试的时候,我们应该明确交互需求,找到隐含的交互以帮助满足间接陈述的目标.系统间交互需求模式是用来定义