分析——个人第二次博客作业

项目 内容
这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任健)
这个作业的要求在哪里 个人博客作业——软件案例分析
我在这个课程的目标是 系统学习软件工程,在实践中获得个人提升
这个作业在哪个具体方面帮助我实现目标 系统分析软件的优劣,从bug中学到软件设计的注意点

第一部分 调研,评测

我选取了CSDN作为调研的软件。

1. 使用10–30分钟这个软件的基本功能

登录之后的个人主页:

发现消息界面有新消息:

编写个人博客:

搜索自己需要的文章:

2. 描述使用这个产品的过程,解决了用户的问题么?软件在数据量/界面/功能/准确度上各有什么优缺点?用户体验方面有问题么?

在我看来CSDN是每一个学习IT技术的人不可或缺的资源获取网站。比如发现书本上的知识有不懂的部分,我通常会选择在CSDN上搜索是否有人和我有相同的疑问,而恰好,我的问题常常早就已经被人解决了;或者是阅读纯英文论文的时候,我们对于文中的某些语句理解的不太到位,这时候就会导致论文看的比较迷惑,但是常见的一些论文的解读基本都可以在CSDN上找到,可以帮助我们很好的理解,查漏补缺;或者是有一些资料的资源,无法在网上轻易搜索到的时候,我都会在CSDN上查找,虽然一般情况下都会花费一些C币才可以下载,但是比如说一些国外的数据集,直接下载可能很慢,但是从CSDN上下载就可以解决一定的速度问题。所以我个人认为,CSDN是解决了很多IT从业人员的问题的。

对于数据量来说,可以从CSDN的进入封面上看到,其包含的用户数已经为一亿上下:

但是我个人认为常用用户数可能远远低于这个数量,这一亿应该包括了很多僵尸账号。

对于APP的界面,我还是比较喜欢这种简约式风格的软件的,主要功能的按钮比较突出,但是说实话我在测试这个APP的bug的时候,需要退出账号,退出账号的那个按钮我找了比较久的时间。

对于功能来说,CSDN涵盖了很多IT大牛的分析博客、很多数据的下载资源、优质的网课。可以说,作为一个面向IT人员的网站,它的功能还是十分全面好用的。但正是因为这份全面,其实也带来了一些缺点,所有人都可以在上面发博客或者资源,但是由于二八定律,我们可以很容易的知道这其中大部分人发出的博客或是资源,不是无意义的废话,就是四处拼凑得来的为了骗取积分的东西。这也就要求我们在搜寻资料的时候十分的谨慎。

对于准确度来说,它采用了推荐系统算法根据你之前点击的博客会自动推荐给你相关信息,可以说这点做的还不错,而且它会在博客界面将不同编程语言的博客分类出来,便于大家直接进行查找,所以它的对于用户需求的准确度把控上很好。但这也就带来一个问题是,如果经常摄取自己熟悉领域的博客的知识,我们很容易被限制在这个单一的领域中,而不能很好的和其它部分进行交叉,这也是当前基于推荐系统的推荐软件一个比较显著的缺点。

我经常使用CSDN去查找我需要的资料,而且几乎都可以找到我想要的答案,在我看来它的用户体验非常好。

3. 对产品有什么改进意见?

前些年,CSDN会做一些相关活动来帮助大家获取免费的下载权限或者C币,但是最近些年,因为越来越多的人在使用它,所以运营软件的团队将获取免费下载权限和C币的途径几乎全部关闭了,同时又将C币的购买提高了价格。其实很多用户还是学生,负担不起这样大的费用,但是CSDN并没有提供比较好的“按需购买”的功能,比如填写自己需要购买的C币数量进行购买,而是直接进行打包销售,所以一般情况下需要花费比较多的钱,但是又无法充分利用,让人感觉不太值。

所以我觉得CSDN可以提供这种自己定义C币购买数量的功能,这样大家就可以按需购买了。

除此之外,我在搜索自己想查找的问题时,搜索出来最上面几个帖子经常内容是见另外一个博客,然后附上链接,我觉得这样的贴子可以进行一下过滤,不要在搜索的时候出现在特别前面,而是直接将其索引的博客置前,有的人可能说,如果没有这样的索引博客,你可能找不到自己想找的博客,但我想说,要不是因为这种所谓”短小“的博客数量众多,我要搜索的内容也不会被压倒下面去。

而且名字相似,内容雷同的博客实在是太多了,经常一页全都是相似的标题,相似的内容,对于解决问题一点帮助都没有,白白耗费了大量时间去查看无意义的内容。

所以我觉得CSDN在博客搜索的功能上也可以做一些过滤处理,以提高用户的体验。

4. 发现的bug

第一个bug是恶意刷访问量的bug,我发现反复进出自己的博客,甚至是草稿都可以给自己增加访问量。访问量是对于人气来说比较重要的一环,所以我觉得这种反复用自己账号刷访问量的操作应该被禁止。不过我认为CSDN其实是做了相关处理的,但是没有做的很完善,因为我发现,有的时候进出自己的草稿会加访问量,有的时候就不会,暂时还没有探查出相关规律。实验流程如下:

这是我最初的访问量,还有对于草稿的访问量截图:

之后我进入了一个草稿,进行查看,访问量和草稿的访问量都变了:

但是由于进入草稿访问量无变化的情况无法直接说明,所以可以请读者自己进行相关实验。

第二个bug是通过分享海报,可以让别人读取二维码进入查看还处在草稿状态的博客。而这样做只能是在提取二维码的平台上,比如说用微信提取了海报的二维码,那么可以在微信中查看这个草稿,但是如果想跳转到CSDN APP上查看的话,那么会提示博客已经被删除。实验流程如下:

我截取了自己某个博客草稿的海报:

我退出了CSDN账号之后可以直接用微信打开这个博客,查看内容:

而假如说我想评论,就必须得跳转到CSDN APP上进行,这时就会提示博客已经被删除:

第三个bug是在微信进行了查看博客操作之后,我尝试跳转到自己的主页,发现自己的访问量和网页中显示是不同的,而在退出了CSDN账号之后,我通过APP查找自己的用户名,发现在APP上显示的访问量是正常的,与网页同步的。实验流程如下:

这是微信提取二维码得到的结果:

这是在APP中查看的结果:

第四个bug是在微信中查看自己评论自己草稿的时候,评论的数量和应该有的数量不符合。这点我暂时还没有找到原因。实验流程如下:

这是我在微信查看的评论数量不同的结果:

5. 结论

先给出评分,我对于CSDN APP的评分为e级别(大于等于85分),即非常推荐。

类别 描述 评分 (满分 10 分, 良好 6 分, 及格 4 分,聊胜于无 1 分, 很差 -3 分)
核心功能 1.搜索博客,基于推荐系统的博客推荐与博客分类,可以节省查找博客的大量时间。
2.撰写博客,将自己新的提会发在博客上可以让其他人帮助我们查看我们还有什么需要提升的部分。
3.下载资源,CSDN的资源十分丰富,常用的资源几乎都可以在CSDN上找到,很方便。
10
细节 在付费方面还是有一些不太合理的部分的,搜索博客时候也会推荐一些比较质量低的资源,但总体来说细节处理的还算不错。 9
用户体验 在使用APP的时候不会弹出过多广告,可以说是免费软件里面的一股清流了,主要功能的按钮都放在了显眼的地方容易找到。 9
辅助功能 简约化的风格让人觉得很舒服,但是由于软件的发展,增加了越来越多不常用的功能,让界面变得稍微有一些乱了。 8
差异化功能 CSDN这个软件可以说是软件行业里搜索资源的翘楚了,我个人认为在国内它应该当属同类型软件中最让人有良好体验的软件。提供多种博客和资源的查询,而早期的积累也让大家更愿意去使用,形成了马太效应。 9
软件的效能 启动速度尚可,占用内存情况上课,毕竟只是一个类似于网页索引的软件,所以不太会占用很大的空间。 8
软件的适应性 在断网时显然不可操作,但是我相信所有同类型的软件在断网时都是不可操作的,对于不同界面的兼容性,有时会显示不同步,就好像我在上文bug分析部分提出的一样。 8
成长性 这个APP推荐博客用了推荐系统的算法,所以是自动按照用户的兴趣推荐的,当然会让用户越用越方便,而它本身的迭代也让有用的功能越来越多,虽然有时会增加一些冗余。 9
用户有控制权 在发布博客等功能上面,CSDN会给出相关提示,避免用户进行误操作,但有的时候提示给的不太明晰,会因为误触而点到其它界面。 8
自选 软件数据量大,资源提供较为准确,但是在费用收取上面有些稍显不太合理,但是这也常常是软件发展到成熟阶段的通病。 7

第二部分 分析

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

我个人认为,仅从CSDN这个软件提供的功能来看,全职工作的,能力还可以的计算机专业毕业生可以在半年之内完成较好的迭代与设计。但同样的,这个软件在技术上可能并没有那么突出的优势,它突出的优势在于对于影响力的推广,因为它是一个依靠其他人发表文章来吸引流量的网站,对于运营的公司其实技术上需求不算特别大,但推广这部分是一个长期的功夫,同时也是需要机遇的,所以从这方面来评价的话,我认为需要几年的时间才可以将网站迭代并推广为一个类CSDN,且有较好影响力的网站。假如说考虑到同类型的网站已经有了很多,所以大概率情况下,做到CSDN这样的新生网站,是需要很长的时间的,或者提出新的吸引人的特性。

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

优点:

  1. 界面十分简约,让人看起来比较清爽。
  2. 资源多,能够轻易的搜索到自己想要的相关资料,比较便捷。
  3. 各种主要功能的按钮比较明显,容易上手使用。

缺点:

  1. 下载资源时的付费功能不太便捷。
  2. 由于使用人数众多,发表的博客良莠不齐,有时使用起来体验较差。

而比较著名的同类型软件就是我们现在在使用的博客园,在我看来,博客园比较好的支持了博客界面的个性化定制,而CSDN还稍显不足,同时在获取收费资源时,博客园也更加合理,也可以作为教学使用。但在其它比如说资源量,按钮的显著性等诸多方面却是不如CSDN的。

综合以上方面,我个人认为这个产品在国内同类型网站中可以排名第一,如果放到国际上比也可以排到很靠前的位置。

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

我个人认为可以从用户体验方面进行提高,具体有如下几个方面:

  1. 设置合理的充值C币标准,支持自定义充值数量,而非打包出售。
  2. 对于博客推荐时,应当过滤一部分内容空洞无物或是内容雷同的博客,有的博客甚至会直接写个转就完全复制另外的博客,这在查找相关资料时体验极差。
  3. 博客的编辑界面可以像博客园一样支持功能比较丰富的界面个性化定制,满足人的美感需求。

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

我个人认为是在发布前并没有测试出来相关的bug,比如说,我找到了四个bug,第一个是增加访问量的bug,这个bug时出现时不出现,可能是线程不安全的问题,我们知道线程不安全是很难直接复现出来的,而事实上对于一般人在使用的时候,访问量多少也并不是很重要,所以这个bug无伤大雅。第二个到第四个都是需要和其它软件进行交互使用的,测试人员在做相关测试的时候无法对于交叉使用进行详尽的测试,所以就会出现一些无法检测出来的bug。

第三部分 建议和规划

1. 市场有多大?潜在的用户有多少?

假如说只考虑中国市场的话,在这个信息化飞速发展的时代,一届又一届的IT毕业生都是需要使用这个网站来查询自己想要的资源的,所以不考虑存量客户(指CSDN自己显示的一亿用户),只考虑增量客户的情况下,基于近些年来应届毕业生数量为八百万左右,其中从事计算机相关领域的人士显然有很多。保守估计每年新增潜在用户应有一百万以上。

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

目前市场上包含国内的同类型产品有博客园等,国外同类型产品包括Stack Overflow等,对于博客园的优势前文已经分析过,大体包括更加人性化的博客界面定制,更加合理的收费机制等。而对于国外同类型的产品比如Stack Overflow,它们都是IT从业者的论坛,但Stack Overflow侧重于提问与回答模式,与博客还是有一定区别的,提问与回答模式更容易让人寻找到自己当前问题的解决方案,简明直接,而博客这种文章类型的模式则是让人更好的了解相关知识,各有优劣。

因为我认为,在国内同类型产品中,CSDN是可以算的上第一的,而这种类型产品的特性导致了它是基于用户流量发展的。所以对于新生的同类型产品,很难与CSDN这样已经迭代了很多年的网站相比;而对于同类型的网站如博客园,可能会因为用户触及圈子不同,导致使用有先后,会因为先入为主而更加偏好某一个。而在不同的功能体验上,不同需求的用户也会依此选择相应软件。所以我认为,和它直接竞争的产品不存在于新生同类产品中,只存在于功能相似,建立时间同样久的同类型产品中,比如博客园。

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

CSDN作为一个IT从业者发表自己见解,查找相关资料的网站,可以说它的核心用户一定是IT从业者或者是相关专业的学生,典型用户包括:各大高校计算机系学生,各大IT公司的IT从业者。

对于学生来说,大部分是本科在读,也包含硕士以及博士等,这类人群的年龄几乎在三十岁以下,处于较为年轻的状态,专业大多是与计算机有相关交叉,爱好较为广泛,收入较低,表面需求是寻找自己的问题的解答与相关资源的下载,潜在需求是用最少的代价获得最多的资源,因为这类人群的经济来源大多还是依靠父母,所以应当设置更加合理的收费制度来对其进行客户体验优化。

对于从业者来说,大部分是已经毕业的人士,包括专本硕博以及转专业人士等,这类人群的年龄较学生大,专业相对于学生来说更加复杂,因为包含了许多跟风转来打代码的从业者,随着年龄的增长,爱好较为固定,有一定的收入能力,我国IT从业者平均工资来说,这类人群具有比较高的消费能力,表面需求同样是寻找自己的问题的解答与相关资源的下载,潜在需求是更加追求用户体验的优化而不会更多的顾及经济消费,所以在一定程度上可以对此类人群进行特殊定制相关服务收取费用。

4. 如果你有钱可以招聘6个人,有4个月的时间,你作为项目经理,应该如何配置角色(开发,测试,美工等等)?

我会招聘2个开发,2个测试以及2个美工,形成类似于团队内部的结对编程态势。

第一周需要将具体需求进行商讨,包括对于潜在应用人群的分析等,需要团队内所有人进行讨论,并且将需要实现的功能进行列表,同时规划每项功能实现需要的时间。

从第二周开始进行相关功能的开发,开发人员与测试人员协同进行相关功能的实现,并且在实践中考虑所添加功能是否完全可行,在测试中体验功能设置是否合理,是否可以删去或是添加一些功能。此时美工可以在一些功能完成之后给这些功能设计相关界面并进行讨论。维持每周至少一次集体组会的规律,总结当周工作的不足,规划下周工作的进行情况。

之后按部就班的进行开发、测试、美化的工作,尽量保证在第十二周之前,按照第二周的模式进行,同时建立起一个较为完善的系统。

之后到了第十三周和第十四周,需要进行软件的公测,接受相关反馈,并且对于功能进行相关优化,将反馈所得bug进行修改,同时接受界面的美化意见。

最后两周是与客户的对接,需要更加充分的了解客户的意愿(当然,在前期工作的迭代中也是需要与客户进行沟通的),用这两周的时间实现客户在之前未想到的功能。

最后第十六周结束,发布软件正式版,在之后更多人的使用与反馈中进行继续迭代。

posted @ 2020-03-17 19:27  有鹿  阅读(235)  评论(4编辑  收藏  举报