《软件需求最佳实践》阅读笔记二

需求捕获是需求开发中的第一个活动,每个团队都必须提高需求捕获的有效性,要点在于计划性和科学性。

需求捕获的过程是人和人打交道的过程,需求捕获需要需求分析人员积极主动的去获取需求,是散网打鱼,而不是休闲钓鱼;在对用户进行需求提问时,要善于聚焦访谈话题;用户的需求是一个冰山,有很多潜在的需求我们不容易意识到,而理解业务场景有助于需求分析人员更深层次的理解用户的需求。需求捕获有很多种方法,(1)用户访谈:最常见、最基本的需求捕获技术,直接有效、形式灵活,但是要避免占用时间长和用户信息的片面性,最常见的被访谈者包括高层管理人员、中层管理人员、操作层和技术团队四类。访谈之前要有详细的用户访谈计划,访谈时要善于安排问题顺序,可以根据情况采用金字塔结构、漏斗结构和菱形结构组织问题;(2)用户调查:调查面广,可以获得更多人的反馈,但是认识不够深入,容易形而上学,它能有效的克服用户访谈中存在的片面性,先访谈再调查最合理。(3)文档考古:详细、直观的对数据流细节进行了解与分析,但是容易引起误导。另外还有情节串联板、现场观摩和联合开发,充分利用这些方法能够很好的进行需求分析。

需求捕获过程中会产生大量的信息,需要借助一些实用的工具有条理的记录下来。任务卡片是一种十分适合对业务活动级的信息收集与整理的记录工具;场景说明可以使需求人员根据信息进行抽象整理任务;另外还有用户故事、Volere白卡也是记录工具。

需求分析是需求工程中最核心的工作,而需求建模则是需求分析的主要手段。需求分析实际上是业务分析,先分解,再提炼,在这个过程中消除矛盾。行为需求+结构需求构成了整个需求的核心部分。需求建模过程比建模的结果更重要,建模可以帮助我们按照实际情况或按照我们需要的样式对系统进行可视化;提供一种详细说明系统的结构或行为的非那根发;给出一个指导系统构造的模版。需求分析阶段中分两个周期,第一个周期的任务是理清需求的结构框架(类领域图)和行为脉络(流程图和用例图),第二个周期的任务是对用例模型、领域模型标识出用例、领域类的细节进行填充。要根据要完成的任务选择合适的建模工具,而UML是一种统一的、标准化的建模语言,应用很广泛。每个业务事件都是一个业务流程的触发,业务流程分析是对每个业务事件进行的,分析并识别现有业务活动,确定业务活动之间的关系。数据流图也是一种建模方法,有5种基本元素,为了表达数据处理过程的数据加工情况,需要有层次结构的数据流程图。

需求描述是将需求捕获、分析的结果进行文档化的过程。在描述需求时,最常见的描述风格可以分成自然语言、图形化模型和形式化规格三种,根据不同项目、软件开发团队的特点选择不同的风格组合。有几种典型的需求规格说明书模版,阐释了“沟通决定内容,内容决定格式”,创建出符合自身项目特点、团队特点的模版。

需求验证是需求开发的最后一个环节,其目标是发现尽可能多的错误,减少因为需求的错误而带来的工作量浪费,需求验证的主要手段是Review(复查,评审),有不同正式化程度的评审,审查有一个完整的过程,包括规划、召开总体会议、做准备、召开审查会议、反攻、跟踪6个阶段。做好需求验证,必须在思想、方法、语言、人员、内容5个要点上做好相应的工作,否则会产生很多负面影响。

最近几节课老师也都在将需求捕获方面的内容,这部分很重要,通过一些案例给我们分析需求捕获过程中应该注意的问题,捕获中的方法等,并也做了实践运用用户访谈方式进行需求捕获,通过对特定的人对一个项目进行访谈,更有效、全面地获取需求,帮助我们理解需求捕获。在课上的时候可能仅仅根据几个场景案例不能很好的理解,课下通过看书、做实践可以巩固一下课上学习的内容,有更深层次的理解。

时间: 2024-10-14 18:49:27

《软件需求最佳实践》阅读笔记二的相关文章

<<软件需求最佳实践------SERU过程框架原理与应用>>读书笔记一(全书浅览)

这一学期上了软件需求分析这门课,在老师的建议下自己选择了这本需求最佳实践作为精读课本.大概的阅览了整本书后发现,作者引用各种实例与隐喻意图让读者更好的理解这本书的内容,而且每一部分内容都有一条精炼的SERU诫语来作为一个小结.在我看来,这本书确实对于我们软件需求分析的初学者来说确实是不可多得的“良本“. 全书分为三大部分,其中第一部分:“原理.模型与误区“涵盖前三章的内容.这部分作者主要分析并提及了影响软件项目实施,并导致软件出现“危机”的根本原因,即需求分析阶段. 主要是让我们认识到软件需求在

《软件需求最佳实践》阅读笔记一

这本书主要从软件需求实践中出现的主要问题和困难入手,指出了改造的主要方法,然后逐一说明了需求定义.需求捕获.需求分析与建模.编写规约.需求验证等需求开发活动的任务.要点和具体手段.还对包括需求基线.变更管理.需求跟踪在内的需求管理活动的操作要点进行了阐述. 软件项目实施过程中,会遇到很多的问题,有的甚至许多项目根本无法达到预期的目标,这些问题的根源就是软件需求实践.“在中国做软件太难了!客户连自己的需求都说不清楚!”,这种抱怨的话经常被做软件需求的人说到.需求失败也是因为不完整的需求.缺乏用户参

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

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

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

在前面了解了什么是需求,什么是需求模式之后,接下来就应该学习如何使用和编写需求模式.我们不仅到了解需求模式的含义,更要学会在什么情况下使用需求模式.在定义系统期间,有两种场合使用需求模式:1.当定义需求时,看是否存在一个模式可以指导如何定义这种需求.2.当考虑系统需求是否完全时,浏览主题覆盖的整套模式——看是否有遗漏,或者是否需要添加什么东西.3.当评审需求规格时,模式可以帮助检查需求的质量,确定还有哪些主题没有定义,理解特定需求的意义和内涵.4.当评估系统的规模以及开发所需的工作量时,基于需求

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

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

需求工程——软件建模与分析阅读笔记二

需求的定义:用户为了解决问题或达到某些目标所需要的条件或能力:系统或系统部件为了满足合同.标准.规范.或其他正式文档所规定的要求而需要具备的条件或能力:对以上两点的一种文档化表述 满足需求就是解决问题:需求源于问题,要准确理解需求就必须明确它与问题的关系.,人们开发软件系统的目的就是希望用它作为解决方案来解决问题,使得现实改善到期望的状况.解决问题.改善现实.满足用户期望的状况. 问题解决的两个方面--问题域与解系统:问题在现实世界与软件系统的互动中的到解决,问题语是需求的背景,问题域的背景信息

软件需求最佳实践

需求建模与分析篇 需求分析基本遵循三个方向,依次是:流程,对象以及关系,用例(操作容器): 流程对应的是跨职能流程图以及活动图,对于活动图,实在是没有感到有什么优势可言:但是对于流程图究竟要细化到什么程度?只要是不影响泳道的变更就可以作为一个节点处理,这个还有待考证: 对象以及关系,作者首先推荐的是类图,但是对于类图其实使用在设计阶段,作为需求分析阶段拿了一张类图给客户看,给客户讲解你所识别出来的类?如果是给架构师以及开发团队来看还是有点意义,但是对于国内项目很多时候时间很紧急,你搞出这一套花活

《掌握需求过程》阅读笔记二

了解了一些需求过程中的方法和问题,接下来就要网罗需求.网罗工作是由需求分析师来策划的,但是要完成这个工作需要分析师.用户和其他风险承担者相互合作,要明确每一个角色各自的职责.意识到的需求是指那些用户最先想到的需求,这通常表明用户希望改进的一些事情:无意识的需求是指用户没有言明的事情:未梦想过的需求是指那些一旦用户认识到它们可能时就会要求的事情.在网罗活动的过程中,必须揭示和捕获所有的需求,网罗活动具有多面性,它使用了一些来自启动阶段活动的输出结果:业务事件在网罗活动中占主导地位. 需求网罗的第一

软件需求分析教程阅读笔记二

软件需求分析教程阅读笔记二 管理人员在要求开发一个系统时并不会理解进行需求分析的重要性,他们只知道能不能尽快开发出相应的系统来方便使用,但是如果不做好需求分析,最终开发出的系统也不会有人用. 客户的需求认识并不像软件开发人员这样,了解的比较清楚,客户通常并不懂得从系统的实际用户处得到信息的重要性,然而从产品的实际用户处收集需求有着不可替代的必要性,所以导致项目最终失败的两个原因,一个是缺乏用户参与,另一个是不完整的需求规格说明. 在进行需求分析时,只有系统的实际使用者才能清楚的描述他们要用此系统