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,得到了以下的结果:

    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进行全面的测试,提高用户体验。

posted @ 2021-04-08 22:48  WilliamHuang  阅读(61)  评论(6编辑  收藏