需求管理和需求分析.ppt
《需求管理和需求分析.ppt》由会员分享,可在线阅读,更多相关《需求管理和需求分析.ppt(48页珍藏版)》请在三一办公上搜索。
1、需求管理和需求分析,需求管理和需求分析,内容,前言需求工程简介需求开发的主要困难与对策如何开展需求调查如何进行需求分析什么是好的需求规格说明书形成需求规格说明书需求管理:确认、跟踪、变更控制CMM2级KPA需求管理(RM)介绍,前言,泛泛地讲,需求来源于客户的一些“需要”,这些“需要”被分析、确认后形成完整的文档,该文档详细地说明了产品“必须或应当”做什么。所以如果只有一些零碎的对话、资料或邮件,并没有真正掌握需求Frederick Brooks在他1987年经典文章“No Silver Bullet”中阐述了需求的重要性:开发软件系统最困难的部分就是准确说明开发什么。最困难的概念性工作是编写
2、出详细的需求,包括所有面向用户、面向机器和其它软件系统的接口。此工作一旦做错,将会给系统带来极大的损害,并且以后对它修改也极为困难。需求是产品的根源,需求工作的优劣对产品影响最大。就像一条河流,如果源头被污染了,那么整条河流也就被污染了。,前言,定义(IEEE-STD-610)用户为解决某个问题、或为实现某一目标,要求软件必须满足的条件或能力。软件需求的三个层次 业务需求 用户需求 功能需求和非功能需求,前言,前言,前言,前言,“用户”(user)是一种泛称,它可细分为“客户”(customer)、“最终用户”(the end user)和“间接用户”(或称为关系人)。掏钱买软件的用户称为客户
3、,而真正操作软件的用户叫最终用户。客户与最终用户可能是同一个人也可能不是同一个人。客户是掏钱买软件的人,所以他是“上帝”。某饭店经理在解释“先有鸡还是先有蛋”这个哲学问题时,精辟地阐述了客户的地位:如果顾客先点鸡,那么就先有鸡;如果顾客先点蛋,那么就先有蛋。客户的需要才是最准确需求之源,需求工程简介,把所有与需求直接相关的活动通称为需求工程。需求工程中的活动可分为两大类,一类属于需求开发,另一类属于需求管理。需求工程的结构图,需求工程简介,需求工程简介,需求开发过程需求开发的目的是通过调查与分析,获取用户需求并定义产品需求。需求调查的目的是通过各种途径获取用户的需求信息(原始材料),产生用户需
4、求说明书。需求分析的目的是对各种需求信息进行分析,消除错误,刻画细节等。常见的需求分析方法有“问答分析法”和“建模分析法”两类。需求定义的目的是根据需求调查和需求分析的结果,进一步定义准确无误的产品需求,产生产品需求规格说明书。系统设计人员将依据产品需求规格说明书开展系统设计工作。,需求工程简介,需求管理过程 需求管理的目的是在客户与开发方之间建立对需求的共同理解,维护需求与其它工作成果的一致性,并控制需求的变更。需求确认是指开发方和客户共同对需求文档进行评审,双方对需求达成共识后作出书面承诺,使需求文档具有商业合同效果。需求跟踪是指通过比较需求文档与后续工作成果之间的对应关系,建立与维护“需
5、求跟踪矩阵”,确保产品依据需求文档进行开发。需求变更控制是指依据“变更申请审批更改重新确认”的流程处理需求的变更,防止需求变更失去控制而导致项目发生混乱。,需求工程简介,不论是合同项目还是自主研发的产品,都必须开展需求开发和需求管理活动。开发者对待需求工程的态度可分“被动型”、“主动型”和“领先型”三种。“被动型”是指开发者被动地对待需求工程中的各项活动。他们认为需求是用户的事情。开发过程中经常发生需求变更,导致产品迷失方向,不是半途而废就是陷入半死不活的状态。“主动型”是指开发者积极地开展需求工程中的各项活动。他们把获取准确的需求当作自己的职责,会想尽一切办法克服需求开发和需求管理过程中的困
6、难,而不是找借口推卸责任。俗话说“良好的开端是成功的一半”。“领先型”是需求工程的最高境界。开发者发掘了连用户自己都没有意识到的需求,导致用户跟着新产品跑而不是新产品围着用户转,这叫引导消费。需求工程做到这个份上,才能使产品立于不败之地,长盛不衰。,需求工程简介,需求工程很重要罗,需求开发的主要困难与对策,1 知识技能问题 应用域的知识是无边无际的,任何人都不可能是“万事通”。俗话说“隔行如隔山”,需求分析员可能是某一领域的专家,但当他接手陌生的业务时,他可能是个“无知”者。一个企业要谋求发展,不能总在做老的业务。人一生中会有许多充满挫折的“第一次”,不可以逃避。我们缺乏应用域知识,该怎么办?
7、首先要有勇气做事,否则连实践的机会都没有。其次他应当赶紧补习应用域知识,不论是通过自学还是培训的方式,否则他很难与用户交流。如果可能的话,最好请既懂软件又懂应用域知识的行家来帮忙。2 态度问题 我们习惯于被动地对待需求开发。每当遇到麻烦、挫折时,我们会发牢骚并错误地以为:需求是用户的事情,不是我们的事情。我们为用户开发软件,难道用户不该告诉我们应当开发什么吗?如果用户说不清楚需求,或者经常变更需求,这类问题是用户产生的,应当由他们自己负责。用户说不清楚需求或者需求发生变更,这些都是常见的问题,并不是绝症,是人们可以设法解决的。我们要主动攻克问题,导致需求问题扩散到整个软件开发过程,产生太多的后
8、患。项目负责人应当给具有错误观念的开发人员们洗脑:需求分析员的天职就是在有限的时间内获取准确而细致的用户需求。,需求开发的主要困难与对策,.3 合作关系 如果我们不能与用户建立良好的合作关系,那么我们在需求开发过程中会很疲惫。倘若用户不能很好地配合需求分析员,那并不表示他是个坏蛋。因为用户有他自己的想法:我回答了你们的问题,讲了该讲的。我们付钱给你们,难道还要我伺候你们不成?我还要干自己的事情,别打扰我了。你们自己想办法把活干好吧。需求分析员不是销售人员,他们不可能象销售人员那样通过某些手段笼络住用户就能成功。出色的需求分析员不仅要有过硬的专业知识,还要具备较强的交流、沟通能力,我们可以通过帮
9、助用户解决一些技术上的小问题和用户拿拢关系。对于一些竞标项目,在合同未签订之前的需求开发工作尤为困难。用户未必会买你的产品,他不会投入很多精力来协助你搞需求开发,我们积极主动找用户了解业务和需求。开发方与用户的合作关系对需求开发而言是至关重要的。对于重大的、复杂的项目,我们不能完全期望客户能自发地和我们建立起良好地合作关系,这样风险太大。在开展需求开发之前,我们要“好话”和“丑话”都说在前头,这样能减少今后的摩擦。可能话,以书面形式明确双方的在需求工程方面的权利和义务。当然,在进行需求调查时,我们应该有个具体的计划供客户确认。,需求开发的主要困难与对策,用户在需求工程中的“权利”有权要求开发方
10、派遣资质合格的需求分析员和相关人员。有权要求开发方采用他们熟悉的语言来描述需求,即开发方必须提供用户看得懂得需求文档。有权审查需求文档,并对有争议的需求作出决策。如果认为需求文档不能准确地反映用户真实的意愿,可以拒绝在需求文档上签字。如果用户想要变更需求,有权要求开发方对该变更将产生的影响作出真实可信的评估,以便用户决定是否变更需求。用户在需求工程中的“义务”以积极友善的态度与开发方人员交流、协作,尽可能地为开发方人员提供工作和生活上的便利。乐意接受需求分析员的采访,在不泄漏机密的前提下尽可能地回答需求分析员的问题。在不泄漏机密的前提下,尽可能地向需求分析员提供与需求相关的材料。与需求分析员共
11、同评审需求文档,确保需求文档准确地反映用户真实的意愿。,需求开发的主要困难与对策,4 用户说不清楚需求 用户说不清楚需求是普遍现象,这让我们很头痛。有些用户真的不知道需求是什么,或者对需求只有朦胧的感觉,他当然说不清楚需求。有些用户虽然心里明白想要什么,但却说不清楚需求。好像说买鞋子。我们非常了解自已的脚,但很难用语言说清楚脚的大小和形状。通常拿鞋子去试,试穿时感觉到舒服才会买鞋。我们绝不能以用户说不清楚需求为借口而草率地对待需求开发工作,这样会连累整个开发团队的。对于不清楚需求的用户,我们可以根据客户的业务,按我们的理解提出用户需求,然后再找用户确认。事实上,作为系统分析人员,在做系统分析的
12、时候,其实也是在为国家信息化建设做普及教育工作。对于知道需求的用户,我们可以根据用户大概的描叙,在按照我们的理解,再系统地地复述给用户,让用户确认。,需求开发的主要困难与对策,5 双方误解需求 人们在交流的时候,经常会发生“问非所求,答非所问”的事情。有时用户会把开发人员的建议或答复给想歪了:而用户表达的需求,不同的开发人员可能有不同的理解。如果需求分析员误解了需求,那会导致后续的不少开发人员将错就错、白干活。就像作文写跑题了,写得再好也白搭。这类错误连高智商的外星人都不能避免:不论是复杂的项目还是简单的项目,需求分析员和用户都有可能误解需求。所以需求确认工作(属于需求管理)必不可少。,需求开
13、发的主要困难与对策,6 开发人员写不好需求文档 需求调查工作不充分,获取的需求信息太少或者太乱,以至于写不成需求文档。古时候,一书生在考试前补习“写文章”,成天愁眉苦脸。其夫人甚为不解,问:“相公,你写文章比我生小孩还难吗?”书生长叹一声:“娘子你哪里知道我的难处啊!你生小孩时肚子里有东西,可我写文章时肚子里没东西啊。”所以要想写出好的需求文档,前提条件是把需求调查工作做好。开发人员写作能力比较差,虽然在调查过程中已经获得了不少需求信息,却写不出好的需求文档来。可以毫不夸张地说,国内90以上的软件开发人员,他们的写作能力远不及开发能力。提高开发人员写作能力的根本办法就是让他们多练习写文档,熟能
14、生巧。另外,公司应当提供合适的文档模板以及比较好的示例文档,尽可能地降低写作难度。,需求开发的主要困难与对策,7 用户经常变更需求 需求变更通常会对项目的进度、人力资源、经费产生很大的影响,这是开发商非常畏惧的问题。如果在项目开发的初始阶段,开发人员和用户没有搞清楚需求或者搞错了需求,到了项目开发后期才将需求纠正过来,导致产品的部分内容需要重新开发。毫无疑问,这种需求变更将使项目付出额外的代价。这种损失是由于双方工作失误造成的,双方应当好好反省,认真学习需求开发和管理的方法,避免再犯相似的错误。如果由于市场变化而导致产品需求发生变更,开发商大可不必为此烦恼,应当高兴才对。倘若市场静如死水,那么
15、开发商吃了“上一顿”就没有“下一顿”。正因为市场在变化,才会产生更多商机。其实需求变更并不可怕,可怕的是需求变更失去控制,导致项目混乱。所以需求变更控制是需求工程的重要活动。,如何开展需求调查,1 准备调查 首先,需求分析员应当起草需求调查问题表,将调查重点锁定在该问题表内,否则调查工作将变得漫无边际。问题表可以有多份,随着调查的深入,问题表将不断地被细化。根据经验,用户通常没有耐心回答复杂的论述题,所以问题表应当以“选择题”和“是非题”为主。制定问题表最简便的方法就是从用户需求说明书的模板中提取需求问题。其次,需求分析员应当确定需求调查的方式,例如:与用户交谈,向用户提问题。向用户群体发调查
16、问卷。参观用户的工作流程,观察用户的操作。与同行、专家交谈,听取他们的意见。分析已经存在的同类软件产品,提取需求。从行业标准、规则中提取需求。从Internet上搜查相关资料。最后,需求分析员与被调查者建立联系,确定调查的时间、地点、人员,所需资料等,撰写需求调查计划。要特别留意的是不要漏掉典型的用户。,如何开展需求调查,2 执行调查 按照计划执行调查。在调查过程中随时记录(或存储)需求信息。与用户面谈时应当注意以下事项:如果与用户约好了时间,切勿迟到或早退。我们应事先了解用户的身份、背景,以便随机应变。需求调查不象侦探推理那样从蛛丝马迹着手,应该先了解宏观问题,再了解细节问题。如果双方气氛融
17、洽,可以采用灵活的访谈形式,轻易不要打断用户的谈话。当双方对某些问题的交流合乎逻辑地结束后,即可继续讨论问题表中的其它问题。在自由聊天中了解用户需求,比正式面谈效果好。尽可能避免为用户添麻烦,但也不能怕给用户添麻烦而降低需求调查的力度。避免片面地听取某些用户的需求而忽视其它用户的需求。事实上,需求调查除了面谈外,还可以查阅用户的资料,在查阅资料的过程中,有问题再向用户询问。让用户边工作,气氛会显得更加轻松。,如何开展需求调查,3撰写或修改用户需求说明书用户需求说明书与产品需求规格说明书的主要区别与联系前者主要采用自然语言(和应用域术语)来表达用户需求,其内容相对于后者而言比较粗略,不够详细。后
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 需求 管理 分析
链接地址:https://www.31ppt.com/p-5329252.html