软件评测

这个作业属于哪个课程 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周发布最终版本
posted @ 2021-05-21 17:46  SakuChyan  阅读(136)  评论(3编辑  收藏  举报
/*以下是点击彩蛋特效*/