02软件需求模式

需求模式:定义一种特定类型需求的方法。需求模式应用于单个需求,一次帮助定义一个单一需求。使用需求模式的好处:第一,需求模式提供指导:建议包含哪些信息、提出忠告、提醒常见缺陷以及指出其他应该考虑的问题。第二,需求模式节省时间:不需要从开头开始写每一个需求,因为模式给予了合适的出发点,以及开发的基础。第三,需求模式促进同种类型需求的一致性。其中提供指导是最有价值的。节省定义的时间和增加一致性固然很好,但是合理的指导可以获得更好的需求,避免后续工作中的巨大麻烦。

需求模式提供的指导通常比只是“比如说这样”更深入。它可以深入洞察即将发生的问题。它可以帮助提出问题。在一些情况下,它可以引导编写一个(或多个)非常不同于第一印象的需求。解答一个大问题经常引出很多很小的问题。需求模式针对大问题给出答案以及化为更小的问题。

一些需求模式要求或者鼓励定义一些额外需求:包括跟随性需求:扩展最初需求的需求,以及系统级普遍性需求:支撑模式本身的需求。这样可以检查每一个需求是否需要额外支撑需求,以及是否已经定义了他们。

模式有不同的详细程度和价值。一些类型的需求可以定义得非常详细,它们的实例几乎一样。其他类型的需求虽然有一些普遍有价值的东西,但是这些需求如此多变甚至不能描述应该表达什么。这些变化是正常的。模式只需要证明自己是有价值的;它不必做模式可能做的所有的事。另一方面,反复遇到一种特别需求并不意味这种需求模式自然而然就有价值。如果很难概括这种需求的共性,就很难指导怎样定义这种类型的需求。

需求模式需要描述什么时候使用模式以及基于模式如何编写需求。它还可以提示如何实现以及如何测试这种需求。每个需求模式包含如下的要素:1)基本细节2)适用性3)讨论4)内容5)模板6)实例7)额外需求8)开发考虑9)测试考虑。

需求模式可以自由使用其他领域中的基础架构。但是最好避免相互依赖,所以如果一个领域依赖另一个领域,那么后一个领域就不应该依赖前一个领域——如果可以避免的话。一个基础架构也可以依赖另一个基础架构。每个基础架构概述分成下列小节:1)目的 解释基础架构存在的理由,以及扮演的角色。2)调用需求 关于系统与基础架构如何交互的需求定义的建议——基础架构必须提供这些功能给系统——以及系统期望的其他的能力。需要的功能可以被看作是基础架构提供给调用者的接口。3)实现需求 为了使基础架构站得住脚所需要的一些特性的想法。这些是比较简短的,只是在定义基础架构时提醒一些需要考虑的可能的主要功能域。

当几个需求模式有共同的特性,可以建立一个需求模式组,用于描述它们共同的方面,而不必在每个模式中重复。一个需求模式组不是一个需求模式:不能建立这种类型的需求。但是一个组可以包含下列出现在需求模式定义中的任何部分:“额外需求”、“开发需求”和“测试需求”。包括哪一部分而省略其他部分的原则是是否有一些事情值得说。任何时候如果某一部分出现在了需求模式组里,模式的相应部分应该包含一个注释,提醒参考需求模式组。

领域和需求模式组的区别在于领域中的模式共有一个主题,而在模式组中的模式有共同的细节特性。一个组中的模式不一定属于同样的领域。

当使用一个需求模式时,应该描述建立这种类型需求的需要知道的所有事。但是一个模式可能会因为一些原因引用其他模式。需求模式之间的关系存在两种基本类型:1)引用 一个需求模式可以在定义中提到另一个模式。2)扩展 一个需求模式以另外一个模式为基础开发。在面向对象的术语中,这是继承关系。除了扩展另外一个模式,需求模式可以扩展为需求模式组。

保持最初的需求,但是分割成多个部分,使他们变成附加需求,这就是提炼主要需求。每个提炼需求应该定义一个特别的方面。每个提炼应该定义它依赖的需求。

时间: 2024-08-12 09:57:59

02软件需求模式的相关文章

软件需求模式阅读笔记02

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

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

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

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

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

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

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

软件需求模式阅读笔记04

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

软件需求模式阅读笔记01

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

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

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

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

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

《软件需求模式》04

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