软工第二次博客作业-软件案例分析

软件案例分析-CSDN技能树

项目 内容
这个作业属于哪个课程 2023年北航敏捷软件工程
这个作业的要求在哪里 作业要求
我在这个课程的目标是 学习软件工程知识,提升团队合作能力,积累网页开发经验。
这个作业在哪个具体方面帮助我实现目标 帮助学习从开发者和用户角度分析软件的质量。

第一部分 调研,评测

软件评测

基本功能

​ 在CSDN主页,通过“CSDN-学习-技能树”进入技能树主界面,默认技能树是python。软工第二次博客作业-软件案例分析_第1张图片

点击左上角技能树名称,可以在不同技能树之间来回切换。软工第二次博客作业-软件案例分析_第2张图片

​ 选定技能树后,左侧是一个二级目录结构(可能这就是技能树中的“树”?),每栏目对应一小节的知识点。右侧为用户提供该章节相关的练习题,并提供参考博客资料、用户讨论、章节笔记等功能。软工第二次博客作业-软件案例分析_第3张图片

​ 练习题均为选择题,作答完毕后可以选择返回目录或者挑战下一题。
软工第二次博客作业-软件案例分析_第4张图片

​ 参考资料来源于用户的CSDN博客,然而没有垂直拖拽条,只能滑动鼠标滚轮向下阅读,对于长文阅读很不友好。
软工第二次博客作业-软件案例分析_第5张图片

使用体验

是否解决了用户的问题

​ 用户希望使用技能树入门C/python基本编程语法,或者是git/markdown/linux的使用技巧,但我认为产品并很好地没有解决用户的问题,原因如下:

  • 练习题都是选择题,即使每题都答对了,用户仍然可能对编程实操一窍不通。
  • 参考资料内容之间缺乏逻辑性,同一章不同小节的内容来自不同用户的博客,知识体系结构不严密,很可能会出现知识点的重复或者缺漏。
  • 不少用户有“免费”获取资源的需求,而靠后章节内容需要开通会员才能访问。
优缺点
  • 数据量:技能树的资料来自挑选过的CSDN博客,数据量足够覆盖技能树的知识体系。
  • 界面:在100%的默认缩放比例下,很多按钮的文字出现一字换一行的现象。而且参考资料部分左右间距较窄,并且没有垂直拖拽条。
  • 功能:拥有习题、资料、讨论、笔记等功能,而在题目部分可以方便提供代码复制、题目复制的捷径。立flag功能较为独特,帮助用户起到了监督作用。
  • 准确度:参考资料来自用户博客,质量参差不齐。感觉技能树由零碎的博客包装成二级目录组织而成,作为一个教程,准确度令人怀疑。
用户体验
  • 部分文字排版影响美观。
  • 阅读资料无滑动条,阅读体验较差。
  • 页面逻辑凌乱,如果想要回看做过的题,缺少回到目录的按钮。
  • 技能树没有提供搜索功能。

改进意见

  • 增加技能树下的搜索功能。
  • 与高校或企业合作,聘用专门的教授撰写教程,提高技能树内容质量。
  • 增加题目多样性(如增加编程习题),提供在线评测功能或者第三方评测链接。
  • 建议隐藏右侧“发布见解”栏目,或者增加隐藏的按钮。

用户调研

采访对象:2020级软件学院的同学,参与过3次软件工程的前后端开发项目。对git和c语言知识有学习的需求。

采访截图如下:
软工第二次博客作业-软件案例分析_第6张图片

  • 使用内容: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%情况下,顶部紫色栏右部的“点击报名”显示不完全。

软工第二次博客作业-软件案例分析_第7张图片

  • bug可能成因:测试人员没有对常见缩放比例的页面进行测试,或者是测试到了认为无需更改。
  • bug的严重性:。虽然不是功能性bug,但这是用户进入技能树的第一个页面!而且大多数用户页面缩放比例都是100%,因此绝大多数用户都会触发这个bug。
  • bug改进建议:修改前端组件的布置就可以解决。

Bug2:分隔栏无法拖动

  • 可复现性:必然发生。
  • 具体复现步骤:进入技能树主页,点击进入左部某个知识点。
  • 具体情况描述:如下图,在缩放比例大于90%情况下,中部与左部之间的分隔栏无法拖动。

软工第二次博客作业-软件案例分析_第8张图片

​ 从90%的页面缩放比例开始,页面缩放比例越小,分隔栏能拖动的范围就越大。

  • bug可能成因:组件横向的位置关系限制了分隔栏的活动,测试人员没有测试较大缩放比例的情形。
  • bug的严重性:。如果用户因为中间内容过窄而,希望使用该分隔栏调整横向距离,他们会十分恼火。
  • bug改进建议:修改前端组件之间的关系。

Bug3:博客编辑界面无法完全显示

  • 可复现性:必然发生。
  • 具体复现步骤:进入技能树主页,点击左部某个知识点,随后点击中部“我的笔记”。
  • 具体情况描述:如下图,编辑笔记时,即使浏览器的横向滑动条已经拖到了最右端,但是靠右侧的部分文字仍然无法显示。

软工第二次博客作业-软件案例分析_第9张图片

  • bug可能成因:博客编辑部分组件的几何关系可能缺少右侧边缘的约束,测试人员没有测试较大缩放比例的情形。
  • bug的严重性:。功能性bug,影响了部分编辑功能。
  • bug改进建议:在前端设计中添加右侧边缘的约束。

Bug4:练习题简介部分没有垂直对齐

  • 可复现性:大概率发生,只要对应知识点有大于一道练习题时就会发生。
  • 具体复现步骤:进入技能树主页,点击左部某个知识点。
  • 具体情况描述:如下图,中部有三道练习题,每道练习题右侧对应一个图标。而靠上练习题的图标与其他题相比,存在明显的向左偏移。

软工第二次博客作业-软件案例分析_第10张图片

  • bug可能成因:顶部练习题与其它位置的练习题之间横向约束关系不一致。
  • bug的严重性:。不影响功能,强迫症略感不适。
  • bug改进建议:在前端统一所有练习题横向的几何约束关系。

Bug5:技能树课程“讨论功能”部分功能/全部功能失效

  • 可复现性:在特定条件下可以必然发生。
  • 具体复现步骤:点击技能树的某个知识点,点击“专栏课程”,进入栏目下某个课程,点击“讨论留言”。
  • 具体情况描述:如下图,进入了《Python零基础入门(计算机二级考试)》课程的“讨论留言”功能后,发现markdown文本框中的工具栏只显示了一部分,上传图片、插入表格等功能图标消失了。

软工第二次博客作业-软件案例分析_第11张图片

​ 如果运气好,还可以消失更多的东西。进入《玩转vscode-vscode开发python》课程的“讨论留言”区域,发现白茫茫一片。起初我还以为是浏览器卡了内容没有刷新出来,结果发现刷新、重新进入url、更换成edge浏览器,都可以复现这个问题。
软工第二次博客作业-软件案例分析_第12张图片

  • bug可能成因:前者应该是markdown功能栏目超出了长度,右侧的功能按钮被遮挡住了。后者则与具体的课程相关,可能涉及数据库存储的问题。
  • bug的严重性:。影响了一部分留言功能,并且有时候留言功能完全丧失,对需要用到该功能的用户是一个不小的打击。
  • bug改进建议:调整前端,工具按钮栏改成换行的形式。后者控制台多一行OpennessSDK => resultCode: 200,复查接口逻辑,核查具体数据库内容。

Bug6:回复帖数目不一致

  • 可复现性:有时发生,复现步骤需要没有触发bug5的前提,并且不是所有知识点的专栏课程都有课程内容。
  • 具体复现步骤:点击技能树的某个知识点,点击“专栏课程”,进入栏目中某个课程,先后点击“讨论留言”、“进入帖子”,在帖子下短时间回复若干条消息;随后点击右上角头像回到个人主页,点击“帖子”那一栏。
  • 具体情况描述:如下图,我4分钟内回复了三条消息。

软工第二次博客作业-软件案例分析_第13张图片

在我个人主页下,虽然帖子数目更新到了3。但帖子的条目只有两条,过了3分钟仍然没有更新。。
软工第二次博客作业-软件案例分析_第14张图片

  • 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周:发布正式版本,开始运营维护

你可能感兴趣的:(软件工程)