软件评测
这个作业属于哪个课程 | 2021春软件工程实践W班(福州大学) |
---|---|
这个作业要求在哪里 | 软件评测 |
这个作业的目标 | 通过各种案例分析,评测,思辨,总结,帮助我们在实践中做得更好 |
其他参考文献 | 《构建之法》 |
第一部分 调研,评测
Bug分析量化指标:
星级 | 描述 |
---|---|
★★★★★ | 致命性系统故障、致命性安全性漏洞、用户体验严重影响 |
★★★★ | 严重系统故障、服务器鉴权漏洞或重要数据泄露、用户体验差 |
★★★ | 影响系统或操作、主要功能存在严重缺陷、但不会影响到系统的稳定、用户体验较差 |
★★ | 界面、性能缺陷、用户体验一般 |
★ | 易用性及建议性问题、部分用户体验一般 |
CSDN问答
体验
基本功能介绍和使用
进入CSDN问答网页版界面,首先可以看到分成左侧菜单栏,问题栏和右侧侧边栏三个部分,包含排行榜,频道,问题,我的问答,采纳榜,加急等板块。问题部分包含回答数,浏览数,问题标题,部分标题内容,标签,如果一个问题被题主采纳了,回答数会用蓝色的框框住。如图:
我的体验主要是浏览问答首页,提问,回答,搜索及查看其它用户信息等。首先,浏览问答首页,简单的体验了几个功能,如查看最新,最热,筛选等,发现了最热排序不仅仅是按回答数和浏览数进行判断,还有提问时间即多少天前提问的也会影响排序,按照热度的定义,这确实应该纳入考虑的范围。首页的问题提问时间最早只到29天前,也就是说问题只包含一个月内的问题。然后是提问部分,提问的内容不支持Markdown语法,但是可以嵌入代码块,大部分情况下,提问内容不多,影响不大。标签部分仅支持选择,不能自定义,如图:
然后是回答部分,与提问一样,不支持Markdown,但可以插入代码块。
然后搜索部分,搜索框在顶部的导航栏,不完全属于问答模块,所以默认搜索面向CSDN全站,要单独查看问答的部分,要在更多里面点击问答查看(问答模块地位低下啊!)
优缺点分析
优点:进入问题可看到下方与问题有相似的相关推荐,可能这就是综合性的网站的好处,不仅仅包含问答部分,还有CSDN主要的博客等部分。界面较为美观,但是有些部分有点多余,标题命名很不明确(如等你来答和有问必答),缺点:对于CSDN其他版块,问答版块的地位不高,问答部分的使用用户数量不多,功能没有下面两个完善(不过,确实有些社区管理机制在用户量不多的情况下没啥用处)。
改进建议
可以考虑提高问答版块的地位,并且增加和完善tag功能。
BUG
Bug发生时的测试环境:Microsoft Windows 10.0.19042 + Firefox 88.0.1
- 头像问题:
- 可复现性:稳定复现
- 严重性:★
- 具体描述:问答排行榜中未设置头像的用户默认头像为猿的与进入用户信息显示的头像不一致
- bug分析:可能是默认头像会随机变化的原因
- 首页筛选选项显示问题:
- 可复现性:稳定复现
- 严重性:★
- 具体描述:问答首页问题栏中点击筛选,默认是以所有下拉框的第一个选项对内容进行排序
但是有一个很***钻的场景:先在筛选中选择,比如选择问题状态为已采纳,然后关闭筛选,再打开筛选,发现刚才的选择没有了,此时再进行排序方式的选择,就会出现全部都是已采纳的内容,但是问题状态并没有显示选择已采纳。
- bug分析:可能是前端的开发人员没有考虑到这种情况,将选项的值保存下来了。
- 部分用户信息问答数显示不一致的问题:
- 可复现性:稳定复现
- 严重性:★★
- 具体描述:在点击头像进入用户信息,问答显示的数量和下方具体的提问与回答相加数不一致
- bug分析:可能是对问题内容的判定的问题,或者数据库的数据没有做到正确同步
- 问答首页筛选失效:
- 可复现性:较少复现(在我测试期间的十几次中出现了3次)
- 严重性:★★★
- 具体描述:具体的复现步骤不是很清楚,第一次出现,我以为是我网络的问题,可能不稳定吧。但是之后再几个小时之后和一天后再次出现,让我怀疑可能不是我的问题。刷新也没有效果,但是退出CSDN再加入就好好的,可能只是个乌龙吧
- bug分析:因为不是很清楚它的复现步骤,所以分析不出原因。
当然还有作业要求中提供的北航的同学优秀作业提出的几个bug至今仍未解决。
结论
推荐指数:d) 好,不错
提问时支持显示相似问题,题主可以直接参考提供的相似问题寻找答案。而且进入问题可看到下方与问题有相似的相关推荐,可能这就是综合性的网站的好处,不仅仅包含问答部分,还有CSDN主要的博客等部分。CSDN全站用户基数大,也比较出名,可以利用这个大平台发展的更好。问答部分的使用用户数量不多,功能没有后面两个丰富和完善,只能算一个合格的问答网站。
参考邹欣老师的博客进行定量分析:
类别 | 描述 | 评分 (满分 10 分, 良好 6 分, 及格 4 分,聊胜于无 1 分, 很差 -3 分) |
---|---|---|
核心功能 | 分析三个核心功能,功能设计和质量。 | 7(问答功能还算完善) |
细节 | 有什么为用户考虑的细节? | 8 |
用户体验 | 当用户完成功能时,不干扰用户 | 8 |
辅助功能 | 一些辅助功能如皮肤等 | 8 |
差异化功能 | 这个软件独特的功能. 它对用户的吸引力有多大? | 8(在于CSDN全站内容多) |
软件的效能 | 占用内存, 启动速度, 内存泄漏情况 | 10 |
软件的适应性 | 和不同平台的软件能流畅协作 | 10 |
成长性 | 记住用户的选择, 适应用户的特点,用户越用越方便 | 9 |
用户有控制权 | 系统状态有反馈,等待时间要合适。关键操作有确认提示,有明确的错误信息。 | 10 |
Stack Overflow
体验
基本功能介绍和使用
对于Stack Overflow这个网站之前仅仅只是通过百度搜索问题时有时搜索到这个网站,对它并不熟悉,也没有注册过,于是刚开始我选择了用GitHub账号注册,进入网站后,密密麻麻的英语(晕),但是浏览一会也会适应一点,借助仅有的一点英语水平+网页翻译器,可以得出Stack Overflow的界面要比CSDN问答社区的简洁一点,左侧菜单栏少了频道和活动。问题部分增加了votes即投票,可以反映这个问题的价值,回答问题同样也有votes,反映回答的价值,于是Stack Overflow的最热排序算法就更复杂了,不仅要考虑回答数,浏览数,时间,还有问题的票数和回答的票数,比CSDN的排序算法更能反映问题的价值。还有大片黄色的区域,是用来区分你已经watched的tags和没有watched的tags。如果你ignore了某些tag,那么在问题页会变的透明。这些功能更利于进行分类和浏览有效信息或问题。首页如图:
体验的过程为提问,回答,搜索,筛选,tags等部分。首先,提问部分可以看到每一个输入框都有提示(CSDN也有,是以placeholder的形式显示),但是与CSDN不同的是,它支持Markdown语法,并且提供了非常详细的Markdown的Tips,利于不熟悉Markdown的人;标签可输入选择已有标签或自定义(但是门槛非常高)。而且在Stack Overflow提问的难度较高,需要符合一定的质量标准,不适合新手(我发了个问题被downvote6次,被强制关闭了,不过也反映了这个社区的活跃度很高)。而且也是支持相似问题搜索
然后是回答,回答和提问类似的,输入框旁边都是提示(如何回答问题等),如果提问的人是新手的话,也会提示态度注意点。比较的人性化。
然后是搜索,搜索支持tag、用户和关键词搜索;筛选的分类和选项比较多,可以更加精确的进行筛选,获取自己想要的信息;Tags页中可查看tag的详细信息和问题数,选择watch或ignore等等。
优缺点分析
优点:功能很完善,社区活跃度很高,用户基数很大,问题质量和回答比较高,社区管理机制使得社区氛围更专业和积极。界面比较粗糙,很多地方没有设置好边距。缺点:国内网络连接慢,使用门槛高,全英语有点难受。
改进建议
可以考虑在界面上可以下点功夫,优化一下细节。考虑增加更换语言的功能,虽然英语在世界上的使用很广泛,但是还有很大部分的IT从业人员不是英语母语,难免有些障碍。
BUG
Bug发生时的测试环境:Microsoft Windows 10.0.19042 + Firefox 88.0.1
Stack Overflow毕竟是世界第一的程序员问答网站,如果有啥bug,社区的用户应该都会及时反馈的,所以没能找到什么bug。有的话,就是有些样式不够美观,比如:
结论
推荐指数:e) 非常推荐。
StackOverflow是一个非常专业的程序员问答网站,社区的氛围很好,活跃度很高。从很多细节也可以看出管理员非常的注重氛围的培养,比如提问,需要符合一定的质量标准才能发出去,设置声望,问题投票,答案投票,其他人可以帮助修改问题或答案,票数为负的问题还会被关闭设为不可见等等一系列操作,这些都利于社区氛围向积极的方向发展。但是这些规则的设置也使得使用者有一定的门槛,新手提问,却惨遭downvotes。缺点就是这是个外国网站,国内连接有时候会很慢,体验不佳,还有全英文,对母语不是英语的用户有点难受。
参考邹欣老师的博客进行定量分析:
类别 | 描述 | 评分 (满分 10 分, 良好 6 分, 及格 4 分,聊胜于无 1 分, 很差 -3 分) |
---|---|---|
核心功能 | 分析三个核心功能,功能设计和质量。 | 10 |
细节 | 有什么为用户考虑的细节? | 10(到处都是tips) |
用户体验 | 当用户完成功能时,不干扰用户 | 8(有门槛) |
辅助功能 | 一些辅助功能如皮肤等 | 6 |
差异化功能 | 这个软件独特的功能. 它对用户的吸引力有多大? | 10(社区活跃度高) |
软件的效能 | 占用内存, 启动速度, 内存泄漏情况 | 8(在国内有点慢) |
软件的适应性 | 和不同平台的软件能流畅协作 | 10 |
成长性 | 记住用户的选择, 适应用户的特点,用户越用越方便 | 9 |
用户有控制权 | 系统状态有反馈,等待时间要合适。关键操作有确认提示,有明确的错误信息。 | 10 |
SegmentFault
体验
基本功能介绍和使用
Segmentfault的问答界面较为简洁,只有两列(问题栏和右边侧边栏),整体上比较美观。没有像CSDN那样意义模糊的导航(如等你来答,有问必答等)。问题部分与CSDN差不多,只显示回答数和浏览量,但是因为有采用问题投票的机制,所以如果问题得分大于0时,会显示得分情况(为0或负分不显示)。SegmentFault的社区管理机制基本上和Stack Overflow一样,都有标签和问题背景色,都是可以通过获得声望解锁一定的社区权限。但是使用人数上应该是远远落后于Stack Overflow。界面简洁的代价就是少了很多必要的导航,比如导航到标签页。而且一个很大的问题,就是居然没有对问题的筛选功能,只有默认的几种,这对用户查找自己想要的问答结果很不方便。首页如图:
我对SegmentFault的体验过程为:浏览首页,提问,回答,管理tag,搜索等。首先,浏览问答首页,简洁美观,但是缺少必要的导航和筛选功能。然后是提问,提问问题板块非常的大,几乎占满了屏幕,看着有点不舒服;问题标题输入框不支持相似问题搜索;内容输入支持并鼓励使用Markdown语法进行排版,内容除了CSDN和Stack Overflow支持的,甚至还支持公式,视频,图表等,使得问题更加的丰富和直观。问题标签最多可输入5个,支持创建新标签(要权限,和Stack Overflow一样)。
回答问题版块支持的内容跟提问一样,而且有详细的提示,如果与回答问题无关的,如询问细节要使用评论而不是直接回答。
然后管理tags,进入管理tags页要在右侧的关注标签点击管理进入,SegmentFault的标签管理,和Stack Overflow类似,但是不同的是,SegmentFault在常用标签页有给标签归类,这一点比Stack Overflow要好,标签不会那么分散和乱;但是没有ignore的功能,这个体验会弱一点。
搜索部分,与CSDN一样,面向segmentfault全站搜索,搜索页面类似于百度,简洁美观。还通过了Google和百度的导航链接。但是结果显示不如问答首页的清楚明了。
优缺点分析
优点:虽然SegmentFault的定位和CSDN差不多,但是它的问答版块地位很高,对于经常使用问答功能的用户,可能会更倾向于使用SegmentFault,功能也比CSDN问答社区完善,有问答投票机制,关注标签高亮显示等等。界面非常的清爽简洁,看起来很舒服。缺点:少了筛选,只有固定的几个筛选。用户量少,推广的力度不够,很多人都不知道这个网站。可能也是用户量少的原因,问答的投票机制显得有点鸡肋,并没有很多人使用这个功能,即使是热门的问题,投票数也只有寥寥几个。
改进意见
可以考虑增加更多的筛选功能,使得有需要的用户可以更快的查找到想要的信息。还有就是推广的力度要加大,不然用户量少,很多功能都显得有些鸡肋。
BUG
Bug发生时的测试环境:Microsoft Windows 10.0.19042 + Firefox 88.0.1
- 问题详细信息页中题目下方的收藏按钮收藏数显示不对的问题
- 可复现性:稳定复现
- 严重性:★★
- 具体描述:当点击题目下方的收藏按钮收藏后可以再次点击收藏加入收藏夹,收藏次数一直会增加,但是实际上只加了一次收藏数,刷新后可发现恢复了正常的收藏数。
刷新后
- bug分析:可能是web前端的开发人员没有给改按钮设置判断语句,使得收藏数显示不正常的增加
- 题目下方的收藏按钮点击收藏自己的内容显示错误
- 可复现性:稳定复现
- 严重性:★★
- 具体描述:当点击题目下方的收藏按钮收藏自己发布的问题时,跳出提示不能收藏自己发布的内容,但是按钮处却显示已收藏,刷新后,收藏消失。左侧的菜单栏也是一样的bug。
刷新后
- bug分析:可能是web前端的开发人员没有给改按钮设置判断语句,使得收藏状态不正常的显示。
- 声望不足没达到权限要求却可以对问题进行投反对票
- 可复现性:稳定复现
- 严重性:★★
- 具体描述:在SegmentFault官方的声望与权限的规范中明确写出给问题或者答案投反对票需要125的声望值,而我的刚注册的号却可以对别人进行投反对票的操作,并且刷新后或退出再进入依然存在。
- bug分析:可能是权限设置的有问题,没有符合官方的规范文档。
- 管理标签页添加标签输入框仅能输入一半
- 可复现性:稳定复现
- 严重性:★
- 具体描述:在管理标签页的添加标签输入框只能显示一半的区域,而且在北航的同学的作业中也提到下方标签显示溢出,虽然对标签长度有设限制,但是判断不是实时跟着输入变的
- bug分析:前端开发人员样式没有设置好
BUG反馈
结论
推荐指数:d) 好,不错。
结论:SegmentFault的社区规则模仿Stack Overflow的管理规则,基本一致,致力于提高社区的氛围和活跃度,但是受限于使用人数较少,并不能像Stack Overflow那样活跃。但相较与CSDN,它的问答部分更出色,功能更完善。
参考邹欣老师的博客进行定量分析:
类别 | 描述 | 评分 (满分 10 分, 良好 6 分, 及格 4 分,聊胜于无 1 分, 很差 -3 分) |
---|---|---|
核心功能 | 分析三个核心功能,功能设计和质量。 | 8(少了筛选) |
细节 | 有什么为用户考虑的细节? | 8 |
用户体验 | 当用户完成功能时,不干扰用户 | 9 |
辅助功能 | 一些辅助功能如皮肤等 | 9 |
差异化功能 | 这个软件独特的功能. 它对用户的吸引力有多大? | 8 |
软件的效能 | 占用内存, 启动速度, 内存泄漏情况 | 10 |
软件的适应性 | 和不同平台的软件能流畅协作 | 10 |
成长性 | 记住用户的选择, 适应用户的特点,用户越用越方便 | 9 |
用户有控制权 | 系统状态有反馈,等待时间要合适。关键操作有确认提示,有明确的错误信息。 | 8(一些地方没有明确的提示) |
采访
- 采访对象的背景:一位不愿意透露姓名的X同学。专业:计算机系,年级:18级,选他的原因是对这类网站有需求,会经常访问这类网站。他的需求为:解决学习中的问题,围观大佬,学习技术。实际使用较多的产品为:CSDN和Stack Overflow。
- 采访内容:
第二部分 分析
开发时间估计
如果要做到上述三个软件的功能实现的程度,我认为需要5个月。将核心功能分解为提问,回答,收藏,搜索,排序筛选,权限管理,tag管理,举报和声望模式(CSDN没有声望的功能)。六个计算机系大学毕业生分为:3个后端,2个前端,1个测试。每个功能模块需要2周,再加上测试2周,一共需要5个月左右。但是如果要做到上述产品的用户体验程度还需要更长的时间,细节部分要更加仔细的完善和优化,还有非常长的产品推广和用户培养的时间。
同类产品对比排名
CSDN问答社区,它的最大的优势就是背后有CSDN,虽然CSDN存在很多无意义的或者到处抄来抄去的帖子,甚至有部分是错误的,但是不得不说它的内容还是比较丰富和全面的。缺点就是它的问答部分并不占很大的比重,功能相比其他两个少了一点,还有用户活跃度不高。
Stack Overflow的优势是一个非常活跃,氛围很好的社区,用户间都很积极的回答和互相帮助。缺点就是界面不是很美观,且全英文+国内连接慢,国内的用户体验会差一点。
SegmentFault的优势就是功能相较国内同类产品更完善,问题和回答质量会高一点。缺点就是比较小众,推广的程度不是很好。
对比排名:
判定标准 | 结果 |
---|---|
核心功能 | StackOverflow>SegmentFault>CSDN |
用户体验 | StackOverflow>SegmentFault>CSDN |
社区氛围 | StackOverflow>SegmentFault>CSDN |
本土化程度 | SegmentFault=CSDN>StackOverflow |
软件的学习成本低 | CSDN>=SegmentFault>StackOverflow |
总体排名 | StackOverflow>SegmentFault>=CSDN |
软件工程方面的建议
CSDN问答社区应该完善它的功能,比如去掉频道,加入tag管理,增加tag自定义的功能,而不是固定的那些频道,少且不全面。可以考虑加入声望或者问答点赞等机制来提高社区的氛围和质量(前提是提高问答版块的地位,让更多的人能够积极的使用)。
Stack Overflow可以优化一下它的界面,使得更美观一点。还有增加语言包功能。国内用户连接体验不佳这个可能没办法改变。
SegmentFault部分细节可以在优化一下,而且可以加大它的推广力度,培养用户的数量。
BUG存在的原因分析
CSDN的bug软件团队应该是不知道,存在原因应该是:测试把关不严,敷衍了事,没有注意在特殊的配置或环境下测试
Stack Overflow的bug应该是:不是很关心或者注重界面UI部分吧
SegmentFault的bug软件团队应该是不知道,存在原因应该是:测试把关不严,敷衍了事。
第三部分 建议和规划
市场概况
首先市场有多大?对于这一类专业性很强的问答网站,面向的主要用户当然是将要从事这一领域的学生和已经在这个领域里的程序员。那么这部分人员的数量有多大,市场就有多大。
下图是工信部公布的2019年软件和信息技术服务业统计的从业人员数
可以看出目前程序员的规模在六七百万左右,以每年几十万的数量增加,并且还未出现放缓的趋势。说明市场的规模还是很大的。并且,问答网站的潜在用户大部分为每年高校招收计算机类专业的学生,下图是近几年高校招生数量
可以看出潜在用户的规模也是在不断增长的。问答网站的市场潜力还是很大的。
市场现状
目前市场上的产品主要有Stack Overflow(市场占比率很高),CSDN问答社区(CSDN社区的子板块),SegmentFault(小众的模仿Stack Overflow的产品)等。
Stack Overflow的定位是专业的程序员问答网站,CSDN问答社区的定位是CSDN的子版块,SegmentFault的定位可以说是Stack Overflow和CSDN的结合体,问答版块的比重很大,但是也有类似于CSDN博客的专栏版块等等。
三种产品的优劣上面已经分析过了。详见第二部分同类产品对比。以下是补充部分:
CSDN问答社区的定位使得它的发展不是很快,因为不是主要版块,但是优势就是可以依赖CSDN,吸引更多用户。Stack Overflow的优势是它可以做的很专业,劣势就是定位只局限在问答领域,发展受限。SegmentFault的定位可以吸引更经常使用问答功能的国内用户。
这三种产品之间是属于竞争关系,Stack Overflow的竞争压力并不大,毕竟是世界第一的专业问答网站。CSDN问答和segmentfault之间的竞争会比较激烈,因为定位有点相似,且主要竞争的资源都是国内市场。CSDN的问答社区优势在于CSDN内容丰富且名气较高,推广力度较大。segmentfault的优势在于内容质量较高,但是名气较小。
市场与产品生态
- 这个产品的核心用户群是什么样的人?典型用户是什么样的?学历,年龄,专业,爱好,收入,表面需求,潜在需求都是什么?
这个产品的核心用户群是从事软件相关行业的人员(程序员等)和高校学生。
典型用户:
| 用户 | 学历 |年龄| 专业 | 收入 |表面需求 |潜在需求 |
| :-----: | :-----: |:----😐 :-----: | :-----: |:----😐 :-----: | :-----: |
| 用户A | 本科 |19| 软件工程 |暂无 |通过网站解决课程问题 |通过网站学习技术 |
| 用户B | 本科 |28| 计算机类 | 12k+ | 解决工作上的问题 |提升技术和交流技术 |
| 用户C | 硕士 |33| 计算机类 | 20k+ | 回答其他人的问题并解决自己的工作上的问题 |提升技术 ,成为核心用户,增加竞争优势|
- 产品的用户群体之间是否存在一定的关系?是否有利用其相互作用二次构成特定用户生态的可能性?
用户群体之间是一种互帮互助的关系,因为这个产品是社区类型的网站,需要用户之间能够积极的提出高质量的问题和积极回答别人的问题。有利用其相互作用二次构成特定用户生态的可能性,可以增加社交功能或者发帖功能,主要用途是交流学习上或工作上的除技术外的问题。
产品规划
- 你要在当前软件的基础上设计什么样的新功能?
我想增加产品的社交功能,单独设立一个子版块,用于用户的发帖和评论交流。主要交流的内容为学习上或者工作上或者生活中受该行业影响的问题。为什么会想加入这样的新功能?如下图:
在CSDN问答社区中热度前三的问题就有两个不是和行业技术相关的问题,而是生活上或者工作上的问题。这在一个专业的行业问答网站是不应该出现的。但是用户会有这样的需求去分享和交流此类问题,这是无可厚非的。因此可以增加一个子版块,专门给用户一个空间去吐槽,去交流技术以外的问题。
NABCD分析:
- N(Need 需求):用户会有分享交流技术以外问题的需求,但是此类问题不该和技术问题掺杂在一起。显得问答网站的不专业性。
- A (Approach 做法):在软件中增加一个子版块,专门用于交流技术以外的问题。
- B (Benefit 好处):既体现了行业问答平台的专业性,又满足了用户想要吐槽的需求。
- C (Competitors 竞争):目前还没有哪个专业问答网站提供这样的功能。在其他含社交元素的软件中也没有这样的行业专业性。
- D (Delivery 交付):可以在各大热门网站平台或程序员经常访问的网站平台打广告,做合理的推广和引流。
-
应该如何配置角色(开发,测试,美工等等)
2个后端开发,3个前端开发,1个测试。 -
请为你的团队设计16个周期每周的详细规划。
第一周:进行需求分析和市场调研
第二周:进行原型绘制
第三周:进行数据库设计和系统设计
第四周:开始编程工作,前端基本框架搭建,后端基本框架搭建
第五周:完成发帖和评论功能
第六周:测试和完善发帖和评论功能,优化细节和用户体验
第七周:完成标签管理功能
第八周:测试和完善标签功能,优化细节和用户体验
第九周:完成举报和反馈功能,增加审核功能。
第十周:测试举报和反馈功能,优化细节和用户体验
第十一周:项目测试阶段:白盒测试、黑盒测试等
第十二周:发布v1.0版本
第十三周:小范围的进行内测,收集用户使用反馈信息
第十四周:根据反馈意见,对1.0版本进行优化和完善
第十五周:继续完善
第十六周:发布v2.0版本