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