北航 2022 软工第二次案例分析作业

项目 内容
这个作业属于哪个课程 北航 2022 春季敏捷软件工程
这个作业的要求在哪里 作业说明链接
我在这个课程的目标是 学习现代软件工程开发的模式,锻炼团队协作开发的能力
这个作业在哪个具体方面帮助我实现目标 学习分析产品案例,提高对产品特点的敏感性

题目选择:CSDN APP 的社区功能

第一部分:调研 & 测评

功能性 BUG 总结

BUG 严重性判定分级

为了下文叙述,现将 BUG 严重性判定标准分为五个等级,并用 的数量来判定严重性。判定标准如下:

等级 严重程度
对系统功能无影响;对系统安全无影响;用户很难察觉,或对用户不会造成干扰
★★ 对系统功能无影响;对系统安全无影响;用户能够察觉,并会使用户感到困惑
★★★ 轻微影响系统功能;对系统安全无影响;用户容易察觉到不良体验
★★★★ 影响系统功能,或对系统安全造成轻微影响,存在漏洞;干扰到用户正常使用
★★★★★ 严重影响系统主要功能,或对系统安全造成致命影响;用户体验极差,严重影响用户使用

分级标准说明:这里将 BUG 分为了 5 个等级:

  • 前两个等级的 BUG 只对用户体验造成轻微影响,并且对系统的功能、安全均无影响,用户不容易察觉(或只有少数用户会发现),在修复上的优先级较低
  • 第三个等级的 BUG 会影响到用户正常使用系统的功能,但对系统的安全无影响,用户容易察觉到不良体验(或影响到的用户范围中等)。但是用户在使用过程中可以接受这种 BUG 的存在,对用户的使用影响不大,在修复上的优先级中等
  • 后两个等级的 BUG 可能影响到系统的安全,或者严重系统的功能,用户体验极差,严重影响用户使用,可能会造成用户直接放弃使用(或者尝试使用竞品),在修复上的优先级最高,需要立即修复

测试环境

以下发现的 BUG 测试环境相同,如下表:

环境 信息
使用设备 iPhone 7
操作系统 iOS 15.1
APP 版本 V5.2.0

BUG 01 - 动态数量与个人信息页内标签不同步

可复现性 & 复现步骤

  • 可复现性:必然发生
    • 复现概率:10/10
  • 复现步骤
    • 在社区中发布一条动态,并等待审核通过
    • 审核通过后删除此动态
    • 点击应用底部 Tab 栏中“我的”选项卡,并点击个人 ID,进入个人信息页面
    • 切换到“动态”标签页,会发现此时没有任何动态,但是标签页上仍然有动态计数

BUG 描述

此 BUG 发生在社区的“动态”这一功能中。当用户的动态发布且通过了审核后,删除了此动态,则在个人信息页面中的“动态”标签页上的动态计数不会立即更新。经反复测试,证实“动态”的计数会在数个小时后才会更新。显然,这是一个计数不同步的 BUG,而非 feature。

BUG 图示如下:

BUG 分析

BUG 成因分析

根据猜测,造成该 BUG 有三种可能的原因:

  • 有可能 CSDN 在数据库中存储了这个值,并对其使用延迟更新以减小数据库压力
  • 有可能 CSDN 使用实时运算的方法来计算该值,并用对该值做了缓存以避免服务器压力
  • 有可能 CSDN 服务器对值的记录是正确的,但是 APP 端没有及时向服务器请求该值,导致 UI 上的显示出现了滞后
BUG 严重性分析
  • 等级:★
  • 考虑到这个 BUG 所设计的范围不广,没有影响到系统的安全和功能,而且在一段时间后会自动恢复正常,只有在特定操作下才会被触发。同时这个 BUG 不会影响到用户对于主要功能的使用。
BUG 改进建议

可以考虑先找到这个问题的成因(例如我提到的三种),然后根据具体的原因修复这个问题

BUG 02 - 动态编辑框中“引用”嵌套“分割线”导致光标错位

可复现性 & 复现步骤

  • 可复现性:必然发生
    • 复现概率:10/10
  • 复现步骤
    • 打开发送动态界面
    • 插入一个引用框,并在引用内部插入分割线(不要插入其他文字)
    • 点击引用框下部,使光标离开引用框
    • 点击分割线下部,试图将光标移动刀分割线下部,会发现光标总是会跳到分割线上部

BUG 描述

此 BUG 发生在社区的“动态编辑框”中。当试图在“引用”内部嵌套“分割线”时,如果光标发生移动,后续无法使得光标复位。

BUG 图示如下:

BUG 分析

BUG 成因分析

根据猜测,造成该 BUG 可能是因为在设计“引用”的操作逻辑时,没有考虑到和“分割线”这一元素组合的情况,导致二者的组合在操作上出现问题。

BUG 严重性分析
  • 等级:★★★
  • 这个 BUG 出现在用户的动态编辑中,因此一旦出现了,就会对用户的使用产生比较显著的影响。同时由于目前该 BUG 出现后没有一个规避的方案,用户需要删掉整个引用框的大量文字重新键入,会造成非常不好的体验。
BUG 改进建议

重新设计引用框光标的操作逻辑,考虑其与各种元素组合的情况。

BUG 03 - 文章编辑框中插入图片导致文字异常居中

可复现性 & 复现步骤

  • 可复现性:必然发生
    • 复现概率:5/5
  • 复现步骤
    • 打开发送文章界面
    • 键入一些文字
    • 插入一张图片
    • 删掉图片
    • 此时会发现之前键入的文字被居中显示

BUG 描述

此 BUG 发生在社区的“文章编辑框”中。每次键入一些文字后插入图片都能复现此 BUG。

BUG 图示如下:

在找到这个 BUG 的时候,我一度认为这是一个 feature,但是经过考虑我还是认为这个“feature”的使用逻辑过于奇怪了,所以将其定为 BUG。

BUG 分析

BUG 成因分析

根据猜测,造成该 BUG 可能是在设计文本框时,没有考虑到插入大图片对于排版的影响。需要居中显示的图片影响到了其上方文字的效果。

BUG 严重性分析
  • 等级:★★
  • 这个 BUG 和上一个 BUG 非常相似,都是出现在编辑框中的问题。但是这个 BUG 相较于上一个 BUG 而言可以有很多规避的方法(例如多打一个回车),而且发生了以后也比较容易处理修正,所以严重性轻一些。
BUG 改进建议

尝试多种文字格式与图片组合的情况,通过测试定位 BUG 修改。

BUG 反馈

由于没有在 APP 内找到可以反馈的渠道,因此上述的 BUG 已经在 APP STORE 的评论区内进行反馈。

体验报告

基本功能使用

如图,我主要使用了以下几个功能:

  • 查看关注
  • 查看热门动态
  • 进行投票
  • 查看同城动态
  • 发布一个投票动态

体验总结:是否解决问题 & 软件优缺点 & 用户体验描述

  • 从功能上讲,CSDN 的动态功能做得比较完善,既能发送普通的动态,也能发起投票,还能转发博客,满足了用户的需求
  • 从界面上看,CSDN 的 UI 设计得仍然不尽人意。虽然基本的功能都有对应的 UI,并且界面组件采用的组织方式也是非常常见的,但是在元素之间的间距上把控得不尽如人意。如下图所示的“回到今天”这个按钮不知道为何没有和屏幕边缘保持边距

在用户体验上,CSDN 做得基本合格,但是有部分地方显得有些粗制滥造。特别是那些藏得比较深的地方,可以看出明显是使用 WEB 组件替代的,例如这个投票界面。尽管外部(比如动态信息流)的使用比较流畅,但是一旦到了这些藏得比较深的地方使用起来就会感受到明显的卡顿感。

改进意见

  1. 优化界面的逻辑,重新设计界面的组织方式
  2. 对于部分使用 WEB 组件的地方,可以考虑使用原生组件,或者优化 WEB 组件,避免产生割裂感
  3. 优化社区内容,明确用户定位,优化推荐算法

总结评价

一般。

我认为 CSDN 的社区功能基本满足的用户的需求,满足了用户各方面的需求。但是 CSDN 的社区功能从 UI 设计以及社区内容的角度上看,也没有特别吸引我去用的点。

下面是定量的评价:

(满分 10 分, 良好 6 分, 及格 4 分,聊胜于无 1 分, 很差 -3 分)

类别 描述 评分
核心功能 较好:发表动态和博客,交流技术,分享生活,定位精准 9
细节 一般:界面上有不少小 BUG(包括上面提到的),感觉没有用心设计 5
用户体验 一般:界面没有出彩的地方,也没有太拉垮的地方 6
辅助功能 较好:在社区能发表动态,还能发表投票和 PK 7
差异化功能 一般:同类的竞品太多,CSDN 的社区功能没有足够的特色 6
软件的效能 较好:占用资源适中,没有卡顿的情况出现 8
软件的适应性 较好:由于软件定位的特殊性,在断网情况下无法使用;在各个设备上能良好适配 9
成长性 较好:能记住用户的选择,适应用户的特点 8
用户有控制权 一般:系统部分功能的反馈有延时(见上述 BUG 描述) 5

采访

  • 采访对象的背景:北航计算机学院大二学生
  • 使用的产品栏目:CSDN 的社区功能
  • 遇到的问题和亮点:问题包括社区讨论的内容太杂,没有集中的目的性,部分组件使用卡顿;亮点有界面设计较美观,社区的功能丰富
  • 需要改进的地方:解决部分组件的卡顿问题;维护好社区的内容创作

第二部分:分析

开发时长估计

使用此服务的所有功能,估计这个软件/网站/服务做到这个程度大约需要多少时间(团队人数 6 人左右,计算机大学毕业生,并有专业 UI 支持)

首先,由于 CSDN APP 的社区功能只是整个完整 APP 的一部分,因此这里假设需要开发的内容包括以下几个部分(并假设除此以外的功能均已完成):

  • APP UI 设计和绘制:包括 UI 设计的初稿、多次修改以及最终定稿
  • APP 逻辑编写:包括逻辑设计的想法到实现
  • 数据库设计及后端开发:包括数据库设计以及和其他部分协同的时间
  • API 设计及开发:包括 API 设计以及服务器后端开发的时间

这里我给出了各个部分预估需要的时间(以“周·人”为单位):

部分 预估时间
APP UI 设计和绘制 3 周·人
APP 逻辑编写 4 周·人
数据库设计及开发 4 周·人
API 设计及开发 6 周·人

其中,考虑的各个部分对接的问题,估计需要两周完成。除此之外,考虑这中间可能需要时间调试修 BUG、测试等,按照经验估计,这段时间往往和真正开发的时间相关甚至比真正的开发要长,因此将最终得到的结果乘以 2.5。按照 APP 开发与服务器开发将团队分为 3 + 3 人,考虑到后两项开发工作基本是串行进行的,且占比较 APP 开发更多,因此计算得最终需要的时间为 8.33 周。

当然,这里的估计是很不完备的,因为当人数变多时以及单人开发时间过长时完成的工作量并不能是单人工作开发的简单叠加,将这个波动纳入考虑,得到最后的结果约为2~3月

优劣势分析 & 竞品排序

分析这个软件目前的优劣(和类似软件相比),这个产品的质量在同类产品中估计名列第几?(必答)

在我看来,CSDN 社区的地位有点类似于面向程序员的微博,其专业性不如正经的技术博客,同时娱乐性上也偏向于程序员相关技术。因此其优劣势分析如下:

  • 优势:
    • 背靠 CSDN 这一知名的网站(当然是好名声还是坏名声因人而异),更贴近程序员群体,定位精准
    • 社区建立与其定位相符,客观上讲 CSDN 社区的氛围其实算是不错的(整体偏向于“技术向”),有着相对较活跃的社区
  • 劣势:
    • 大部分技术内容过于小白,让一些人很难有点开的欲望;同时也有很多重复内容泛滥,部分内容质量低下
    • 部分内容娱乐性过强,另一部分内容又过于严肃,没有将二者区分开,导致用户使用的割裂(如下图)

在我看来,从面向程序员以及微博两个角度分析,可以发现 CSDN 的竞品有以下几种:

  • 知乎(动态 & 专栏)
  • 微博(部分用户会发一些技术相关的内容)
  • 推特(同微博)
  • 牛客(有类似的动态功能)

仔细分析不难发现,CSDN 的定位是及其精准的,而上面几款竞品在定位上则更加泛化。为了公平起见,在这里比较时我也面向“程序员”这一群体来比较,将其排序及理由如下:

  • 牛客:更加专业的社区,我认为比 CSDN 定位更加精准,且专业性上比 CSDN 更强,更符合程序员的喜好
  • 知乎:既有面向小白的内容,也有高手发的专业内容,而且在整体分布上没有失衡,大部分用户都能找到适合自己的内容,用户面广泛;推荐算法较好,能够“较准确”得推送用户想看的内容
  • CSDN:优缺点如上所述
  • 推特:类似于微博,娱乐性比较强,但是优点在于上面的一些官方账户(例如“LLVM 基金会”)会发一些专业内容,并且推特上技术分享也比较活跃;缺点是私密性比上面所说的三种更强,因此在分享上对于“技术”的集中度更小
  • 微博:娱乐性过强,几乎没有纯技术性的内容;而且微博本身的技术氛围过弱,也没有推特那样的“专业官方账户”,其他信息的干扰性太强

具体建议

从各方面的问题,推理出这个软件团队在软件工程方面可以提高的一个重要方面(具体建议)

我认为最重要的一个方面:推荐算法。这一点包括分析用户的兴趣、技术栈、学习层次等。

目前 CSDN 推送信息流似乎没有一个类似于知乎那样的推送算法,因此我收到的推送是杂乱无章的,包括了各个领域、各个层次的文章,这导致我收到相关的内容很难有点看观看的欲望。

同时由于缺少良好的推荐机制,我写的内容也很难被感兴趣的人看到,因此我创作和分享内容的欲望就会降低,这样便形成了一个负面的正反馈,不利于社区发展。

当然除此以外,我还希望 CSDN 团队能优化一下 UI,目前的 UI 虽然已经够用,但是也仅仅停留在能用的层次,其在设计上非常粗暴,没有和整体 UI 统一。

BUG 产生原因分析

你在第一部分发现的 bug,为何软件团队不能在发布前修复?他们是不知道,还是有意不修复?你觉得是什么原因?

我认为主要是两点原因:

  • 具体的设计质量不高
  • 测试把关不严,敷衍了事,没有注意在特殊的配置或环境下测试

文本输入框是一个比较复杂的组件,因此本次测试我发现的大量 BUG 也来自于文本输入框。

由于组件的复杂性,因此其设计变得十分复杂,更加容易出 BUG;同时,由于组建的复杂性,还会导致测试上的困难。

根据我的猜测,测试可能没有想到用户会像我一样使用文本编辑框,因为这是一种比较少见的使用情况。但是即使是再小众的使用情况,在 CSDN 用户数量如此庞大的情况下,BUG 的出现也会变得必然。

我建议 CSDN 在这里可以采用或模仿一些已有的组件,不要自己从零开始造轮子,否则会反复踩坑,大大降低开发迭代的效率。

第三部分:建议 & 规划

市场概况

首先,市场有多大?潜在的用户有多少?

在前面提到,CSDN 的定位非常精准,主要瞄准的人群为“程序员”。当然随着 IT 技术的不断发展,这一群体的概念也在不断泛化。随着深度学习、科学计算等技术的普及,越来越多其他领域的科研人员、工程师也被纳入到这个群体当中。

IT 行业的特点就是生命力旺盛、技术迭代更新周期短,因此这也使这个领域的人时常处于学习状态,这也给 CSDN 这一类面向程序员的网站带来了极大的生命力。

同时,目前 IT 行业和移动用户还在不断的增长中,这一市场的前景仍然是广阔的。

市场现状

目前市场上有什么样的产品了,它们的优势劣势在哪里?和它直接竞争的产品在那里?

目前市场上类似的产品包括同样面向程序员社区的“开源中国”“博客园”等,并且还有一些面向群体更广泛的社区,例如“知乎”等。

和开源中国对比,可以发现 CSDN 在新闻时事性上并不如开源社区,前者更像是一个集中了程序开发的资讯站,也没有类似的动态功能。

与博客园相比,CSDN 面向的群体更广,有着更好的论坛,博客园的内容更加专业,但是社区活跃度上不如 CSDN,CSDN 的博客、论坛、微博等功能则互相融合促进。

与知乎对比,CSDN 的用户定位更加精准,相关内容的产出更加丰富。尽管近年来 CSDN 中产出的内容逐渐偏向于新手,但是它仍然有着不可被替代的价值。

由上可见,CSDN 包含了博客、论坛、微博、问答等功能,其综合性相比其他的产品来说更强,这使得 CSDN 各个板块的社区也较为活跃。尽管近年来 CSDN 因为内容问题和商业化问题饱受诟病,但是在目前的市场上,CSDN 仍然是最受欢迎的程序员社区之一。

市场与产品生态

作为新的项目经理,这个产品的核心用户群是什么样的人,典型用户长什么样?学历,年龄,专业,爱好,收入,表面需求,潜在需求都是什么?

我认为可以将用户分为三类:学生、从事 IT 行业工作的人以及从事非 IT 行业工作的人。

首先对于学生来说,主要的应该是大学生以及培训机构的学生,其年龄集中在 18~25 岁之间。在专业上,我认为包括计算机相关专业的或者非计算机专业的(虽然 CSDN 是一个面向程序员群体的网站,但是由于信息技术的普及,许多其他专业的人在日常使用计算机时也会遇到各种问题,甚至有一些简单的编程需求,此时他们就会来到 CSDN 上)。爱好(或许)是学习或者编程。由于是学生,因此可能没有收入或者收入偏低。这一群体最大的特征在于其计算机相关基础知识较薄弱,处于一个入门的阶段,需要解决很多问题。因此其表面需求在于解决目前遇到的问题,而潜在的需求在于通过解决问题提高自己的计算机知识水平和技能水平。

对于从事 IT 行业工作的人而言,CSDN 不仅是一个学习的社区,同时也是一个输出的社区。在学历上,这一群体分布的范围较为广泛,但是主要以本科为主。年龄在 20~50 之间,专业为计算机相关专业(包括其他专业转为计算机专业)。考虑到从事的职业,这一群体的收入水平相对较高。这一人群的表面需求除了解决自己遇到的问题外,还会借助平台分享自己的知识。对于他们的潜在需求来说,CSDN 更像是一个社交平台。

对于从事非 IT 行业工作的人来说,他们的学历和年龄和 IT 行业群体相似,专业以非计算机为主。他们对于 CSDN 的需求更像是学生群体,并且他们没有学生群体那样学习计算机知识的需求,而只是为了解决目前手上的问题。因此他们的潜在需求和表面需求相同,均为解决目前遇到的计算机相关的问题。

产品规划

如果你有钱可以招聘 6 个人,有 4 个月的时间,你作为项目经理,应该如何配置角色(开发,测试,美工等等)?描述你的团队在 16 周期间每周都要做什么,才能在第 16 周如期发布软件的改进版本,并取得预想中的成绩。

我会配置两名美工,两名测试以及两名开发。时间的安排如下:

  • 最开始的两周,需要明确开发的方向,可以通过问卷或者调研竞品等方案确定自己的目标
  • 在接下来的两周中,美工团队负责给出设计方案,并且给出设计文档。开发团队需要设计 APP 的逻辑,并和测试团队沟通测试方案
  • 接下来的六周是快速迭代开发阶段,这个期间需要三组人员进行密切沟通,每两天开一次会,每周做一次总结并调整进度,保证项目不会因为出现沟通失误导致无用功
  • 接下来的四周是测试阶段,这个阶段同样需要三组人员共同合作:美工需要检查 APP 是否符合自己的预期,开发需要配合测试和美工及时修改产品
  • 最后的两周是发布阶段,这个阶段不会再进行大规模的开发,主要集中在软件的部署和发布上
posted @ 2022-03-19 15:34  roife  阅读(157)  评论(0编辑  收藏  举报