软件评测
这个作业属于哪个课程 | 2021春软件工程实践|W班 (福州大学) |
---|---|
这个作业要求在哪里 | 软件评测 |
这个作业的目标 | 调研和评测,分析,建议和规划 |
其他参考文献 | 无 |
第一部分 调研,评测
Stack Overflow
1.体验
基本功能介绍和使用
搜索某个与计算机学科相关的关键词或某个具体的bug会得到一系列问答。每个问题都带有提出者附上的标签,便于关键词筛选。
打开某个问答查看具体内容,该页面包含了问题的具体描述,以及其他用户的回答与评论。
点击Ask Question按钮可以进行提问,以下是发布问题的界面。你也能够获悉与你提出的问题相似的问题有哪些。
这是我发布的问题。在左侧可以对问题点赞或点踩。
能够根据tag来筛选出用户感兴趣的话题。筛选框Filter by tag name用于快速筛选tag,过滤掉与输入的关键词无关的关键词。
搜索感兴趣的用户,会呈现相应用户的主页链接。
Stack Overflow优缺点分析
(1)优点
- 相似问题类型多样,易于找到答案,这是Stack Overflow功能中最重要的优点
- 虽然是普通的问题,但是答案反馈速度很快
- 界面上没有投放广告,不会有太多无效信息
- UI比较简洁,白色为主,程序员能把精力更多集中于问题解答本身
- 用户基数大,意味着复杂的问题也能及时得到答案,解决燃眉之急
- 搜索到的问题与关键词匹配度高
- 可以通过votes判断哪些问答质量较高,帮助用户快速找到解决问题的方法
(2)缺点
- Stack Overflow平台的主要作用还是IT技术问题的解答,大部分用户是活跃于questions区域。该平台的find a job功能使网站的定位不太明确,就很难界定Stack Overflow是什么类型的网站,并且存在用户将工作招聘信息放到questions模块的可能,这样会导致小部分搜索结果的混乱
- 刚起步的新人,很容易被老鸟或不加思考的用户downvote。如果长期被其他用户打低分,会打击用户提问的积极性,更何况不能排除恶意打低分的操作
- 新用户注册时,如果用户输入的密码不符合规范,Stack Overflow不报错。这样一来用户无法获悉注册失败的原因,这是对使用者不够友好的地方
改进意见
- Stack Overflow对于英语母语者来说是目前最好的技术答疑网站,但对于非英语母语者使用起来有困难(一直靠浏览器翻译是很不方便的事)。中国市场巨大,完全可以建立一个中文版的Stack Overflow,可以一定程度上消除技术壁垒,让擅长英文的程序员来带动不擅长英文的程序员,有利于促进技术共同进步
- 点踩是一个我认为没有过多必要的功能。每个人在学习技术时都希望得到肯定,获得动力,尤其是新手。问题质量很难比较高下,而且Stack Overflow作为技术交流平台,应保持友好的交流环境。所以我个人感觉留下upvote即可,去掉downvote
2.BUG
暂时未找到
3.结论
我的评价:非常推荐
定量评价(自己做了一张表):
类别 | 描述 | 评分 (满分 12.5 分) | |
---|---|---|---|
功能 | 核心功能 | 问题搜索功能质量 | 11 |
用户体验 | UI是否符合广大用户审美,是否有大量广告,用户使用是否便捷 | 11 | |
辅助功能 | 是否支持用户个性化定制个人主页等功能,或者是否有除问答搜索和技术交流以外的功能 | 7 | |
软件的效能 | 这个软件是否相比其他软件在效能上更占优 | 11 | |
体验 | 软件的适应性 | 在屏幕大小不同和不同平台的软件能流畅协作 | 12 |
成长性 | 记住用户的选择, 适应用户的特点,用户越用越方便 | 10 | |
用户有控制权 | 系统状态有反馈,关键操作有确认提示,有明确的错误信息,让用户方便从错误中恢复工作 | 10 | |
自选 | 用户建议程度 | 用户数量是否足够大(未来能否吸引更多用户) | 12 |
总分 | 84 |
CSDN问答
1.体验
基本功能介绍和使用
CSDN的提问界面没有很多附加功能,用起来比较清爽。输入标题会弹出一个列表,包括了所有相似问题,提醒用户是否已有答案。
首先是问答功能,展示了最新和最热的内容。切换到左侧导航栏中的关注按钮,会展示你所关注的问答。排行榜从多个维度对用户进行排序,方便其他用户快速找到社区中的大佬。频道按照话题分类,用户可以在感兴趣的话题范围内寻找问答。每条问答前标有回答数和浏览次数
同样支持关键词搜索对应问答和学习笔记,而且CSDN的学习资料是比其他问答社区要多的。
CSDN问答优缺点分析
(1)优点
- CSDN上有很多下载资源,这个是Stack Overflow所没有的
- 用户量大,比较容易收获答案
- 下载资源需要支付积分,而回答问题能够获得积分,通过这样的方式激励用户回答
- 搜索结果能按最新或最热排序,便于找到优质回答
- 搜索到的问题与关键词相关度较高
- 提问时会反馈给用户相似标题,提示用户查看已有答案
(2)缺点
- 问答质量参差不齐,需要用户花不少时间去筛选有效答案
- CSDN不支持用户个性化定制界面
- 提问至少输入30个字,对于本身就很简短的问题,用户一定要凑到30个字,甚至要添加一些废话才能凑够字数,这个是没必要的
- CSDN广告相对多一些,UI设计不是特别美观
改进意见
- 提问字数限制可以降低一点,比如10个字以上
- 不妨支持用户支持自己设计界面,像博客园一样,美观的UI也会增加用户提问的乐趣
- 内容模块交叉很严重,建议分区要更加清楚一些
- 问题审核机制不太完善,甚至有一小部分与IT无关的问题出现
2.BUG
- Bug可量化指标
严重星级 | 具体描述 |
---|---|
★★★★★ | 致命性系统故障、致命性安全性漏洞、用户体验严重影响 |
★★★★ | 严重系统故障、服务器鉴权漏洞或重要数据泄露、用户体验较差 |
★★★ | 影响产品的运行、会成为故障的起因、对产品外观和下道工序影响较大的缺陷 |
★★ | 不影响产品的运行、不会成为故障的起因、对产品外观和下道工序影响较小的缺陷 |
★ | 在一些显示上不美观,不符合用户习惯,或者是一些文字的错误 |
- Bug发生时的测试环境
操作系统环境和版本:win10 20H2
浏览器环境和版本:chrome 89.0.4389.128(64位)
发生的时间段:中午11:30
- Bug的可复现性及具体复现步骤
可复现性:必然发生
复现步骤:系统提示上传文件不能超过5M在提问区上传一个大于5M的图片,系统不会阻止用户,图片可以正常上传
- Bug具体情况描述
出现的bug:移动端取消收藏后,虽然网页端也同步取消收藏,但网页端收藏数未减少
具体描述:
图片大于5M:
图片可以正常上传:
并且可以正常发布:
- Bug分析
Bug的可能成因:后端在将文件上传到服务器时没有对上传文件大小做限制
Bug的严重性:★★★★
严重性分析:1、系统功能:大量占用服务器内存,降低服务器性能
2、安全性:若有用户恶意上传多个大文件,会造成服务器瘫痪
3、用户体验:对用户体验影响不大
对于Bug的预期及改进建议:在后端框架的配置文件上加入对上传文件的限制,限制在5M以下;若文件超过5M,则拒绝上传,并给前端返回异常信息
3.[进阶]其他功能性Bug的描述
- Bug发生时的测试环境
操作系统环境和版本:win10 20H2
浏览器环境和版本:chrome 89.0.4389.128(64位)
发生的时间段:晚上22:00
- Bug的可复现性及具体复现步骤
可复现性:必然发生
复现步骤:在提问框内导入像素稍大的图片,都是无法在富文本框中看到完整图片,只能看到图片的一部分。
- Bug具体情况描述
出现的bug:在提问框内导入像素大于100*100的图片,就无法在富文本框中看到完整图片,只能看到图片的一部分。而且即使不导入图片,用户也只能同时看到几行文字,文本框不能拉长,需要经常上下翻阅,很不方便。
具体描述:
在文本框中导入图片:
- Bug分析
Bug的可能成因:CSDN前端原封不动地使用已经造好的ueditor富文本编辑器,像文本框拉长这种功能没有自行添加。情况和福大教学平台提交作业的编辑器是一样的。
Bug的严重性:★
严重性分析:1、系统功能:对系统功能影响不大
2、安全性:不会有安全性影响
3、用户体验:用户体验感很不好,尤其是在文字紧贴着图片的时候。如果用户输入大段文字,需要不停拉滚动条查看。
对于Bug的预期及改进建议:对富文本编辑器的代码做一些修改,使文本框可以拉长,看到更多内容。
4.结论
我的评价:一般
定量评价(自己做了一张表):
类别 | 描述 | 评分 (满分 12.5 分) | |
---|---|---|---|
功能 | 核心功能 | 问题搜索功能质量 | 9 |
用户体验 | UI是否符合广大用户审美,是否有大量广告,用户使用是否便捷 | 9 | |
辅助功能 | 是否支持用户个性化定制个人主页等功能,或者是否有除问答搜索和技术交流以外的功能 | 7 | |
软件的效能 | 这个软件是否相比其他软件在效能上更占优 | 9 | |
体验 | 软件的适应性 | 在屏幕大小不同和不同平台的软件能流畅协作 | 12 |
成长性 | 记住用户的选择, 适应用户的特点,用户越用越方便 | 9 | |
用户有控制权 | 系统状态有反馈,关键操作有确认提示,有明确的错误信息,让用户方便从错误中恢复工作 | 10 | |
自选 | 用户建议程度 | 用户数量是否足够大(未来能否吸引更多用户) | 11 |
总分 | 76 |
SegmentFault
1.体验
基本功能介绍和使用
问答社区下的item有按照黄色和白色区分,黄色突出用户所关注标签的内容,比较人性化的一面。每条问答前标有回答数和浏览次数,比CSDN更出色的一点是标识了问题是否解决,比较直观。
在某个标签页面的右侧有列出该标签答主的排行榜,点击昵称即进入主页。
提问可以添加固定标签,但自定义标签需要达到一定的声望值。提问界面UI看起来很清爽,在右侧可以看到markdown的效果。SegmentFault还给出了一些提问的模板,简化用户输入。
每条答案允许其他用户编辑,这是SegmentFault的一大特点。操作按钮可以回答的查看历史版本。
SegmentFault优缺点分析
(1)优点
- UI做的很好,比较简洁,用户体验好
- 热门标签用云图展示,比起文本框展示效果要好
- 问答标题前有标识是否解决,用户能够选择查看已解决的问题,不必费时间看为解决的问题
- 得票数对问答质量有一定参考作用
- 提问支持markdown格式,这一点比CSDN要好
(2)缺点
- 由于问答较少,很多内容无相应搜索结果,这个核心功能做的不如前两者
- 广告虽不多,但还是让界面看起来不美观
- 用户量不足,回答速度慢
- 回答质量一般
- 搜索到的结果与关键词匹配程度不高
- 不能按照某一个指标对搜索结果排序,功能比较单一
改进意见
- 建议对回答进行审核,提高回答质量,才能提高社区的核心吸引力,吸引更多用户
- 提高搜索引擎的效能,提高关键词与搜索结果的匹配度
- 可以设置排序标签,方便用户更快查找
【进阶】采访另一个用户:
采访对象是以为安卓方向的同学,因为他要经常上百度查找资料,他的需求是通过CSDN学习安卓新技术
采访对象实际使用的产品栏目
采访对象使用软件的过程中会遇到的问题和亮点
采访对象觉得从用户体验的角度来说需要改进的地方有哪些?
2.BUG
暂时未找到
3.结论
我的评价:一般
定量评价(自己做了一张表):
类别 | 描述 | 评分 (满分 12.5 分) | |
---|---|---|---|
功能 | 核心功能 | 问题搜索功能质量 | 9 |
用户体验 | UI是否符合广大用户审美,是否有大量广告,用户使用是否便捷 | 10 | |
辅助功能 | 是否支持用户个性化定制个人主页等功能,或者是否有除问答搜索和技术交流以外的功能 | 8 | |
软件的效能 | 这个软件是否相比其他软件在效能上更占优 | 6 | |
体验 | 软件的适应性 | 在屏幕大小不同和不同平台的软件能流畅协作 | 11 |
成长性 | 记住用户的选择, 适应用户的特点,用户越用越方便 | 6 | |
用户有控制权 | 系统状态有反馈,关键操作有确认提示,有明确的错误信息,让用户方便从错误中恢复工作 | 8 | |
自选 | 用户建议程度 | 用户数量是否足够大(未来能否吸引更多用户) | 7 |
总分 | 65 |
第二部分 分析
开发时间估计
步骤 | 具体内容 | 估计用时 |
---|---|---|
需求分析 | 分析问答社区户所需要的功能,例如提问、回答、投票、标签过滤等等 | 一个月 |
系统设计 | 画UML图与设计模式图,完成系统分析说明书 | 三周 |
原型设计 | 完成对界面以及用户交互功能的设计 | 三周 |
数据库分析 | 通过分析用户界面需要的数据,以及一些逻辑处理是需要的中间数据,来构建数据库,并完善表与表之间的关系。完成数据库分析说明书 | 三周 |
编写接口文档 | 前后端开会讨论传参与返回参数内容,并撰写接口文档 | 一周 |
开发冲刺 | 完成整个系统的编码,并在期间同步进行逻辑测试 | 三个月 |
集中测试 | 对整个系统进行可用性、健壮性、安全性测试 | 一个半月 |
总计用时 | 八个月 |
同类产品对比排名
分析这个软件目前的优劣(和类似软件相比),这个产品的质量在同类产品中估计名列第几?
- 问答质量:问答质量是核心功能。Stack Overflow在这方面质量最高,问答最优质;SegmentFault的问答质量次之,但也相对较好,只是有一些答案给出的方案完全不可用;CSDN的问答注水太过严重,大部分答案不可用。
- 回答速度:Stack Overflow一般能做到一小时之内得到答案;CSDN和SegmentFault的回答速度普遍较慢,SegmentFault甚至得不到任何回答。
- 搜索结果匹配度:Stack Overflow的搜索引擎比较鲁棒,关键词匹配度高,美中不足的是算法是基于字符串匹配,英文搜索可能会经常出现语义不匹配的现象;CSDN的搜索性能与Stack Overflow相差不多;SegmentFault按照关键词的搜索结果不大匹配,而且由于社区人数少,甚至出现常用关键词没有对应搜索结果的现象。
- 社区活跃度:Stack Overflow汇集了全球的程序员,活跃度高,问题不仅能在短时间内解决,而且还有大牛指点迷津;CSDN也有不少大牛的高质量回答,但未必能碰到,经常等到的是质量一般的答案,原因是搬运代码的小白很多;SegmentFault只有一些新手,所以很少有优质解决方案。
- UI美观程度:Stack Overflow和SegmentFault的UI都比较清新简洁,用户体验很赞;CSDN的界面做的不太好看,排版优点混乱。
综合对比结果:Stack Overflow > CSDN问答 > SegmentFault
软件工程方面的建议
- 从各方面的问题,推理出这个软件团队在软件工程方面可以提高的一个重要方面(具体建议)。
对于CSDN的建议:CSDN的问题质量不高,是因为没有引入点踩或投反对票的策略。可以引入一个机制,问题获得票数为负数的次数多于某个值,则要对用户禁言一段时间;同样为了防止某个用户恶意投反对票,要限制连续投反对票的次数不能高于3次或不能高于系统设置的某个值,否则要禁止投票。这样可以有效防止问题质量不高。
BUG存在的原因分析
- 你在第一部分发现的bug,为何软件团队不能在发布前修复?他们是不知道,还是有意不修复?你觉得是什么原因?
可能是难以修复的bug,修复的代价很大但价值不高,或者测试把关不严,敷衍了事,没有注意在特殊的配置或环境下测试。
第三部分 建议和规划
市场概况
- 首先市场有多大?
有数据表明美国有350w开发人员,中国200w,印度270w,而全球开发人数为2100w,这三个国家在其中占到了很大比重,意味着它们是主要市场。其他一些程序员数量多且以英语为母语的国家,例如英国,也是市场的重要组成部分。
- 其次直接的用户有多少?潜在的用户又有多少?
直接用户是那些活跃的用户,经常提问或回答问题,很多是经验较为丰富、水平较高的程序员。潜在用户是虽然有注册账号,但长期没使用,或者以游客身份逛帖子的IP,这些大多数不是资深程序员,学生居多。将社区经过完善后,是可以吸引到这些潜在用户的。
市场现状
- 目前市场上有什么样的产品了?
Stack Overflow、CSDN、SegmentFault。
- 上述产品的定位、优势与劣势在哪里?
Stack Overflow的定位是技术问答社区,同时也是招聘和应聘的平台。优势在于用户量大、社区活跃度高、问答质量高、搜索功能强大、回答速度快、UI美观;劣势较少。
CSDN的定位是技术交流社区,并附有IT直播课程,所以也是一个在线学习平台。优势在于用户量大、社区活跃度高;劣势在于问答质量不高、回答速度慢、UI体验不佳。
SegmentFault的定位是技术问答社区、IT学习网站。优势在于问答质量相对可以、UI美观、IT技术课程质量高;劣势在于用户量不足、社区活跃度低、回答速度慢。
市场与产品生态
- 这个产品的核心用户群是什么样的人?典型用户是什么样的?学历,年龄,专业,爱好,收入,表面需求,潜在需求都是什么?
核心用户群是开发人员和正在进行IT技术学习的人。典型用户就是已经在从事IT工作和后备IT技术从业者,学历大多在本科到博士,年龄18-35岁居多,专业为计算机、软件工程或电子信息,爱好是钻研IT技术,月收入在8k-40k之间,表面需求是解决当下的bug,潜在需求是提升个人技术水平。
- 产品的用户群体之间是否存在一定的关系?是否有利用其相互作用二次构成特定用户生态的可能性?
用户不是独立的,能通过相互交流了解对方,从而组成新的开发团队。技术交流平台可以拓展团队协作开发的业务。
产品规划
- 你要在当前软件的基础上设计什么样的新功能?为何要做这个功能,而不是其他功能?为什么用户会用你的产品/功能?你的创新在哪里?可以用NABCD分析。
添加创业团队招募技术人员的功能。新增这个功能的原因:既关系到IT集团的利益,又关系到开发人员个人的利益,是比较容易打开市场的业务。
需求:某些创业团队有一定资本基础,希望招募一群有开发经验的程序员。只在招聘平台上很难看出一个人的技术水平,该如何解决这个问题?
做法:添加创业团队招募技术人员的模块。发起者首先要给出公司注册的证明,注册资本等需要公开的信息,经过审核后才有资格作为猎头给心仪的人才发出面试邀请,邀请里面包括公司状况和薪资待遇。受到邀请的用户可以同意或拒绝加入团队,但正式加入虚拟团队需要给出入职证明并通过申请。个人用户同样可以对公司发出申请。
好处:一定程度上降低了筛选人才的成本,可以比较准确地筛选出可靠的人才。社区足够庞大,增加了公司招募到优秀人才的可能性。
竞争:和传统招聘的平台不同,创新点在于招聘功能和社区功能结合,公司与开发人员没有主动和被动关系,营造了一个应聘和招聘平等的氛围。
推广:可以借助微信公众号和百度广告推广。
- 如果你是项目经理,可以招聘6个人,并且有4个月的时间,你认为应该如何配置角色(开发,测试,美工等等) 才能在第16周如期发布软件的改进版本,并取得预想中的成绩。
我认为一个美工、两个前端开发、两个后端开发、一个测试比较合理。开发工作量最大,难度大,需要人员最多。美工和测试相对而言任务量小一些,所以各一人。
- 请为你的团队设计16个周期每周的详细规划。
1~2周 | 需求分析 | 分析问答社区所需的所有功能 |
3~4周 | 系统分析与设计 | 规定用户交互流程,完成系统设计报告书 |
5~7周 | 原型设计、数据库设计 | 设计产品原型、设计系统所需数据并构造数据库、完成数据库说明书 |
8~10周 | alpha阶段开发 | 完成alpha版本 |
第11周 | 第一次测试 | 内部测试 |
12~14周 | beta阶段开发 | 解决第一次测试反馈的bug,完成并发布beta版本 |
第15周 | 第二次测试 | 上线公测,解决剩余bug |
第16周 | 发布最终版本 |