软件工程第二次作业——CSDN技能树分析

软件工程第二次作业——CSDN技能树分析

项目内容
这个作业属于哪个课程2023年北航敏捷软件工程社区-CSDN社区云
这个作业的要求在哪里个人作业-软件案例分析-CSDN社区
我在这个课程的目标是了解软件工程方法论,提高工程能力以及团队协作开发能力,总结软件开发经验
这个作业在哪个具体方面帮助我实现目标学习市场上软件的设计优点,总结其存在的不足。

在互联网时代下,我们能从网上找到海量的学习资料,然而这些资料的质量却良莠不齐,大部分资料没能系统地讲解某一领域的知识。本文分析的 CSDN 中的技能树版块(以下简称技能树)正是旨在打造一个IT人系统学习的平台。

一、调研,评测

1.软件评测

在本节中,笔者将描述技能树的功能使用体验,分析技能树是否解决了用户的问题,其在数据量/界面/功能/准确度上存在的优缺点,对产品提出改进意见,分享笔者对其他软工班级学生的调研采访,并最终给出对该软件的评价。

(1).基本功能使用

以下以技能树的python板块为例进行评测。

首页

在这里插入图片描述

进入首页,其设计与作者所想的树或知识图谱的形式并不相同,而是类似于电子书,在左侧导航栏显示目录,共分为章和节两层。根据学习情况会用不同深浅颜色的叶子标注。

中间栏共可切换四个功能:知识点学习情况总览(目录)、用户定下的学习目标(立Flag)、知识点速查手册(速查手册)、用户已达成的学习目标(达成Flag)。

右侧包括相关技能链接、用户学习和贡献榜、技能树介绍。

总体来说首页UI设计简洁明了,用户可以快速阅览该技能涵盖的知识点以及自己的学习情况,并可以通过点击章节名轻松开始学习。

知识点页面

在这里插入图片描述

知识点页面布局与主页类似。

中间栏展示该页面的主要功能,包括:练习题、参考资料、交流讨论、我的笔记、专栏课程五个部分。

  • 练习题

    罗列一下和当前知识点相关的习题,python板块中只出现了选择题,在选择选项后系统会给予反馈。

在这里插入图片描述

  • 参考资料

    由各个博主编写的相对完善和清晰的课程资料,用户也可以尝试编写并提交博客作为新的课程资料。

在这里插入图片描述

  • 交流讨论

    由其他用户编写的公开讨论贴,用户可点击进入查看详情、参与讨论、评价帖子等。
    在这里插入图片描述

  • 我的笔记

    用户个人编写的私密笔记,点击可进入查看详情,点击全部笔记将跳转至用户私密空间。
    在这里插入图片描述

  • 专栏课程

    该模块给用户提供付费课程的入口,用户可点击查看课程详情,并选择是否购买课程。

知识点页面的右侧提供给用户一个编写笔记的区域,支持markdown格式编写,同时支持用户选择公开(发布在交流讨论模块)或私密(发布在我的笔记模块)发布。

(2).使用体验
总体描述

技能树项目成员是这么描述该项目的。

它能帮助用户系统地浏览关于一个技术领域的各个知识点,做动手练习,并跟踪自己的成长。CSDN 的这个新功能进一步推动了它的宗旨 — 为 IT 人士打造学习,成长和成功的平台。

技能树能够很好的帮助新手系统的学习知识。

可见,该项目的初衷是为了提供初学者一个系统学习专业知识的平台,让初学者免于淹没在良莠不齐的学习资料和培训中。然后实际使用下来,给人感觉这个平台更适合于有一定基础,想对知识点进行查漏补缺的老手。

功能优缺点分析

软件在以下方面存在一定的优缺点

  • 数据量

    • 优点

      • 技能树节点内容充分,涵盖该领域内绝大部分基础知识。
      • 存在大量讨论帖和用户笔记,为用户提供较好的交流学习渠道。
      • 参考资料后往往会有一些拓展资料,帮助学有余力的用户了解更多专业知识。
    • 缺点

      • 题目量过少。很多章节提供的练习题难以支撑起大量的基础知识,对于初学者而言,缺少一定量的训练,对其基础的巩固往往会存在影响。而软件仅以练习题的完成情况判定章节的掌握程度,这显然是极其不合理的。
        在这里插入图片描述

      • 题型单一。在python技能树中只存在单选题,然而我们知道对于编程语言的学习,实践是不可或缺的,缺少编程题有碍于用户技能掌握能力。(该问题在后续java技能树等项目中有所改善)

  • 界面

    • 优点

      构建之法第12章——用户体验中有提到:

      很多软件设计者把用户界面等同于给领导汇报的工作成绩单,所有的功能都争先恐后地出现在用户面前,唯恐用户没有注意到。但是用户往往会被繁乱的界面弄得晕了头,无所适从。

      • 该项目界面布局简洁美观,仅将用户主要使用的少数几个功能在页面中呈现,随着用户的点击再逐步展示更多的功能。
      • 页面中的非文字型标志意义明确,如颜色不同的叶子(知识点掌握程度)、皇冠(vip课程)、难易度标志等,避免用户对此感到意义不明,从而影响使用体验。
      • 用户可以根据需要,收缩侧边目录,调整笔记框所占页面的比例。
      • 页面并没有像国内某些网站那些,充斥着大量广告,仅有右上角一个区域向其他技能树引流。
    • 缺点

      • 界面和功能设计与**"技能树"这一概念差距较大。技能树应该是在计算机科学**这一背景下,对各个技能的前后继关系进行可视化。也就是说,用户不光能从技能树的节点学习知识,还能通过节点的链接关系了解技能之间的联系。

      • 练习题界面设计不佳。很多练习题将大量文字和代码粗暴地堆积在页面内,初学者面对这样大量的文本往往会心生排斥感,不愿意看完题目。
        在这里插入图片描述

  • 功能

    • 优点
      • 技能树基本涵盖初学者进行新技能学习的基本需求,如:知识讲解、题目练习、笔记记录、交流讨论等。
    • 缺点
      • 技能树几乎没有考虑用户学习时可能使用的细节功能,如:习题和知识点的收藏功能、错题本功能、搜索功能等。
      • 部分参考资料内容过长时,由于内容右侧没有滚动条,需要大量滚动鼠标滚轮,使用体验相当差。
  • 准确度

    • 优点

      • 笔者抽做的几道练习题均未发现技术性错误,在一定程度上能够帮助用户掌握知识点。
      • 大部分参考资料中的知识准确,确保用户不会接收错误知识而误人子弟。
    • 缺点

      • 参考资料和练习题关联性低。一些练习题中会出现用户尚未学习的知识点。

      • 讨论区内容没有严格审核,存在不少质量较低的水贴,影响用户的使用积极性和学习效率。
        在这里插入图片描述

基于以上多种因素考虑,该产品基本解决了用户存在的核心问题,初步完成了项目的初始设想,即:

帮助 IT 领域学习者进行职业成长的一站式学习工具。 帮助用户系统地浏览关于一个技术领域的各个知识点,做动手练习,并跟踪自己的成长。

但是就实际使用体验而言,该网站的参考资料是其他用户撰写,从内容质量和准确度、内容连贯性上,比起菜鸟教程仍有很大的提升空间。而对用户使用的细节功能上,该网站并没有仔细进行打磨,比起专职做学习的软件(如猿题库、百词斩等),在真正学习使用时会显得格外不便。

(3).改进意见

以下将针对功能优缺点分析中提到的缺点给出改进意见。

  • 增加练习题题量,适当添加编程题。确保用户对知识不会只停留在纸上谈兵,通过实际编写程序提高熟练度。
  • 优化习题布局,控制其难度由简到难。避免让初学者直接面对大量文字和代码,而打击用户学习和练习的积极性。
  • 考虑用户会使用到的细节功能。添加题目、帖子、知识点收藏功能,错题本功能,知识点搜索功能等,优化用户使用体验,避免其花费大量时间在整理、查找等杂务上。
  • 适当调整知识点顺序,保证知识点的连贯性,加强知识点与习题的关联性。
  • 加强对参考资料和用户发表内容的审核,避免资料和讨论区质量的良莠不齐,对网站形象造成不良影响。
(4).用户调研与采访(加分项)

采访对象为欧阳老师班级的一名同学,因为对方是笔者室友,在交流上没有太多顾虑。且对方正在学习后端相关知识,是这方面的初学者,属于技能树的核心用户。

在这里插入图片描述
可见,技能树在基本功能上能大体满足用户需求,但是在对提升用户使用体验的一些细节上仍然存在着改良空间,最终他也并不推荐使用这款软件。

(5).定性和定量评价

技能树整体使用下来,只能说大体上可以满足用户的基本需要,初学者确实能通过该软件入门某一技能。同时简洁美观的UI设计,让用户能轻松使用其主要功能。

但是就参考资料的质量、练习题的合理性、细节功能的全面度、功能的创新性而言,技能树都或多或少和市场中的其他替代品存在一定差距,比如菜鸟教程等。

按照 项目成员对自己产品的期待,技能树确实可以做到**“帮助用户系统地浏览关于一个技术领域的各个知识点”,为用户提供了一个可以“系统学习一门技术的”平台。但是在“做动手练习,并跟踪自己的成长”这一方面却不尽人意。同时对于“怎样证明自己获得了足够的技能”这一点,技能树只是简单根据选择题**的通过情况判定,这实在难以让人认同。

最后根据该评分标准进行定量评价:

描述评分(满分 10 分, 良好 6 分, 及格 4 分,聊胜于无 1 分, 很差 -3 分)
核心功能核心功能的设计和质量4(知识点和资料完善,但习题质量不佳)
细节为用户考虑的细节1(有笔记功能,但其他细节几乎没有考虑)
用户体验当用户完成功能时,不干扰用户6(界面设计简洁,无弹窗广告)
辅助功能一些辅助功能如皮肤等1(没有特殊的辅助功能)
差异化功能软件独特的功能-2(没有独特的功能)
软件的效能占用内存、启动速度8(启动速度较快,没有大量占用内存)
软件自适应性联网/断网,不同屏幕,不同操作系统的使用8(各平台使用情况基本一致)
成长性记住用户的选择,适应用户的特点,用户越用越方便。1(仅记录用户的学习情况)
用户有控制权系统状态有反馈,等待时间要合适。关键操作有确认提示,有明确的错误信息。 让用户方便地从错误中恢复工作, 快捷操作键可调整。-3(几乎没有提示,进入已通过的习题后每次都会弹窗提示已完成,体验较差。笔记功能不支持快捷键)
社区文化讨论区是否活跃,讨论质量是否合格4(讨论区有很多帖子,但是部分帖子质量较低)

最终评分:28/100,不合格

基于上述工作,我对该软件的评价为不推荐,如果确实有需求,完全可以使用市场上其他替代品(如菜鸟教程)。

2.Bug分析和提交

首先给出对Bug严重性分析的量化指标:

等级具体描述
略微影响用户体验
⭐⭐较大影响用户体验
⭐⭐⭐一定程度的系统故障;一定程度的安全漏洞;严重影响用户体验
⭐⭐⭐⭐严重系统故障;严重安全漏洞;严重影响用户体验
⭐⭐⭐⭐⭐致命性系统故障;致命性安全漏洞
(1).测试环境
  • 操作系统:Windows 10 (10.0.19044 内部版本 19044)
  • 浏览器:Microsoft Edge 110.0.1587.56
(2).功能性Bug
讨论帖快捷评分、评论按钮失效
  • 可复现性:必然发生

  • 复现步骤:

    • 进入任意技能树的任意知识点;
    • 点击进入交流讨论区;
    • 点击任意帖子下方的评分或回复按钮。
  • 描述:

    • 市场上很多知名软件(bilibili,知乎,微博等)该按钮意义通常为快捷进行回复,技能树UI界面设计之初应该也是这个目的,但是发布的版本还未完善该功能。

在这里插入图片描述

  • 技能树的讨论帖按钮表现如下图,点击回复按钮后并没有出现评论界面,而是直接跳转到帖子,即这两个按钮属于多余设计,功能并不完善。

    在这里插入图片描述

  • Bug分析

    • 可能成因

      • 项目组设计了讨论组的评分和回复两个快捷按钮,但是最终可能出于时间等各方面原因,没有实现预期功能就将软件发布了。
      • 测试把关不严,对这两个按钮没有进行适当测试。
    • 严重性

      评价指标等级理由
      系统功能⭐⭐⭐两个按钮缺失功能,一定程度上影响使用
      安全性无安全性隐患
      用户体验⭐⭐用户有大量使用该功能的情况,这将导致用户不得不进行更多繁琐的操作才能进行评价或回复

      综合以上描述,该Bug星级为⭐,略微影响用户使用。

  • Bug改进建议

    • 点击评分弹出包含五个星星的评分框,点击回复类似其他软件向下弹出其他用户评论以及评论编写框。
用户编写中的笔记丢失
  • 可复现性:必然发生

  • 复现步骤:

    • 进入任意技能树的某知识点;
    • 在右侧笔记区域进行编写;
    • 点击其他知识点或关闭页面;
    • 再次返回该知识点,已编写的内容会消失。
  • 描述:

    • 用户尚未发布的笔记,在关闭或切换页面后,将会全部消失,并且过程中软件不会给出任何警示。

    在这里插入图片描述

  • Bug分析

    • 可能成因

      • 项目组没有特别考虑用户使用时的细节,没有设计保存功能,也没有在页面跳转时提示用户保存。
      • 可能出于时间等问题,没有将功能设计全面。
    • 严重性

      评价指标等级理由
      系统功能⭐⭐⭐笔记功能设计不完善,没有全面考虑用户使用时会发生的各种情况
      安全性无安全性隐患
      用户体验⭐⭐⭐⭐若用户编写的大量笔记这样付之东流,将严重影响用户使用体验,同时也将很大程度上打击用户学习的积极性,对软件的好感度

      综合以上描述,该Bug星级为⭐⭐⭐,严重影响用户使用。

  • Bug改进建议

    • 笔记编写框下方添加保存按钮,每隔一定时间为用户自动保存一次。
    • 在用户切换或关闭页面时,自动为用户保存或提示用户手动进行保存。
没有对学习资料提交进行验证
  • 可复现性:必然发生

  • 复现步骤:

    • 进入任意技能树的某知识点;
    • 点击「参考资料」并翻阅到最下方;
    • 点击「提交参考资料,PK现有内容」输入任意符号。
  • 描述:

    • 尽管提交框提示需要提交URL地址,但是软件并未对用户输入的内容进行格式验证,输入任何字符均会显示提交成功,并且网站并不限制提交次数。

      在这里插入图片描述

  • Bug分析

    • 可能成因

      • 前端表单进行数据读入时,没有进行格式化验证,导致用户无论输入什么内容都会将其提交至服务器。
    • 严重性

      评价指标等级理由
      系统功能不涉及系统功能
      安全性⭐⭐⭐⭐存在安全隐患,通过此漏洞可以大量提交垃圾信息,影响审核人员进度,甚至导致系统崩溃
      用户体验⭐⭐用户可能在不知情的情况下提交了错误链接,一定程度上影响使用体验。

      综合以上描述,该Bug星级为⭐⭐⭐,一定程度上存在安全漏洞,且影响用户使用。

    • Bug改进建议

      • 在发送数据到后端前,前端可以对读入信息进行正则表达式匹配,只有匹配通过后才会发送数据到后端。
(3)Bug 反馈(可选加分项)

在这里插入图片描述

二、分析

1.使用此服务的所有功能,估计这个软件/网站/服务做到这个程度大约需要多少时间(团队人数6人左右,计算机大学毕业生,并有专业UI支持)。
  • 在有专业UI支持的情况下,鉴于该网站功能并不复杂,主要任务量将会是在资料的收集和整理上,如果抛开这个工作量,估计时间将会在14周左右(如果算上资料收集和整理,那工作量将会大很多)。

  • 以下为大致工作计划

    周次具体任务
    1任务分工与用户调研
    2~3用户需求分析,编写并审核设计文档
    4~7编码实现相关功能
    8代码复审,进行各单元及功能测试
    9发布alpha版本,收集用户反馈和建议
    10~12根据反馈情况进行beta版本开发,包括Bug修复和功能调整
    13发布beta版本,收集用户反馈和建议
    14网站正式上线,运维人员维护网站
2.分析这个软件目前的优劣(和类似软件相比),这个产品的质量在同类产品中估计名列第几?

笔者使用过的类似软件有菜鸟教程,W3school,下面比较技能树对比这两个网站的优劣之处。

  • UI界面
    • 排名:技能树>菜鸟教程≈W3school
    • 技能树界面简洁,功能明确。
    • 菜鸟教程和W3school界面美观度较差,但功能也比较明确。
  • 内容丰富度和准确度
    • 排名:菜鸟教程>W3school>技能树
    • 技能树作为新兴网站,资源量相较其他两个网站较少,且有部分描述不准确的资料。
  • 讨论区活跃度
    • 排名:技能树>菜鸟教程>W3school
    • 技能树有CSDN的用户基数,讨论区比较活跃。
    • 菜鸟教程有用户笔记功能,但没有设定单独的讨论区。
    • W3school没有设计响应功能。
  • 学习辅助
    • 排名:菜鸟教程>技能树>W3school
    • 技能树有少数习题,但多数和资料关联性差,且只有选择题。包含笔记功能。
    • 菜鸟教程有较为符合资料的习题,同时有大量编程实例。
    • W3school没有设置相应习题。

综上所述,对三个软件排名为:菜鸟教程>技能树>W3school

3.从各方面的问题,推理出这个软件团队在软件工程方面可以提高的一个重要方面(具体建议)。

根据上述分析,我认为该软件团队可以在用户需求分析多做提高。根据项目成员对自己产品的期待,该软件并没有做到为用户提供高质量的学习资料,包括参考资料的质量良莠不齐,练习题设置不当等问题。同时也没有考虑多种细节,导致用户在实际使用该软件学习技能时,可能会有各种各样的问题影响使用体验。如果团队能更充分地进行用户需求分析,并完善用户使用时需要的各种功能,我相信技能树会更能吸引用户。

三、建议和规划

1.市场概括

  • 市场有多大?
    • 除计算机专业外,大量工科专业也会学习C语言、python等编程语言。教育部2021年教育统计数据显示,工学在校生数超过600万
    • 根据工信部统计,截止2020年,我国软件业从业平均人数高达 698 万人
    • 根据CSDN创始人蒋涛在2021年的演讲,CSDN活跃用户3000多万
    • 因此不难估计市场用户会在十万级到百万级
  • 直接的用户有多少?潜在的用户又有多少?
    • 根据讨论区的活跃度简单分析,所有技能树模块的直接用户(实际使用技能树学习的用户)总和应该不超过10万
    • 潜在用户(包括在校大学生,CSDN用户等)数量会很大,根据上述数据,数量将在数十万甚至上百万

2.市场现状

  • 目前市场上有什么样的产品了?
    • 菜鸟教程、W3school、LeetCode、洛谷、CS-DIY-WIKI等。
  • 上述产品的定位、优势与劣势在哪里?
    • 上述产品的定位主要分为两类:
      • 教程类:菜鸟教程、技能树、W3school
      • 练习类:LeetCode、洛谷
    • 优势
      • 技能树有CSDN的庞大用户基数作为潜在用户,同时能依靠CSDN已有的大量博客为用户提供较为完整的资料。
    • 劣势
      • CSDN社区名声较差,可能会因此难以吸引站外用户。
      • 相比LeetCode、菜鸟教程等网站,技能树没有提供用户编写、运行代码的工具,这对技能学习是严重欠缺。
  • 上述产品之间呈现什么样的关系,哪些为竞品关系?以及竞争中的各方态势如何?
    • 教程类、练习类同类中呈竞品关系(技能树、菜鸟教程、W3school之间,洛谷、LeetCode之间),由于练习类网站需要教程类网站的内容作为前置知识,因此两类之间一定程度上呈互补关系
    • 目前来看,尽管菜鸟教程更受用户信赖,但技能树可以吸引CSDN社区用户,综合来说菜鸟教程在其中略占优势。而W3school相对来说名气较小,用户量少,更显颓势。

3.市场与产品生态

  • 这个产品的核心用户群是什么样的人?典型用户是什么样的?学历,年龄,专业,爱好,收入,表面需求,潜在需求都是什么?
    • 软件业从业人员
      • 一般为本科生或研究生学历
      • 年龄在20岁到40岁之间
      • 专业为计算机相关专业
      • 爱好不定
      • 一般有稳定收入
      • 表面需求是通过这些网站对技能查漏补缺,潜在需求是参与社区讨论,提升自我。
    • 在读学生
      • 本科生或研究生在读
      • 年龄在18岁到25岁左右
      • 专业大部分为计算机相关专业,少数为其他会使用计算机的各类理工科专业
      • 爱好不定
      • 一般没有收入(或实习生收入)
      • 表面需求是学习相关技术,潜在需求是通过学习激起对计算机科学的热情。
  • 产品的用户群体之间是否存在一定的关系?是否有利用其相互作用二次构成特定用户生态的可能性?
    • 从业人员是学生的后继,在读学生毕业后很有可能进入软件行业工作。
    • 在读学生会经常向毕业学长咨询学习方法,如果能给从业人员留下很好的印象,他们会更愿意向学弟学妹推荐该网站,甚至在社区里建立长期交流沟通的关系。而在读学生又会带动身边的同学使用,从而形成用户生态。

4.产品规划

  • 你要在当前软件的基础上设计什么样的新功能?为何要做这个功能,而不是其他功能?为什么用户会用你的产品/功能?你的创新在哪里?可以用NABCD分析

    • 开发代码编写调试工具,增加编程练习题。
      • Need:编程学习需要实践,纸上谈兵难以掌握。
      • Approach:与相关产品协商合作,直接调用其API,降低开发难度。
      • Benefit:用户使用后会明显的意识到自己对该技能更加理解和掌握,提高网站对用户的吸引力。
      • Competitors:相关竞品(如菜鸟教程,W3school等)该功能比较简陋,甚至没有设计。可以提高网站竞争力。
      • Delivery:CSDN有大量用户访问,因此着重在站内推广即可。
  • 如果你是项目经理,可以招聘6个人,并且有4个月的时间,你认为应该如何配置角色(开发,测试,美工等等) 才能在第16周如期发布软件的改进版本,并取得预想中的成绩。

    角色人数
    前端1
    后端3
    测试1
    美工1
    • 增加代码调试功能主要工作在于该工具的研发,而前端界面不用做大量更改。因此开发主力需要集中在后端,配置3人进行后端开发,1人进行前端修改。
  • 详细规划

    周次具体任务
    1任务分工与需求分析
    2~3编写并审核设计文档、接口规格
    4~8编码实现相关功能
    9~10代码复审,进行各单元及功能测试
    11发布alpha版本,收集用户反馈和建议
    12~14根据反馈情况进行beta版本开发,包括Bug修复和功能调整
    15发布beta版本,收集用户反馈和建议
    16正式发布网站,运维人员维护网站
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值