软件项目需求调研方法及需求规格说明书的编写.pptx
《软件项目需求调研方法及需求规格说明书的编写.pptx》由会员分享,可在线阅读,更多相关《软件项目需求调研方法及需求规格说明书的编写.pptx(48页珍藏版)》请在冰豆网上搜索。
湖南科创信息技术股份有限公司北京科创鑫源信息技术有限公司北京科创鑫源信息技术有限公司2014-11-62014-11-62014-11-62014-11-6唐玉林唐玉林唐玉林唐玉林1需求开发与需求管理需求开发与需求管理消除软件开发百病之源消除软件开发百病之源需求概述需求概述1需求分析需求分析3需求定义需求定义42需求需求管理管理5需求获取需求获取2汇报内容汇报内容__需求概述需求概述了解客户、最终用户、间接用户了解客户、最终用户、间接用户客户客户客户掏钱买软件的用户称为客户。
掏钱买软件的用户称为客户。
客户永远是本公司的座上客,是上帝。
客户并不依赖我们,而我们却依赖客户。
客户不是我们工作的障碍,而是我们工作的目标。
我们并不因为服务于他而对他有恩,他却因为给予我们服务于他的机会而有恩于我们。
客户不是我们要与之争辩和斗智的人。
从未有从未有人曾在与客户的争辩中获胜。
人曾在与客户的争辩中获胜。
客户是把他的欲望带给我们的人,因此我们的工作就是满足这些欲望,从而使客户和我们共同获益。
最终用户最终用户最终用户真正操作软件的用户。
即使最终用户不是上帝,也算真正操作软件的用户。
即使最终用户不是上帝,也算是是“上帝上帝”的的“亲戚亲戚”,同样怠慢不得。
,同样怠慢不得。
间接用户间接用户间接用户既不掏钱买该软件产品,也不使用该软件,但是它可既不掏钱买该软件产品,也不使用该软件,但是它可能对软件产品有很大的影响。
能对软件产品有很大的影响。
需求的层次需求需求的层次的层次业务业务需求需求反映反映了组织机构了组织机构或客户对系统、或客户对系统、产品高层次的目产品高层次的目标标要求。
要求。
用户用户需求需求功能需求功能需求(非功能需求非功能需求)描述用户使用产描述用户使用产品必须要完成品必须要完成的的任务任务。
定义开发定义开发人员必人员必须实现的须实现的软件软件功功能,使得用户能能,使得用户能完成他们的任务,完成他们的任务,从而满足了业务从而满足了业务需求需求。
IEEE对需求的定义为:
对需求的定义为:
(1)用户解决问题或达到目标所需的条件或能力。
)用户解决问题或达到目标所需的条件或能力。
-针对用户针对用户
(2)系统或系统部件要满足合同、标准、规范或其他正式规定)系统或系统部件要满足合同、标准、规范或其他正式规定文文件文档件文档所需具有的条件或能力。
所需具有的条件或能力。
-针对开发针对开发者者需求的基本需求的基本概念概念需求需求是产品的是产品的根源根源,需求工作的优劣对产品影响最大。
就像一条河,需求工作的优劣对产品影响最大。
就像一条河流,如果源头被污染了,那么整条河流也就被污染了。
流,如果源头被污染了,那么整条河流也就被污染了。
国内软件业的国内软件业的通病通病:
人们:
人们并不真正清楚并不真正清楚究竟该做什么,但却一直忙究竟该做什么,但却一直忙碌不停地开发。
碌不停地开发。
需求的需求的重要性重要性什么是需求什么是需求被动型被动型被动地对待需求工程中的各项活动,能少干则少干,能偷懒则偷懒。
他们认为需求是用户的事情而不是自己的事情。
开发过程中经常发生需求变更,导致产品迷失方向,不是半途而废就是陷入半死不活的状态。
主动型主动型积极积极地开展需求工程中的各项活动。
他们把获取准确地开展需求工程中的各项活动。
他们把获取准确的需求当作自己的职责,会想尽一切办法克服需求开的需求当作自己的职责,会想尽一切办法克服需求开发和需求管理过程中的困难,而不是找借口推卸责任。
发和需求管理过程中的困难,而不是找借口推卸责任。
俗话说俗话说“良好的开端是成功的一半良好的开端是成功的一半”,“主动型主动型”需需求工程是开发成功产品的必备条件。
求工程是开发成功产品的必备条件。
领先领先型型是需求工程的最高境界。
开发者发掘了连用户自己都是需求工程的最高境界。
开发者发掘了连用户自己都没有意识到的需求,导致用户跟着新产品跑而不是新没有意识到的需求,导致用户跟着新产品跑而不是新产品围着用户转,这叫引导消费。
需求工程做到这个产品围着用户转,这叫引导消费。
需求工程做到这个份上,才能使产品立于不败之地,长盛不衰。
份上,才能使产品立于不败之地,长盛不衰。
对待需求工程的三种态度花时间了解用户需求是确保项目成功的必要投入152050100需求需求设计设计编码编码测试测试维护维护需求分析员需要的技能1、倾听的技巧、倾听的技巧2、交谈和提问的技巧、交谈和提问的技巧3、分析能力、分析能力4、协调能力、协调能力5、观察能力、观察能力6、写作能力、写作能力7、组织能力、组织能力8、建模能力、建模能力9、人际交往能力、人际交往能力10、创造力、创造力需求分析员必备的技能需求分析员必备的技能1、定义业务需求、定义业务需求2、确定项目涉众、确定项目涉众3、获取需求、获取需求4、分析需求、分析需求6、编写需求规格说明书、编写需求规格说明书7、为需求建模、为需求建模8、需求验证、需求验证9、优先级划分、优先级划分10、管理需求、管理需求需求分析员的工作需求分析员的工作需求获取需求获取2需求分析需求分析3需求定义需求定义49需求管理需求管理5需求概述需求概述1汇报内容汇报内容__需求需求获取获取需求调研的内容需求调研的内容需求调研的内容需求调研的内容客户客户想要什么想要什么?
要要这干什么这干什么?
为什么为什么这么想这么想?
会不会会不会有别的想法有别的想法?
ThemeGalleryisaDesignDigitalContent&ContentsmalldevelopedbyGuildDesignInc.需求获取需求获取需求调研的目的需求调研的目的需求调研的目的需求调研的目的搞清搞清客户的客户的要求要求找出找出要求的要求的逻辑逻辑客户客户想要的想要的结果结果排除开发风险排除开发风险,挖挖掘控制潜在掘控制潜在的的需求需求需求调研的内容和目的关于需求的漫画客户的描述与客户的描述与实际实际需求不需求不一致一致需求需求人员的理解与人员的理解与客户描述的客户描述的不一致不一致程序员实现的与程序员实现的与需需求表达的求表达的不一致。
不一致。
项目项目文档严重缺失文档严重缺失市场市场人员忽悠得人员忽悠得天天花乱坠花乱坠。
项目项目双方投入巨大双方投入巨大冰山理论客户心里想的客户心里想的100%客户嘴里说的客户嘴里说的80%你听到的你听到的60%你听懂的你听懂的40%开发实现的开发实现的20%需要多次从多个角度与客户、开发人员沟通、复述、确认需要多次从多个角度与客户、开发人员沟通、复述、确认需求获取聆听需求1.首先,需求分析员应当起草需求调查问题表,将调查重点锁定在该问题表内,否则调查工作将变得漫无边际。
2.其次,需求分析员应当确定需求调查的方式,例如:
l与用户交谈,向用户提问题。
向用户群体发调查问卷。
l参观用户的工作流程,观察用户的操作。
l与同行、专家交谈,听取他们的意见。
l分析已经存在的同类软件产品,提取需求。
l从行业标准、规则中提取需求。
l从Internet上搜查相关资料。
3.最后,需求分析员与被调查者建立联系,确定调查的时间、地点、人员等,撰写需求调查计划。
要特别留意的是不要漏掉典型的用户。
准备调查建议:
建议:
养成收集日常问题的习惯,比如整理养成收集日常问题的习惯,比如整理日常日常问题问题归集归集文档文档执行调查建议:
建议:
每次调研后编写每次调研后编写会议纪要会议纪要或或用户需求调查单用户需求调查单1.准备工作完毕后,需求分析员按照计划执行调查。
在调查过程中随时记录(或存储)需求信息。
2.需求分析员与用户面谈时应当注意以下事项:
l如果与用户约好了时间,切勿迟到或早退。
要注意礼节,尽可能获得用户的好感,并为下次打扰他们埋下伏笔。
l需求分析员应事先了解用户的身份、背景,以便随机应变。
l需求调查不象侦探推理那样从蛛丝马迹着手,应该先了解宏观问题,再了解细节问题。
l如果双方气氛融洽,可以采用灵活的访谈形式,轻易不要打断用户的谈话。
当双方对某些问题的交流合乎逻辑地结束后,即可继续讨论问题表中的其它问题。
l尽可能避免为用户添麻烦,但也不能怕给用户添麻烦而降低需求调查的力度。
l避免片面地听取某些用户的需求而忽视其它用户的需求。
需求分析需求分析3需求需求获取获取2需求定义需求定义416需求管理需求管理5需求概述需求概述1汇报内容汇报内容__需求需求分析分析u为了得到用户的金钱,企业不得不鼓吹:
用户就是上帝,用户永远是正确的。
u谁都知道这不是真的。
事实上,很多时候用户说不清楚需求、会说错需求或者提出一些无法实现的需求。
u需求分析是需求开发过程中最费脑子的工作。
分析方法大体有两类:
“问答分析法”和“建模分析法”。
后者技术性比较强,写出来有学术味,故大多数软件工程书籍都有论述。
前者就是一些常识而已,虽然写不成文章,但是简单易用,很有实用价值。
需求分析的基本概念需求分析需求分析需求分析需求分析是指在是指在是指在是指在需求需求需求需求开发开发开发开发过程过程过程过程中,对所获取的需求信息进行分析,及中,对所获取的需求信息进行分析,及中,对所获取的需求信息进行分析,及中,对所获取的需求信息进行分析,及时排除错误和弥补不足,确保需求文档正确地反映用户的真实意图。
时排除错误和弥补不足,确保需求文档正确地反映用户的真实意图。
时排除错误和弥补不足,确保需求文档正确地反映用户的真实意图。
时排除错误和弥补不足,确保需求文档正确地反映用户的真实意图。
问题分析方法1.问答分析方法:
刨根究底地问,如果问题都被解答了,那么需求也就分析清楚了。
一个人可以“自问自答”地分析需求,几个人分析需求则称为“研讨”。
2.问答分析最重要的问题:
“是什么是什么”、“为什么为什么”、“不是什么不是什么”。
3.其它常见的问题有:
l需求存在二义性吗?
l需求文档的上下文有矛盾吗?
l需求完备吗?
l需求是必要的吗?
l需求可实现吗?
l需求可验证吗?
l需求的优先级确定了吗?
u人们都有这样地感受:
有些时候用语言描述某个问题特别费劲,而采用图形则使人一目了然,所谓“一图顶千言”就是这个道理。
u在需求开发过程中,对于某些类型的信息,用图形表示要比文本表示更加有效。
所以将图形与文本结合起来描述需求是很自然的方法。
u需求建模就是指用图形符号来表示、刻画需求。
u建模分析方法主要有两大类:
“结构化分析法”和“面向对象分析法”。
u恰当地使用图形符号:
现代建模工具如Rose有非常丰富的图形符号和文字标注,能很好地表达模型的细节。
要注意的是:
在建模时使用花样过多的图形符号或文字意味着模型表示的复杂化,将使开发人员更难掌握,而且使图形文档更加杂乱。
世上不存在一个包罗万象的图它能完整地描述需求。
需求建模不可能取代文字描述。
在在需需求求文文档档中中,文文字字描描述述是是第第一一重重要要的的,建建模模主主要要是是起起分分析析、解解释释作作用用。
建议将模型存放在需求文档的附录中,便于正文引用。
建模分析法1.大家都有这样地感受:
有些时候用语言描述某个问题特别费劲,而采用图形则使人一目了然,可谓“一图顶千言一图顶千言”。
2.需求建模就是指用图形符号来表示、刻画需求。
3.建模分析方法有两大类:
“结构化分析法”和“面向对象分析法”。
4.恰当地使用图形符号:
l现代建模工具很多,都有非常丰富的图形符号和文字标注,能很好地表达模型的细节。
要注意的是:
在建模时使用花样过多的图形符号或文字意味着模型表示的复杂化,将使开发人员更难掌握,而且使图形文档更加杂乱。
l世上不存在一个包罗万象的图它能完整地描述需求。
需求建模不可能取代文字描述。
在需求文档中,文字描述是第一重要的,建模主要是文字描述是第一重要的,建模主要是起分析、解释作用。
起分析、解释作用。
建议将模型与文字有机结合,相辅相成。
需求分析常用元素需求分析常用元素需求分析常用元素需求分析常用元素总体功能框图总体功能框图流程图流程图用例图用例图状态转换图状态转换图原型界面图原型界面图需求分析常用工具需求分析常用工具需求分析常用工具需求分析常用工具WORDEXCELVISIOAxureRPProRationlRosePowerDesigner需求分析常用元素和工具数据