资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,华中科技大学机械学院,CAD,中心,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,华中科技大学机械学院,CAD,中心,需求管理流程,人人都是产品经理,什么是需求:,Rational,把需求定义为,“,(正在构建的)系统必须符合的条件或具备的功能,”,。,著名的需求工程设计师,Merlin Dorfman,和,Richard H.Thayer,提出了一个包容且更为精练的定义,它特指软件方面,-,但不仅仅限于软件:,“,软件需求可定义为:用户解决某一问题或达到某一目标所需的软件功能。系统或系统构件为了满足合同、规约、标准或其他正式实行的文档而必须满足或具备的软件功能。,”,项目需求管理,为什么要进行需求管理,?,评测和验证有效的软件开发流程标准得到了推广和普及,为什么现在仍然频繁发生的软件项目失败的事件?,为什么仍有那么多的项目受到延期、预算超支和质量问题的困扰?,如何才能提高系统的质量?,简单地说,系统开发团队之所以管理需求是为了获得项目成功。,好的需求管理是项目成功的第一要素,。,为什么要管理需求?,需求分析在启动和计划阶段,占有相当大的比例。,什么是需求管理?,需求管理是一种获取、组织并记录系统需求的系统化方案,以及一个使客户与项目团队对不断变更的系统需求达成并保持一致的过程。,提供一种机制,以分析需求、评估可行性、协商合理的解决方案、无歧义地规约解决方案、确认规约以及在开发过程中管理这些被确认的需求规约。,包括,6,个步骤:,获取(需求诱导),分析(需求分析和谈判),规定(规约),系统建模,验证(需求确认),需求管理(控制与变更管理),需求管理存在的问题,需求,不总是显而易见的,,它可来自各个方面。,需求并不总是容易用文字,明白无误地,表达。,存在不同种类的需求,其详细程度各不相同。,如果不加以控制,需求是无止境的,需求数量将难以管理。,需求相互之间以及与流程的其他可交付工件之间以多种方式相关联。,需求既非同等重要,处理的难度也不同。,需求涉及众多相关利益责任方,这意味着需求要由跨职能的各组人员来管理。,需求会发生变更。,需求可能对时间敏感。,需求分析过程,(,1,),对系统的综合要求,:,功能要求,:,包括系统应该实现的功能;,性能要求,:,包括系统响应时间、资源限制、数据精确性、系统适应性等;,运行要求,:,包括系统硬件环境、网络环境、系统软件、接口等的具体要求;,其他要求包括:,安全保密、可靠性、可维护性、可移植性、可扩展性等等。,(,2,),分析系统的数据要求,数据定义、数据逻辑关系、输入,/,出数据定义、,数据采集方式等,(,3,),抽象出并确立目标系统的逻辑模型,如用例图、设计模型、实施模型和实现模型等,(,4,),编写需求规格说明书,如数据流图、面向对象的分析等。,需求分析过程,需求的作用,需求的作用,项目计划过程,:需求是项目计划的基础,跟踪控制过程,:监控每项需求的状态,以发现设计是否达到了预期的要求,变更控制过程,:需求文档确定并制定基线后的变更都要通过确定的变更控制过程来实现,系统测试过程,:需求是测试的重要参考文档编制过程:需求是编写文档的重要参考,系统构建过程,:需求决定模块设计,模块设计是代码实现的依据,需求的类别,原始问题描述,:对要解决问题的叙述,它是软件需求的基础,用户需求,:用自然语言和图表给出的关于系统需要提供的服务及操作的约束,系统需求,:用详细的术语给出系统要提供的服务及受到的约束,软件设计描述,:在系统需求的基础上加入更详细的内容,它是软件详细设计和实现的基础,提交需求的基本原则,语句和段落尽量简短,语句要完整,语法、标点等要正确,使用的术语与词汇表中的定义保持一致,避免使用模糊、主观的术语,如性能“优越”,避免使用比较性词汇,尽量给出定量的说明,,,含糊的表达将引起需求的不可验证,需求开发与管理的界限,需求管理的目标,需求管理是一种,获取,、,组织,并,记录,软件需求的系统化方案,也是使客户与项目团队对不断变更的软件需求保持一致的过程,需求管理的目的:在客户和处理客户需求的软件项目组之间建立对客户需求的共同理解,使软件受控,并建立供软件工程和管理使用的需求基线,使软件计划、产品和活动与软件需求保持一致,需求管理的原则,一定要分类管理,:,目标性需求、具体业务流程需求和操作性的需求等,必须分优先级,必须文档化,:,文档必须是正确的、最新的、可管理的、可理解和经过验证的,需求一旦变化,就,必须,对需求变更的影响,进行评估,,每个项目都必须有需求管理员或组,需求管理,必须与需求工程的其他活动机密结合,:需求管理是形式,需求获取、需求分析、需求验证等是内容,需求管理的规划,进行需求管理的第一步是建立需求管理规划:,需求识别,:给需求以惟一的标识,变更过程管理,:确定一个选择、分析和决策需求变更的过程,需求跟踪,:定义需求之间的关系及需求和设计之间的关系,记录并维护这些关系,自动化工具,:即选择使用何种,CASE,工具,变更控制流程,需求管理委员会,需求管理委员会,一、职能:,评审,需求分析及讨论,跟踪,需求修改进度,监督,需求整改质量保证,二、会议制度:,每周定期召开需求管理会议,职能 和,规定,产品研发步骤:,一、产品需求文档:,二、讨论(发散思维),排列出优先等级,测试人员参与,按照实现效果、目的测试,测试用例,三、功能设计详细设计测试日常维护,四、根据客户反馈,搜集新一轮需求;,会议决议:,1,、在不影响重大需求的前提下,新的紧急需求会尽快上线。,2,、如果计划做新版本,需要重新做出新规划,需求跟踪,目的:建立和维护从用户需求到测试的一致性与完整性,确保实现都以客户需求为基础,实现的需求覆盖了预期的需求,并确保输出与用户需求的符合性,需求跟踪就要追溯需求间以及需求与系统设计间的联系,可追溯性是需求描述的一个总体特性,反映了发现相关需求的能力。三类可追溯性信息:,源可追溯性信息:连接需求与提出需求的人员及产生需求的原因,需求可追溯性信息:连接需求文档中彼此依赖的信息,设计可追溯性信息:连接需求到其实现的设计模块,需求跟踪的作用,在需求验证中,便于确保所有需求被应用,有助于变更影响分析,便于需求的维护,便于测试时找出问题所在,便于项目跟踪和减少项目风险,简化了系统再设计,易于软件重用,需求质量保证,需求验证过程,审查需求文档,:由分析人员、客户、设计人员和测试人员等组成的审查小组,编写测试用例,:根据用户要求的产品功能写出测试用例。如果测试的设计很可能或不可能,说明需求的实现很困难,编写用户手册,:用户手册初稿,确定合格的标准,:合格的测试是建立在使用情景描述或使用实例基础上的,需求验证的内容,有效性检查,:,每项需求都是正确有效的,能解决用户面对的问题,一致性检查,:需求不应该冲突,完备性检查,:应包含所有用户想要的功能和约束,现实性检查,:保证能利用现有技术实现,可检验性检查,:描述的需求能够实际测试,可跟踪性检查,:需求的出处被清晰记录,可调节性检查,:,需求变更不会对其它部分造成大规模影响,可读性检查,:能够被读懂,需求评审,评审注意事项:,严格控制每次评审的文档规模和持续时间:避免参加者厌倦,提高评审效率和保证评审质量,评审工作要分段进行:需求开发与需求评审依次进行,要控制讨论的问题:避免跑题,避免无谓的争吵,小结,应用软件项目开发过程中,最为,关键的环节是对需求的控制,。,需求管理处于软件项目管理开发周期的最上游;软件需求主要来源于业务分析的结果,在充分考虑用户的自身特性与要求的前提下,项目经理在用户与项目组之间达成共识,,建立了需求基线,;,在项目开发过程中,通过需求范围认定、需求形式化记录、需求数据库建立、需求状态跟踪、需求变更分析和波动评估、需求评审控制等程序,通过使用需求管理工具等手段,实现对项目需求按基线的控制和管理。,需求管理的好坏,对产品项目的成败起决定性作用,项目经理的资质、技能要求非同一般,责任心更是保证。,
展开阅读全文