需求分析
软件⼯程导论-需求分析
软件⼯程导论有关需求分析的课堂笔记及作业
⽂章转载⽼师发的资料,如有侵权,可联系我删⽂。
需求分析到底要分析什么?怎么分析?
什么是需求?
我们⽇常在项⽬中,经常会听到“需求”这个词,⽐如说:
项⽬经理对产品经理说:⽤户给我们提了⼀个需求,想要⼀个给三个孩⼦玩的秋千,你分析⼀下;
产品经理对架构师说:我们现在有⼀个需求,在树上栓两绳⼦,再吊⼀块板⼦,你做⼀下设计。
很明显,这两个需求的意思不⼀样,前⾯这个需求是⽤户需求,后⾯这个需求是产品需求。
⽤户需求是由⽤户提出来的,期望满⾜⾃⾝⼀定需要的要求,例如⽤户说:“想要⼀个给三个孩⼦玩的秋千。”这种原始的⽤户需求通常是不能直接做成产品的,需要对其进⾏分析提炼,最终形成产品需求。
产品需求就是在分析提炼⽤户真实需求后,提出的符合产品定位的解决⽅案。就像上⾯“在树上栓两绳⼦,再吊⼀块板⼦”,就是产品经理针对⽤户需求提出的解决⽅案。
需求分析是要分析什么?
其实对⽤户需求的分析,不是⼀个动作,⽽是⼀个过程。需求分析,就是对⽤户需求进⾏提炼分析,最终形成产品需求的过程。
第⼀步:挖掘真实需求
1、⽬标⽤户:⽤户不同,诉求也不⼀样;
2、使⽤场景:使⽤场景不⼀样,解决⽅案也会有所不同;
3、想要解决的问题:⽤户背后想要解决的问题是什么。
第⼆步:提出解决⽅案
我们知道了⽬标⽤户,其使⽤场景和想要解决的问题,就可以结合产品定位,提出相应的解决⽅案。
第三步:筛选和验证⽅案
在提出⽅案后,我们需要对⽅案进⾏筛选,⽐如对于秋千项⽬,建⼩型游乐园的⽅案虽然能满⾜需求,但是成本太⾼,需要排除掉。
在选好⽅案后,还需要对⽅案进⾏验证,以确保⽅案能解决⽤户需求。
在传统瀑布模型中,选定⽅案后,会写成产品设计⽂档,⾛相应的评审流程,评审完成后再进⾏设计、开发和测试,测试完成后会让客户再进⾏验收。⽽敏捷开发,在整个开发过程 中,每个迭代或者关键的⾥程碑,也⼀样需要客户进⾏验收。
怎样做需求分析?
对单个⽤户需求的分析,主要经过三个步骤:
第⼀步:挖掘真实需求; 第⼆步:提出解决⽅案; 第三步:筛选和验证⽅案。
⽽软件项⽬的⽤户需求,从来就不是单⼀的,⽽是⼀系列需求,所以对于软件项⽬的需求分析,还需要增加收集整理的步骤。整个过程是迭代进⾏的,如下所⽰:
收集需求:对⽤户需求进⾏收集整理;
分析需求:对需求进⾏分析,挖掘⽤户真实需求; 需求评估:筛选过滤掉不可⾏的需求;
需求设计:针对⽤户需求提出解决⽅案,设计成产品⽅案; 验证需求:验证⽅案是否可⾏。
⼀个项⽬,要为计算机学院的⽹络教学系统做⼀个⽹页版的播放器。
我们知道现在的课堂⾥⾯,⽼师上课的时候,会⽤电脑放 PPT 或者课件,同时还要在⿊板(也有的是⽩板)上写写画画辅助说明。
⼤学的⽹络教学系统,就是在⽼师上课的时候,⽤摄像头把⽼师讲课的整个过程都录制成视频,同时也会⽤特殊的软件,把当时电脑屏幕上显⽰的内容,和⽩板上写的内容, 都录制下来。
这样选⽹络课程的同学可以通过⽹络直接观看,既不会漏了⽼师讲的内容,也不会错过⽼师在电脑上放的和⽩板上书写的内容。播放器要做的就是要播放录制的教学视频、电脑屏幕和⽩板。
需求分析五个步骤:
收集需求->分析需求->需求评估->需求设计->验证需求->
1. 收集需求
这个项⽬的原始需求是⽼师给我的,只是告诉我要做这样⼀个播放器,让学⽣能看教学内容。⽽这个需求还不够,我还需要继续收集⽤户需求。
收集⽤户需求有很多⽅法,这⾥列举部分:
头脑风暴:就是⼤家⼀起开会头脑风暴讨论;
⽤户调研:通过调查问卷或者访谈,通过问⽤户⼀些问题收集反馈; 竞品分析:通过分析其他同类产品的功能获得需求;
快速原型:通过原型来收集反馈,收集确认需求。
拿播放器的项⽬来说,头脑风暴没有⾜够的项⽬成员,也没有同类产品可以做竞品分析,做原型的话,成本有点⾼,所以⽤户调研就是最适合的收集需求的⽅法。它不仅简单,⽽且能收集到真实的⽤户反馈。于是我通过、邮件、⽤户访谈从⽼师、领导和学⽣那分别收集了⼀些反馈。
⽼师们没有什么有效反馈,因为他们基本不需要⽤到这个软件,领导们有个需求就是希望能播放字幕,⽽很多学⽣希望能有 2 倍速快进功能。
2. 分析需求
收集了需求,就要分析⽤户的真实需求,这是最难的部分,也是最体现产品经理需求分析⽔平的地⽅。
⽤户需求背后的真实需求有三个层次:
表层需求:⽤户对解决问题的期望,例如马车更快;
深层需求:⽤户的深层次动机,诉求产⽣的原因,例如乘客对出⾏速度的要求; 底层需求:⼈性本能的需求,例如对安全感对舒适的追求。
要分析好⽤户需求背后的真实需求,就是要结合“⽬标⽤户”和“使⽤场景”,按照上⾯三个层次去思考。
我们拿刚才播放器为例,⽬标⽤户是学⽣,使⽤场景是学校机房或者家⾥,希望解决以下问题。
字幕的问题:
表层需求:显⽰字幕;
深层需求:语⾔不好,跟不上⽼师节奏;
底层需求:聋哑学⽣⽆法听到声⾳,只能通过字幕学习。
快进的问题:
表层需求:能快进播放;
深层需求:可以节约学习的时间,提⾼效率; 底层需求:取得好的学习成绩
经过这么⼀分析,基本上就对于⽤户的真实需求⼼⾥有数了。
3. 需求评估
需求收集分析完了后,还需要进⼀步评估,以决定做还是不做,优先级如何,先做哪些再做哪些。
需求评估考虑的因素有:
可⾏性:技术能否实现;
成本:⼈⼒成本、时间成本;
商业风险和收益:有没有商业上的风险,收益是否合理; 紧急性与重要性:是不是⽤户迫切的需求。
如果确定可⾏,还需要评估其优先级。评估优先级⼀个简单的⽅案就是⽤“紧急重要四象限”的⽅法来区分:
复杂⼀点的有 KANO 模型,如下图所⽰。
红⾊曲线,是⽤户认为必须要有的功能; 绿⾊曲线,就是⽤户明确提出的需求;
黄⾊曲线,属于兴奋型需求,就是⽤户⾃⼰没想到,超出预期的功能。
回到我们播放器的例⼦:
红⾊曲线(必须要有的功能):能播放视频、播放电脑屏幕,播放⽩板; 绿⾊曲线(⽤户明确提出的功能):字幕、2 倍速快进;
黄⾊曲线(超出预期功能):10 秒快进、10 秒快退、在时间轴上记录笔记。
4. 需求设计
在分析和评估完需求后,还需要提出解决⽅案,也就是对需求进⾏设计,做出来有效的产品设计⽅案。最终的产品设计,会落实到⼈机交互上⾯,⽤户可以通过软件界⾯交互。
现在产品设计⽅⾯,各个平台都有⼀套⽐较成熟的界⾯标准控件,⼤部分产品设计都可以基于标准界⾯控件,组合成满⾜需求的⽤户界⾯,在满⾜功能的前提尽可能做的易⽤和美观。
在需求设计的时候,可以⽤草图、原型设计⼯具、界⾯设计⼯具进⾏设计。
在需求设计阶段,可以参考其他成熟的产品。⽐如我在设计播放器时,也是通过借鉴其他软件的设计来完成的,⽐如说向 Youtube 借鉴了视频播放器的设计,向 Skype 的电话会议系统借鉴了其播放区域切换的交互,最终完成了产品设计。
5. 验证需求
在需求设计好后,还需要进⾏验证,看解决⽅案是否能满⾜⽤户的需求。
对需求的验证⽅式其实是贯穿整个软件项⽬⽣命周期的,在需求分析阶段,会反复验证确认设计好的需求是否满⾜⽤户的真实需求,例如各种设计评审。
在产品开发完成后,也需要有需求的验收,以确保开发出来的软件产品是客户想要的,满⾜客户需求的。
设计好⼀个功能上线后,并不直接让所有⽤户使⽤,⽽是先给⼀⼩部分⽤户使⽤,然后分析数据,看使⽤这个功能的⽤户和不使⽤这个功能的⽤户,在营收、访问量、活跃度等关键数据上是更好还是更坏。如果好,就加⼤⽐例,如果数据不好,可能就会调整甚⾄取消这个功能。
作业:
书写计算机学院的⽹络教学系统做⼀个⽹页版的播放器需求分析
⼀、产品简介:
产品定位:计算机学院的⽹络教学系统做⼀个⽹页版的播放器
产品特⾊:优雅简介的视频播放界⾯,良好的⽤户互相交流平台
⽤户分析:主要⽤户为学⽣,学⽣观看教学视频,可以发弹幕与同学交流,可以在留⾔区与⽼师进⾏ 互动,让学⽣快乐舒适的学习知识。
⼆、收集需求:
1、⽬标⽤户:学⽣
2、产品使⽤场景:教室、宿舍以及家。
3、⽤户调研:在⼩程序上做⼀个有关学⽣对⽹络教学系统⽹页版播放器的问卷调查,让各班班长发送到⾃⼰班级让⾃班同学及时填写,收集学⽣们对播放器有什么需求。
4、到类似产品的学习平台,例如学习通、智慧树、中国⼤学⽣慕课等等,分析⾃⼰在使⽤的过程中能满⾜⾃⼰的哪些需求,在看看有没有适合⾃⼰的产品需求。
三、分析需求
1、 对收集到的问卷调查以及⾃⼰在其他类似产品上的需求进⾏分析。
2、 字幕需求
表层需求:显⽰字幕;
深层需求:语⾔不好,跟不上⽼师节奏,⽼师⽅⾔听不懂;
底层需求:聋哑学⽣⽆法听到声⾳,只能通过字幕学习。
3、 倍速播放需求:
如何制作网页版调查问卷表层需求:能倍速播放,倍速可快且可慢;
深层需求:
a、 加快倍速可以节约学习的时间,提⾼效率;
b、减慢倍速可以让学⽣听得更清楚,让学⽣对知识细嚼慢咽,提⾼学习效率;
底层需求:取得好的学习成绩,更好的学到知识。
4、 弹幕需求:
表层需求:能发送弹幕;
深层需求:可以根据进度条来看到学⽣在哪个地⽅没理解清楚或者有疑问,其它会这些问题的同学看到了可以及时疑难解答;
底层需求:让基础不好的或者没听清的学⽣更好的学习,同时让学⽣巩固知识,温故⽽知新。
5、 留⾔需求:
表层需求:学⽣⽼师都能在视频下⾯留⾔。
深层需求:⽼师有讲错的地⽅或者学⽣有疑难的问题,⽼师和学⽣都能在留⾔区进⾏留⾔,然后每个学⽣和⽼师还可以回复留⾔;
底层需求:让⽼师和学⽣增加更多互动的同时,让⽼师和学⽣在知识⽅⾯都进⾏了学习扩充,复习以及疑难解答。
6、 做笔记需求:
表层需求:能边看视频边在视频旁边做笔记;
深层需求:学⽣可以在视频边上建⽴⼀个专属本课程的笔记本,且可以⼀边看视频⼀边做摘录,可以记录⾃⼰的收获和疑难问题。
底层需求:让学习效率更⾼效,让学⽣学得更扎实。
四、需求评估

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。