这个作业属于哪个课程 | 2021春软件工程实践|S班 (福州大学) |
---|---|
这个作业要求在哪里 | 软件评测 |
学号 | 221801112 |
这个作业的目标 | 通过分析软件的好与坏来了解软件工程的原理 |
其他参考文献 | 如何评价微软的UI设计?,VOIDMalkuth's Blog |
一、第一部分 调研,评测
Bug严重性星级规定:
星级 | 描述 |
---|---|
★★★★★ | 致命性系统bug、严重影响用户影响的bug |
★★★★☆ | 严重系统bug、影响数据库的bug |
★★★☆☆ | 数据不一致bug,影响用户体验的bug |
★★☆☆☆ | 一般影响用户体验的bug |
★☆☆☆☆ | 轻微影响用户体验的bug |
用户采访:
我选择的是隔壁学校计算机相关专业罗同学,他在编写项目过程中常常使用这些软件的问答模块,聊天记录如下:
1.1 CSDN问答
1.1.1 体验
-
软件介绍:CSDN是面向IT技术人员交流的平台,提供博客发表分享,提问与回答,资源分享等服务。
-
软件使用 :
-
回答:我回答了一个问题,如下,(
但是这个问题不是应该搜索就有现成的答案嘛): -
提问:根据自己曾经的经历,进行了提问。
-
点赞采纳:
-
推荐(等你来答)
-
排行榜(标签榜)
-
-
优缺点分析:通过这个产品确实解决了用户的很多问题,如当我的程序出现了一个异常,久久无法解决,我能够在csdn上面发现许多情景与我一致的人,通过他们的解决方案来解决我的问题。当我对某一个技术框架的搭建不熟悉时,我能够按照其中某一篇博客的步骤完成搭建。当我对老师课堂讲解的知识没有明白时,我能在这里找到许多精辟的讲解。之所以该软件能够解决我们的许多问题,我认为其中一个优点便是软件拥有庞大的数据量,才能迅速解决我的问题(
当然菜鸡的问题也较为简单也是其中一个原因。),但是庞大的数据量,包含许多一字不易的文章,更有甚者,将原作者的意思断章取义发表出来,对学习者造成了误导与困扰。我曾经学习jwt与shiro 的整合,在博客园发现一篇文章后,连续点击了5,6次原文链接,终于学习到了原文。界面上,该软件风格一致,视觉上也不错,但是貌似我看的每一个博客都是目录在最下面,如下图,我需要往下滚动好几页才能看见目录:
我觉得目录对于一篇文章而言应该是开门见山的(个人觉得可以在左侧使用标签,使其可以展开和关闭)。软件在功能上很丰富,包含了博客,问答,直播,视频,资源下载等方面,但是其中资源的质量参差不齐,想要找到适合自己的比较困难。
-
改进意见: 通过文章引用次数,点赞等,优化其关键词,提升其被搜索引擎搜索到的概率。增大收费资源的审核力度,避免质量的参差不齐。
-
【进阶】采访另一个用户: 让 TA 也使用这个软件/服务, TA 能上手使用么? 有什么明显的困难, 软件的开发团队为何没有意识到这些初始用户会碰到的困难?
(请将采访过程以图片和文字的方式记录下来,且要求采访对象为其他软工班级的学生;如果TA也要完成软件评测的作业,要求TA选择的测评对象和你的不一样)
记录请至少包含以下几点:
a. 采访对象的背景,为什么选择这个人采访?TA 的需求是什么?
b. 采访对象实际使用的产品栏目
c. 采访对象使用软件的过程中会遇到的问题和亮点
d. 采访对象觉得从用户体验的角度来说需要改进的地方有哪些?
1.1.2 BUG
1.1.2.1 问答搜索框bug
问答模块搜索框输入内容过长时,点击搜索,未给出提示,并进入about:blank#blocked页面,或提示无法访问此网站。
-
Bug发生时的测试环境
- 操作系统:Windows 10 家庭中文版(20H2)。
- 浏览器: Google Chrome 89.0.4389.82(正式版本) (64 位)。
- 时间:2021/5/18 19:48
- 原因:搜索框输入过长的输入内容。
-
Bug的可复现性及具体复现步骤
-
可复现性:在满足输入过长的输入内容是必然发生。
-
复现步骤图:
-
1.输入大于100000个字符
-
2.点击搜索:
-
-
-
Bug具体情况描述
-
1.输入框输入大量汉字时未给出提示并进入#blocked页面:
-
2.搜索框输入大量英文字符时未给出提示并拒绝连接:
-
-
Bug分析
- 对于无法访问,我认为是界面未对输入的字符进行限制,导致非法数据传至服务器,被服务器拒绝或导致服务器抛出异常。我认为此bug不对系统功能,安全性上造成影响,但是严重的影响了用户的体验。
- 预期与改进建议:我认为对于输入框的输入应该对字符长度进行限制并给出合理的提示,前端就要使用js等脚本语言对非法的输入进行判断。
- 星级:★★☆☆☆
1.1.2.2 对于提问回答的回复的bug
对于提问回答回复点赞图标在点赞是图标本身不会发生变化。
-
Bug发生时的测试环境
- 操作系统:Windows 10 家庭中文版(20H2)。
- 浏览器: Google Chrome 89.0.4389.82(正式版本) (64 位)。
- 时间:2021/5/20 18:48
- 原因:对二级回复进行点赞和取消点赞。
-
Bug的可复现性及具体复现步骤
-
可复现性:必然发生
-
复现步骤图:
-
1.未点赞
-
2.点赞
-
-
-
Bug分析
- 前端界面未对二级点赞图标做像一级点赞图标做一样的判断。
- 预期与改进建议:对二级点赞图标增加如一级点赞图标的判断。
- 星级:★★☆☆☆
1.1.2.3 回复自己的回答并对该回复点赞的bug(安卓app)
安卓app不允许对自己对自己的回答点赞,但是可以对自己回答的自己的回复点赞,并且重复点击点赞图标,赞的数量会异常增加。
-
Bug发生时的测试环境
- 操作系统:Android 11
- app:CSDN
- 时间:2021/5/20 19:53
- 原因:对自己的回答的自己的回复重复点赞。
-
Bug的可复现性及具体复现步骤
-
可复现性:在持续重复点赞时,发生概率达到90%。
-
复现步骤图:
-
1.回答一个问题,并在该回答下给自己回复。
-
2.不断点击图标点赞与取消点赞
-
-
-
Bug具体情况描述
该用户自己给自己点了4个赞:
-
Bug分析
- 我重新进入该页面发现自己的4个赞消失了,我认为这是点赞客户端没有做好数据和数据库的一致性。
- 预期与改进建议:保证数据与服务器的一致性,或者避免快速重复的发起请求,像其他界面一样提示重复提交。
- 星级:★★★☆☆
1.1.3 结论
类别 | 描述 | 评分 (满分 10 分, 良好 6 分, 及格 4 分,聊胜于无 1 分, 很差 -3 分) | |
---|---|---|---|
功能 | 核心功能 | 分析三个核心功能,功能设计和质量。 | 8 |
细节 | 有什么为用户考虑的细节? | 7(在回答提问附件给出如何给出高质量的回答与提问供用户学习) | |
用户体验 | 当用户完成功能时,不干扰用户 (例如: 是否不断弹出不相关广告)。 | 6(登录时强制用户关注其公众号) | |
辅助功能 | 一些辅助功能如皮肤等 | 7(版本的切换) | |
差异化功能 | 这个软件独特的功能. 它对用户的吸引力有多大? | 6 | |
软件的效能 | 占用内存, 启动速度, 内存泄漏情况 | 7 | |
体验 | 软件的适应性 | 在联网/断网, 大小屏幕, 没有鼠标的情况下都可以顺畅操作. 和不同平台的软件能流畅协作 | 6 |
成长性 | 记住用户的选择, 适应用户的特点,用户越用越方便 | 7 | |
用户有控制权 | 系统状态有反馈,等待时间要合适。关键操作有确认提示,有明确的错误信息。 让用户方便地从错误中恢复工作, 快捷操作键可调整。 | 6 |
1.2 Stack Overflow
1.2.1 体验
-
软件介绍:一个与代码相关的IT技术问答网站,该网站注重问题的质量,并且通过威望值(Reputation Point)和徽章(Badage)建立了一个有效激励参与者的评价体系。
-
软件使用 :
-
回答问题:
-
提出问题:
-
tags 使用
-
user使用
-
改进意见: 增加多语言专区,以适应不同的人群。
1.2.2 BUG
1.2.2.1 The following tags 输入框bug
在该输入框输入较多的数字或者英文时,Questions tagged 会穿过其他元素。
-
Bug发生时的测试环境
- 操作系统:Windows 10 家庭中文版(20H2)。
- 浏览器: Google Chrome 89.0.4389.82(正式版本) (64 位)。
- 时间:2021/5/18 19:48
- 原因:输入框输入过长的输入内容。
-
Bug的可复现性及具体复现步骤
-
可复现性:在满足输入过长的输入内容是必然发生。
-
复现步骤图:
-
1.输入较多的数字或英文字符:
-
2.按下enter键:
-
-
-
Bug具体情况描述
- 输入的字符串穿过页面中的其他元素。
- 输入的字符串穿过页面中的其他元素。
-
Bug分析
- 该bug对系统不会造成较大的危害,但是严重的影响了用户的体验。
- 预期与改进建议:对纯数字或英文字符的字符串进行隔断分行输出。
- 星级:★★☆☆☆
1.2.3 结论
类别 | 描述 | 评分 (满分 10 分, 良好 6 分, 及格 4 分,聊胜于无 1 分, 很差 -3 分) | |
---|---|---|---|
功能 | 核心功能 | 分析三个核心功能,功能设计和质量。 | 9 |
细节 | 有什么为用户考虑的细节? | 9(提问时,会给出相似的问题,和提问的内容的改善等提升) | |
用户体验 | 当用户完成功能时,不干扰用户 (例如: 是否不断弹出不相关广告)。 | 10 | |
辅助功能 | 一些辅助功能如皮肤等 | 6 | |
差异化功能 | 这个软件独特的功能. 它对用户的吸引力有多大? | 10(威武和勋章) | |
软件的效能 | 占用内存, 启动速度, 内存泄漏情况 | 8 | |
体验 | 软件的适应性 | 在联网/断网, 大小屏幕, 没有鼠标的情况下都可以顺畅操作. 和不同平台的软件能流畅协作 | 5 |
成长性 | 记住用户的选择, 适应用户的特点,用户越用越方便 | 7 | |
用户有控制权 | 系统状态有反馈,等待时间要合适。关键操作有确认提示,有明确的错误信息。 让用户方便地从错误中恢复工作, 快捷操作键可调整。 | 8 |
1.3 SegmentFault
1.3.1 体验
-
软件介绍:SegmentFault是一个开发者社区,其旗下有问答平台(技术问题),专栏平台,活动平台,笔记等。
-
软件使用 :
-
回答:
-
提问(我将相同的问题放在了SegmentFalut上面,意外引起了大家的认真的回答和讨论,让我对该问答网站好感增加不少。):
-
对别人多自己的回复进行点赞,编辑等
-
-
优缺点分析: 思否的拥有更简洁的界面,更少的广告,更少的商业化气息,使用起来相比CSDN更简洁明了,不用担心进入某个页面需要开通会员。但是随之而来的问题,知否包含的数据量小,社区交流,问题回答没有CSDN那么及时。即使是在技术方面,其涉及的内容也较少,缺少原创的能够系统讲解知识的回答,博文等。同时,可能是效仿stackoverflow的原因,发出提问需要审核较长的时间。除此之外,复制文字也需要登录。显而易见,思否与stackoverflow的之间还是有不小的距离。
-
改进意见: 改进审核制度,使得用户与用户之间的交流更加实时,让用户的问题能够更快的解决。鼓励博文原创与系统讲解知识,授人以鱼不如授人以渔,很多时候知其然还要知其所以然,系统的知识能够更好帮助提问者解决问题并举一反三。
1.3.2 BUG
1.3.2.1 问答收藏bug
收藏一份问答时,不断点击收藏,收藏会不断增加
-
Bug发生时的测试环境
- 操作系统:Windows 10 家庭中文版(20H2)。
- 浏览器: Google Chrome 89.0.4389.82(正式版本) (64 位)。
- 时间:2021/5/18 19:48
- 原因:不断点击收藏
-
Bug的可复现性及具体复现步骤
-
可复现性:必然发生
-
复现步骤图:
-
1.进入一份问答的回答:
-
2.点击踩一下,并查看其声望值记录,再回来:
-
-
-
Bug具体情况描述
- 收藏的数量会不断增加,但是实际上应该只能算一份收藏。
- 收藏的数量会不断增加,但是实际上应该只能算一份收藏。
-
Bug分析
- 界面设计时,没有及时从服务器获取数据,以保证数据的一致性,对用户重复的操作没有进行判断与限制,这产生了严重的误导。严重的影响了用户的体验。
- 预期与改进建议:对用户频繁的重复操作进行限制,并给出相应的提示,及时从服务器获取数据。
- 星级:★★★☆☆
1.3.3 结论
类别 | 描述 | 评分 (满分 10 分, 良好 6 分, 及格 4 分,聊胜于无 1 分, 很差 -3 分) | |
---|---|---|---|
功能 | 核心功能 | 分析三个核心功能,功能设计和质量。 | 6 |
细节 | 有什么为用户考虑的细节? | 4 | |
用户体验 | 当用户完成功能时,不干扰用户 (例如: 是否不断弹出不相关广告)。 | 10 | |
辅助功能 | 一些辅助功能如皮肤等 | 6 | |
差异化功能 | 这个软件独特的功能. 它对用户的吸引力有多大? | 6 | |
软件的效能 | 占用内存, 启动速度, 内存泄漏情况 | 6 | |
体验 | 软件的适应性 | 在联网/断网, 大小屏幕, 没有鼠标的情况下都可以顺畅操作. 和不同平台的软件能流畅协作 | 6 |
成长性 | 记住用户的选择, 适应用户的特点,用户越用越方便 | 4 | |
用户有控制权 | 系统状态有反馈,等待时间要合适。关键操作有确认提示,有明确的错误信息。 让用户方便地从错误中恢复工作, 快捷操作键可调整。 | 6 |
二、第二部分 分析
2.1 开发时间估计
-
使用此服务的所有功能,估计这个软件/网站/服务做到这个程度大约需要多少时间(团队人数6人左右,计算机大学毕业生,并有专业UI支持)。
对于实现问答服务的所有功能(提问,回答,标签分类,点赞,收藏,关注,悬赏,文字编辑,邀请回答,多平台适配,问题分享,数据统计),在毕业生技术合格的情况下,完成该项目大约需要4-5个月时间。当然如果需要形成像so这样的完整的体系,这不仅仅是技术人员就可以做到的,还涉及到其他很多领域的知识。
2.2 同类产品对比排名
-
分析这个软件目前的优劣(和类似软件相比),这个产品的质量在同类产品中估计名列第几
使用起来,CSDN拥有较多的板块和广告性能上不如SegmentFault 和 Stack Overflow,同时Stack Overflow 和SegmentFault有较为严格的回答提问体系比CSDN更加可靠,安全。对于用户的需求上面,CSDN 含有系统的博文板块,满足用户系统学习的需求,拥有更强的适应性。
产品质量衡量 | 比较 |
---|---|
性能 | Stack Overflow>SegmentFault>CSDN |
可靠性 | Stack Overflow>SegmentFault>CSDN |
安全性 | Stack Overflow>SegmentFault>CSDN |
适应性 | CSDN>SegmentFault>Stack Overflow |
2.3 [软件工程方面的建议]
-
从各方面的问题,推理出这个软件团队在软件工程方面可以提高的一个重要方面(具体建议)。
从CSDN和SegmentFault移动端与web端常常出现数据不同步的问题,在软件工程方面,该团队应该提高软件的可互操作性,即提高多个软件元素相互通信并协同完成任务的能力。
2.4 [BUG存在的原因分析]
-
你在第一部分发现的bug,为何软件团队不能在发布前修复?他们是不知道,还是有意不修复?你觉得是什么原因?
对于大部分团队,在有限的时间中,不可能做到十全十美,对于在一些特殊情况才出现的bug,我认为是测试造成,即使后来有反馈,但是没有造成严重的影响,团队也没有取修复。其次,像 Stack Overflow这样的外国网站,可能我们认为的bug是设计理论的偏差,导致软件团队认为没有必要修改。
第三部分 建议和规划
3.1 市场概况
-
市场
根据 Evans Data Corporation的数据,2019 年全球有 2640 万软件开发人员,预计到 2023 年,这一数字将增长到 2770 万和 2870 万。 而软件开发人员就是该类技术问答服务的核心用户,随着该群体的增加,问答服务必然拥有广袤的市场。在中国每年大约还有有600W大学毕业生。1/10 为计算机相关专业。
年 软件开发人员数量 2018 2,390万 2019 2,640万 2023 2,770万 2024 2,870万 2030 4500万 -
直接与间接用户
直接用户:软件开发人员,计算机相关专业学生,教师,人数在3000w左右。
潜在用户:其他领域教师,学生,和软件的深度使用用户仅国内就多于2000w。
3.2 市场现状
-
目前市场上有什么样的产品?
目前市场上有功能丰富的,数据庞大的CSDN, 界面清晰的SegmentFault,和拥有高效完整的评价系统和荣誉系统的Stack Overflow。
-
上述产品的定位、优势与劣势在哪里?
CSDN:拥有庞大的用户量,内容,和丰富的功能,但是博客,问答,重复性较高,存在严重的复制情况,内容质量参差不齐。
SegmentFault:用户清晰简洁的界面,和审核机制有效增加了问答的质量,但是其审核机制不够人性化,常常将网站的意愿强加与作者,评价体系也不够完善。
Stack Overflow:拥有庞大的高质量的内容和资深的用户,但是对菜鸟不够友好,融入社区有一定的时间和难度。
-
上述产品之间呈现什么样的关系,哪些为竞品关系?以及竞争中的各方态势如何?
上述产品之间在问答服务上均为竞品关系,CSDN利用专家团,庞大的用户来维持其问答的活跃度,SegmentFault模仿Stack Overflow利用其评价机制。Stack Overflow则是利用完善的评价和荣誉体系以及高质量的回答。在三者中CSDN和SegmentFault都与利用博客等系统的知识来促进问答,而Stack Overflow 虽然有tag info 等模块,但是不够丰富。
3.3 市场与产品生态
-
这个产品的核心用户群是什么样的人?典型用户是什么样的?学历,年龄,专业,爱好,收入,表面需求,潜在需求都是什么?
- 核心用户群:IT相关在校生,开发人员。
- 学历:本科以上
- 年龄:18到35岁之间
- 专业:计算机相关
- 收入:0k-100k /每月
- 表面需求:通过问答服务解决自己的问题
- 潜在需求:按各种场景:1. 资深人员,通过在平台发布回答,提升自己的影响力 2.技术小白,系统的学习到相关问题的知识。 3. 急于完成学科作业的学生,需要一份无误的答案。
-
产品的用户群体之间是否存在一定的关系?是否有利用其相互作用二次构成特定用户生态的可能性?
用户群体之间常常师生关系,同专业的关系。利用相互作用二次构成特定用户生态,可以在某些场景下实现,如常常会有教师在发现一篇高质量的博文发布在某个平台时,会将该平台推荐给其学生,同学之间也会存在互相推荐的情况。如大学生像即将毕业的高中生推荐学习博文。这些都是可以利用的情景。
-
产品的子产品,以及其他相关产品之间是否存在一定的关系?是否有利用各个产品特性之间的相互关系二次构成产品生态的可能性?
存在一种相互依赖,相互促进的关系。如博客模块,问答模块之间就存在相辅相成的关系,博客促进提问者系统学习,增加其问答的知识,问答又能增加各方知识的理解,从而形成良性发展的闭环,产生优质的内容。各个产品本质上都是知识的输入和输出,从系统知识,即时问答,未解决技术困难探索,知识输入和知识输出等产品特性来构成产品生态。
3.4 产品规划
-
增加的功能:在标签榜为到达一定级别的用户提供新建标签的功能,并且完善标签榜,不仅仅利用采纳数第一的用户,综合考虑点赞数量,点踩数量。
-
N(Need)
系统自定义的标签无法覆盖所有的领域,需要提供新建标签功能,让系统能通过用户的使用不断完善,从而增加用户的体验。
-
A(Approach)
当用户进入标签榜时,利用用户的的等级或者勋章等来判断用户是否具有新增标签的权限,如果有则提供新增标签功能,没有提示不具有该权限。例如(思否当点击创建时):
-
B(Benifit)
通过增加该功能,可以增加系统中标签的准确性,有利于对文章的搜索,归类。能够提示系统的性能和 用户的体验。
-
C(Competitor)
目前 Stack Overflow和SegmentFault 都有此功能,我认为CSDN也需要增加此功能,这样能够完善标签库,增加软件的体验。
-
D(Delivery)
增加功能后,可以给用户发送推广邮件,以此来宣传新功能。也可以在网站制作新功能指引,指导用户使用新功能。
-
-
如果你是项目经理,可以招聘6个人,并且有4个月的时间,你认为应该如何配置角色(开发,测试,美工等等) 才能在第16周如期发布软件的改进版本,并取得预想中的成绩。
角色 人数 后端开发 2 前端开发 2 测试 1 美工 1 -
16周期每周详细规划:
周数 任务 1 需求分析,了解用户需求 2 数据库设计和改进 3 系统设计和改进 4 美工进行设计和项目框架搭建 5 美工进行设计和后端编写业务逻辑(授予用户相应的荣誉并实现授予和收回用户的新建标签权限) 6 前端完成个人信息荣誉界面,和授予和收回用户新建标签权限 7 前后端联合测试 8 前端完成移动端相应的数据界面 9 前后端就移动端和web端进行联合测试 10 后端完成新建标签功能,前端完成相应的界面 11 进行测试 12 后端完成按采纳,点赞,点踩综合的领域专家评选,前端完成相应的界面 13 前后端进行测试并得到alpha版本 14 美工优化设计,前端优化界面,后端增强系统的并发性。 15 各端进行测试 16 得到beta版本软件