《需求管理和需求分析课件.ppt》由会员分享,可在线阅读,更多相关《需求管理和需求分析课件.ppt(48页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第1页,此课件共48页哦需求管理和需求分析需求管理和需求分析第2页,此课件共48页哦内容内容前言前言需求工程简介需求工程简介需求开发的主要困难与对策需求开发的主要困难与对策如何开展需求调查如何开展需求调查如何进行需求分析如何进行需求分析什么是好的需求规格说明书什么是好的需求规格说明书形成需求规格说明书形成需求规格说明书需求管理:确认、跟踪、变更控制需求管理:确认、跟踪、变更控制CMM2级级KPA需求管理(需求管理(RM)介绍)介绍第3页,此课件共48页哦前言前言泛泛地讲,需求来源于客户的一些“需要”,这些“需要”被分析、确认后形成完整的文档,该文档详细地说明了产品“必须或应当”做什么。所以如果
2、只有一些零碎的对话、资料或邮件,并没有真正掌握需求FrederickBrooks在他1987年经典文章“NoSilverBullet”中阐述了需求的重要性:开发软件系统最困难的部分就是准确说明开发什么。最困难的概念性工作是编写出详细的需求,包括所有面向用户、面向机器和其它软件系统的接口。此工作一旦做错,将会给系统带来极大的损害,并且以后对它修改也极为困难。需求是产品的根源,需求工作的优劣对产品影响最大。就像一条河流,如果源头被污染了,那么整条河流也就被污染了。第4页,此课件共48页哦前言前言定义(IEEE-STD-610)用户为解决某个问题、或为实现某一目标,要求软件必须满足的条件或能力。软件
3、需求的三个层次业务需求用户需求功能需求和非功能需求第5页,此课件共48页哦前言前言非功能需求过程需求:交付需求,实现需求,遵循的标准性能需求:速度,容量,可靠性外部需求:互操作性,伦理性,机密性,安全性,使用要求第6页,此课件共48页哦前言前言业务需求业务说明使用实例用户需求功能需求约束条件非功能需求软件需求规格说明软件需求的层次l常规需求:客户明确提出l期望需求:并未明确提出的潜在需求,不言而喻的需求l 兴奋需求:客户未想到,若实现客户 感到意外第7页,此课件共48页哦前言前言软件需求与系统需求分析软件系统需求(1)系统需求分配软件工程组硬件系统需求(2)其它成分系统需求(n)软件需求客户最
4、终用户系统工程组第8页,此课件共48页哦前言前言“用户”(user)是一种泛称,它可细分为“客户”(customer)、“最终用户”(theenduser)和“间接用户”(或称为关系人)。掏钱买软件的用户称为客户,而真正操作软件的用户叫最终用户。客户与最终用户可能是同一个人也可能不是同一个人。客户是掏钱买软件的人,所以他是“上帝”。某饭店经理在解释“先有鸡还是先有蛋”这个哲学问题时,精辟地阐述了客户的地位:如果顾客先点鸡,那么就先有鸡;如果顾客先点蛋,那么就先有蛋。客户的需要才是最准确需求之源第9页,此课件共48页哦需求工程简介需求工程简介把所有与需求直接相关的活动通称为需求工程。需求工程中的
5、活动可分为两大类,一类属于需求开发,另一类属于需求管理。需求工程的结构图第10页,此课件共48页哦需求工程简介需求工程简介用户/系统市场管理者初始需求变更的需求获取,分析,定义,验证需求控制需求变更需求规格说明项目环境需求开发需求管理第11页,此课件共48页哦需求工程简介需求工程简介需求开发过程需求开发过程需求开发的目的是通过调查与分析,获取用户需求并定义产品需求。需求调查的目的需求调查的目的是通过各种途径获取用户的需求信息(原始材料),产生用户需求说明书。需求分析的目的需求分析的目的是对各种需求信息进行分析,消除错误,刻画细节等。常见的需求分析方法有“问答分析法”和“建模分析法”两类。需求定
6、义的目的需求定义的目的是根据需求调查和需求分析的结果,进一步定义准确无误的产品需求,产生产品需求规格说明书。系统设计人员将依据产品需求规格说明书开展系统设计工作。第12页,此课件共48页哦需求工程简介需求工程简介需求管理过程需求管理过程需求管理的目的是在客户与开发方之间建立对需求的共同理解,维护需求与其它工作成果的一致性,并控制需求的变更。需求确认需求确认是指开发方和客户共同对需求文档进行评审,双方对需求达成共识后作出书面承诺,使需求文档具有商业合同效果。需求跟踪需求跟踪是指通过比较需求文档与后续工作成果之间的对应关系,建立与维护“需求跟踪矩阵”,确保产品依据需求文档进行开发。需求变更控制需求
7、变更控制是指依据“变更申请审批更改重新确认”的流程处理需求的变更,防止需求变更失去控制而导致项目发生混乱。第13页,此课件共48页哦需求工程简介需求工程简介不论是合同项目还是自主研发的产品,都必须开展需求开发和需求管理活动。开发者对待需求工程的态度可分“被动型”、“主动型”和“领先型”三种。“被动型”是指开发者被动地对待需求工程中的各项活动。他们认为需求是用户的事情。开发过程中经常发生需求变更,导致产品迷失方向,不是半途而废就是陷入半死不活的状态。“主动型”是指开发者积极地开展需求工程中的各项活动。他们把获取准确的需求当作自己的职责,会想尽一切办法克服需求开发和需求管理过程中的困难,而不是找借
8、口推卸责任。俗话说“良好的开端是成功的一半”。“领先型”是需求工程的最高境界。开发者发掘了连用户自己都没有意识到的需求,导致用户跟着新产品跑而不是新产品围着用户转,这叫引导消费。需求工程做到这个份上,才能使产品立于不败之地,长盛不衰。第14页,此课件共48页哦需求工程简介需求工程简介第15页,此课件共48页哦需求开发的主要困难与对策1 1 知识技能问题知识技能问题 u应用域的知识是无边无际的,任何人都不可能是“万事通”。俗话说“隔行如隔山”,需求分析员可能是某一领域的专家,但当他接手陌生的业务时,他可能是个“无知”者。一个企业要谋求发展,不能总在做老的业务。人一生中会有许多充满挫折的“第一次”
9、,不可以逃避。u我们缺乏应用域知识,该怎么办?首先要有勇气做事,否则连实践的机会都没有。其次他应当赶紧补习应用域知识,不论是通过自学还是培训的方式,否则他很难与用户交流。如果可能的话,最好请既懂软件又懂应用域知识的行家来帮忙。2 2 态度问题态度问题 u我们习惯于被动地对待需求开发。每当遇到麻烦、挫折时,我们会发牢骚并错误地以为:需求是用户的事情,不是我们的事情。我们为用户开发软件,难道用户不该告诉我们应当开发什么吗?如果用户说不清楚需求,或者经常变更需求,这类问题是用户产生的,应当由他们自己负责。u用户说不清楚需求或者需求发生变更,这些都是常见的问题,并不是绝症,是人们可以设法解决的。我们要
10、主动攻克问题,导致需求问题扩散到整个软件开发过程,产生太多的后患。u项目负责人应当给具有错误观念的开发人员们洗脑:需求分析员的天职就是在有限的时间内获取准确而细致的用户需求。第16页,此课件共48页哦需求开发的主要困难与对策.3.3 合作关系合作关系 u如果我们不能与用户建立良好的合作关系,那么我们在需求开发过程中会很疲惫。u倘若用户不能很好地配合需求分析员,那并不表示他是个坏蛋。因为用户有他自己的想法:我回答了你们的问题,讲了该讲的。我们付钱给你们,难道还要我伺候你们不成?我还要干自己的事情,别打扰我了。你们自己想办法把活干好吧。u需求分析员不是销售人员,他们不可能象销售人员那样通过某些手段
11、笼络住用户就能成功。出色的需求分析员不仅要有过硬的专业知识,还要具备较强的交流、沟通能力,我们可以通过帮助用户解决一些技术上的小问题和用户拿拢关系。u对于一些竞标项目,在合同未签订之前的需求开发工作尤为困难。用户未必会买你的产品,他不会投入很多精力来协助你搞需求开发,我们积极主动找用户了解业务和需求。u开发方与用户的合作关系对需求开发而言是至关重要的。对于重大的、复杂的项目,我们不能完全期望客户能自发地和我们建立起良好地合作关系,这样风险太大。u在开展需求开发之前,我们要“好话”和“丑话”都说在前头,这样能减少今后的摩擦。可能话,以书面形式明确双方的在需求工程方面的权利和义务。当然,在进行需求
12、调查时,我们应该有个具体的计划供客户确认。第17页,此课件共48页哦需求开发的主要困难与对策用户在需求工程中的“权利”有权要求开发方派遣资质合格的需求分析员和相关人员。有权要求开发方采用他们熟悉的语言来描述需求,即开发方必须提供用户看得懂得需求文档。有权审查需求文档,并对有争议的需求作出决策。如果认为需求文档不能准确地反映用户真实的意愿,可以拒绝在需求文档上签字。如果用户想要变更需求,有权要求开发方对该变更将产生的影响作出真实可信的评估,以便用户决定是否变更需求。用户在需求工程中的“义务”以积极友善的态度与开发方人员交流、协作,尽可能地为开发方人员提供工作和生活上的便利。乐意接受需求分析员的采
13、访,在不泄漏机密的前提下尽可能地回答需求分析员的问题。在不泄漏机密的前提下,尽可能地向需求分析员提供与需求相关的材料。与需求分析员共同评审需求文档,确保需求文档准确地反映用户真实的意愿。第18页,此课件共48页哦需求开发的主要困难与对策4 4 用户说不清楚需求用户说不清楚需求 u用户说不清楚需求是普遍现象,这让我们很头痛。有些用户真的不知道需求是什么,或者对需求只有朦胧的感觉,他当然说不清楚需求。有些用户虽然心里明白想要什么,但却说不清楚需求。好像说买鞋子。我们非常了解自已的脚,但很难用语言说清楚脚的大小和形状。通常拿鞋子去试,试穿时感觉到舒服才会买鞋。u我们绝不能以用户说不清楚需求为借口而草
14、率地对待需求开发工作,这样会连累整个开发团队的。对于不清楚需求的用户,我们可以根据客户的业务,按我们的理解提出用户需求,然后再找用户确认。事实上,作为系统分析人员,在做系统分析的时候,其实也是在为国家信息化建设做普及教育工作。对于知道需求的用户,我们可以根据用户大概的描叙,在按照我们的理解,再系统地地复述给用户,让用户确认。第19页,此课件共48页哦需求开发的主要困难与对策5 5 双方误解需求双方误解需求 u人们在交流的时候,经常会发生“问非所求,答非所问”的事情。有时用户会把开发人员的建议或答复给想歪了:而用户表达的需求,不同的开发人员可能有不同的理解。如果需求分析员误解了需求,那会导致后续
15、的不少开发人员将错就错、白干活。就像作文写跑题了,写得再好也白搭。这类错误连高智商的外星人都不能避免:u不论是复杂的项目还是简单的项目,需求分析员和用户都有可能误解需求。所以需求确认工作(属于需求管理)必不可少。第20页,此课件共48页哦需求开发的主要困难与对策6 6 开发人员写不好需求文档开发人员写不好需求文档 u需求调查工作不充分,获取的需求信息太少或者太乱,以至于写不成需求文档。古时候,一书生在考试前补习“写文章”,成天愁眉苦脸。其夫人甚为不解,问:“相公,你写文章比我生小孩还难吗?”书生长叹一声:“娘子你哪里知道我的难处啊!你生小孩时肚子里有东西,可我写文章时肚子里没东西啊。”所以要想
16、写出好的需求文档,前提条件是把需求调查工作做好。u开发人员写作能力比较差,虽然在调查过程中已经获得了不少需求信息,却写不出好的需求文档来。可以毫不夸张地说,国内90以上的软件开发人员,他们的写作能力远不及开发能力。提高开发人员写作能力的根本办法就是让他们多练习写文档,熟能生巧。另外,公司应当提供合适的文档模板以及比较好的示例文档,尽可能地降低写作难度。第21页,此课件共48页哦需求开发的主要困难与对策7 7 用户经常变更需求用户经常变更需求 u需求变更通常会对项目的进度、人力资源、经费产生很大的影响,这是开发商非常畏惧的问题。u如果在项目开发的初始阶段,开发人员和用户没有搞清楚需求或者搞错了需
17、求,到了项目开发后期才将需求纠正过来,导致产品的部分内容需要重新开发。毫无疑问,这种需求变更将使项目付出额外的代价。这种损失是由于双方工作失误造成的,双方应当好好反省,认真学习需求开发和管理的方法,避免再犯相似的错误。u如果由于市场变化而导致产品需求发生变更,开发商大可不必为此烦恼,应当高兴才对。倘若市场静如死水,那么开发商吃了“上一顿”就没有“下一顿”。正因为市场在变化,才会产生更多商机。u其实需求变更并不可怕,可怕的是需求变更失去控制,导致项目混乱。所以需求变更控制是需求工程的重要活动。第22页,此课件共48页哦如何开展需求调查1 1 准备调查准备调查 u首先,需求分析员应当起草需求调查问
18、题表,将调查重点锁定在该问题表内,否则调查工作将变得漫无边际。问题表可以有多份,随着调查的深入,问题表将不断地被细化。根据经验,用户通常没有耐心回答复杂的论述题,所以问题表应当以“选择题”和“是非题”为主。制定问题表最简便的方法就是从用户需求说明书的模板中提取需求问题。u其次,需求分析员应当确定需求调查的方式,例如:与用户交谈,向用户提问题。向用户群体发调查问卷。参观用户的工作流程,观察用户的操作。与同行、专家交谈,听取他们的意见。分析已经存在的同类软件产品,提取需求。从行业标准、规则中提取需求。从Internet上搜查相关资料。u最后,需求分析员与被调查者建立联系,确定调查的时间、地点、人员
19、,所需资料等,撰写需求调查计划。要特别留意的是不要漏掉典型的用户。第23页,此课件共48页哦如何开展需求调查2 2 执行调查执行调查 u按照计划执行调查。在调查过程中随时记录(或存储)需求信息。u与用户面谈时应当注意以下事项:如果与用户约好了时间,切勿迟到或早退。我们应事先了解用户的身份、背景,以便随机应变。需求调查不象侦探推理那样从蛛丝马迹着手,应该先了解宏观问题,再了解细节问题。如果双方气氛融洽,可以采用灵活的访谈形式,轻易不要打断用户的谈话。当双方对某些问题的交流合乎逻辑地结束后,即可继续讨论问题表中的其它问题。在自由聊天中了解用户需求,比正式面谈效果好。尽可能避免为用户添麻烦,但也不能
20、怕给用户添麻烦而降低需求调查的力度。避免片面地听取某些用户的需求而忽视其它用户的需求。事实上,需求调查除了面谈外,还可以查阅用户的资料,在查阅资料的过程中,有问题再向用户询问。让用户边工作,气氛会显得更加轻松。第24页,此课件共48页哦如何开展需求调查3 3撰写或修改撰写或修改用户需求说明书用户需求说明书用户需求说明书与产品需求规格说明书的主要区别与联系u前者主要采用自然语言(和应用域术语)来表达用户需求,其内容相对于后者而言比较粗略,不够详细。u后者是前者的细化,更多地采用计算机语言和图形符号来刻画需求,产品需求是软件系统设计的直接依据。u两者之间可能并不存在一一影射关系,因为软件开发商会根
21、据产品发展战略、企业当前状况适当地调整产品需求,例如用户需求可能被分配到软件的数个版本中。软件开发人员应当依据产品需求规格说明书来开发当前产品。第25页,此课件共48页哦第26页,此课件共48页哦如何进行需求分析1 1 基本概念基本概念 u有时候我们不得不鼓吹:用户就是上帝,用户永远是正确的。u但事实上,很多时候用户说不清楚需求、会说错需求或者提出一些无法实现的需求。u需求分析是旨在需求开发过程中,对所获取的需求信息进行分析,及时排除错误和弥补不足,确保需求文档正确地反映用户的真实意图。u需求分析是需求开发过程中最费脑子的工作。分析方法大体有两类:“问答分析法”和“建模分析法”。后者技术性比较
22、强,写出来有学术味,故大多数软件工程书籍都有论述。前者就是一些常识而已,虽然写不成文章,但是简单易用(保你一学就会),很有实用价值。u“问答分析法”比较适合于用户需求调查阶段u“建模分析法”比较适合于产品需求定义阶段。第27页,此课件共48页哦如何进行需求分析2 2 问答分析方法问答分析方法 u问答分析方法很简单:刨根究底地问,如果问题都被解答了,那么需求也就分析清楚了。一个人可以“自问自答”地分析需求,几个人分析需求则称为“研讨”。u问答分析最重要的问题是:“是什么”和“为什么”。每个需求都应当用陈述句说明“是什么”,如果“是什么”的内涵不够清晰,则应补充说明“不是什么”。如果“是什么”和“
23、不是什么”并不是“理所当然”的,那么应当解释“为什么”,以便加深读者的理解。追究“是什么”和“为什么”的目的是获得正确、清楚的需求。u其它常见的问题有:需求存在二义性吗?需求文档的上下文有矛盾吗?需求完备吗?需求是必要的吗?需求可实现吗?需求可验证吗?需求的优先级确定了吗?第28页,此课件共48页哦如何进行需求分析3 3 建模分析法建模分析法 u人们都有这样地感受:有些时候用语言描述某个问题特别费劲,而采用图形则使人一目了然,所谓“一图低千言”就是这个道理。u在需求开发过程中,对于某些类型的信息,用图形表示要比文本表示更加有效。所以将图形与文本结合起来描述需求是很自然的方法。u需求建模就是指用
24、图形符号来表示、刻画需求。u建模分析方法主要有两大类:“结构化分析法”和“面向对象分析法”。u恰当地使用图形符号:现代建模工具如Rose有非常丰富的图形符号和文字标注,能很好地表达模型的细节。要注意的是:在建模时使用花样过多的图形符号或文字意味着模型表示的复杂化,将使开发人员更难掌握,而且使图形文档更加杂乱。世上不存在一个包罗万象的图它能完整地描述需求。需求建模不可能取代文字描述。在需求文档中,文字描述是第一重要的,建模主要是起分析、在需求文档中,文字描述是第一重要的,建模主要是起分析、解释作用。解释作用。建议将模型存放在需求文档的附录中,便于正文引用。第29页,此课件共48页哦如何进行需求分
25、析4 4 作出决策作出决策 u当需求从四面八方收集来后,需求的冲突在所难免。对于那些难以达成共识的需求而言,经常会发生“公说公有理,婆说婆有理”的现象。那么需求分析员究竟应该听谁的呢?如果一群人对需求有争议,并不是谁声音最响就听谁的。根据生活经验,最保险的办法是:先听官儿大的或者威望高的,如果大家的职位和威望都差不多,那么采用“少数服从大多数”的原则。如果一个产品可以卖给几类客户,但是各类客户都要求产品按照他们的喜好来开发。此时对需求的决策应当以商业利益为导向,即哪一类客户出钱最多就先满足他们的需求,以后再做那些获利相对较少的需求。当开发者想象中的产品与客户所提的需求有冲突时,一般应当尊重客户
26、的观点。但是不要陷入“客户总是对的”陷阱里,需求分析员应当纠正明显不合理的客户需求。如果产品很复杂,双方都不太明白需求,此时最好请开发人员快速构造软件的原型,双方看着软件原型再分析需求。第30页,此课件共48页哦什么是好的需求规格说明书1 1 正确正确 u需求规格说明书应当正确地反映用户的真实意图,“正确”是产品需求规格说明书最重要的属性。如果“不正确”仅仅是由于错别字造成的,那么多检查几遍文档就能解决问题。真正的困难是开发者和用户自己都不明白用户究竟“想要什么”和“不要什么”。为确保需求是正确的,开发方和用户必须对需求规格说明书进行确认。2 2 清楚清楚 u清楚的需求让人易读易懂。清楚的反义
27、词是“难读”、“难理解”。你可以采用反问的方式来判断需求文档是否清楚:文档的结构、段落是否乱七八糟?上下文是否不连贯?文档的语句是否含糊其词、罗里罗嗦?看了半天是否还不明白需求究竟是什么?3 3 无二义性无二义性 u“无二义性”是指每个需求只有唯一的含义。如果一个人说的话,不同的人可能有不同的理解,那么这句话就有二义性。如果需求存在二义性,将会导致人们误解需求而开发出偏离需求的产品。第31页,此课件共48页哦什么是好的需求规格说明书4 4 一致一致 u“一致”(Consistent)是指产品需求规格说明书中各个需求之间不会发生矛盾。矛盾常常潜伏在需求文档的上下文中。5 5 必要必要 u产品需求
28、规格说明书中的各项需求对用户而言应当都是必要的。u可以把“必要”比喻为“雪中送炭”。但要把握好度,“必要”往前一步,要么是“画蛇添足”要么是“锦上添花”。6 6 完备完备 u“完备”(Complete)是指产品需求规格说明书中没有遗漏一些必要的需求。u人们往往倾向于关注系统的特色功能,而忽视了其它一些不起眼的但却是必需的功能。u不完备的产品需求规格说明书将导致产生功能不完整的软件,用户在使用该软件时可能无法完成预期的任务。第32页,此课件共48页哦什么是好的需求规格说明书7 7 可实现可实现 u产品需求规格说明书中的各项需求对我们我们而言应当都是可实现的(Attainable)。u“可实现”意
29、味着在技术上是可行的,并且满足时间、费用、质量等约束。u营销人员和用户谈生意时,为了能拿到“单子”,他们往往对用户提出的需求“来者不拒”。所以,一般经过双方确认的产品需求规格说明书会作为商业合同附件,所以我们要把握好产品需求规格说明书中的内容,尽量在合同范围内满足客户得需求,但一定要在时间、费用、质量,技术内能实现得,不能实现一定要和客户进行接受说明,实在不行的可以进行业务裁决,由公司营销人员人员搞定。u对于合同项目,如果开发方不能确信某些需求是否可实现,则应事先与用户协商,达成一致的处理意见,避免将来发生商业纠纷。8 8 可验证可验证 u产品需求规格说明书中的各项需求对用户方用户方而言应当都
30、是可验证的(Verifiable)。如果需求是不可验证的,那么用户就无法验收软件,可能会发生商业纠纷。u例如,摩天大楼的一项需求是“抗十二级台风”,第33页,此课件共48页哦什么是好的需求规格说明书9 9 确定优先级确定优先级 u为什么要确定需求的“优先级”?理论上讲,软件的所有需求都应当被实现。但是在现实之中,项目存在“进度、费用、人力资源”等限制。在项目刚开始的时候,开发方和客户比较乐观,什么都要做,可是做着做着,人们常常会面临“进度延误、费用超支、人员不足”等问题,这时就乱套了。人们想出了“取舍”办法:先做优先级高的需求,后做(甚至放弃)优先级低的需求,这样可以将风险降到最低。u需求的优
31、先级其实就是需求“轻重缓急”的分级表述,例如划分为“高、中、低”三级。一般地,由用户和开发方共同确定需求的优先级。10 10 阐述阐述“做什么做什么”而不是而不是“怎么做怎么做”产品需求规格说明书的重点是阐述“做什么”,而不是阐述“怎么做”。“怎么做”是系统设计和实现阶段的事情。我们经常把系统设计甚至编程的变量声明等写到 产品需求规格说明书中,让用户看不明白,也就无法签字确认。第34页,此课件共48页哦形成需求规格说明书1 1 规程规程 第一步:细化并分析用户需求第一步:细化并分析用户需求 u需求分析员首先对用户需求说明书进行细化,对比较复杂的用户需求进行建模分析,以帮助软件开发人员更好地理解
32、需求。例如采用Rational 的Rose工具进行需求的建模分析,建模分析产生的文档可以作为产品需求规格说明书的附件。补充说明:建模分析的技术难度比较高,需求分析员应当根据自身水平进行取舍。第二步:撰写产品需求规格说明书第二步:撰写产品需求规格说明书 u需求分析员按照指定的文档模板撰写产品需求规格说明书。如果待开发的产品分为软件和硬件两部分的话,则应当撰写软件需求规格说明书和硬件需求规格说明书。第三步:进行需求确认第三步:进行需求确认u项目经理邀请同行专家和用户(包括客户和最终用户)一起评审产品需求规格说明书,尽最大努力使产品需求规格说明书能够正确无误地反映用户的真实意愿。u需求评审之后,开发
33、方和客户方的责任人对产品需求规格说明书作书面承诺。2 2 软件需求规格说明书的参考模板软件需求规格说明书的参考模板 第35页,此课件共48页哦什么是好的需求规格说明书第36页,此课件共48页哦需求管理:确认、跟踪、变更控制1 1 需求确认(评审和承诺)需求确认(评审和承诺)u需求确认是指开发方和客户方共同对产品需求规格说明书进行评审,双方对需求达成共识后作出承诺。需求确认包含两个重要工作:“需求评审”和“需求承诺”。2 2 需求评审面临的困难需求评审面临的困难u需求评审的一个通病是“虎头蛇尾”。需求评审的确乏味,也比较费脑子。刚开始评审时,大家都比较认真,越到后头越马虎。u需求评审涉及的人员可
34、能比较多,有些时候让这么多人聚在一起并不容易,没有必要把所有事情挤在一块做,需求开发是循序渐进的过程,需求评审也可以分段进行。这样每次评审的时间比较短,参加评审的人员也少一些,组织会议就比较容易。u开评审会议时经常会“跑题”,导致评审效率很低。有时话匣子一打开后关不上,大家越扯越远,结果评审会议变成了聊天会议。主持人应当控制话题,避免大家讨论与主题无关的东西。u开评审会议时经常会发生争议。适当的争议有利于澄清问题,比什么东西都一致赞成要好。然而当争议变为争吵时就坏事了,争吵不仅对评审工作没有好处,而且会无意中伤害同事们的感争吵不仅对评审工作没有好处,而且会无意中伤害同事们的感情。情。u人们在很
35、多时候分不清楚自己究竟是“坚持真理”还是“固执己见”。不要一棍子打死异己的观点,尝试着让自己站在他人的立场思考问题,这样你会找到比较满意的答案。第37页,此课件共48页哦需求管理:确认、跟踪、变更控制3 3 需求承诺需求承诺 u需求承诺是指开发方和客户方的责任人对通过了正式技术评审的产品需求规格说明书作出承诺,该承诺具有商业合同的效果。u需求承诺的“八股文”如下:本产品需求规格说明书建立在双方对需求的共同理解基础之上,我同意后续的开发工作根据该产品需求规格说明书开展。如果需求发生变化,我们将按照“变更控制规程”执行。我明白需求的变更将导致双方重新协商成本、资源和进度等。甲方签字 乙方签字u人们
36、在作出承诺之前务必要认真阅读文档,一定要明白签字意味着什么。第38页,此课件共48页哦需求管理:确认、跟踪、变更控制4 4 需求跟踪需求跟踪u需求跟踪的目的是建立与维护“需求设计编程测试”之间的一致性,确保所有的工作成果符合用户需求。u需求跟踪有两种方式:正向跟踪。检查产品需求规格说明书中的每个需求是否都能在后继工作成果中找到对应点。逆向跟踪。检查设计文档、代码、测试用例等工作成果是否都能在产品需求规格说明书中找到出处。u正向跟踪和逆向跟踪合称为“双向跟踪”。不论采用何种跟踪方式,都要建立与维护需求跟踪矩阵(即表格)。需求跟踪矩阵保存了需求与后继工作成果的对应关系。第39页,此课件共48页哦需
37、求管理:确认、跟踪、变更控制5 5 需求变更控制需求变更控制 u需求发生变更的起因主要有:随着项目的进展,人们(包括开发方和客户方)对需求的了解越来越深入。原先的需求文档可能存在这样那样的错误或不足,因此要变更需求。市场发生了变化,原先的需求文档可能跟不上当前的市场需求,因此要变更需求。u提出需求变更的动机是好的,目的是希望产品更加符合用户的需求。对项目开发小组而言,变更需求意味着要调整资源、重新分配任务、修改前期工作成果等,开发小组要为此付出较重的代价。如果每次需求变更请求都被采纳的话,这个项目也许永远不能按时完成。u需求变更控制的目的:如果需求变更带来的好处大于坏处,那么允许变更,但必须按
38、照已定义的变更规程执行,以免变更失去控制。如果需求变更带来的坏处大于好处,那么拒绝变更。u需求变更控制过程中最难办的事情是莫过于“拒绝客户提出的需求变更请求”。通常情况下开发方是不敢得罪客户的,但是无原则地退让将使开发小组陷入困境。解决这个问题最好的办法是事先建立“游戏规则”,既要有需求变更规程:u如果事先没有“游戏规则”的话,开发方需要一些社交技巧来减缓矛盾。例如建议在开发该产品新版本时修改需求。第40页,此课件共48页哦需求管理:确认、跟踪、变更控制批准提出变更请求变更影响评估评审评估报告审批用户认可修订项目计划实施变更验证变更结束拒绝修正需求变更控制流程第41页,此课件共48页哦KPA结
39、构RMSPPSPTOSSMSQASCM目标G1G2约定能力活动测量验证C1Ab1Ab2Ab3Ab4Ac1Ac2Ac3M1V1V2V3第42页,此课件共48页哦需求管理需求管理目的:目的:在客户和遵循客户需求的软件项目之间建立一种在客户和遵循客户需求的软件项目之间建立一种共同的共同的理解理解。目标:目标:控制指定给软件的系统需求,为软件工程和管理应用控制指定给软件的系统需求,为软件工程和管理应用建立基线建立基线。保持软件计划、产品和活动与指定给软件的系统保持软件计划、产品和活动与指定给软件的系统需需求一致求一致。第43页,此课件共48页哦需求管理需求管理执行约定执行约定项目遵循项目遵循书面书面的
40、机构管理策略,对指定给软件的系统需求的机构管理策略,对指定给软件的系统需求进行管理进行管理。执行能力执行能力 对每个项目,系统需求分析及分配给硬件、软件和其他系统部件的对每个项目,系统需求分析及分配给硬件、软件和其他系统部件的职责职责明确明确给定需求有给定需求有文档依据文档依据 为管理给定需求提供了充足的为管理给定需求提供了充足的资源和资金资源和资金软件工程组和其他软件相关组的成员接受过实施需求管理活动的软件工程组和其他软件相关组的成员接受过实施需求管理活动的培训培训 执行活动执行活动软件工程组进入软件项目之前软件工程组进入软件项目之前评审给定需求评审给定需求 软件工程组将给定需求作为软件工程
41、组将给定需求作为软件开发计划软件开发计划、工作产品工作产品和和活动活动的的基础基础。评审评审给定需求的给定需求的更改更改,并合并到软件项目中。,并合并到软件项目中。测量分析测量分析测量给定需求的测量给定需求的管理活动状态管理活动状态 验证执行验证执行上级管理部门上级管理部门对管理给定需求的活动进行定期评审对管理给定需求的活动进行定期评审 项目负责人项目负责人定期或根据实际需要随时评审给定需求的管理活动。定期或根据实际需要随时评审给定需求的管理活动。软件质量保证组软件质量保证组对管理给定需求的活动和工作产品进行评审和(或)审核,对管理给定需求的活动和工作产品进行评审和(或)审核,并报告结果并报告结果 第44页,此课件共48页哦需求形成工作流需求分析和标识需求分析和标识文档化文档化标注标注评审评审(SQA(SQA 和同行和同行)签字形成基线签字形成基线项目计划项目计划第45页,此课件共48页哦需求变更处理工作流需求变更申请需求变更申请评审变更评审变更客户认可客户认可修改计划并形成基线修改计划并形成基线基线基线影响分析影响分析项目计划项目计划项目计划第46页,此课件共48页哦Q&A第47页,此课件共48页哦感谢大家观看第48页,此课件共48页哦
限制150内