2021S软件工程——案例分析作业
2021S软件工程——案例分析作业
18231169 黄思为
项目 | 内容 |
---|---|
这个作业属于哪个课程 | 2021春季软件工程(罗杰 任建) |
这个作业的要求在哪里 | 案例分析作业 |
我在这个课程的目标是 | 了解并熟悉软件开发的具体流程,与团队共同开发一款实用的软件。在实践中增强自己的工程能力。 |
这个作业在哪个具体方面帮助我实现目标 | 通过实际体验已有产品,分析它们的优劣,从中获取软件开发的经验,用于自己接下来项目的开发。 |
1 选题
本次作业,我选择了CSDN APP、牛客APP、微信公众号三个产品体验并进行横向对比分析。由于在平日里使用网页端CSDN较多,我将以CSDN APP为主进行体验分析,其它两个产品作对照与比较。
设备及环境:
- 三星Galaxy S9+(SM-G9650)
- Android 10
2 调研与评测
2.1 基本功能体验
CSDN APP
基本界面如下:
让我很不舒服的是,一个博客论坛类APP想要读取我的联系人与通话记录,果断选择拒绝。
对于CSDN,我最常用的其实是网页端。CSDN APP在我的手机里存在了许久,但从未打开过。在熟悉了CSDN APP的主要界面后,我考虑了以下两个场景进行深入的体验:
-
搜索引擎
这是我平日里绝大部分使用CSDN的场景,在写代码的时候遇到相关的问题,就上CSDN搜索一下,以实现“面向CSDN编程”。所以,我认为将CSDN APP作为一个搜索引擎,会是一个典型场景。对于一个搜索引擎的评价,我认为应该从内容可信度、丰富度、相关性等方面进行评估。
我尝试搜索
Junit beforeclass
,得到了以下的结果: 对于CSDN内容的专业性,我个人还是比较认可的,毕竟是老牌的技术博客网站,大部分技术问题都可以在CSDN搜索到一个很不错的结果。我也常常使用CSDN对专业课的内容进行释疑与扩展。比如Junit的相关内容,我就是看CSDN的博客一点点学习的。
虽然CSDN的内容较为全面与专业,可以作为学习时很好的一个搜索引擎,但我使用时还是发现了问题。一般而言,搜索引擎的结果,会给出几个排序的指标。如:按时间、按热度、按相关性等。在选择一个指标作为主键进行排序时,另外几个指标也不能差距太大。然而,当我选择
博客
按热度
时,出现在第一页的内容不能说没有关系,只能说毫无相关了: 瑕不掩瑜,使用CSDN APP搜索时,一般不需要选择太多的选项,出现的内容就足以解决我的问题。所以,我认为作为一个搜索引擎,CSDN APP是合格的。省去了打开浏览器、进入CSDN官网的过程,或是在百度搜索结果中选择CSDN内容的烦恼。
-
IT领域特供版“知乎”
虽然我绝大部分时候打开CSDN,只会直奔搜索框,根本不会理会首页中的内容,但是,在这次对CSDN APP的体验中,我认为CSDN现在已经不仅仅是一个单纯的技术博客网站,而是将自身定位为IT行业的一个门户网站。由此,我认为CSDN APP的用户,还有一个使用场景会是这样:在通勤途中、等待运行结果、甚至是上班摸鱼的时候,打开APP,像刷知乎一样去浏览CSDN APP中的内容。
我这么说不是空穴来风,可以看到CSDN APP的顶栏与底栏都有很明显模仿知乎的痕迹:
基本上用户使用的逻辑是一样的。于是,我试着在食堂等香锅的时候、游戏加载的时候、上厕所的时候使用CSDN APP,浏览其中的热榜内容。不得不说,看起来还挺有意思的,既能打发一些时间,又能够学习到一些知识。但是由于博客大部分是在电脑端书写,屏幕比例与移动端相差甚远,有的时候阅读体验并不是十分良好。
牛客APP
相比于CSDN,牛客可能更多的偏向于求职就业,而非技术分享。我只是轻度使用了一下牛客,个人认为集成刷题功能对学习技术还是很有帮助的。并且题库较为全面,有分编程语言、工作岗位、技术方向的专项练习,也有公司真题、错题练习。我认为这个功能对于求职者十分实用。求职板块的相关信息也比较丰富,可以提供多方位的信息,不过可信度我难以考证。
在我看来,牛客APP与CSDN APP的目标群体有着明显的区别,它对于自己的目标用户来说,应该能够算得上是一个功能齐全、信息丰富的APP。
微信公众号
微信公众号所有人都再熟悉不过了,现在不管什么都要开一个公众号。它与前两个APP不同,它并不专一领域的,而是一个大杂烩,且门槛较低。这样就导致内容较为杂乱,且可信度与专业性都大打折扣。我关注了几个技术类的公众号,如:程序人生、科技美学等。我不知道什么时候起,不管是哪种微信公众号,标题都变成了一个画风——为了吸引眼球。我甚至在某公众号上看到过:”不要再学Python了“(诸如此类的标题),点进去以后发现一通胡扯,最后是卖课卖书的。所以,通过微信公众号学习技术,我个人是比较抵触的,并且我认为它无法与上面两个APP不属于同类型竞品,无法做更多的比较。
2.2 不良体验与改进建议
-
底部栏的会员可以考虑更换
对于一款APP来说,底部栏是很重要的一个交互部分。然而,CSDN APP却把”寸土寸金“的地方,留给了用户很少使用到的”会员“。这点对于我来说是一个特别糟糕的体验。如果想开通会员,用户自然会去个人信息页面寻找相关的入口;如果不想开通会员,底部栏放一个大大的”会员“,这不是恶心用户吗,同时也使APP少了五分之一的可用”第一交互“部分。所以,我认为可以把它更换为一个更为实用的选项,甚至将底部栏按钮由五个变为四个,体验也会好很多。
-
热榜重复出现
我注意到,在CSDN APP的首页顶部,有一个热榜,在底部栏又有一个热榜选项卡。经确认,两个热榜里的内容是一样的。那何必在这么接近的地方放置两个一样的东西呢?建议首页内容置顶的”热榜“可以删去。
-
代码块的阅读体验需要优化
上文提到过,博客大多数是在电脑端书写,与手机屏幕比例相差甚远,这给用户带来了不太好的阅读体验。许多地方的排版会显得有些凌乱,但也能够理解。但是,如果碰到较长的代码块,CSDN APP给出的解决方案是左右滑动代码块与横屏查看代码块。然而,这里的交互并没有做好,很容易出现想要左右滑动,却变成上下滑动,不由得让我有点抓狂。建议在代码块中滑动时,将上下互动锁定,这样就可以减少误操作。
2.3 BUG分析
- BUG严重性分级
星级 | 具体描述 |
---|---|
\(\star\star\star\star\star\) | 危害软件安全性,泄露用户信息 |
\(\star\star\star\star\) | 导致软件崩溃或卡死 |
\(\star\star\star\) | 影响软件功能完整性 |
\(\star\star\) | 严重影响用户体验 |
\(\star\) | 轻微影响用户体验 |
不绑定手机,无法通过QQ/微信登录
在CSDN APP上,选择QQ/微信登录后,仍然会弹出绑定手机号的提示。如果不绑定手机号,选择左上角返回按钮,则会判定未登录。我一开始觉得这是CSDN想要强行绑定用户手机号,但是我在网页端尝试了使用QQ号登录,不绑定手机仍然可以成功登录。所以CSDN APP在QQ/微信登录入口的这种情况属于一个BUG。
我将其评级为\(\star\)BUG,轻微影响用户体验。因为大部分用户还是会绑定手机号进行登录的,且不登录也可以进行相关的浏览。
点击md文档内链接失效
许多博客的开头都会有一个目录,并使用文档内链接,点击即可跳转到想要查阅的部分。但是,在CSDN APP中,点击链接后,链接虽然变为深色(代表有过点击动作),页面却并没有跳转到相应部分。
我认为这个BUG可能的原因是移动端对markdown的支持存在一些问题,导致文档内链接无法使用。
我将这个BUG评级为\(\star\star\),即严重影响用户体验。在阅读较长文章时,无法目录导航,会浪费大量的时间。
2.4 用户采访
我对石同学进行了采访,他偶尔会使用CSDN APP。
-
人物背景
石同学也是计算机专业大三的学生,很显然,采访他的原因是
好不容易找到一个用CSDN APP的人。石同学在平常有查阅计算机领域的技术问题的需求,并且对CSDN使用较多。他的主要需求是解决工作学习中遇到的技术问题。 -
使用的产品栏目
“我一般直接搜索,偶尔会刷一刷热榜里的内容。”
石同学的使用产品栏目是较为单纯的,直奔搜索栏查阅自己需要的内容。并且,他会在阅读一篇博文以后,继续查看博客后的相关博文。并且,他在少部分时候会浏览一下热榜的文章。
-
遇到的问题与亮点
“CSDN就是资源比较丰富,其它倒是平平无奇。”
他对以下三个方面进行了吐槽:
-
没有标记文章已看过的功能
在上面的采访中,我们得知该同学会有翻阅相关博客的习惯。然而,CSDN APP并不会将已阅读的博客标记出来(比如标题变灰处理)。这就导致在浏览了几个相关博客后,忘记刚才看过的博客题目,又点进了已经查看过的博客中。
-
“会给我推荐一些跟我没关系的文章”
石同学表示,偶尔会在首页看到一些他不感兴趣甚至和他无关的文章。这里有可能是推荐算法出现问题,或者CSDN“恰钱”了。
-
许多内容收费
在下载内容时,CSDN是需要开通会员的,石同学表示,这不利于社区的发展。
-
-
需要改进的地方
“如果能够将上面提到的问题进行改进,我觉得就很好了。”
对于石同学来说,他并没有更多的需求,只是偶尔会使用CSDN APP查阅相关博客和资源。以上的问题如果能够解决,就能使他的用户体验有很大的提高。
2.5 软件打分
在深度体验了CSDN APP以后,我最终给其打分为c,一般。我觉得它没有明显的缺点,但是也没有特别的亮点让我有理由向别人推荐这个APP。在下文中,我还会进一步说明我对这个APP的看法。
3 分析
3.1 开发所需要的时间
使用此服务的所有功能,估计这个软件/网站/服务做到这个程度大约需要多少时间(团队人数6人左右,计算机大学毕业生,并有专业UI支持)。
由于CSDN APP与CSDN使用相同的搜索引擎接口,并且设计也参照了现有的APP,所以我认为需要37周的时间完成这样的工作。
时间 | 具体任务 |
---|---|
1周 | 产品调研,用户定位,团队磨合 |
2~6周 | 需求分析,确定分工、开发框架、开发规范,学习所需开发技术 |
7~14周 | 实现基本需求,完成初步开发(前端设计,后端实现,前后端交互),初步测试 |
15~27周 | 完善软件功能,修复已知BUG,进一步测试 |
28~32周 | 部署、测试 |
33~36周 | 开放内测版本,修复大部分BUG,针对内测用户反馈进行修改 |
37周 | 正式上线 |
3.2 产品排名估计
- 产品优势
- 基于CSDN的庞大资源
- 资讯丰富
- 同类产品较少
- 产品劣势
- 目标用户会更多使用网页端
- 市场定位不够明确
- 收费内容过多,容易劝退用户
我认为作为基于CSDN在国内的影响力,且同类竞品数量较少,CSDN APP在同类软件中至少是坐二望一的位置。当然,也有可能是我使用过的APP较少,没有发现更多优秀的同类产品。
3.3 BUG成因分析
我认为第一部分的两个BUG都是由于测试不到位导致的。
4 建议与规划
4.1 市场概况
个人认为,CSDN APP这类软件的市场真的不大,可以说是十分小众了。酷安(一款聚集了较多极客的应用市场)中CSDN与其它软件的下载量的对比,足以看出它的小众:
直接用户应该就是IT行业的从业者,但是他们工作时更多会在电脑上进行,并使用网页端查阅相关资料,浏览技术博客等。潜在的用户为计算机专业的学生,他们使用手机有可能比电脑更多,使用APP会更多。
4.2 市场现状
目前市面上的竞品并不是很多,毕竟这个领域APP的受众较小。博客园APP算是一个竞品,但是它的功能十分简略,只能进行简单的浏览。
产品优势上文已经提及,背靠CSDN大量的资源与知名度,吸引大量开发者。劣势在于自身的定位不明确,功能做得很杂,既不像一个纯粹的技术APP,又不像一个休闲娱乐APP,用户使用场景模糊。
4.3 市场与产品生态
核心用户群自然是需要查阅相关资料的IT从业者。典型的用户画像有以下两种:1. IT行业工作者,在工作中需要查阅特定资料;2. 学生,在学习中需要查阅相关资料,并且会阅读不同类型的内容进行学习。
产品目前来看不存在构成生态的可能性,应当专注于特定的功能。
4.4 产品规划
-
市场定位
我认为目前来看,CSDN APP的市场定位、用户使用场景都是模糊不清的。我在上文中提到的两个不同应用场景,实际上是两个方向:一种是把自己打造为纯粹的一个技术类博客APP,一种则是成为一个IT领域综合资讯APP。但是,后者的用户群体就更小了,且有知乎这样的大体量竞品,试想谁想在工作之余,打开APP仍然看的是一堆硬核技术博客呢(不排除有以学习技术为乐的大佬,那就是目标用户...)?
我进行了一个小规模的问卷调查,问卷内容如下:
我在高等理工学院2018、2019级学生群、QQ空间、微信朋友圈、1806灌水群发布了该问卷。问卷主要的回答者为大二、大三的学生,且有理工科背景。共收集到97份有效问卷,其中92人在有接触过CSDN。在92人,只有38人使用过CSDN APP。对CSDN APP的主要使用场景如下图所示:
可以看到,绝大部分的使用场景为查阅技术性博客,对APP内其它功能的使用人数较少。
通过这份问卷,一定程度上验证了我的想法:对于CSDN的使用者来说,CSDN APP并没有特别强烈的需求,毕竟写代码时大家都会使用电脑,网页端会更加便捷。在使用CSDN APP的时候,常常是目标明确,直接搜索自己需要的相关内容,较少把CSDN APP当成知乎类软件去随意浏览文章。当然,这份问卷也存在着很大的局限性:1. 样本数量较小;2. 调查的群体较为单一。
基于以上认知与调查,我想将CSDN APP定位为一个纯粹的技术类博客APP,用户使用场景为查阅特定内容。
-
新功能
-
桌面组件
用户可以在桌面添加一个CSDN的搜索框,无需打开APP本体就可以搜索想要查阅的资料。这样可以让用户更加便捷地搜索,正如一众翻译类APP的功能一样:
-
精简APP的内容
可以不需要有那么多的分类标签,我认为用户很少会选择那些分类去看里面的内容(起码我个人是这样)。比如我想要看Junit的内容,我肯定不会选择在Java的分类标签下翻阅,而是直接进行搜索。可以只留下关注与热榜,用户有一定几率进行浏览。
-
-
角色配置
我认为应该招聘两个美工,对APP进行精简设计,让它看起来不再那么臃肿;两个开发,因为开发任务并不是特别重;两个测试,对新功能以及之前未修复的BUG进行全面的测试,提高用户体验。