软件案例分析-CSDN技能树
项目 |
内容 |
这个作业属于哪个课程 |
2023年北航敏捷软件工程 |
这个作业的要求在哪里 |
作业要求 |
我在这个课程的目标是 |
学习软件工程知识,提升团队合作能力,积累网页开发经验。 |
这个作业在哪个具体方面帮助我实现目标 |
帮助学习从开发者和用户角度分析软件的质量。 |
第一部分 调研,评测
软件评测
基本功能
在CSDN主页,通过“CSDN-学习-技能树”进入技能树主界面,默认技能树是python。
点击左上角技能树名称,可以在不同技能树之间来回切换。
选定技能树后,左侧是一个二级目录结构(可能这就是技能树中的“树”?),每栏目对应一小节的知识点。右侧为用户提供该章节相关的练习题,并提供参考博客资料、用户讨论、章节笔记等功能。
练习题均为选择题,作答完毕后可以选择返回目录或者挑战下一题。
参考资料来源于用户的CSDN博客,然而没有垂直拖拽条,只能滑动鼠标滚轮向下阅读,对于长文阅读很不友好。
使用体验
是否解决了用户的问题
用户希望使用技能树入门C/python基本编程语法,或者是git/markdown/linux的使用技巧,但我认为产品并很好地没有解决用户的问题,原因如下:
- 练习题都是选择题,即使每题都答对了,用户仍然可能对编程实操一窍不通。
- 参考资料内容之间缺乏逻辑性,同一章不同小节的内容来自不同用户的博客,知识体系结构不严密,很可能会出现知识点的重复或者缺漏。
- 不少用户有“免费”获取资源的需求,而靠后章节内容需要开通会员才能访问。
优缺点
- 数据量:技能树的资料来自挑选过的CSDN博客,数据量足够覆盖技能树的知识体系。
- 界面:在100%的默认缩放比例下,很多按钮的文字出现一字换一行的现象。而且参考资料部分左右间距较窄,并且没有垂直拖拽条。
- 功能:拥有习题、资料、讨论、笔记等功能,而在题目部分可以方便提供代码复制、题目复制的捷径。立flag功能较为独特,帮助用户起到了监督作用。
- 准确度:参考资料来自用户博客,质量参差不齐。感觉技能树由零碎的博客包装成二级目录组织而成,作为一个教程,准确度令人怀疑。
用户体验
- 部分文字排版影响美观。
- 阅读资料无滑动条,阅读体验较差。
- 页面逻辑凌乱,如果想要回看做过的题,缺少回到目录的按钮。
- 技能树没有提供搜索功能。
改进意见
- 增加技能树下的搜索功能。
- 与高校或企业合作,聘用专门的教授撰写教程,提高技能树内容质量。
- 增加题目多样性(如增加编程习题),提供在线评测功能或者第三方评测链接。
- 建议隐藏右侧“发布见解”栏目,或者增加隐藏的按钮。
用户调研
采访对象:2020级软件学院的同学,参与过3次软件工程的前后端开发项目。对git和c语言知识有学习的需求。
采访截图如下:
- 使用内容:CS技能树。
- 使用栏目:练习题,参考资料,交流讨论。
- 使用中遇到的困难:每部分首先展示练习题而不是参考资料,初次使用会比较困惑;练习题数量过少;参考资料中间栏只占据1/3页面宽度,观感不好。
- 项目亮点:技能树和参考资料总结得较为全面。
- 改进建议:左侧的导航栏和右侧的评论条可以减小宽度或者折叠。
- 整体评价:评分70/100。
结论
类别 |
描述 |
评分(满分 10 分, 良好 6 分, 及格 4 分,聊胜于无 1 分, 很差 -3 分) |
核心功能 |
能否满足用户的学习需求 |
4(内容组织组织不严密,质量较差;但讨论需求完成得较好) |
细节 |
为用户考虑的细节 |
1(代码方便提供复制,但前端页面有很多细节纰漏) |
用户体验 |
用户能否高效、简洁、方便地完成操作 |
1(对用户真实的阅读/回看习题情形缺乏考虑) |
辅助功能 |
拓展的学习资料 |
-3(质量差,而且很多需要付费) |
差异化功能 |
软件独特的功能 |
6(立flag功能可以督促用户学习) |
软件的效能 |
占用内存、启动速度 |
6(服务器在国内,加载时间较短) |
软件自适应性 |
不同缩放比例/不同平台下的顺畅操作 |
1(跨平台还可以,但似乎完全考虑到缩放比例超过100%的用户使用体验) |
成长性 |
记住用户的选择 |
6(根据用户最近的浏览记录,会在顶部推荐搜索词条) |
用户控制权 |
系统状态有反馈,关键操作有确认提示,有明确的错误信息,自定义快捷键。 |
4(进入课程、作答练习题会有弹窗提示,但觉得弹窗有些多) |
综上所述,我对这个软件的评价是:一般。
Bug分析与提交
Bug严重程度评定/测试环境
严重程度 |
bug波及范围 |
|
致命安全漏洞/系统故障,该bug影响到了多个功能 |
|
严重影响用户体验,严重安全漏洞/系统故障,bug所在功能聊胜于无 |
|
影响较多用户的体验,轻微安全漏洞,bug所在功能偶尔失效 |
|
影响小部分用户的体验,功能逻辑设置不合理 |
|
轻微影响用户观感或影响用户群体较小 |
所有bug均在以下环境中测试:
- 浏览器:Chome 110.0.5481.178(64 bit)
- 操作系统:Window 10.0.19044.2604
Bug1:主页面图片显示不完全
- 可复现性:必然发生。
- 具体复现步骤:进入python技能树主页即可。
- 具体情况描述:如下图,在缩放比例大于80%情况下,顶部紫色栏右部的“点击报名”显示不完全。
- bug可能成因:测试人员没有对常见缩放比例的页面进行测试,或者是测试到了认为无需更改。
- bug的严重性:。虽然不是功能性bug,但这是用户进入技能树的第一个页面!而且大多数用户页面缩放比例都是100%,因此绝大多数用户都会触发这个bug。
- bug改进建议:修改前端组件的布置就可以解决。
Bug2:分隔栏无法拖动
- 可复现性:必然发生。
- 具体复现步骤:进入技能树主页,点击进入左部某个知识点。
- 具体情况描述:如下图,在缩放比例大于90%情况下,中部与左部之间的分隔栏无法拖动。
从90%的页面缩放比例开始,页面缩放比例越小,分隔栏能拖动的范围就越大。
- bug可能成因:组件横向的位置关系限制了分隔栏的活动,测试人员没有测试较大缩放比例的情形。
- bug的严重性:。如果用户因为中间内容过窄而,希望使用该分隔栏调整横向距离,他们会十分恼火。
- bug改进建议:修改前端组件之间的关系。
Bug3:博客编辑界面无法完全显示
- 可复现性:必然发生。
- 具体复现步骤:进入技能树主页,点击左部某个知识点,随后点击中部“我的笔记”。
- 具体情况描述:如下图,编辑笔记时,即使浏览器的横向滑动条已经拖到了最右端,但是靠右侧的部分文字仍然无法显示。
- bug可能成因:博客编辑部分组件的几何关系可能缺少右侧边缘的约束,测试人员没有测试较大缩放比例的情形。
- bug的严重性:。功能性bug,影响了部分编辑功能。
- bug改进建议:在前端设计中添加右侧边缘的约束。
Bug4:练习题简介部分没有垂直对齐
- 可复现性:大概率发生,只要对应知识点有大于一道练习题时就会发生。
- 具体复现步骤:进入技能树主页,点击左部某个知识点。
- 具体情况描述:如下图,中部有三道练习题,每道练习题右侧对应一个图标。而靠上练习题的图标与其他题相比,存在明显的向左偏移。
- bug可能成因:顶部练习题与其它位置的练习题之间横向约束关系不一致。
- bug的严重性:。不影响功能,强迫症略感不适。
- bug改进建议:在前端统一所有练习题横向的几何约束关系。
Bug5:技能树课程“讨论功能”部分功能/全部功能失效
- 可复现性:在特定条件下可以必然发生。
- 具体复现步骤:点击技能树的某个知识点,点击“专栏课程”,进入栏目下某个课程,点击“讨论留言”。
- 具体情况描述:如下图,进入了《Python零基础入门(计算机二级考试)》课程的“讨论留言”功能后,发现markdown文本框中的工具栏只显示了一部分,上传图片、插入表格等功能图标消失了。
如果运气好,还可以消失更多的东西。进入《玩转vscode-vscode开发python》课程的“讨论留言”区域,发现白茫茫一片。起初我还以为是浏览器卡了内容没有刷新出来,结果发现刷新、重新进入url、更换成edge浏览器,都可以复现这个问题。
- bug可能成因:前者应该是markdown功能栏目超出了长度,右侧的功能按钮被遮挡住了。后者则与具体的课程相关,可能涉及数据库存储的问题。
- bug的严重性:。影响了一部分留言功能,并且有时候留言功能完全丧失,对需要用到该功能的用户是一个不小的打击。
- bug改进建议:调整前端,工具按钮栏改成换行的形式。后者控制台多一行
OpennessSDK => resultCode: 200
,复查接口逻辑,核查具体数据库内容。
Bug6:回复帖数目不一致
- 可复现性:有时发生,复现步骤需要没有触发bug5的前提,并且不是所有知识点的专栏课程都有课程内容。
- 具体复现步骤:点击技能树的某个知识点,点击“专栏课程”,进入栏目中某个课程,先后点击“讨论留言”、“进入帖子”,在帖子下短时间回复若干条消息;随后点击右上角头像回到个人主页,点击“帖子”那一栏。
- 具体情况描述:如下图,我4分钟内回复了三条消息。
在我个人主页下,虽然帖子数目更新到了3。但帖子的条目只有两条,过了3分钟仍然没有更新。。
- bug可能成因:帖子数和帖子栏目信息存储在不同服务器上,数据传输速度不一致。
- bug的严重性:。如果想通过主页找到此前的回复贴,需要借助浏览器的历史记录功能;该bug出现在用户主页,被看到的可能性较高,影响观感。
- bug改进建议:优化服务器的数据传输结构,或者将帖子数目信息与帖子栏目信息绑定。
第二部分 分析
工作量分析
CSDN技能树基本功能包括教程、练习题、讨论等模块,教程部分是静态的、不涉及具体的用户间交互;练习题只需记录每个用户的信息,并实现统计分析功能即可;而讨论模块由于涉及不同用户的交互与并发,较为复杂。如果考虑附加功能,如立flag功能与会员机制,我认为6个左右的计算机大学毕业生在专业UI支持需要16周才能做到目前这个程度。
软件质量分析
同类型软件比较
同类型的教程软件有菜鸟教程、w3schools、廖雪峰博客教程等。
首先作为教程,我认为内容质量需要排在很高的优先级。由于CSDN技能树的参考资料直接来自用户博客,质量参差不齐,并且没有专门的人员维护内容的时效性,不如上述所提的同类软件。
而在练习题方面,w3schools可以提供更全面的测试题目;廖雪峰python教程允许用户修改代码例程,并在远程服务器运行。CSDN技能树与之相比仍有很大的进步空间。
此外个人觉得CSDN技能树的界面设计较为凌乱(与菜鸟教程简洁的风格对比),并且真正教程内容只占中间1/3的小部分区域,让人较难静下心来阅读。
但是CSDN技能树提供私人笔记、公开讨论功能,借助CSDN博客平台,在用户交流功能强于其它博客软件。尽管CSDN技能树的质量在同类产品中名列垫底,但是如果补上内容的质量与结构的短板,我认为它在未来还是有一定竞争力的。
可以提高的一个重要方面
虽然CSDN技能树的教程质量不尽人意,但是我认为前端设计也是提高的的一个重要方面。
用户阅读时,中间的参考资料部分横向宽度十分窄,并且不可调节,而且还缺失的竖直滑动条,很可能在真正开始阅读之前就去寻找其它教程网站了。此外如前所述,很多前端页面不协调的地方会影响用户的第一观感。
第三部分 建议和规划
市场概况
市场大小
软件从业人员需要学习相关知识,根据《2020年软件和信息技术服务业统计公报》,全国软件和信息技术服务业从业人数704.7万人。
根据国家统计局数据,2020年在校大学生(本科生、专科生)有3285万人。其中有大量工科专业的学生会使用计算机知识。
直接用户与潜在用户
根据知识树答题情况,直接用户大概在30万左右。
IT行业从事人员与相关专业大学生,或者计划其它行业转到IT行业的人员都是潜在的用户。潜在用户可能有100-200万。
市场现状
市场产品
- 技能树相关的产品有菜鸟教程、w3schools,此外一些个人博客尽管不能覆盖所有技能,但在某些特定的领域也十分有竞争力(如廖雪峰的python教程)。
产品定位、优势、劣势
- 上述产品定位:新手入门、从零开始学习某项技术栈的教程;对于一定编程基础的人员,还可作为可靠的查询文档。
- 优势:菜鸟教程内容广泛,对应的技能栈教程更多;廖雪峰教程内容层次更深,并且提供了远程运行代码的功能。
- 劣势:以上产品在初学者中的知名度不如CSDN。此外菜鸟教程/w3schools拥有较大面积广告。
产品关系
- 我认为上述产品间是较弱的竞争关系,因为用户在不同教程间并没有严格的冲突关系。实际上用户同时参考多个教程网站的情形也较为普遍。
产品规划
NABCD分析
新增功能为:在技能树中增设“关键词搜索”功能。
- Need:当用户无法通过二级目录判断知识点所在位置时,有快速检索某个关键词的需求。
- Approach:顶栏靠下位置增加关键词搜索框,在每次搜索后展示搜索结果。
- Benefit:编程者通过技能树查询某个知识点时,可以大大节省时间。
- Competitor:竞争者,如菜鸟教程、w3schools等,均有类似的功能。
- Delivery:在用户初次使用技能栈时增加各模块的功能指引,或者将搜索框放置到页面中显眼的位置。
项目规划
角色配置
- 3人负责前端开发,其中1人兼美工;1人负责前端测试;2人分别负责后端开发与测试。
开发规划
- 第1-2周:安排分工,打通技术栈
- 第3-4周:进行需求分析,撰写需求文档
- 第5-6周:进行页面、数据库设计,撰写设计文档
- 第7-11周:前后端分模块并行开发,测试人员同步测试
- 第12-13周:完成服务器部署,进行试运营,收集需求与反馈
- 第14-15周:修复已有bug,完善内测版本
- 第16周:发布正式版本,开始运营维护