需求工程—2.需求分析方法
文章平均质量分 90
针对需求调研的内容进行分析,找出客户需求中的功能需求,并汇总编制成《需求规格说明书》
李鸿君
资深企业管理信息化咨询顾问、软件架构师、需求分析与设计培训讲师。
著有《大话软件工程—需求分析与软件设计》一书, 与该书配套的完整视频和资料请查询“李鸿君课堂”
联系邮箱:1541049047@qq.com
展开
-
需求、需求工程与需求工程师 — 5. 调研能力的要求
签订合同、组建项目组、进入客户现场,在接下来这个阶段中需求工程师主要的工作就是调研需求、分析需求、确定要开发的功能需求。与前面咨询工作的内容不同,这个阶段要求需求工程师具有详细沟通、记录、分析的能力,并最终编制出【需求规格说明书】。【需求规格说明书】不但是后续的软件设计和编码测试的依据,同时它也是客户最终验收系统的依据。这个阶段成果的优劣影响着客户的满意度,同时也极大地影响项目管理的进度、成本和质量的控制,可以说,调研阶段是需求工程师的主战场。原创 2021-03-14 10:06:02 · 768 阅读 · 0 评论 -
如何使用分析模型 — 3. 排比图,分析问题的同时给出答案
在需求调研、问题分析的现场,是否遇到过这样的场景:经过长时间的讨论后结果仍然是发散的、不聚焦,所有的人都很焦急,但就是找不到一个可以快速地将大家的意见进行归集、收敛的并给出结论的方法?(注:此时讨论的目的不是用思维导图进行发散式的意见收集,而是要给出结论)。既能够收集意见、又能同时梳理出结论来的方法是采用“排比图”。用排比图,通过“一横一纵”的图形方式,快速地梳理出问题与实际的工作过程的关系,■排比图:以业务流程为主线,将分析结果和对策与主线进行2维方式的关联原创 2020-12-28 19:31:40 · 1067 阅读 · 2 评论 -
如何使用分析模型 — 2. 鱼骨图,清晰表达因果关系
为了解决某个已知的问题,搜集了大量与之相关信息,如何去梳理、并表达出这些信息与问题是相关联的呢?采用鱼骨图。利用鱼骨图可以将这些信息按相互关联性整理,使得要素呈现出层次分明、条理清楚的特点,在图中可以清楚地标出搜集到的信息与这个问题结果之间的因果关系。■鱼骨图:给出一个结果(主题),通过归集要因向主题收敛的因果关系表达方法。注:发明者是石川馨(日本),又名石川图、因果图。原创 2020-12-28 09:47:26 · 2435 阅读 · 0 评论 -
如何使用分析模型 — 1. 关联图,从乱麻中里出头绪
在侦探影片中常见的场景:警察为了找到线索,在墙上贴很多的证物(照片、记录、文字等),然后在这些证物之间画上关联箭头,通过箭头找出物证的关系。在很多的事故分析、或是因果关系分析时都会使用分析模型帮助寻找问题的原因。越是复杂的事故、事件,相关的要素就越多,要素间的关系也越复杂,这就需要有一个方法可以帮助建立要素间的关系,并支持快速地理解问题、给出答案。这里介绍一个常用的分析模型:关联图。■关联图:把原因、结果要素按照相互作用关系关联起来的图形。通过关联线帮助找到产生结果的原因。原创 2020-12-27 15:06:42 · 3580 阅读 · 1 评论 -
分析方法的基础 — 4. 业务与管理的分离,应用案例
通过对研究对象的拆分,建立了业务与管理的分离原理概念,这个分离概念在实际的需求分析和系统设计中具有非常重要的实用价值。下面试举几例来说明分离原理概念的应用场景:1)业务功能(界面)设计的应用:业务字段、管理规则2)业务架构(流程)设计的应用:业务架构、管理架构3)审批流程(管控)设计的应用:业务流程、审批流程原创 2020-12-27 09:12:19 · 811 阅读 · 1 评论 -
分析方法的基础 — 3. 业务与管理的特性,分析与设计的抓手
拆分业务与管理的理由已经知道,想必大家经常会遇到这些词:财务管理、质量管理、物流管理、xx管理等,这些词在设计工作中可以分为两个部分去理解,即:财务&管理;质量&管理;物流&管理等,前半部分的名词“财务、质量、物流”指的是“业务”内容,是被管理的对象,后者的动名词“管理”指的就是对业务的管控。面对复杂的研究对象时,正确地拆分业务与管理要素,可以大幅度地提升分析的效率、正确性。业务与管理除去具有的不同知识、技术以外,还存在着很多非常不同的特性,深入理解这些特性,对完美地进行分析与设计原创 2020-12-26 11:46:38 · 283 阅读 · 1 评论 -
分析方法的基础 — 2.业务与管理的拆分,破解难题的钥匙
前文以企业运营管理为对象,说明了拆分方法并给出了分离原理模型。“拆分”作为分析师的第一位能力,其意义在于当遇到复杂问题时,如何将相似的要素拆分归集,并从上向下去理解每类要素的特点、要素间关系,不同要素的分析、设计和开发方法。拆分方法正确不但可以缩短理解和分析时间、提升设计和开发效率,而且系统可以获得高复用性、强应变能力。相反,如果拆分方法不合适,有可能造成对研究对象理解错误、使分析和设计变复杂,且完成的系统缺乏复用性和应变能力。下面以“业务”与“管理”的分离为例,说明在软件分析和设计过程中拆分的作用和价值原创 2020-12-25 18:03:46 · 742 阅读 · 1 评论 -
分析方法的基础 — 1. 拆分能力,分析师的第一技能
如果你问我,作为一名合格分析师的基本功中最为重要的技能是什么?我会回答你说:第一是“会说话”,第二会“会拆分”。“会说话”是分析师与人交流的基本功,不能交流就不能获得用户的真实需求,可以说,不会说话一切都开始不了,但由于“会说话”的技能不属于软件工程方法论讨论的对象,所以在这里就不讨论它了。因此,在本文中就将“会拆分”作为分析师的第一技能进行阐述。分析中的“分”字是分开的意思,“析”字的含义也是分开、分解、分离的意思,由此可见,要想学会如何做分析,就要掌握“拆分”的技能。原创 2020-12-24 22:07:31 · 513 阅读 · 0 评论 -
如何绘制逻辑图 — 9.模型的分类
前面已经介绍了逻辑图三元素中的“要素”和“逻辑”表达方式,最后一篇三元素的之三“模型”的表达方式。有了要素、逻辑之后,为什么还有特别地说明模型呢?从选择的正确与错误会产生不同的结果(1)模型选取的合适则观者首先通过模型的外观就知道作者要表达什么意图、观者会按照模型的定义去确认作者的内容,比如:但观者看到的是“流程模型”,就知道作者展示达成某个目标的工作过程,他会沿着流程的起点研究工作的每个步骤。又如:如果观者看到的是“鱼骨图”,就知道作者要做一个归集的分析,给出因果关系的结论。(2)模型选取的有误原创 2020-12-20 15:45:39 · 2304 阅读 · 1 评论 -
如何绘制逻辑图 — 8.逻辑的表达:数据逻辑
多数没有开发背景的需求工程师对数据面层的分析、设计是比较生疏的,面对比较复杂的数据关系时或多或少都有一些畏惧,不太愿意深究,尽量交给后续的程序员去处理。这个做法是不对的,数据逻辑来源于业务逻辑,需求分析师能够向程序员说明数据逻辑关系,那么后者的工作效率会提升很多(否则、不熟悉业务的后者还要花费很多时间去研究业务逻辑)。同时是否能够清楚地表达数据逻辑关系也说明了需求分析师具有的能力和水平。原创 2020-12-19 22:44:04 · 3434 阅读 · 1 评论 -
如何绘制逻辑图 — 7.逻辑的表达:业务逻辑
在语言、文字和图形这三种表达方式中,前两种表达方式中的逻辑是需要听者/观者用脑去思考、架构,才能知道作者想要表达的逻辑(还不一定正确),但是逻辑图不同,它的逻辑是直接“画”出来的,用眼睛可以“看到逻辑”,对错一目了然。逻辑是逻辑图中的灵魂、主线,从一张逻辑图上可以大概看出作者的逻辑思维水平和逻辑表达能力。原创 2020-12-17 21:29:57 · 2319 阅读 · 0 评论 -
如何绘制逻辑图 — 6.要素的属性:内聚与解耦
松耦合和高内聚,是决定最终完成系统是否具有应变性、复用性的重要设计原则,作为在分析和设计一线的需求工程师也必须要理解和掌握,因为在需求分析和业务设计中没有做到,那么到了后面的开发阶段再考虑就晚了。后期仅用技术手段让系统获得同等的应变/复用能力,可能要付出很大的成本、同时系统可能也因此变得更加复杂。所以,松耦合与高内聚的设计,是从需求工程师的工作开始的。原创 2020-12-17 10:32:11 · 437 阅读 · 1 评论 -
如何绘制逻辑图 — 5. 要素的属性:系统与模块
我们知道,“系统、“模块”等都是“功能”集合体的名称,那么将一些功能集合成为一个整体时需要遵循什么原则?这个集合体有什么特点?用图形表达有什么标准要求呢?在绘制逻辑图时,任何一个“框”都代表着一个系统或是模块,因此,搞清楚系统、模块的概念、特点、原则等对于正确绘制逻辑图、传递逻辑意图是非常重要的。原创 2020-12-16 22:26:36 · 1129 阅读 · 0 评论 -
如何绘制逻辑图— 4. 要素的属性:黑盒与白盒
看到了“黑盒/白盒”,可能认为在讨论软件的测试工作?错了,在分析方法中借用了软件测试的黑/白盒概念,利用这个概念可以对理解逻辑图中要素的表达方式起着很好的帮助作用。当然,这个概念不仅仅对绘制逻辑图有用,它对训练分析师的思维能力、观察能力和叙述能力也都有着非常好的效果。原创 2020-12-15 22:02:02 · 473 阅读 · 1 评论 -
如何绘制逻辑图 — 3.要素的属性:粒度与分层
不论从事软件工程上的那个岗位,“粒度、分层”都是挂在嘴头上的常用语,它是说明对象“尺寸、位置”的重要属性。与别人交流时(不论采用语言、文字或是图形的方式),首先要确保双方对交流题目的认知是处在同一粒度、同一层面上进行的,否则就会发生“关公战秦琼”的笑话。拿捏好粒度和分层关系,是表达逻辑的重要方法。原创 2020-12-14 21:09:22 · 510 阅读 · 0 评论 -
需求与业务的区别、需求设计与业务设计的区别
“业务和需求”,这两个词软件工程师们每天都会用到几次,但却不一定很清楚两者的区别:“业务”指的是软件客户现在从事的工作,“需求”指的是客户对未来系统的期望或要求,因此业务设计与需求设计是两个不同视角的设计。正确的顺序是:先对业务进行充分的设计,然后基于业务设计成果再进行软件的需求设计。搞清楚这两者的定义、区别、相互关系,对需求的理解、分析,并通过设计提升客户的满意度是有非常重要的指导意义的。原创 2020-11-03 22:02:12 · 2053 阅读 · 0 评论 -
如何绘制逻辑图 — 2.要素的属性
按照逻辑图的三元素原理(要素、逻辑、模型),要素是构成逻辑图的主体,构成逻辑图的要素有哪些特点、规律及标准,如何用属性来表达它们的特点、规律和标准呢?理解这些内容是正确绘制逻辑图的基础。我在培训中经常看到学员们在同一张图中绘制了大量的要素,只要绘图者觉得哪些要素是同类、或是有相关性,就把它们都塞到一起,这些要素不分粒度、层次,图看上去非常热闹、很丰富,但是很混乱。□在没有经验的人看来,图中表达的内容很多、画图的人一定非常有经验;□在有经验的人看来,画图的人思路不清、没有抽提能力、水平不高(但可能经历丰富原创 2020-12-14 10:24:45 · 657 阅读 · 0 评论 -
如何绘制逻辑图 — 1. 逻辑图构成的三元素
不论做什么资料,如:解决方案、产品规划、需求分析、软件设计等,都需要用逻辑图来帮助作者说明自己的意图。通常资料内容包含的要素越多、逻辑越复杂,意图表达的难度就越大,此时仅用文字描述就显得力不从心了,怎么办呢?用图形表达,俗话说“一图胜千言”。为什么“一图”能够做到胜“千言”呢?在这里的“一图”指的就是“逻辑图”,那什么是逻辑图呢?它的构成是什么、绘制的方法又是什么呢?原创 2020-12-13 21:37:13 · 4919 阅读 · 0 评论 -
如何绘制业务架构图 — 4.流程图
流程图,可以用来描述任何有顺序、有规则的活动过程。流程图是业务架构三视图的最后一张,也是描写客户业务最为重要的一张架构图。在企业管理的分析和设计中,主要涉及到的流程是业务流程与审批流程。流程是为达到特定目标而由不同人分别协同完成的一系列活动。活动之间不仅有严格的先后顺序限定,而且活动的内容、方式、责任等也都必须有明确的安排和界定,以使不同活动在不同岗位角色之间进行流转交接成为可能。流程图就是用来描述和记录这个活动过程的方法。业务流程和审批流程,是两个不同的概念和功能:□ 业务流程表达的是“业务操作的原创 2020-12-06 15:36:39 · 2693 阅读 · 0 评论 -
如何绘制业务架构图 — 3.分解图
分解图:是对研究对象的有序分离、或是对细粒度要素的有序归集。分解图是业务架构三视图的第二张图,其目的有两个:一是自上而下的“分解”,二是自下而上的“汇集”。但不论是分解还是汇总,都是从上向下绘制的,因此将此类图统称为“分解图”。分解图,可以给出研究对象内部要素之间更细节的从属关系,是细粒度的表达方式。通常被用来做架构图中的详细设计。绘制分解图需要对研究对象有深刻的理解。分解图是对研究要素的“静态表达”(比较而言,流程图是“动态表达”,详见下一篇)。1. 模型解读以企业的收支功能为例,说明下面分解图原创 2020-12-06 15:05:43 · 3745 阅读 · 0 评论 -
如何绘制业务架构图 — 2.框架图
框架图,用于对研究对象进行规划,确定范围、内容、分区与边界、分区间的关系等。 框架图是业务架构三视图中的第一图,不论什么软件系统,在向他人介绍系统时,基本上第一张展示的图就是框架图,有了框架图,就对系统有了一个整体的认知和把握。框架图的表达不拘泥于细节,是粗粒度的表达方式。框架图通常被用来做架构图中的顶层规划、架构总图。 框架图,看似内容最少、粒度最粗、最简单,但却是三视图中最难绘制的。绘制框架图,必须要有全局观念。1. 模型解读以企业的业务功能规划为例,说明下面的框架图模型的...原创 2020-12-06 14:42:37 · 9215 阅读 · 1 评论 -
如何绘制业务架构图 — 1. 概述
架构设计、功能设计和数据设计,是软件设计过程中三个不同层次的设计工作。其中业务架构的设计又是系统整体规划中最重要的基础工作,后续所有的设计和开发等工作都是基于对业务架构的展开,从业务架构的设计成果中可以获得业务逻辑、功能需求、数据关系等重要信息,表达业务架构的主要方法就是使用业务架构图。表达准确的业务架构图,应该不用说明(或少许的介绍),观者就可以自己从图上读出你要传递的意图、逻辑。什么是业务架构图呢?在非软件行业中(如制造业、建筑业务等),设计意图传递、加工制造的依据等都是设计图纸,下面通过对比.原创 2020-12-06 14:25:02 · 6523 阅读 · 1 评论 -
如何用PPT编制方案 (6)PPT完成度的自检表
PPT做完了一定要进行自我检查,要像画家检查一幅完成的画作一样,检查包括确认完整、清晰、构图、主线、逻辑、颜色、字体等内容。6.1 用心编制不论你有身怀多少知识、不论你准备的PPT如何丰富、也不管你的外表修饰的多么完美,当PPT被放映出来时,观者完全可以通过PPT的表现接受到作者是否是真心地在传递他的意图,展示在大家面前的PPT就代表了你本人。推荐给大家的编制原则1 ) 认真编制,用心传递“心意”。2 ) 不要用过于夸张的语言、强烈的色彩,这样做会盖住你要传递的思想、意图、逻辑。3 ) 用严谨的原创 2020-11-14 17:08:08 · 654 阅读 · 1 评论 -
如何用PPT编制方案 (5)PPT中的文字设计
文字表现是最基本的表现方式,但由于PPT多用投影的方式,不可能让观者仔细地阅读文字,所以不易多用文章体的表现。文字表达的设计要做到画龙点睛。5.1 文字表达形式文字的表达形式最好采用简单明了的条目式,而不是长篇描述的文章体。1 ) 条目式将内容的重点抽提出来,采用一行只表达一条内容的形式,这个表达方式最为清晰,易于让远处的观者也能看得清楚、并快速阅读和理解,参见文字样本12 ) 文章式另外一种形式就是常见的写大篇幅的文章,这种方式不适于PPT演示,因为从远处观看投影时观者在短时间内可能找不.原创 2020-11-14 17:02:21 · 592 阅读 · 0 评论 -
如何用PPT编制方案 (4)PPT中的图形设计
PPT的主要表达方式就是图形,如何选择适当的图形、图标符号、颜色、布局等,对于有效传递作者的意图起着非常重要的作用,模型的选择与颜色的搭配合适则对PPT价值的提升有帮助,反之、则有减弱。4.1 模型选择PPT资料作为主要的表达方式就是图形了。当确定了某页PPT的标题后,下面就要花时间思考:选用什么样的图形最能表达出自己的意图、给观者的效果最好呢?高效、快捷的方法就是选用大家都比较熟悉了的模型,观者一看到这个模型,就知道你要讲什么了、或是表达什么了,比如看到鱼骨图,大家就知道了这是在表达“因—果”关系。原创 2020-11-14 17:00:13 · 782 阅读 · 0 评论 -
如何用PPT编制方案 (3)PPT的页面规划设计
整体层级的规划完成之后,就进入到了对每个页面层级的规划和设计阶段了,每个页面都是构成PPT整体的一个部分,方法会与整体规划有所不同,但是思路是一样的。3.1 整体规划由于PPT的页面每一张都是独立的,所以在对每一张页面进行布局规划时,可以把每个页面看成是一张“画布”,下面讲一下在这张“画布”上进行绘画创作时最基本要做的几件事项。1 ) 区域划分首先对页面要进行区域的划分,比如:分出标题栏区(页面的上部、或左部),内容表现区(中部),一般来说,页面的左上角的区域为上位区、对角线的右下方为页面的下位原创 2020-11-14 16:55:48 · 1229 阅读 · 0 评论 -
如何用PPT编制方案 (2)PPT内容的逻辑表达
判断一篇PPT编制的水平如何,主要就是看资料中的逻辑表达、传递的是否好,因为资料具有清晰的逻辑线是灵魂、是生命线!2.1 逻辑概述逻辑,是思维的规律和规则,是对思维过程的抽象。在编制PPT时,需要用到逻辑思考和逻辑表达两个层面的知识和能力。对作者来说既要“想得到(=逻辑思考)”、还要“做得到(=逻辑表达)”。编制时,要非常注意资料的内容之间可以做到“启下”和“承上”也就是要让上下章节之间实现“前后呼应”,具体的就是1 ) 第一章节要引出整体的“启动-目的”,最后一个章节要做好资料整体的“收尾-结.原创 2020-11-14 16:54:26 · 1921 阅读 · 0 评论 -
如何用PPT编制方案 — 1. PPT的总体规划
做出一份有说服力的解决方案、产品说明书、宣传资料、培训课件等,清晰明了地向观者传递作者的意图,不论是对咨询师、分析师、工程师、管理者还是培训老师来说都是一项非常重要的技能要求,它是对作者的知识、经验、逻辑、抽象、以及用图形和文字等方式表达能力的考验。同时,在一份完美的PPT资料放映时,观者从PPT上就可以读出作者的专业水平、诚意、目的和期望,它可以为作者树立一个好形象。反之,如果PPT的资料思路混乱、图不达意、文字不清,就可能给作者带来相反的效果。 这里和大家分享一些做PPT的经验,这个分享的重点不在如何原创 2020-11-08 22:06:19 · 2739 阅读 · 0 评论 -
需求获取的三阶段:需求背景、需求调研、需求分析 (3)
收集到了客户的需求后,下一步就到了对需求进行分析的阶段,在这个阶段就要理解需求、分析需求、最后确定系统需要实现的功能需求。这一阶段非常重要,因为前期收集到的需求表达形式各种各样,不一定都是用“软件功能”的形式表达的(很多需求是用客户用语表达的),需要对这些原始需求进行分析、去伪存真、最终将全部的客户需求转换为清晰、明确的软件功能需求表达形式。最终交付的【需求规格说明书】就是基于这个阶段的工作成果编制而成的。【需求规格说明书】完成表明需求工程的结束,它是后续设计工程的输入。原创 2020-11-06 10:08:56 · 2513 阅读 · 0 评论 -
需求获取的三阶段:需求背景、需求调研、需求分析 (2)
完成了客户背景的调研准备后,就进入到了与客户面对面进行需求调研的阶段,事前要搞清楚:调研什么、怎么调研、向谁调研、调研成果如何收集、如何记录,还有调研中采用什么样的流程、方法,还要搞清楚:调研到什么程度就可以满足后续设计开发的要求了、具体标准是什么、要准备什么样的模板等等。这样的准备越充分,则调研就会越顺利。 调研方法的介绍分为三篇,第二篇介绍“需求调研”的作用和方法。原创 2020-11-05 16:28:00 · 1762 阅读 · 1 评论 -
需求获取的三阶段:需求背景、需求调研、需求分析(1)
软件需求的获取是软件开发过程的第一步,需求质量是决定软件成功与否的重要前提,如果获取的需求有了偏差或是遗漏,其结果可能导致后续的分析、设计与开发都出现问题;反之,如果获得了全面、严谨、逻辑表达清晰的需求,就会让设计师与程序员可以非常顺利地进行后续的工作。如何做好需求获取的工作呢?需求获取的过程分为三个阶段,每个阶段有不同的目标、内容及相应的方法、交付物和标准。这三个阶段分别是:需求背景、需求调研、需求分析。在对客户进行正式的需求调研前,要事前做好对客户的背景资料的收集和整理,这是需求调研成功的基本保障。原创 2020-11-05 10:22:20 · 8915 阅读 · 0 评论 -
如何让不懂信息化的甲方客户看懂需求文档,并确认签字?
需求规格书编写完成后如何让客户快速、顺利地确认签字?这是个常见问题,每个软件项目经理和需求工程师都遇到过,要解决这个问题要从甲方客户与软件工程师两个方面进行分析和找答案。从客户方面看,存在两个问题:一是要看得懂需求文档、二是要能放心地签字。提出需求的客户可能不是软件方面的专家,他是从自己熟悉的业务视角提出的需求,但他可能不清楚这个需求实现后的应用模式(原型、操作等),担心自己考虑不周签了字,待开发完成后与设想不同时要担责任,所以迟迟不肯签字(人之常情)。原创 2020-10-24 17:42:46 · 2921 阅读 · 0 评论