软件评测
这个作业属于哪个课程 | 2021春软件工程实践|W班 |
---|---|
这个作业要求在哪里 | 作业要求 |
这个作业的目标 | 对三款IT问答网站进行体验、分析、建议和规划 |
其他参考文献 |
第一部分 调研、评测
CSDN问答
体验
- 介绍和使用软件
-
CSDN问答是左中右的板块。最左边为用户回答排行榜、各种技术频道的标签、活动板块,中间主题为该板块下的所有提问,可以按照时间、热度、悬赏力度和是否被采纳分块展示,同时可以按照酬金类型、问题状态、排序方式筛选。每一个问题项展示了回答人数、浏览次数、标题、部分内容和技术标签。在页面右部主要展示了我的信息和问答7天的采纳榜。
-
点进某一个详细问题可以看到具体内容和已做出的回答。自己可以通过点击写回答按钮跳到页面下方的回答输入框,支持输入代码段、图片和文字。回答或者提问完可以在右上角的“我的问答”查看自己的提问或者回答。。回答完或者对这个问题有兴趣可以把问题添加关注便可以在首页的“关注”中找到该问题。
-
如果自己遇到问题想在问答区搜索查询是否有人已经问过相关问题,可以点击上方的搜索框输入问题。接着选择在“问答区”寻找就可以了。但我们平时基本都是在“博客”找到问题的答案。
-
对频道中的某个板块感兴趣同样也可以加关注,这样加关注的板块就会在“频道”中置顶。
-
- 优点:CSDN基本上可以说是身边同学在遇到代码问题上寻找帮助的首选,上面牛人很多,基本上遇到的问题都能在上面得到解答。千万人的注册用户、庞大的博客数量,使得我们也能轻松查找问题解答。回答问题可以得到相应的收益,用户激励效果明显。界面风格统一,橙色主题色清新亮眼。
- 缺点:用户体量巨大,仍然无法避免提问或者回答不符合规定的情况。用户在回答之后似乎只能进行编辑而不能对自己做出的回答进行删除。问题的搜索功能有点累赘,可能官方也想打通问答板块和博客板块,搜索完的结果基本都是博客板块的内容。“等你来答”的版块应该有根据用户历史的作答信息和关注模块进行算法推荐,但是目前推荐效果似乎不是很好,也许是要用的时间再久一点。在iPad版上似乎没有找到对提问的排序和筛选功能。
- 改进意见:进一步优化推荐算法;移动端希望可以增加排序和筛选功能;增加提问和回答的审核机制,减少水经验的行为。
BUG
- Bug发生时的测试环境:Win10 Chrome浏览器
- Bug的可复现性及具体复现步骤
- 可复现性:必然发生
- 复现步骤:点击一篇问答,然后退出;或者在问答详情页刷新。
- Bug具体情况描述
在问答首页,每一篇问答都会有一个浏览量。当用户点击某一篇问答,再退出,或者在问答详情页点击刷新,如此循环往复,该篇问答的浏览量就会一直提高。
- Bug分析
- 可能成因:网站对于浏览量的判定仅仅是页面重载一次就算一次浏览量。
- Bug严重性:三星。虽然对系统的安全性不造成任何影响,但是仅仅是简单的刷新操作就可以影响到一篇文章的浏览量,进而影响到一篇文章的影响力。当一篇文章的浏览量提高之后,被回答的几率也大大提升,对于那些花钱选择“有问必答”的提问者来说不太公平。进而会影响用户的使用体验。
- 对于Bug的预期及改进建议
- 预期:若官方未及时修复此bug,会显而易见的影响用户的使用体验,会有更多用户不选择“有问不答”方式进行提问,而选择脚本等工具对浏览量进行自动刷新,以达到相应目的。同时对服务器也会造成相应压力。
- 改进建议:浏览量应该确保在某一段时间内,同一用户、同一设备对于页面的重载操作都视作同一次的浏览。要做到这一点,可以用COOKIE记录用户最后一次访问的页面地址和时间。当请求新页面时,判断请求页面的地址与COOKIE中记录的最后一次访问页面地址是否相同。如果相同,在判断此此请求的时间与COOKIE的时间进行比较,如果时间差小于N秒,就可以认为用户是在刷新。如果不是刷新,就更新COOKIE中的页面地址和访问时间。
- [进阶]Bug反馈
结论
- 定性结论:非常推荐。
- 定量分析:84
类别 | 描述 | 评分(6分及格,10分满分) |
---|---|---|
核心功能 | 分析三个核心功能,功能设计和质量。 | 9 |
细节 | 有什么为用户考虑的细节? | 6 |
用户体验 | 当用户完成功能时,不干扰用户 (例如: 是否不断弹出不相关广告)。 | 10 |
辅助功能 | 一些辅助功能如皮肤等。 | 6 |
差异化功能 | 这个软件独特的功能. 它对用户的吸引力有多大? | 6 |
软件的效能 | 占用内存, 启动速度, 内存泄漏情况 | 9 |
软件的适应性 | 在联网/断网, 大小屏幕, 没有鼠标的情况下都可以顺畅操作. 和不同平台的软件能流畅协作 | 9 |
成长性 | 记住用户的选择, 适应用户的特点,用户越用越方便 | 10 |
用户的控制权 | 系统状态有反馈,等待时间要合适。关键操作有确认提示,有明确的错误信息。让用户方便地从错误中恢复工作, 快捷操作键可调整。 | 9 |
用户粘性 | 能维持住多少的用户量,用户是否愿意经常使用这个网站。 | 10 |
Stack Overflow
体验
- 介绍和使用软件:
- 页面和CSDN一样分为左中右三列。最左边为侧边栏,中间为问答列表,右边为热门精选文章和自定义标签过滤器。
- 每个问答下的标签都支持点击,点击后可以跳转到相应的标签问答。
- 支持按照技术标签进行搜索,也支持按照用户名称进行搜索。
- 优点:全球性的开发者问答平台,用户人数众多,提问数量大。提问和回答都需要遵守一定的规范,质量有保证。UI设计精美。且其他两个网站都有的刷新提高浏览量的bug在这个网站中没有出现。
- 缺点:对于国内的IT从业人员不够友好,提问和回答都需要用英文,对英语水平有一定的要求。同时头像和文章中的图片似乎是外网的链接,所以显示不出来,对阅读还是有一定的影响。
- 改进意见:能对中国做本地化适配就更好了。
结论
- 定性结论:好,不错。
- 定量分析:82
类别 | 描述 | 评分(6分及格,10分满分) |
---|---|---|
核心功能 | 分析三个核心功能,功能设计和质量。 | 9 |
细节 | 有什么为用户考虑的细节? | 7 |
用户体验 | 当用户完成功能时,不干扰用户 (例如: 是否不断弹出不相关广告)。 | 10 |
辅助功能 | 一些辅助功能如皮肤等。 | 6 |
差异化功能 | 这个软件独特的功能. 它对用户的吸引力有多大? | 7 |
软件的效能 | 占用内存, 启动速度, 内存泄漏情况 | 7 |
软件的适应性 | 在联网/断网, 大小屏幕, 没有鼠标的情况下都可以顺畅操作. 和不同平台的软件能流畅协作 | 9 |
成长性 | 记住用户的选择, 适应用户的特点,用户越用越方便 | 9 |
用户的控制权 | 系统状态有反馈,等待时间要合适。关键操作有确认提示,有明确的错误信息。 让用户方便地从错误中恢复工作, 快捷操作键可调整。 | 9 |
用户粘性 | 能维持住多少的用户量,用户是否愿意经常使用这个网站。 | 9 |
SegmentFault
体验
- 介绍和使用软件:
- 第一眼看来就像是精简版的CSDN,整个网页以绿色为主题色,整体视觉观感比较清新。问答页面分为两栏,中间主体是提问的列表,上方包含了最新提问、与自己关注的标签相契合的提问、待回答的以及热度比较高的评论。
- 可以通过回复提问者询问问题的更多细节,点击撰写回答可以添加回答内容,包括图片、视频、代码段、表格、公式、图标等。
- 点击关注标签可以编辑自己感兴趣的技术标签,在首页的“为我推送”中就可以看到相应关注标签的提问。在关注页面只需要输入想要关注的标签名称并选择对应词条即可,拖动标签即可对导航标签进行排序。鼠标悬停可以选择取消关注。
- 优点:相比于CSDN较为精简,功能划分也较为明确。其中的关注标签做的比CSDN要好。在关注了相关标签之后就能够轻松看到自己关注的技术问答。
- 缺点:用户体量太小了,月榜第一的帖子的阅读量居然只有3.1k,相比于CSDN来说浏览量差的不是一星半点。在问答模块中搜索同一个“微信小程序 tab”关键词,出来的相关信息也仅仅只有一两条,相比于CSDN差的很多。每个问题和回答左边的👍和👎设置的比较突兀。问答详情页里的“回复”和“撰写回答”会让人混淆,我看到不止一个人把答案写在回复里。标签页中我不清楚对于不同标签的左右拖动排序的意义在何处。同时可能是因为用户太少,网站没有设置相关的奖励机制 ,也没有问答的排行榜。对于提问者和回答者也没有相应的“采纳率”等数据统计。
- 改进意见:用户体量太小肯定是无法在技术交流方面与CSDN做抗衡,还不如发扬特色功能,把标签页板块做出特色。但需要的还是增大用户的体量,增加用户活跃奖励机制。
Bug
和CSDN一样,某一条提问的浏览量均可以通过刷新重载页面刷上去。
结论
- 定性结论:一般。
- 定量分析:77
类别 | 描述 | 评分(6分及格,10分满分) |
---|---|---|
核心功能 | 分析三个核心功能,功能设计和质量。 | 7 |
细节 | 有什么为用户考虑的细节? | 7 |
用户体验 | 当用户完成功能时,不干扰用户 (例如: 是否不断弹出不相关广告)。 | 8 |
辅助功能 | 一些辅助功能如皮肤等。 | 6 |
差异化功能 | 这个软件独特的功能. 它对用户的吸引力有多大? | 7 |
软件的效能 | 占用内存, 启动速度, 内存泄漏情况 | 9 |
软件的适应性 | 在联网/断网, 大小屏幕, 没有鼠标的情况下都可以顺畅操作. 和不同平台的软件能流畅协作 | 9 |
成长性 | 记住用户的选择, 适应用户的特点,用户越用越方便 | 9 |
用户的控制权 | 系统状态有反馈,等待时间要合适。关键操作有确认提示,有明确的错误信息。 让用户方便地从错误中恢复工作, 快捷操作键可调整。 | 9 |
用户粘性 | 能维持住多少的用户量,用户是否愿意经常使用这个网站。 | 6 |
第二部分 分析
开发时间估计
我认为这里的开发时间仅考虑:
1.实现问答板块的样式;
2.实现在问答板块上体验到的所有功能;
3.实现问答板块的后台管理功能;
4.测试与发布。
不考虑前期的原型设计、需求分析、数据库设计与系统设计以及发布后的运营和维护环节。
因此,结合我们小组的软件工程实践进度,我给出以下估计开发时间:
- CSDN:10(实现网站的样式)+14(实现在网站上体验到的所有功能)+12(实现网站的后台管理功能)+12(测试与发布)=48天
- Stack Overflow:12(实现网站的样式)+16(实现在网站上体验到的所有功能)+12(实现网站的后台管理功能)+14(测试与发布)=54天
- SegmentFault:6(实现网站的样式)+10(实现在网站上体验到的所有功能)+8(实现网站的后台管理功能)+6(测试与发布)=30天
同类产品对比排名
对比分析之后,CSDN的主要优势是在国内的用户体量巨大,服务功能完善,本地化做的比较好,但用户量大随之而来的是管理方面的严峻性以及对用户信息的安全性保证,服务功能完善另一方面就是功能的繁杂,要做要功能的精简与抽离工作。
Stack Overflow的主要优势是根植于国际市场,专业性进一步提高,同时网站对于提问的监管十分严格,对于像“Is the C language really outdated?”这种主观性问题会被关掉实现去噪音,提问环境好,与此同时训练了提问者和回答者本人的英文素养和规范的回答能力。
SegmentFault的主要优势是网站功能精简,用户学习成本较低。但是这个针对计算机专业的网站其中的问题回答率和准确度上甚至不如国内的“简书”“博客园”等网站。竞争力不强。
因此给出排名:
放眼全球市场:Stack Overflow>CSDN>SegmentFault
就国内市场使用率而言:CSDN>Stack Overflow>SegmentFault
[软件工程方面的建议]
- 对于CSDN这种用户体量非常大的网站,我认为需要更加重视用户个人信息的安全性。在2009年之前CSDN甚至是用明文保存的用户密码,因此才发生了2011年年底的600万用户信息外泄的网络安全事故。账号密码数据库应该至少全部采取了密文保护和备份,防止此类事故的再次发生。
- CSDN因为功能众多,导致整个系统还是过于繁杂和臃肿,所以建议考虑将部分功能剥离。已经看到CSDN将课程学习单独分割成“程序员学院”app。
- Stack Overflow作为一个全球性的计算机技术社区,如果考虑继续扩大其影响力,应该加强对于中国等地区的本地化适配工作,例如加入对“微信”“QQ”或是手机号登录的支持。
- SegmentFault个人感觉在技术问答方面已经无法实现对CSDN这类网站的赶超,建议重点发展其中的特色功能,转型为“科技比赛、活动”的交流社区。同时,在UI界面和人机交互方面还需要进一步提高。
[BUG存在的原因分析]
- 对于CSDN和segmentfault浏览量通过刷新界面就能轻易增加的bug,我猜测开发人员可能是没有进行充分的测试,开发人员对浏览量对用户的使用体验不够重视,使得这个bug依然存在。
第三部分 建议和规划
市场概况
参考观研天下发布《2018年中国IT服务行业分析报告-市场运营态势与发展前景研究》,2012-2018年我国IT从业人数从1300万人升至2300万人,且近年来增长率保持在10%左右。
埃文斯数据公司(Evans Data Corporation) 2019最新的统计数据(原文)显示,2018年全球共有2300万软件开发人员,预计到2019年底这个数字将达到2640万,到2023年达到2770万。而来自IDC的统计数据显示,2018年全球软件开发人员数量增长到2230万,而2014年只有1850万程序员。
IT从业人员是使用IT技术问答平台的主要用户。对于国内的IT问答平台来说,所有的国内IT技术从业人员都是产品的直接用户。如果产品走向全球市场,则全球的IT技术人员都将成为潜在的用户。同时了解到,部分儿童和非IT岗位从业人员也通过兴趣班或自学的方式接触IT领域,这些人也可能成为网站的未来潜在用户。
与此同时,随着中国互联网产业的迅速发展,相关的IT问答平台也越来越多,除了这次软件评测提到的几个平台,也有像ITEye、极乐、Ruby China、北风网、IT摆渡网、博客园、V2EX等网站。因此,这块市场几年前还可以说是蓝海,现在在势不可挡的科技发展趋势下已经成为了一片红海,如果网站没有找到市场痛点做出自己的优势,便很难与领头的大平台抗衡。
市场现状
- 目前市场上存在CSDN、Stack Overflow、SegmentFault等相关产品。
- 产品定位、优势、劣势
- CSDN:主要定位国内IT市场,面向IT技术从业者和IT兴趣爱好者。主要优势是用户体量大,提问回答效率较高,资源齐全,查找准确度高;主要劣势是提问回答格式还不够规范,审查力度不够高,功能众多导致网站复杂。
- Stack Overflow
- SegmentFault:主要定位国内IT市场,面向IT技术从业者和IT兴趣爱好者。主要优势是界面美观简介,支持通过添加标签第一时间获得关注标签文章、问答的推送信息,拥有活动信息整合功能;主要劣势是用户较少,提问之后需要很久才能收到回复,博客问答数量也比较少,对于细致的问题很难在上面找到相关回答。
- 上述产品均为竞品关系。在我看来,在国内的问答市场CSDN因为用户数量较多、配套功能较为完善,竞争力远远大于SegmentFault。而Stack Overflow在全球的问答社区中竞争力较大,可能是因为语言、技术难度等问题没有被中国的大学生人群熟知。
市场与产品生态
- 核心用户群:日常接触IT技术、希望了解到最近IT技术、获得IT技术帮助的人。包括程序员、IT工程师、项目经历、IT技术授课人员、IT技术兴趣爱好者等。
- 典型用户:程序员,学生。
- 用户画像
- 学历:初中-博士不等
- 年龄:13周岁以上
- 专业:计算机、软件工程、大数据、信息安全等计算机科学技术专业或者应用计算机相关技术的专业
- 爱好:编程
- 收入:覆盖各个收入阶段
- 表面需求:解决程序出现的bug
- 潜在需求:提升自己的计算机能力和自己解决问题的能力
- 产品用户群体之间存在联系。例如老师和学生就可以通过IT问答平台构成教育生态圈,通过该平台进行计算机技术方面的授课活动。
- 子产品之间可以以此构建联系。例如CSDN可以通过分析用户在问答平台的搜索关键词,在其注册的程序员网站学习平台上推荐相应的课程。
产品规划
- 添加功能与NABCD
- 添加功能:根据用户的提问、回答和浏览记录自动匹配用户感兴趣的技术标签,进行相关推送。
- N:浏览相关的问答技术平台后发现,这些平台都需要通过用户手动关注和添加自己感兴趣的技术标签,从而达到推送相关技术问题和信息的目的。但用户感兴趣的技术不是零星的几个,如果用户一个个手动添加就很费时费力。所以应该通过无感的方式,在用户平时的提问、回答和浏览中分析用户的喜好,自动添加相关标签。
- A:对每一个用户进行用户模型构建,通过人工智能分析提问、回答中的自然语言提取关键词,通过统计浏览记录中的标签类别,进行综合分析描绘出用户的大致兴趣。
- B:用户的关注标签不需要手动添加,能做到无感使用。与此同时通过推送用户感兴趣的内容或者预测用户想要提出的问题增加用户粘性。
- C:目前的问答网站似乎没有此类功能。用户只能自己手动添加技术标签。
- 角色配置
- 1名前端开发兼美工
- 2名后端开发
- 3名算法工程师
每人均需要在开发后测试自己部分的代码。
- 16周期计划
周数 | 计划 |
---|---|
1 | 需求分析 |
2 | 前端根据需求对已有的网站原型进行修改;后端进行相应数据库设计,撰写数据库设计文档;算法工程师查阅相关文献 |
3 | 前端后端对上周设计进行复审和提议修改 |
4-11 | 前端根据原型设计进行实际项目的修改,后端完成相应的数据库设计和接口设计,算法编写相关的算法 |
12 | 前端、后端、算法进行自己模块的测试 |
13-14 | 前端、后端、算法对项目进行对接,修改bug,完善交互 |
15-16 | 项目基本完工,进行网站的部署和项目总结 |