欢迎来到加倍考研网! 北京 上海 广州 深圳 天津
微信二维码
在线客服 40004-98986
推荐适合你的在职研究生专业及院校

需求调研的主要作用

学习
是何人也
系统选型的前提你要选择一套合身的衣服,首先要对自己的身高、腰围、肤色等内容了解清楚。ERP选择也是如此。由于不同行业的ERP系统其开发的侧重点不同,所适用的行业也各不相同。所以,在做规划时,就要把调研做好,为下一步选型做好准备。为系统选型树立标准实际上,就所有ERP系统而言,一些表面的需求是容易得到满足的。而更深一步的具有行业和企业独特性的需求才是用户在选择系统时需要予以最多考虑的。如果用户对自身的需要不作深入地分析,往往会在系统实施一段时间以后,才发现具体业务及管理需求并没有得到满足,但此时系统已经安装完成,并已耗费了大量的人力、物力资源,悔之已晚。如制造业中食品行业有个非常重要的特性:保质期。象机械制造业就没有。粗的一看,机械制造业的ERP也能在食品行业跑出个模样来。但是,对其进行物料保质期的跟踪,一般的制造业ERP就无能为力了。为以后系统实施评估设立参考指标 因为ERP系统实施后,给企业带来的影响是多方面的。你先对企业的需求调查清楚了,以后实施的时候就有了针对性;评估的时候,也就有了具体的指标。可以分析财务指标,找到问题的切入点从财务指标的横向对比最能明显的看出一家企业同其竞争对手存在哪些方面的劣势,纵向对比可以分析企业近几年来的变化。如:存货周转率,若企业的存货周转率为40%,而该行业的平均存货周转率为50%。就说明该企业的经营效率不是很好,跟竞争对手相差较大。应该想方设法把其提高上去。因为影响存货增周转率的因素有销售成本、平均存货、销售毛利率、采购提前期、安全库存、物料需求日期等等。企业要分析并找出关键因素,在选型时,就可以对症下药,看能否通过ERP系统,使之得到改善。又如:存货周转率,若企业本年的存货周转率为40%,而企业的前几年的平均存货周转率为50%。这时,企业就要进行前后对比,看看随着企业规模的扩大,为什么经营效率会变低,是受哪些因素的影响。分析业务流程,找到解决问题的关键点 参照行业的标准流程,对企业的现有流程进行初步评估,看看,哪些方面存在着不足。可以查查,物料的超收有没有管控,领料等有没有依据可循,应收应付有没有漏洞等等。找到漏洞后,在选型的时候,就关注其产品看能否给我起到“查漏补缺”的作用。总结错误,找到解决问题的突破点 ERP有一个非常重要的理念,就是“复制成功“。通俗的讲,就是避免犯别人以前犯过的错误,学习人家成功的地方。要做到这一点,总结错误就是非常重要的。我们要把以前业务作业中发生过的错误一一列出来,分析一下哪些是可以避免的,哪些是因为条件有限不能避免的,哪些是可以忍受的。然后,在系统选型时,针对错误找解决方案,看看系统能提供哪些措施来防止类似错误的发生。举个例子,制造业BOM(物料清单),特别是新建BOM经常会出现问题,不是用料不对了,就是用量出错了,最后都会影响交货期。这时,就要考虑ERP提供了哪些机制,来减少错误的发生.几率?对此,不同的厂商是“八仙过海,各显神通”。有的提供BOM模版,同一个类别的产品做一个BOM模板,新建时只要稍作修改;有的通过BOM复制功能,新建类似产品时,只要复制已经存在的BOM,在此基础上进行修改,减少工作量,又降低错误的发生概率,一举两得;有的提供BOM版本控制,对产品BOM信息的更改有据可循。合理预测未来,未雨绸缪 企业在做ERP规划时,要考虑企业未来的信息化建设的规划,看是否会上其他的信息化系统,如OA(办公自动化),CRM(客户关系管理),电子商务等等。若企业在未来几年可能会上这些项目,那就要跟ERP厂商确认他们对这些功能的支持程度,有否提供相应的接口,甚至,可以选择那些本身集成这些功能的ERP产品。“好的开始是成功的一半”,“没有调查,就没有发言权”,做好需求调研,是ERP项目成功的基础,不然,到时再回来功课,是事倍功半,得不偿失

如何进行IT项目的需求调研

神识
  一、如何理解客户业务和客户需求?  原则1:由粗到细,从宏观到微观。  必须先从宏观上了解客户业务的全貌,再逐步深入细节。因为对于客户的业务而言,我们是外行,如果从业务细节着手,很容易迷失方向,失去对业务核心的把握。同时要认识到,对于一个外行而言,我们对细节的深入也必定是有限的,不要指望自己能够无穷的彻底的了解每一个细枝末节。一是不可能有无限的时间给你了解,二是没有这个必要。因为未来的系统也不可能完全包办所有业务的细节,还有很多事情是要靠客户企业中这些具有专业技能的人来做的。  原则2:从不同层次的客户代表那里收集不同层次的需求  对于企业高层决策者,他会给你描述一个系统的大的功能蓝图,如使企业具有整体报价能力,能更好的服务于高端客户,能支持企业的重大业务决策等;对于企业各级管理者,他会给你讲述他这一层的管理需求,如能更好的进行部门员工的业绩考核、生成月度报表,更好的进行业务结算等;对于各级业务操作人员,他可能给你谈及很多业务细节和操作细节……  在由上到下的逐级访谈中,对未来系统的描述就从一个大黑箱变成多个小黑箱,再变成透明、明确、详细的系统定义的过程。  客户业务调研和需求分析注定是一个不断细化的过程,不要指望一次访谈/调研就能穷尽,也不要指望一次开发过程就能得到完全满足客户梦中期待的那套系统来。因为事实上很多需求是隐性的,连用户都不清楚自己的需求。只有经过多次循环细化才可能把隐性的不断挖掘、暴露出来。  二、如何具体开展需求调研工作?  在RUP中定义需求工作流程的工作目的如下:  1. 客户和其他涉众在系统的工作内容方面达成并保持一致;  2. 使系统开发人员能够更清楚地了解系统需求;  3. 定义系统边界(限定);  4. 为计划迭代的技术内容提供基础;  5. 为估算开发系统所需成本和时间提供基础;  6. 定义系统的用户界面,重点是用户的需要和目标。  首先要做好业务调研。要尽早把已经收集到的业务资料熟悉起来,并在理解的基础上提炼出问题列表,制成调查问卷。业务调研的要求是一定要沉下去,深入细致的了解客户的业务流程,而不是急着赶工完成自己的需求工件设计和业务模型的建立。在了解各项业务流程的同时,与客户一同深入分析业务的实现逻辑,并记录下有关的实现案例信息,收集好、整理好、分析好有关的参考材料。  要把迭代的思想贯穿于从业务调研、需求分析,乃至项目实施的始终。所谓迭代,就是我们老老实实承认我们没有能力一次就把事情做到尽善尽美。所以我们就先把一大部分有把握的地方做好,再在前面成功的基础上不断做好剩余的部分,最终就能无限接近于成功。设计编码过程是如此,业务调研和需求分析也是如此。  企业系统的设计开发与软件产品的设计开发有一个最大的不同,就是企业的需求肯定会变化,过去在变、调研的时候会变,系统实施后还会变。而我们要做的就是去适应这种变化。事实上,也正是因为我们采用的是面向对象的方法,才可能做到这一点。因为面向对象的方法认为:对象的基本属性是客观的和不会频繁变化的,而对象间的关系则是可能不断变化的。所以我们在业务调研和需求分析中也要认识到这一点,把不变的沉淀下来,把可变的灵活性和变化的自主性留给客户。  各位都是做技术的,在业务调研和需求分析中难免会不由自主的考虑一些技术实现的问题。值得强调的是:需求与技术无关。在业务调研的时候要忠实的进行记录,不要因为你个人对实现的疑虑而对用户需求进行(过早的)修改和裁减。  要善于争取客户方各级人员(均是项目干系人,RUP中称为涉众)的支持。只有得到未来系统用户的充分参与,项目才有可能最终取得成功。一套缺乏用户参与的系统,即使最后做出来也是注定没有人去用的。  一是要利用客户企业的组织关系,争取到上层的支持,由上到下进行调研配合;二是要会在调研过程中为目标用户树立有针对性的愿景,让他认同愿景的同时主动、积极的支持你的调研过程。

信息系统需求调研表

革命者
万物之多
去百度文库,查看完整内容>内容来自用户:王祥林[XXXX]技术有限公司[公司名称]文件状态:|[ √ ] 草稿文件|[ ] 正式文件|[ ] 更改正式文件|当前版本:|V1.0.0|作 者:|审 核:|完成日期:|文档编号:|文档标题:|软件项目需求调研记录|文档类别:|提交人员:|文 件 名:|文件摘要:|项目名称:|当前阶段:|需求调研阶段|版权所有:|日期|版本|作者|修改内容|评审号|更改请求号|2015-04-19|V1.0.0|定义文件模板|表单编号:项目名称|项目代号|调研对象|调研日期|需求调研根据|□文件名(及时间) |□立项项目名称(及时间)|□用户/运行维护人员提出(请注明)|需求类型|□新建项目|□在建项目补充|□现有系统运维|用户范围|管理员:1-2人,负责配置系统相关信息。|高级用户:**处人员,主要进行XXX等工作。|一般用户:总行各司局所有人员(包括借调人员和行政秘书)、**家分支行办公室人员、各直属企事业单位办公室(待定)|调研目的|初步讨论系统功能|准备问题|需求没有提出或是第N次进行调研前,调研人员准备需要客户解答的问题;|调研内容|系统/功能主要目的或内容(包括确定系统/功能边界)|Q1:系统主要功能| 完成XXXXX功能| |Q2:系统主要用户| **司局综合处、各处工作人员(包括行政秘书和借调工作人员)。| | 业务描述(组织结构、流程、角色、业务规则、主要业务特点等

信息系统项目需求调研最常用的有哪些方法

当然
发乎天光
一、问卷调查法二、会议讨论法三、界面原型法四、可运行原型系统法

家居设计前期生活功能需求调查表 总

农民工
雨音
去百度文库,查看完整内容>内容来自用户:wencai家居设计前期生活功能需求调查表尊敬的您好,感谢您选择本团队为您提供室内设计及装饰配饰服务。为了使我们为您打造的设计方案更加具有针对性和人性化,达到最好的效果,劳烦您与家人一同对如下内容进行填写,以便使我们的服务做得更加全面周到细腻!非常感谢。如没有涉及到的内容,希望您继续给予意见,以便我们更好的服务于您!1.您的出生地是哪里,生长环境如何?2.您希望何时设计装修(何时入住?)3.您偏爱的风格是什么?4.您的家庭成员(工作人员)组成是什么样的?常住人员有几位?5.您和您爱人的职业是什么?6.是否在别的装修公司也咨询过?7.工程预算是多少?8.您在装修过程中最大的顾虑是什么?A.环保B.质量C.服务D.设计E.品质F.价格9.您对于所要装修居所(场所)的满意和不满意之处在哪里?10.您是否关注装修风水?A.不在意B.一般关注C.比较关注D.非常关注11.您是否有收藏品(展示品),如果有,所需要的收藏方式(展示方式)是什么?12.您是否经常在家烹饪?13.是否经常有朋友来访?14.您认为人们对哪一个建筑的评价过高?15.如果要进行一次长途飞行您最想坐在哪位历史人物的身边?16.如果您要代表国家参加一场比赛,那么您认为这是一场关于什么的比赛?36.6三450

网站功能需求怎么编写啊?

张晶
都会夜
主要包括:一、网站目标与期望:根据公司要求阐述网站的目标及功能 二、网站整体结构及栏目,主要包括:(1)确定网站主要栏目(2)网站页面总体风格及美工效果。(3)主页面及次页面大概量。三、网站的管理及维护,主要包括:(1)管理及内容录入任务分配(2)项目完成时间及进度(3)明确项目完成后的维护责任。四、网站开发费用扩展说明:网站开发也一个系统性项目,所以对于一个项目而言,项目的管理者在需求分析中的职责有 如下几个方面:1.负责组织相关开发人员与用户一起进行需求分析。2.组织美术和技术骨干代表或者全部成员(与用户讨论)编写《网站功能描述书(初稿)》文档。3.组织相关人员对《网站功能描述书(初稿)》进行反复讨论和修改,确定《网站功能描述书》正式文档。4.如果用户有这方面的能力或者用户提出要求,项目管理者也可以指派项目成员参与,而由用户编写和确定《网站功能描述书》文档。5.如果项目比较大的话,最好能够有部门经理或者他授权的人员参与到《网站功能描述书》的确定过程中来。

如何进行非功能需求分析?

为崩为蹶
敢问
按照常规的需求分析理论,需求可分为功能需求和肺功能需求,其中非功能需求又可分为质量和约束。一般来说,对于功能需求,我们仔细一点,多和用户沟通的话,是比较好分析的。而对于非功能需求,我们有时会觉得心有余而力不足,或者说不知如何是好。在很多情况下,项目组干脆就不去分析非功能需求了,所有的这些非功能需求只是停留在项目经理或者某些成员的脑子里。这种情况存在着非常大的隐患,如果产品发布了,我们没有对这些非功能需求进行测试和验证,导致我们的产品中存在许多定时炸弹。这些炸弹在某些场景下就有可能爆炸,炸了用户,也可能炸了自己。对于以上问题,业界有一定分析工具可以有效的解决该问题,即“目标-场景-对策”分析法。举例来说:目标场景决策性能客户端频繁访问页面,WEB服务器负荷大代理服务器客户端大量访问后台图片图片服务器程序频繁访问IO,磁盘压力大数据库拆分以上举了我们对非功能需求中的“性能”大类进行了分析,比如对月客户端大量访问后台图片的场景,我们采取了图片服务器的应对策略。这种分析方法和原有的“存而不论”的方法相比,有以下优点:1、它在流程上就规定了分析人员必须对产品中的非功能需求进行分析;2、它针对非功能需求的目标进行了归类整理;3、对于每个目标中可能发生的场景进行了梳理;4、最后就是比较关键的一条就是,对于每种场景,我们都仔细思考了针对性的决策分析,这些决策为后续的设计起到了指导作用。

需求分析的详细分析

富豪榜
梁祝恨
从广义上理解:需求分析包括需求的获取、分析、规格说明、变更、验证、管理的一系列需求工程。狭义上理解需求分析指需求的分析、定义过程。 需求分析就是分析软件用户的需求是什么。如果投入大量的人力,物力、财力、时间,开发出的软件却没人要,那所有的投入都是徒劳。如果费了很大的精力,开发一个软件,最后却不满足用户的要求,从而要重新开发过,这种返工是让人痛心疾首的(相信大家都有体会)。比如:用户需要一个for linux的软件,而你在软件开发前期忽略了软件的运行环境,忘了向用户询问这个问题,而想当然的认为是开发for windows的软件。当你千辛万苦地开发完成向用户提交时才发现出了问题,那时候你是欲哭无泪了,恨不得找块豆腐一头撞死。需求分析之所以重要,就因为他具有决策性、方向性、策略性的作用,他在软件开发的过程中具有举足轻重的地位,大家一定要对需求分析具有足够的重视。在一个大型软件系统的开发中,他的作用要远远大于程序设计。 需求分析阶段的工作,可以分为四个方面:问题识别、分析与综合、制订规格说明、评审。问题识别:就是从系统角度来理解软件,确定对所开发系统的综合要求,并提出这些需求的实现条件,以及需求应该达到的标准。这些需求包括:功能需求(做什么)、性能需求(要达到什么指标)、环境需求(如机型、操作系统等)、可靠性需求(不发生故障的概率)、安全保密需求、用户界面需求、资源使用需求(软件运行是所需的内存、CPU等)、软件成本消耗与开发进度需求、预先估计以后系统可能达到的目标。分析与综合: 逐步细化所有的软件功能,找出系统各元素间的联系,接口特性和设计上的限制,分析他们是否满足需求,剔除不合理部分,增加需要部分。最后综合成系统的解决方案,给出要开发的系统的详细逻辑模型(做什么的模型)。制订规格说明书: 即编制文档,描述需求的文档称为软件需求规格说明书。请注意,需求分析阶段的成果是需求规格说明书,向下一阶段提交。评审: 对功能的正确性,完整性和清晰性,以及其它需求给予评价。评审通过才可进行下一阶段的工作,否则重新进行需求分析。 需求分析的方法有很多,这里只强调原型化方法,其它的方法如:结构化方法、动态分析法等,从来没用过这些方法在此不讨论。原型化方法是十分重要的,原型就是软件的一个早期可运行的版本,它实现了目标系统的某些或全部功能。原型化方法就是尽可能快地建造一个粗糙的系统,这系统实现了目标系统的某些或全部功能。但是这个系统可能在可靠性、界面的友好性或其他方面上存在缺陷。建造这样一个系统的目的是为了考察某一方面的可行性,如算法的可行性、技术的可行性或考察是否满足用户的需求等。如:为了考察是否满足用户的要求,可以用某些软件工具快速的建造一个原型系统,这个系统只是一个界面,然后听取用户的意见,改进这个原型。以后的目标系统就在原型系统的基础上开发。原型主要有三种类型:探索型、实验型、进化型。探索型:目的是要弄清楚对目标系统的要求,确定所希望的特性,并探讨多种方案的可行性。实验型:用于大规模开发和实现前,考核方案是否合适,规格说明是否可靠。进化型:目的不在于改进规格说明,而是将系统建造得易于变化,在改进原型的过程中,逐步将原型进化成最终系统。在使用原型化方法时有两种不同的策略:废弃策略、追加策略。废弃策略:先建造一个功能简单而且质量要求不高的模型系统,针对这个系统反复进行修改,形成比较好的思想,据此设计出较完整、准确、一致、可靠的最终系统。系统构造完成后,原来的模型系统就被废弃不用。探索型和实验型属于这种策略。追加策略:先构造一个功能简单而且质量要求不高的模型系统,作为最终系统的核心,然后通过不断地扩充修改,逐步追加新要求,发展成为最终系统。进化型属于这种策略。 客户与开发人员交流需要好的方法。下面建议20条法则,客户和开发人员可以通过评审以下内容并达成共识。如果遇到分歧,将通过协商达成对各自义务的相互理解,以便减少以后的磨擦(如一方要求而另一方不愿意或不能够满足要求)。1、 分析人员要使用符合客户语言习惯的表达需求讨论集中于业务需求和任务,因此要使用术语。客户应将有关术语(例如:采价、印花商品等采购术语)教给分析人员,而客户不一定要懂得计算机行业的术语。2、分析人员要了解客户的业务及目标只有分析人员更好地了解客户的业务,才能使产品更好地满足需要。这将有助于开发人员设计出真正满足客户需要并达到期望的优秀软件。为帮助开发和分析人员,客户可以考虑邀请他们观察自己的工作流程。如果是切换新系统,那么开发和分析人员应使用一下旧系统,有利于他们明白系统是怎样工作的,其流程情况以及可供改进之处。3、 分析人员必须编写软件需求报告分析人员应将从客户那里获得的所有信息进行整理,以区分业务需求及规范、功能需求、质量目标、解决方法和其他信息。通过这些分析,客户就能得到一份“需求分析报告”,此份报告使开发人员和客户之间针对要开发的产品内容达成协议。报告应以一种客户认为易于翻阅和理解的方式组织编写。客户要评审此报告,以确保报告内容准确完整地表达其需求。一份高质量的“需求分析报告”有助于开发人员开发出真正需要的产品。4、 要求得到需求工作结果的解释说明分析人员可能采用了多种图表作为文字性“需求分析报告”的补充说明,因为工作图表能很清晰地描述出系统行为的某些方面,所以报告中各种图表有着极高的价值;虽然它们不太难于理解,但是客户可能对此并不熟悉,因此客户可以要求分析人员解释说明每个图表的作用、符号的意义和需求开发工作的结果,以及怎样检查图表有无错误及不一致等。5、 开发人员要尊重客户的意见如果用户与开发人员之间不能相互理解,那关于需求的讨论将会有障碍。共同合作能使大家“兼听则明”。参与需求开发过程的客户有权要求开发人员尊重他们并珍惜他们为项目成功所付出的时间,同样,客户也应对开发人员为项目成功这一共同目标所做出的努力表示尊重。6、 开发人员要对需求及产品实施提出建议和解决方案通常客户所说的“需求”已经是一种实际可行的实施方案,分析人员应尽力从这些解决方法中了解真正的业务需求,同时还应找出已有系统与当前业务不符之处,以确保产品不会无效或低效;在彻底弄清业务领域内的事情后,分析人员就能提出相当好的改进方法,有经验且有创造力的分析人员还能提出增加一些用户没有发现的很有价值的系统特性。7、 描述产品使用特性客户可以要求分析人员在实现功能需求的同时还注意软件的易用性,因为这些易用特性或质量属性能使客户更准确、高效地完成任务。例如:客户有时要求产品要“界面友好”或“健壮”或“高效率”,但对于开发人员来讲,太主观了并无实用价值。正确的做法是,分析人员通过询问和调查了解客户所要的“友好、健壮、高效所包含的具体特性,具体分析哪些特性对哪些特性有负面影响,在性能代价和所提出解决方案的预期利益之间做出权衡,以确保做出合理的取舍。8、 允许重用已有的软件组件需求通常有一定灵活性,分析人员可能发现已有的某个软件组件与客户描述的需求很相符,在这种情况下,分析人员应提供一些修改需求的选择以便开发人员能够降低新系统的开发成本和节省时间,而不必严格按原有的需求说明开发。所以说,如果想在产品中使用一些已有的商业常用组件,而它们并不完全适合您所需的特性,这时一定程度上的需求灵活性就显得极为重要了。9、 要求对变更的代价提供真实可靠的评估有不同的选择。而这时,对需求变更的影响进行评估从而对业务决策提供帮助,是十分必要的。所以,客户有权利要求开发人员通过分析给出一个真实可信的评估,包括影响、成本和得失等。开发人员不能由于不想实施变更而随意夸大评估成本。10、 获得满足客户功能和质量要求的系统每个人都希望项目成功,但这不仅要求客户要清晰地告知开发人员关于系统“做什么”所需的所有信息,而且还要求开发人员能通过交流了解清楚取舍与限制,一定要明确说明您的假设和潜在的期望,否则,开发人员开发出的产品很可能无法让您满意。11、 给分析人员讲解您的业务分析人员要依靠客户讲解业务概念及术语,但客户不能指望分析人员会成为该领域的专家,而只能让他们明白您的问题和目标;不要期望分析人员能把握客户业务的细微潜在之处,他们可能不知道那些对于客户来说理所当然的“常识”。12、 抽出时间清楚地说明并完善需求客户很忙,但无论如何客户有必要抽出时间参与“头脑高峰会议”的讨论,接受采访或其他获取需求的活动。有些分析人员可能先明白了您的观点,而过后发现还需要您的讲解,这时请耐心对待一些需求和需求的精化工作过程中的反复,因为它是人们交流中很自然的现象,何况这对软件产品的成功极为重要。13、 准确而详细地说明需求编写一份清晰、准确的需求文档是很困难的。由于处理细节问题不但烦人而且耗时,因此很容易留下模糊不清的需求。但是在开发过程中,必须解决这种模糊性和不准确性,而客户恰恰是为解决这些问题作出决定的最佳人选,否则,就只好靠开发人员去正确猜测了。在需求分析中暂时加上“待定”标志是个方法。用该标志可指明哪些是需要进一步讨论、分析或增加信息的地方,有时也可能因为某个特殊需求难以解决或没有人愿意处理它而标注上“待定”。客户要尽量将每项需求的内容都阐述清楚,以便分析人员能准确地将它们写进“软件需求报告”中去。如果客户一时不能准确表达,通常就要求用原型技术,通过原型开发,客户可以同开发人员一起反复修改,不断完善需求定义。14、 及时作出决定分析人员会要求客户作出一些选择和决定,这些决定包括来自多个用户提出的处理方法或在质量特性冲突和信息准确度中选择折衷方案等。有权作出决定的客户必须积极地对待这一切,尽快做处理,做决定,因为开发人员通常只有等客户做出决定才能行动,而这种等待会延误项目的进展。15、 尊重开发人员的需求可行性及成本评估所有的软件功能都有其成本。客户所希望的某些产品特性可能在技术上行不通,或者实现它要付出极高的代价,而某些需求试图达到在操作环境中不可能达到的性能,或试图得到一些根本得不到的数据。开发人员会对此作出负面的评价,客户应该尊重他们的意见。16、 划分需求的优先级绝大多数项目没有足够的时间或资源实现功能性的每个细节。决定哪些特性是必要的,哪些是重要的,是需求开发的主要部分,这只能由客户负责设定需求优先级,因为开发者不可能按照客户的观点决定需求优先级;开发人员将为您确定优先级提供有关每个需求的花费和风险的信息。在时间和资源限制下,关于所需特性能否完成或完成多少应尊重开发人员的意见。尽管没有人愿意看到自己所希望的需求在项目中未被实现,但毕竟是要面对现实,业务决策有时不得不依据优先级来缩小项目范围或延长工期,或增加资源,或在质量上寻找折衷。17、 评审需求文档和原型客户评审需求文档,是给分析人员带来反馈信息的一个机会。如果客户认为编写的“需求分析报告”不够准确,就有必要尽早告知分析人员并为改进提供建议。更好的办法是先为产品开发一个原型。这样客户就能提供更有价值的反馈信息给开发人员,使他们更好地理解您的需求;原型并非是一个实际应用产品,但开发人员能将其转化、扩充成功能齐全的系统。18、 需求变更要立即联系不断的需求变更,会给在预定计划内完成的质量产品带来严重的不利影响。变更是不可避免的,但在开发周期中,变更越在晚期出现,其影响越大;变更不仅会导致代价极高的返工,而且工期将被延误,特别是在大体结构已完成后又需要增加新特性时。所以,一旦客户发现需要变更需求时,请立即通知分析人员。19、 遵照开发小组处理需求变更的过程为将变更带来的负面影响减少到最低限度,所有参与者必须遵照项目变更控制过程。这要求不放弃所有提出的变更,对每项要求的变更进行分析、综合考虑,最后做出合适的决策,以确定应将哪些变更引入项目中。20、 尊重开发人员采用的需求分析过程软件开发中最具挑战性的莫过于收集需求并确定其正确性,分析人员采用的方法有其合理性。也许客户认为收集需求的过程不太划算,但请相信花在需求开发上的时间是非常有价值的;如果您理解并支持分析人员为收集、编写需求文档和确保其质量所采用的技术,那么整个过程将会更为顺利。“需求确认”意味着什么在“需求分析报告”上签字确认,通常被认为是客户同意需求分析的标志行为,然而实际操作中,客户往往把“签字”看作是毫无意义的事情。“他们要我在需求文档的最后一行下面签名,于是我就签了,否则这些开发人员不开始编码。”这种态度将带来麻烦,譬如客户想更改需求或对产品不满时就会说:“不错,我是在需求分析报告上签了字,但我并没有时间去读完所有的内容,我是相信你们的,是你们非让我签字的。”同样问题也会发生在仅把“签字确认”看作是完成任务的分析人员身上,一旦有需求变更出现,他便指着“需求分析报告”说:“您已经在需求上签字了,所以这些就是我们所开发的,如果您想要别的什么,您应早些告诉我们。”这两种态度都是不对的。因为不可能在项目的早期就了解所有的需求,而且毫无疑问地需求将会出现变更,在“需求分析报告”上签字确认是终止需求分析过程的正确方法,所以我们必须明白签字意味着什么。对“需求分析报告”的签名是建立在一个需求协议的基线上,因此我们对签名应该这样理解:“我同意这份需求文档表述了我们对项目软件需求的了解,进一步的变更可在此基线上通过项目定义的变更过程来进行。我知道变更可能会使我们重新协商成本、资源和项目阶段任务等事宜。”对需求分析达成一定的共识会使双方易于忍受将来的摩擦,这些摩擦来源于项目的改进和需求的误差或市场和业务的新要求等。  需求确认将迷雾拨散,显现需求的真面目,给初步的需求开发工作画上了双方都明确的句号,并有助于形成一个持续良好的客户与开发人ONT> 要想说什么是好的需求分析,不如说什么是不好的需求分析,知道什么是不好的,自然也就知道了什么是好的。以下就是一些不好的情况:(1)创意和求实 毋庸质疑的,每个人都会为自己的一个新的Idea而激动万分,特别是当这个Idea受到一些根本不知道你原本要干嘛的人的惊赞时。但是请注意,当你激动得意的时候,你可能已经忘了你原本是在描述一个需求,而不是在策划一个创意、创造一个概念。很多刚开始做需求分析的人员都或多或少的会犯这样的错误,陶醉在自己的新想法和新思路中,却违背了需求的原始客观性和真实性原则。 永远别忘了:需求不是空中楼阁,是实实在在的一砖一瓦。(2)解剖的快感 几乎所有搞软件的人,做需求分析的时候,一上来就会把用户告诉你的要求,完完整整的作个解剖,切开分成几个块,再细分成几个子块,然后再条分缕析。可是当用户迷惑的看着你辛辛苦苦做出来的分析结果问你:我想作一个数据备份的任务,怎么做?这时,你会发现,需要先后打开三个窗口才能完成这个任务。 永远别忘了:分解是必需的,但最终的目的是为了更好的组合,而不是为了分解。(3)角度和思维 经常听到这样的抱怨:“用户怎么可以提出这样苛刻的要求呢?”。细细一了解,你会发现,用户只不过是要求把一个需要两次点击的功能,改成只有一次点击。这样会导致需要改变需求、改变编码、甚至重新测试,增加工作量。可是,如果换个角度来想想,这个功能,开发的时候只用了几次、几十次,可是用户每天都要用几百次甚 至几千次几万次,改动一下就减少了一半的工作量,对他来说,这样的需求难道会苛刻吗? 永远别忘了:没有任何需求是不对的,不对的只是你的需求分析。试着站在用户的思维角度想想,你的需求分析就会更加的贴近用户,更加的合理。软件应该是以人为本的。(4)程序员逻辑 从程序员成长为系统分析员是一个普遍的轨迹,但并不是一个好的程序员就必然能成为一个好的系统分析员。一些程序员的固化逻辑,使得他们在做需求分析的时候往往钻进了一些牛角里面。比如说1/0逻辑(或者是说黑白逻辑),认为不是这样就是那样,没有第三种情况。可实际情况往往是,在一定的时候是这样,其它时候是那样。又比如穷举逻辑,喜欢上来就把所有一二三可能的情况列举出来,然后一个一个分别处理,每个占用三分之一的时间;可是实际的情况往往是,三分之一的情况占了99%的比例,其它两种情况一年都不会遇到一次。实际中还有很多这样的例子,不一一列举了。 永远别忘了:需求分析和程序设计不尽相同,合理、可行是才是重要的。跳出程序设计的圈子,站在系统的角度上来看问题,你的结论会截然不同。

先做需求分析还是可行性分析的

且无所逃
高举爱
当然是可行性分析,需求分析是要求很细的。可行性分析首先是论证项目可以做