需求分析

软件工程导论-需求分析

软件工程导论有关需求分析的课堂笔记及作业

文章转载老师发的资料,如有侵权,可联系我删文。

需求分析到底要分析什么?怎么分析?

什么是需求?

我们日常在项目中,经常会听到“需求”这个词,比如说:

项目经理对产品经理说:用户给我们提了一个需求,想要一个给三个孩子玩的秋千,你分析一下;

产品经理对架构师说:我们现在有一个需求,在树上栓两绳子,再吊一块板子,你做一下设计。

很明显,这两个需求的意思不一样,前面这个需求是用户需求,后面这个需求是产品需求。

用户需求是由用户提出来的,期望满足自身一定需要的要求,例如用户说:“想要一个给三个孩子玩的秋千。”这种原始的用户需求通常是不能直接做成产品的,需要对其进行分析提炼,最终形成产品需求。

产品需求就是在分析提炼用户真实需求后,提出的符合产品定位的解决方案。就像上面“在树上栓两绳子,再吊一块板子”,就是产品经理针对用户需求提出的解决方案。

需求分析是要分析什么?

其实对用户需求的分析,不是一个动作,而是一个过程。需求分析,就是对用户需求进行提炼分析,最终形成产品需求的过程。

第一步:挖掘真实需求

1、目标用户:用户不同,诉求也不一样;
2、使用场景:使用场景不一样,解决方案也会有所不同;
3、想要解决的问题:用户背后想要解决的问题是什么。

第二步:提出解决方案

我们知道了目标用户,其使用场景和想要解决的问题,就可以结合产品定位,提出相应的解决方案。

第三步:筛选和验证方案

在提出方案后,我们需要对方案进行筛选,比如对于秋千项目,建小型游乐园的方案虽然能满足需求,但是成本太高,需要排除掉。

在选好方案后,还需要对方案进行验证,以确保方案能解决用户需求。

在传统瀑布模型中,选定方案后,会写成产品设计文档,走相应的评审流程,评审完成后再进行设计、开发和测试,测试完成后会让客户再进行验收。而敏捷开发,在整个开发过程 中,每个迭代或者关键的里程碑,也一样需要客户进行验收。

怎样做需求分析?

对单个用户需求的分析,主要经过三个步骤:

第一步:挖掘真实需求; 第二步:提出解决方案; 第三步:筛选和验证方案。

而软件项目的用户需求,从来就不是单一的,而是一系列需求,所以对于软件项目的需求分析,还需要增加收集整理的步骤。整个过程是迭代进行的,如下所示:

收集需求:对用户需求进行收集整理;
分析需求:对需求进行分析,挖掘用户真实需求; 需求评估:筛选过滤掉不可行的需求;
需求设计:针对用户需求提出解决方案,设计成产品方案; 验证需求:验证方案是否可行。

在这里插入图片描述

一个项目,要为计算机学院的网络教学系统做一个网页版的播放器。

我们知道现在的课堂里面,老师上课的时候,会用电脑放 PPT 或者课件,同时还要在黑板(也有的是白板)上写写画画辅助说明。

大学的网络教学系统,就是在老师上课的时候,用摄像头把老师讲课的整个过程都录制成视频,同时也会用特殊的软件,把当时电脑屏幕上显示的内容,和白板上写的内容, 都录制下来。

这样选网络课程的同学可以通过网络直接观看,既不会漏了老师讲的内容,也不会错过老师在电脑上放的和白板上书写的内容。播放器要做的就是要播放录制的教学视频、电脑屏幕和白板。

需求分析五个步骤

收集需求->分析需求->需求评估->需求设计->验证需求->

  1. 收集需求

这个项目的原始需求是老师给我的,只是告诉我要做这样一个播放器,让学生能看教学内容。而这个需求还不够,我还需要继续收集用户需求。

收集用户需求有很多方法,这里列举部分:

头脑风暴:就是大家一起开会头脑风暴讨论;
用户调研:通过调查问卷或者访谈,通过问用户一些问题收集反馈; 竞品分析:通过分析其他同类产品的功能获得需求;
快速原型:通过原型来收集反馈,收集确认需求。

拿播放器的项目来说,头脑风暴没有足够的项目成员,也没有同类产品可以做竞品分析,做原型的话,成本有点高,所以用户调研就是最适合的收集需求的方法。它不仅简单,而且能收集到真实的用户反馈。于是我通过微信群、邮件、用户访谈从老师、领导和学生那分别收集了一些反馈。

老师们没有什么有效反馈,因为他们基本不需要用到这个软件,领导们有个需求就是希望能播放字幕,而很多学生希望能有 2 倍速快进功能。

  1. 分析需求

收集了需求,就要分析用户的真实需求,这是最难的部分,也是最体现产品经理需求分析水平的地方。

用户需求背后的真实需求有三个层次:

表层需求:用户对解决问题的期望,例如马车更快;
深层需求:用户的深层次动机,诉求产生的原因,例如乘客对出行速度的要求; 底层需求:人性本能的需求,例如对安全感对舒适的追求。

要分析好用户需求背后的真实需求,就是要结合“目标用户”和“使用场景”,按照上面三个层次去思考。

我们拿刚才播放器为例,目标用户是学生,使用场景是学校机房或者家里,希望解决以下问题。

字幕的问题:

表层需求:显示字幕;
深层需求:语言不好,跟不上老师节奏;
底层需求:聋哑学生无法听到声音,只能通过字幕学习。

快进的问题:

表层需求:能快进播放;
深层需求:可以节约学习的时间,提高效率; 底层需求:取得好的学习成绩

经过这么一分析,基本上就对于用户的真实需求心里有数了。

  1. 需求评估

需求收集分析完了后,还需要进一步评估,以决定做还是不做,优先级如何,先做哪些再做哪些。

需求评估考虑的因素有:

可行性:技术能否实现;
成本:人力成本、时间成本;
商业风险和收益:有没有商业上的风险,收益是否合理; 紧急性与重要性:是不是用户迫切的需求。

如果确定可行,还需要评估其优先级。评估优先级一个简单的方案就是用“紧急重要四象限”的方法来区分:

复杂一点的有 KANO 模型,如下图所示。

在这里插入图片描述

红色曲线,是用户认为必须要有的功能; 绿色曲线,就是用户明确提出的需求;
黄色曲线,属于兴奋型需求,就是用户自己没想到,超出预期的功能。

回到我们播放器的例子:
在这里插入图片描述

红色曲线(必须要有的功能):能播放视频、播放电脑屏幕,播放白板; 绿色曲线(用户明确提出的功能):字幕、2 倍速快进;
黄色曲线(超出预期功能):10 秒快进、10 秒快退、在时间轴上记录笔记。

  1. 需求设计

在分析和评估完需求后,还需要提出解决方案,也就是对需求进行设计,做出来有效的产品设计方案。最终的产品设计,会落实到人机交互上面,用户可以通过软件界面交互。

现在产品设计方面,各个平台都有一套比较成熟的界面标准控件,大部分产品设计都可以基于标准界面控件,组合成满足需求的用户界面,在满足功能的前提尽可能做的易用和美观。

在需求设计的时候,可以用草图、原型设计工具、界面设计工具进行设计。

在需求设计阶段,可以参考其他成熟的产品。比如我在设计播放器时,也是通过借鉴其他软件的设计来完成的,比如说向 Youtube 借鉴了视频播放器的设计,向 Skype 的电话会议系统借鉴了其播放区域切换的交互,最终完成了产品设计。

  1. 验证需求

在需求设计好后,还需要进行验证,看解决方案是否能满足用户的需求。

对需求的验证方式其实是贯穿整个软件项目生命周期的,在需求分析阶段,会反复验证确认设计好的需求是否满足用户的真实需求,例如各种设计评审。

在产品开发完成后,也需要有需求的验收,以确保开发出来的软件产品是客户想要的,满足客户需求的。

设计好一个功能上线后,并不直接让所有用户使用,而是先给一小部分用户使用,然后分析数据,看使用这个功能的用户群和不使用这个功能的用户群,在营收、访问量、活跃度等关键数据上是更好还是更坏。如果好,就加大比例,如果数据不好,可能就会调整甚至取消这个功能。

作业:

书写计算机学院的网络教学系统做一个网页版的播放器需求分析

一、产品简介:

​ 产品定位:计算机学院的网络教学系统做一个网页版的播放器
​ 产品特色:优雅简介的视频播放界面,良好的用户互相交流平台
​ 用户分析:主要用户为学生,学生观看教学视频,可以发弹幕与同学交流,可以在留言区与老师进行 互动,让学生快乐舒适的学习知识。

二、收集需求:

1、目标用户:学生
2、产品使用场景:教室、宿舍以及家。
3、用户调研:在微信小程序上做一个有关学生对网络教学系统网页版播放器的问卷调查,让各班班长发送到自己班级让自班同学及时填写,收集学生们对播放器有什么需求。
4、找到类似产品的学习平台,例如学习通、智慧树、中国大学生慕课等等,分析自己在使用的过程中能满足自己的哪些需求,在看看有没有适合自己的产品需求。

三、分析需求

1、 对收集到的问卷调查以及自己在其他类似产品上的需求进行分析
2、 字幕需求
表层需求:显示字幕;
深层需求:语言不好,跟不上老师节奏,老师方言听不懂;
底层需求:聋哑学生无法听到声音,只能通过字幕学习。
3、 倍速播放需求
表层需求:能倍速播放,倍速可快且可慢;
深层需求:
a、 加快倍速可以节约学习的时间,提高效率;
b、减慢倍速可以让学生听得更清楚,让学生对知识细嚼慢咽,提高学习效率;
底层需求:取得好的学习成绩,更好的学到知识。
4、 弹幕需求
表层需求:能发送弹幕;
深层需求:可以根据进度条来看到学生在哪个地方没理解清楚或者有疑问,其它会这些问题的同学看到了可以及时疑难解答;
底层需求:让基础不好的或者没听清的学生更好的学习,同时让学生巩固知识,温故而知新。
5、 留言需求
表层需求:学生老师都能在视频下面留言。
深层需求:老师有讲错的地方或者学生有疑难的问题,老师和学生都能在留言区进行留言,然后每个学生和老师还可以回复留言;
底层需求:让老师和学生增加更多互动的同时,让老师和学生在知识方面都进行了学习扩充,复习以及疑难解答。
6、 做笔记需求
表层需求:能边看视频边在视频旁边做笔记;
深层需求:学生可以在视频边上建立一个专属本课程的笔记本,且可以一边看视频一边做摘录,可以记录自己的收获和疑难问题。
底层需求:让学习效率更高效,让学生学得更扎实。

四、 需求评估

在这里插入图片描述

需求评估考虑的因素有:
1、 可行性:
技术可行性:结合前端和后端的交互来实现功能;
成本可行性:人力成本:5人。3000/人;
时间成本:一周。300/天;
软、硬件成本:软件300,硬件使用机房电脑。
社会可行性:不会违反法律法规,而是更好的促进学生学习,符合社会可行性。
2、商业风险和收益:无商业风险,收益20000元;
3、紧急性与重要性:是不是用户迫切的需求。
必须要有的功能:能播放视频、播放电脑屏幕,播放白板;
用户明确提出的功能:字幕、倍速播放、留言;
超出预期功能:做笔记和弹幕。

五、 需求设计

在需求设计的时候,可以用草图、原型设计工具、界面设计工具进行设计。
使用figma或者墨刀工具,设计网页播放器页面。
在需求设计阶段,可以参考其他成熟的产品。
我们可以参考学习通、哔哩哔哩网站以及其他学习平台的视频播放器来设计。

六、 验证需求

在需求设计好后,还需要进行验证,看解决方案是否能满足用户的需求。
在不同的机型上进行测试,看看页面布局以及各种功能是否一致或者细微差距。
再发送给各班班长以及学习委员测试功能是否完善,分析数据,分析播放器视频能否正常播放,能否播放白板,有无声音,有无字幕,能否倍速播放,能否留言。
igma或者墨刀工具,设计网页播放器页面。
在需求设计阶段,可以参考其他成熟的产品。
我们可以参考学习通、哔哩哔哩网站以及其他学习平台的视频播放器来设计。

六、 验证需求

在需求设计好后,还需要进行验证,看解决方案是否能满足用户的需求。
在不同的机型上进行测试,看看页面布局以及各种功能是否一致或者细微差距。
再发送给各班班长以及学习委员测试功能是否完善,分析数据,分析播放器视频能否正常播放,能否播放白板,有无声音,有无字幕,能否倍速播放,能否留言。
以上测试功能均能通过就可以发布给学生使用。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值