这个作业的要求是:https://bbs.csdn.net/topics/608658572
第一部分:调研、评测
我选择评测的软件是csdn的app
bug报告1
标题:csdn app在开启夜晚模式的情况下,文库页面依旧是白色
内容有以下几点:
环境:ipad air5,系统iPadOS16,软件版本v5.9.0;安卓oneplus 8t 系统coloros v12.1软件版本v5.9.0
重现步骤:
(1)用[用户名,密码]登录。这一用户在系统中是一般用户
(2)在下方导航栏点击"我的",切换到"我的"页面
(3)点击画面右上角的齿轮按钮,进入设置页面
(4)点击打开夜间模式
(5)返回到"我的"页面
(6)在导航栏点击"文库",切换到"文库"页面
结果:
页面除了下部导航栏和上部标题栏为夜间模式,中间的主要内容是白色的(ipad同样存在该问题)
预期结果:
文库页面能和其他页面一样正常显示夜间颜色
bug报告2
标题:失效博客在收藏夹中依然正常显示,且能够改变收藏夹或者重新收藏
内容有以下几点:
环境:ipad air5,系统iPadOS16,软件版本v5.9.0;安卓oneplus 8t 系统coloros v12.1软件版本v5.9.0
重现步骤:
(1)用[用户名,密码]登录。这一用户在系统中是一般用户
(2)在下方导航栏点击"我的",切换到"我的"页面
(3)点击"更多服务"中的"收藏",进入收藏夹
(4)可以发现这是一条已经失效了的博客,但是依旧能够在收藏夹中正常显示
(5)接下来我们返回到收藏夹,点击该条博客右边的三点,选择移动到其他收藏夹
(6)如果已经有另一个收藏夹,则跳过第(7)步
(7)新建一个收藏夹,标题不限
(8)点击收藏,将该条博客收藏到另一个收藏夹中
结果:一条已经失效的博客不仅能在收藏夹中正常显示,而且还能正常移动到另一个收藏夹,在"按内容查看"的情况下显示两次
预期结果:
1.希望能够像bilibili的收藏夹一样,显示博客失效,但是希望能够保留标题、作者,让使用者知道失效的是哪个资源
2.失效的博客在移动收藏夹等操作时显示:不能进行该操作
功能测评:
我使用csdn app主要是为了满足我检索一些专业知识的需求,例如专业课的题目不会做、专业课的知识总结等,在csdn上搜索起来比较方便。但是在使用了一段时间后,我认为我更倾向于使用csdn网页端,这主要是由于csdn app存在着一些令人诟病的问题,我会在下面细说。
先来说说一些功能体验:
1.基本功能
作为一个社区,发博客、帖子等是其最基本的功能。
csdn app的创作功能在一些同类的移动端应用中还是比较优秀的。
csdn、某乎、某度贴吧、某书app的创作页面
相比贴吧这样偏向日常的app来说,csdn、某乎、某书app的用户具有一定专业需求,因此在创作功能上功能更加全面。
在“写文章”功能上,csdn、某乎、某书都支持文字的粗体、斜体、标题、正文的文字字号改变以及草稿自动保存。其中,csdn和某乎可以支持电脑端和手机端同步草稿,即电脑端没写完,手机端可以接着写,是一个很方便的功能。此外,csdn app还支持文字和图片的排版(对齐方式),这一点在ipad端(屏幕大)看起来比较明显
csdn ipad端对图片的排版
只是,除了这些基本的功能外,csdn app相比起同类软件来说似乎缺少了一些亮点。鉴于越来越多的人选择用ipad进行移动办公,移动端的功能也不该到此为止,应该尽量和电脑网页端同步起来,例如网页端的公式编辑、表格、目录等功能。
csdn的推荐功能也是比较精准的,这得益于csdn本身就是面向开发者的平台,使用者中也有很多cs相关专业的学生。比如我搜索了一道作业题之后在下面推荐里直接跳出来了一堆这本书的习题答案
2.亮点功能
相比起同类的其他app来说,csdn的技能树确实是能让人眼前一亮的想法和设计,说他是csdn app的亮点功能确实不为过。只不过,想法是好的,现实却很骨感。
首先,技能树存在着一个有些劝退我的bug:无论我选了什么语言进行学习,在退出重新进入之后都会变成python。比如即使我选择了c语言,做了c语言的练习题,已经在右侧显示了进度,且没有学习过python,在退出后依旧会回到python。(毕竟使用碎片化时间在app上学习一门语言,如果每次在学习之前都要再选一遍学习内容,多少有些折磨了。)
选择语言(左),重新打开技能树后的界面(右)
其次,技能树并不是一个免费的功能,后面的章节需要付费才能解锁
“开通会员以解锁全部内容”
而且从功能上来说,做的也不如一些软件有趣生动。对比下来,我更倾向于在b站看倍速的教学视频,或是界面更简洁、完全免费且没有花里胡哨功能的某鸟
某软件自带的排序算法动画演示
3.缺点
3.1资源的收费问题
想象这样一个场景:你正在完成一篇选修课程的结题报告,找遍了网络发现只有csdn上有人发了课程相关的资料,但是你发现仅是为了下载一篇资料你就需要开通一个奇怪且金额巨大的会员,最终你选择自给自足。
某度文库的会员在相比之下好像良心了很多
开通会员后才能下载(左),对大学生来说的一笔巨额(中),某度文库会员(右)
3.2网页和app
绝大多数的人在遇到程序报错或者有题目不会的情况下,相比起慢慢打开csdn app搜索,第一时间都偏向于选择打开搜索引擎来搜索自己遇到的问题——因为这样做搜索到准确解答的可能性明显更高。因此,大多数通过搜索问题进入csdn的用户都是通过网页端来的,而不是app。
但是,值得吐槽的一点是,csdn手机端的网页基本无时不刻在提醒你登录、打开csdn app,每次打开一个csdn的网页,同一个功能的弹窗会反复跳出,影响观看。或者是下载app查看全文,抑或是明明能一页放完的内容,一定要点击展开才能查看全部内容……有些问题在某度、某乎的网页上同样存在,且可能是有过之而无不及,但如果要说比烂,那是没有下限的。csdn手机网页端的设计着实有些败好感。
血压上升
用户采访:
1.采访对象
姓名:A
性别:男
年龄:23岁
职业:学生
背景:经常使用搜索引擎检索专业相关问题
需求:很多专业相关问题能在csdn上得到解答,所以使用csdn
2.让采访对象使用10 – 30 分钟 <被评测软件> 的基本功能 (照片)
3.描述用户使用这个产品的过程, 用户的问题解决了么? 软件在数据量/界面/功能/准确度上各有什么优缺点? 用户体验方面有问题么?
A:问题嘛,大部分是能解决的。软件本身我不太喜欢用,我浏览器用的比较多,因为浏览器搜索更快一点。只不过在用浏览器搜索的时候,会出来一些高亮部分和搜索问题高度吻合的csdn链接,点进去看却什么都没有,非常浪费时间。
4.用户对产品有什么改进意见?
A:希望能把网页端的体验优化一下,实在是太差了。。。
评价:c)一般
如何量化评估软件质量?
软件质量国家标准GB-T8566-2001G有提到:
软件质量可以通过以下特征来评价:
a.功能特征:与一组功能及其指定性质有关的一组属性,这里的功能式满足明确或隐含的需求的那些功能
b.可靠特征:在规定的一段时间和条件下,与软件维持其性能水平的能力有关的一组属性
c.易用特征:与进行指定的修改所需的努力有关的一组属性
d.效率特征:与在规定条件下软件的性能水平与所使用的资源量之间关系有关的一组属性
e.可维护特征:与进行指定的修改所需的努力有关的一组属性
f.可移植特征:与软件从一个环境转移到另一个环境的能力有关的一组属性
第二部分:分析
开发时间估计 (团队人数6 人左右, 计算机大学毕业生, 并有专业UI 支持):根据对该软件的了解,产品属于非实时性系统,复杂度不高,模块可重用度高,不需要完备的文档。在人员方面,有固定的6人左右团队,程序员开发经验不高,类似开发经验无,没有熟悉使用项目管理工具。有固定的工作区域,交付时间不算紧迫。预计为4-5个月。
软件工程的质量:
1.和同类软件的对比已经在第一部分的测评中提到,这里不作重复叙述了,总结来说是略逊于某乎,好于其他几个产品。
2.在苹果的AppStore中,csdn被分类在社交一类。从中我找出了和csdn具有相似定位和功能的两个软件:某乎、某书
在AppStore排行榜中,某乎第5名,csdn11名,某书40名
其中某乎有140万个评分,评分为4.7
csdn有13万个评分,评分4.8
某书8.4万个评分,评分4.8
从用户量和评价来看,csdn的市场份额应该是稳坐老二的位置,这和上面自己的评测体验来说是匹配的。
3.关于第一部分发现的bug:
我认为之所以软件团队没能在发布前就发现这些问题,是因为测试把关不严,敷衍了事,没有注意在特殊的配置或环境下测试。
我认为职业软件团队会出现这样的问题,很有可能是因为项目管理急于求成,注重开发一些亮眼的新功能,导致本就有限的人手忽略了对一些细小的用户体验上的问题的把关。
一个软件工程方面的建议:
结合我上面提到的bug和一些不好的用户体验,我建议csdn的开发团队看一看《构建之法——现代软件工程》第12章的12.3内容:对于一个软件的用户界面的评价标准。
作者在自身实践的基础上总结了对于一个软件的用户界面的一些评价标准和原则,包括:“尽快提供可感触的反馈”、“系统界面符合用户的现实惯例”、“用户有控制权”、“一致性和标准化”、“适合各种类型的用户”、“帮助用户识别、诊断并修复错误”、“有必要的提示和帮助文档”。
比如说,书上提到的“系统界面符合用户的现实惯例”,可以作为我提到的网页问题的参考标准。因为对于很大一部分csdn的用户来说,在网页之间切换、搜索信息比起在app之间的跳跃更高效、更灵活,也更符合我们搜索信息的操作逻辑。此外,每次打开一个csdn网页都会跳出一条打开app的提示其实也是剥夺了用户的控制权,不能让用户来决定是否记住不再弹出弹窗这个选项违反了书上“用户有控制权”这一理论。由此看来,csdn的手机端网页设计并不是一个好的用户界面案例。
此外,在csdn app中,我提到的“夜间模式不夜间”这个bug也说明app设计没有做到“适合各种类型的客户”。开发团队没有真正想着帮助有这方面需求的用户,而是因为别人有了这个功能,自己也要有,就匆匆忙忙的加了上去,以至于忽略了如此明显的一个问题。
第三部分:建议和规划
如果我是新上任的项目经理:
1.市场有多大?
全中国IT 专业的学生和职业人士都可以是用户,据CSDN网站创始人蒋涛透露,csdn注册会员超过2500万,其中活跃用户超过800万(3个月内登录的),这其中30%是学生,60%是和一线开发相关人员。从IT行业从业人数来看,2011年-2020年期间,IT行业从业人数每年都在不断的增加。由2011年的344万人,增长到了2020年的705万人。其中2018年-2019年人数增加了37万人,2019年到2020年人数增加了23万人。IT行业火热,成为了比较热门的职业之一。抛开国外市场不谈,目前市场上已经有某乎、某书等已经具有一定规模的产品了,还有一些正在发展的竞品。对某乎来说,其优势在于已经具备雄厚的用户基础,劣势在于不如csdn定位明确,不能满足it人员的具体需求。对某书来说,其具有后发优势,避免了一些前辈的缺点,但缺点是已经在csdn和某乎固定下来的用户不大会选择一个新平台重新开始。但是在这个领域还有源源不断地竞争对手在加入其中,总体来说整个领域是处于风口的阶段,具有后发优势的产品依旧能对旧产品产生威胁和直接竞争。
2.核心用户群是什么样的人, 典型用户长什么样?学历,年龄,专业,爱好,收入,表面需求,潜在需求都是什么?
核心用户群1:
在校大学生,年龄:18-2x岁,专业:计算机相关专业,爱好:计算机相关技术,收入:暂无固定收入,表面需求:专业课程学习,知识拓展……,潜在需求:社会对接,职业规划
核心用户群2:
在职IT,年龄:2x-4x岁,爱好:各异,收入:中高水平,表面需求:解决工作时遇到的问题,和同行交流,潜在需求:社交、工作之余放松心情
3.你要设计什么样的功能? 为何要做这个功能,而不是其他功能? 为什么用户会用你的产品/功能? 你的创新在哪里?
我认为目前为止支撑csdn的最主要因素是合格的用户体验和优秀的内容创作者。如果我是新上任的项目经理,我不会先急于开发新功能。我先会选择把csdn手机网页端作为吸引潜在用户的主战场,优化手机网页端的使用体验,积累口碑,而不是每次使用都会弹出窗口导向手机app,影响正常用户体验。事实上很多公司都忽略了用户在手机网页端的体验,包括csdn的直接竞争对手某乎、某度等,如果能在这方面优化用户体验,在必要功能大家都还没有做的很好的情况下做提升,用户满意度的提升会比较快。在这之后,我会选择强化csdn移动端对于创作者的支持。因为我上面提到的两个潜在需求都是有关于创作内容的,所以我认为优化创作体验,让创作者能够在移动办公的情况下依旧创作出优质的内容。当创作者在app或移动客户端更方便的创作出更多的优质内容,而普通用户能方便的通过搜索引擎直接搜索到、并且在网页端方便的浏览内容,这两者形成一个正反馈,才能为用户口碑打下坚实基础。
如果一定要开发一个新功能,我会选择开发一个能显示同一个大学的学长的职业去向,并且支持已经在工作的职业IT和有相应就业需求的学生直接沟通。这样既可以满足在职人员的社交需求,也能解答学生在职业规划上的疑惑。我设计这个功能的理由是基于前面对于核心用户群体的潜在需求的分析的,这个功能一定程度上可以满足两种核心用户群体的潜在需求,可以说是一举两得。其实其他app也有类似的功能,但是考虑到csdn本身就具有用户群体上的特殊性以及具有一定的集聚性,这使得csdn对于本专业的学生和IT行业的在职人员相比于其他app和平台来说更为友好和方便,而这就是csdn app在这方面具有的优势。类似的功能在一些求职软件上还有很多,而我的创新只是在用户和平台的角度出发做了一些改变,使得csdn把原来解答疑难,创作和社交的本质特点发挥出来。
4.如果你有钱可以招聘6个人, 有4个月的时间, 你作为项目经理, 应该如何配置角色 (前端开发人员, 后端开发人员,测试人员,交互设计师,等等)?
我会找1个前端开发人员,2个交互设计师,1个后端,2个测试人员。
5.如何安排16周的时间?
我会选择敏捷开发流程,以2周为一个周期,一个周期包含product backlog、sprint backlog、冲刺和发布四个步骤。首先,PM和测试人员负责在product backlog和sprint backlog阶段将问题分析清楚,并且分配给前端、交互和后端人员。其次,冲刺阶段外部人士不能打扰团队成员,一切交流通过scrum master来完成,并且进行每日例会。最后,在发布阶段结束后,测试人员重新测试总结问题,开启下一个周期。
我会把16周拆成6周和10周两部分,对应3个周期和5个周期。我会用3个周期的时间来优化我上面说的网页和app的关系问题,这一问题工作量不大,但是需要反复测试。后5个周期我会用来开发新功能,这需要一定的工作量,也需要更多的迭代版本来测试和完成。