软件需求模式阅读笔记02

今天我开始阅读《软件需求模式》这本书的第3,4章,以下是从这本书中获得的一些知识。

其中第3章描述了需求模式扮演的角色,解释了每个模式的一些具体内容和具体结构。而第4章则介绍了何时以及如何去使用需求模式,如何从原有的模式创造出新的模式或者直接编写新的模式。

第3章首先为我们解释了需求模式的概念:定义一种特定类型需求的方法。需求模式就是为我们提供一种需求定义的方法,我们省去自己去从头定义需求的时间。我们使用需求模式可以1.合理利用它的指导,2.节省开发时间3.可以促进同类型需求的一致性。

而需求模式也是包含一定要素的:

1基本细节:包括模式声明,就是声明一些模式版本号,模式上次修改日期,需求方法等信息;所属领域,就是描述这个需求模式隶属于哪一个领域;相关模式,就是描述和其他相关模式之间的一些关系;预期频率:描述需求规格中这个模式可能需要用到多少次;模式分类,他就是列出模式覆盖的主要需求类型的分类;模式作者。

2适用性:描述需求模式的适用情况,它的语言必须是明确的,并且能够清楚的描述模式的适用环境。

3讨论:这部分主要考虑的如何编写这种需求,以及编写这种需求时需要注意的一些事情。

4内容:要求以条目的形式列出这种类型的需求必须传达那些信息

5模板:需求模板的目的是可以复制它作为需求描述的出发点。

6实例:每个模式必须包含至少一个或多个实例,用来演示在实践中如何使用模式

7额外需求:需求只说了必须要说的是不够的。还需要“额外需求”来描述那些需要额外考虑,以及在什么情况下需要考虑。其中额外需求有两种:跟随性需求,就是扩展原有需求,在原来的后面,定义一些附加的事情。普遍性需求,普遍性需求是适用这种类型的所有需求,并且针对整个系统只定义一次。

8开发考虑:这主要是帮助设计和实现软件的开发人员慢走这类型的需求,他提供了提示和建议,指出了开发人员不要忘记的一些事情。

9测试考虑:它主要是为了用户验收测试而编写,需要注意传达以下信息:评审这类需求需要注意的地方;总体上指导如何测试这种类型的需求;提醒一些需要注意的地方以及如何处理。

另外我们还要注意领域的概念。就是我们的需求模式不是整块的展现出来,我们需要给每一个需求模式分配一个领域,让领域内的所有模式共享它。而为了把需求描述的更清楚,我们则需要用到基础架构,它的角色是指导和建议如何定义一个特定系统的基础架构的需求。

当然当几个需求模式具有共同的特性时,可以建立一个需求模式组,描述他们共同的方面,而不必在每个模式中重复。

需求模式之间的关系主要有两种,引用:一个需求模式可以在定义中提到另一个模式。主要是这个需求可能包含有另一个需求的相关信息。扩展:一个需求可以以另一个需求为依据进行开发。

我们还要学会对需求进行分类,提炼需求,转移需求模式,分心需求模式用例等

第4章就是叫我们如何使用和编写需求模式

那么我们何时需要使用需求模式呢?1当定义需求时,看是否存在需求模式可以指导定义需求。2当考虑需求是否完全时,观察主题覆盖的整套模式,看看是否有遗漏或添加什么东西。3当评审需求规格时,模式可以帮助检查需求的质量,确定还有那些主题没有定义、理解特定需求的意义和内涵。4当评估系统的规模及工作量时,基于需求,使用模式可以对实现的复杂性有更准确的感觉。5当实现需求的时候,模式可以使你更深刻的理解需求的意图,其中“开发考虑”就是为开发人员设计,帮助开发人员更好的编程6当测试需求的时候,模式中的“测试考虑”就是为软件测试人员而写,帮助测试人员做测试。使用需求模式有以下好处:需求更容易阅读、需求更容易与同类型其他需求做比较、可以判断是否有遗漏、编写需求更容易、读者可以参考编写的模式获得更多的信息、编写需求规格时可以参考模式。但是还要注意一些问题:可能被诱导疏于思考、可能滥用模式、很多需求可能措辞相似。

接下来为我们讲的是裁剪需求模式,因为需求的措辞很大程度上取决于个人的偏好,因此没有过多的限制,而且以客户的语言编程编写需求规格是并且永远是最重要的。由于种种原因,需求模板中使用的语言应该与使用模式的需求规格中一致。由于这些原因,我们有必要对需求模式进行裁剪。需要注意的是,模式的基础是一样的:裁剪只是对使用模式产生的需求做一些调整,然后每一次裁剪一个需求模式时要建立一个新的需求模式声明。

编写新的需求模式:在工作中发现一些类型的需求总是反复出现,以一致的方式编写会受益,或者只是有时候定义的很糟糕,那就别再犹豫,不要畏惧为他们编写一个需求模式。

如何发现潜在的需求模式,系统化:研究每一个目标需求并尽量对其分类:是什么类型的需求?如果有模式可以适用,记录下来然后继续。如果现有的模式不是很合适,研究需求看是否可以设计一个新的,更专用的模式。机会化:当定义一个需求时,你可能意识到会有同样类型的需求出现,如果觉得编写这种需求很棘手,也许就值得编写一个模式帮助其他人解决类似的问题——并促进一致性。

如何编写需求模式:1是否足够的价值?在开始编写模式之前,一定要考虑努力是否有回报;2建立模式的骨架,骨架包括所有要求的标题和“基本细节”部分条目;3编写模式的“适用性”部分,描述模式是为了什么,必须尽可能精确。4收集需求实例,构造所有能找到的实例列表。 5检查需求实例,决定他们的共同之处,以及如何变化。 6描述需求可能包含的信息。提炼实例的内容组成一套独特的片段,给每一项信息一个简洁的描述性名称。7编写需求模板 ;8编写剩下的“讨论”和“内容”部分;9开发潜在的额外需求实例的列表;10确定额外需求的候选主题 ;11编写“额外需求”部分;12编写“开发考虑”部分;

13编写“测试考虑”部分;14是否值得;15评审模式。

时间: 2024-12-19 12:45:19

软件需求模式阅读笔记02的相关文章

软件需求模式阅读笔记04

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

软件需求模式阅读笔记01

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

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

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

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

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

软件需求模式阅读笔记四

首先,数据实体需求模式.被分为数据类型.标识符.数据结构.计算公式.数据归档.数据寿命六种需求模式. 模式名称-> 活实体 交易 配置 编年史 信息储存基础构架 相关模式(与之有联系的模式) 数据类型,数据结构,配置 数据结构,数据类型 数据类型.数据结构.活实体 交易   预期频率(预期使用频率) 所有需求的50% 通常少于十个 总需求的10% 在一到二十个之间   适用性 建立一种实体,信息需要保存,而且有寿命 定义一个活实体中的一种事件或者输入一个交易的功能  定义参数值,控制系统如何运行

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

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

软件需求模式 读书笔记三

通过这一个月的阅读,我终于读完了<软件需求模模式>这本书,前两个读书笔记已经把这本书的几种模式介绍了,之前有基础需求模式,信息需求模式,数据实体需求模式,用户功能需求模式.这次介绍的是性能需求模式,适应性需求模式,访问控制需求模式和商业需求模式. 性能需求模式包括五种的性能的需求模式:影响时间(系统需要多少时间完成一个请求).动态容量(系统能够同时处理多少件事).吞吐量(系统处理时间的速率).静态容量(系统可以保存多少某种类型烦的实体)和可用性(什么时候系统对用户是可用的,以及多么可靠). 当

《软件需求》阅读笔记之二

这次阅读的是这本书的第二部分,这部分内容相对较多,所以还没有看完.这部分介绍了一些文档的主要内容.首先是项目视图和范围文档的模板,书中一一介绍了这个文档中应该包括的内容.主要就是业务需求,项目视图的解决方案,范围和局限性,业务环境,产品成功的因素.所以,我们在做项目的时候,无论如何都要注意这个项目的范围,所想到的不要超出范围.有时候你感觉好的功能用户可能并不需要.所以,明白项目范围,并在范围内进行工作相当重要.我们所用到的需求基本全部来自于用户,获取用户需求的方式也相对较多,在获取某用户群体的需

《敏捷软件需求》阅读笔记03

今天我阅读了<敏捷软件需求>的第三章<团队的敏捷需求>.在敏捷方式中,对需求工作的组织和对团队本身的组织不是彼此独立的.相反,敏捷团队是围绕需求进行组织的,以便优化代码的定义.构建与测试以及向终端用户交付价值的效率.敏捷团队的基本工作单位是用户故事,团队的目标是在迭代时间盒内,定义.构建和测试一定数量的用户故事,在迈向发布的过程中逐渐实现更大的价值.  对每个故事的实现可以采用相同的模式:定义故事.编写代码和测试用例.针对代码运行测试. 在每支敏捷项目团队中有三种角色:产品负责人.