软工第二次个人作业——软件案例分析
项目 | 内容 |
---|---|
这个作业属于哪个课程 | 2023北航敏捷软件工程 |
这个作业的要求在哪里 | 个人作业-软件案例分析 |
我在这个课程的目标是 | 体验敏捷开发过程,掌握一些开发技能,为进一步发展作铺垫 |
这个作业在哪个具体方面帮助我实现目标 | 通过分析现有软件和提出建议与规划,对软件及其开发过程有更深的了解 |
选择的软件
这次作业选择了列表中的第3项,CSDN上的技能树功能。这里以python技能树为例。
第一部分:调研与评测
软件评测
1.个人分析
Part 1
这是该软件的初始页面。
可以看到左上角可以切换不同技能的技能树(现在是Python入门技能树)。其下是技能树中的知识列表,看上去相对比较全面。
其中间部分是学习详细情况,展示了学期进度、知识总览等等。一些细节之处,如显示了难度、学习人数,以及用不同颜色显示已完成的知识点,可以提升用户使用体验。此外还有“立flag”等功能,
右侧根据当前学习内容进行相关推荐,并且设有排名及简单的使用反馈。
- 解决用户问题/优点:
– 基本做到了“一站式”的浏览体验,并且知识的分门别类也较为清晰,可以给出“一目了然”的评价。
– 加入的立flag功能加强了学习者之间的交流和督促,起到了类似社区的积极作用。
Part 2
这是某一知识点的练习题界面。
目前练习题只有单选题,题目也较少。细节之处在于题目部分内容可预览,且展示其难度、答题数、正确率、发布者等信息。
这是上面练习题的详细内容。其右部有复制题目功能,个人猜测是为方便用户整理题目之用。
这是复制内容在Typora粘贴的效果。可以看到题目选项没有复制、格式未完全保留。
这是练习题(选择题题型)的一部分。具有代码比较功能,也可以复制代码,便于尝试运行。
- 解决用户问题/优点:
– 练习题由官方发布,较为可靠。此外在一些细节方面较人性化,如展示通过率、题目复制、代码复制等功能。 - 缺点:
– 此练习题与知识点“安装Python”直接关系似乎不大,更像是一道“安装Python”为背景的Python基础练习题。
– 在题目内容右侧的“复制题目”功能不能复制选项(众所周知,选项应该算作题目的一部分),个人认为可以算作一个bug;此外复制功能不能保留文字的格式。
– 练习题题型单一,且数量较少。 - 小建议:
– 就这个知识点的出题而言,可以考虑考察用户是否深入了解Python安装的细节,提高练习题与标题的相关性。
–改进 “复制题目”功能以允许复制题目选项,且保留完整格式。
– 在练习题或交流讨论板块,目前展现的是正文的开头部分,这样其实读者不一定能通过概览了解题目/帖子大致内容。可以考虑参考某些平台“帖子=标题+概括+正文”的办法,即让发帖人用十几个字起标题,一百字以内概括问题/内容,然后再是详细内容。预览时展示标题和概括。
Part 3
这是核心功能之一的的“参考资料”一栏。首先是视频讲解。可以查看其作者、来源,以及上传视频与之PK。
这是该节内容的一部分。可以看见这份资料考虑到了可能出现的意外情况、在不同环境下安装Python等,较全面。
这是文字资料的结尾。显示了了资料来源、作者,也可以与之PK。此外还有拓展阅读一栏,以及设有答题的快捷方式。在文字资料部分,最大的问题在于缺少滚动条,使用者若需要定位,只能使用鼠标滚轮。
- 解决用户问题/优点:
– 优先提供视频讲解,结合文字资料会提高用户的学习效率。
– 资料主要从社区筛选,存在PK机制,作者也有受益,可以促进优质内容的出现。
– 一些细节,如提供拓展阅读栏目,答题快捷方式等。 - 缺点:
– 参考资料可能需要经常更新。且技能树包含技能越多,参考资料更新的任务越重。
– 不同资料的侧重、特点不同,适合不同的学习者。只选出一份视频讲解、文字讲解,如果选出的资料不对学习者胃口怎么办?
– 参考资料部分没有滚动条,比较影响体验。 - 小建议:
– 考虑给学习者提供不止一份参考资料。
– 很多初学者在初看参考资料时,往往边看边产生疑惑,他们中的很多会选择就某个不理解的地方再去寻找其它资料。如果把拓展阅读栏目放到左侧或右侧而不是文章结尾,并在这里根据文章内容推荐相关链接,可能会减少用户额外开页面搜索的功夫。
– 在参考资料部分添加滚动条。
Part 4
这里是核心功能之一的交流讨论板块。置顶的是官方帖,其下是个人用户的讨论。此界面依旧没有滚动条。
在右侧可以选择在此处发布讨论,也可以写一篇私密笔记。可以看见支持markdown编辑,且有代码高亮。
但是在“预览”模式下,稍微缩小浏览器界面,会出现排版问题。
- 解决用户问题/优点:
– 每个知识点下都提供了讨论板块,有利于学习者之间的交流,且目前总体氛围较友好。
– 发布讨论和笔记都比较方便。 - 缺点:
– 依然没有滚动条。
– 没有筛选讨论贴功能。
– 由于按照时间排序,讨论帖容易被淹没,可能部分用户会遇到这个情况。(当然很多平台都有这个问题) - 小建议:
– 添加滚动条。
– 添加筛选功能。如根据热度、日期、关键字筛选,或仅看自己的、仅看关注的等等。
Part 5
除了Python技能树,还浏览了其它内容。除了上述具体感受之外,还有其它使用体验:
- 优点:
– 知识体系比较全面,自学者能够从中受到启发,即使不购买付费项目,也能在思路上有所收获。 - 缺点:
– 不同技能的热度不同,有的知识点学习或讨论人数较少,相关资料也少。
– 目前个人看过的内容,练习题只有单选题。如算法这类技能,只做选择题不能确保学会。考虑到目前处于内测,期待有更多的题型出现。
– 部分内容质量有待提高。比如算法部分,提供的部分参考资料中的代码甚至不带任何格式。
2.对照项目成员的期待
按照设想,技能树旨在打造IT领域的一站式学习工具,包括为学习者规划系统的学习思路、提供匹配的资源、证明自己的技能水平等。
确实基本做到“一站式”,学习者可以当作“知识图谱”用,这对于学生或刚接触IT的人有所帮助。而对于已入行者,对照技能树也可以查漏补缺。对于经验丰富者,可以借这个途径向他人分享经验和技术,同时收获个人成功。
个人认为在以下几个方面,可以考虑考虑:
- 其它学习平台的挑战。这里不一一列举,比如它们中有的主打学习资源免费,这一点对比付费学习自然能吸引更多的用户。有的与该技能树有不少功能重合,但是上线更早,等等……
- 目前还需要更多的优质内容以吸引更多使用者。可以发现有的知识点浏览量较少,其下参考资料质量不佳或没有参考资料,讨论交流也较少,这对生产者和学习者的目标都不利。考虑到其目前处于内测,以及拥有不少的潜在用户,期待未来更完善。
3.用户调研
采访了一位非本软工教学班级的同学,以下是调研内容。
- 采访对象背景?
– 同级计算机系同学。 - 为什么选择他采访?
– 因为关系较好,且不在一个软工班级。 - 他的需求是什么?
– 希望找到一站式解决编程方面遇到的关于基础知识问题的平台 - 他能上手使用吗?
– 可以上手使用。之前自学的时候使用过类似的网站学习知识,这一类服务的使用技巧大同小异。 - 有什么明显的困难,软件的开发团队为何没有意识到这些初始用户会碰到的困难?
– 困难倒不是很明显,只不过视频教学比较少,对于初学者来讲多而杂的东西相对来讲比较难接受,而且部分内容需要付费才能解锁,对于希望提高自己的自学者来讲需要到其他平台寻找相关的资料加深理解。
– 开发团队是资深的程序员,对基础知识非常了解,因此不能够完全兼顾到初学者的学习状态,同时团队为了盈利,部分内容付费解锁也是可以理解的事情 - 采访对象实际使用的产品栏目?
– 无固定产品栏目,经常在b站上寻找相关知识。(这里可能是他误解了该问题的意思,后回答主要使用了Python和C的技能树,其它也有观看) - 采访对象使用软件的过程中会遇到的问题和亮点?
– 亮点:分类清楚,描述详实,其中有不少注释帮助理解代码。
– 问题:付费内容较多,部分高阶知识无法了解其质量如何。 - 采访对象觉得从用户体验的角度来说需要改进的地方有哪些?
– 适当降低费用或者增加免费内容,同时可以增加相关视频的链接。
4.总体评价
我给出 “好,不错” 的评价。
它确实比较方便,也基本实现了“一站式”,并且结合了CSDN社区的优势。但是由于市面上已有比较成熟和具有竞争力的的学习平台,且内容质量还有提高空间,同时很多内容还需要付费,因此不一定成为学习者唯一依赖的平台。考虑到目前是内测版本,因此可以期待在正式发布时更进一步。
Bug分析
测试环境
操作系统:Windows 10 家庭中文版 22H2 19045.2604
浏览器:Microsoft Edge 110.0.1587.57 (正式版本) (64 位)
Bug 1
Bug描述
在右侧写笔记一栏,如果处于“预览”状态,缩小浏览器界面,会出现排版错误。处于“编辑”状态则没有此问题。
Bug分析
测试发现,“发布见解”这一栏在“编辑”和“预览”两个模式下的宽度不一样,可能导致了这样的问题。这可能既有开发人员的粗心,也可能有测试的考虑不周全。
这一Bug算一星,除了影响美观,没有其他问题。
Bug 2
Bug描述
在练习题界面有一个“复制题目”功能。按其描述,应当可以复制完整的题目,但以下面单选题为例,除了选项不能复制,格式也不能保留下来。
Bug分析
主要的问题在于,该功能为“复制题目”,但是题目选项作为题目的一部分却不能复制,故它应该在Bug范畴。此外复制时格式也不能保留。经测试,直接复制CSDN普通文章,可以保留其格式,证明此处题目格式不能保留属于功能实现有误。出现该问题可能是测试人员的疏忽。
该Bug算二星,因为它没有达到其描述的“复制题目”功能,与使用者的预期不符,可能影响喜欢摘录题目做笔记的使用者。
第二部分:分析
工作量分析
参考书上P104“渐进交付的流程”并作一点修改:(假定小组成员目前做过的项目不多)
- 软件概念:明确最终做出来的产品面向哪些用户,要满足目标用户哪些需求,最终达成什么愿景,等等。这一点在一周内可以完成。
- 前期需求设计:最核心的功能包括建立知识图谱;设练习题参考资料等自学板块;设置交流讨论、专栏课程等带社区属性的板块;实现编辑发布功能等。耗时大约一周,这些可以在后续开发中按实际情况调整。
- 架构设计与编码:考虑到成员技术储备可能不足,因此还需要考虑学习时间。这一部分时间比较漫长,预计为七周或者更长。
- 产生并发布一个版本:这一步的工作包括测试产品功能、修复各种问题等。考虑到小组成员的熟练度,这一部分耗时可能也较长,估计为四周。
- 收集用户反馈并产生新版本:每轮估计用时一周,预计进行三周。
综上,预计最终用时16周左右。
软件质量分析
该软件目前在同类产品中估计排名不高,原因如下:
- 同样是一站式的学习平台,目前较成熟的平台已有不少,由于先发优势,使得多数用户对这些平台具有依赖性。
- 不少平台学习资源免费或大部分免费,而本平台大量核心内容收费,在对比之下不容易吸引用户。
- 其它平台各有各的主打内容。有的平台考虑了学习者的求职需求,如牛客、力扣等;有的平台针对某一方面,如洛谷等;有的平台则有天然吸引大量用户的能力,如b站等……本软件可能的优势在于依托CSDN的用户基础。
- 本平台目前部分内容不够优质,因此即使是CSDN注册用户较多,积累用户速度可能也较慢,且社区功能也不能较好发挥作用。
第三部分:建议和规划
市场概况
- 市场有多大?
– 很大。
– 首先是广大学生,相关专业如计算机、网络安全、人工智能等。其次是在大趋势下,任何专业学生都有学习IT技术的意向,比如有参加数模比赛意向、需要分析数据、需要对实际问题建模等。
– 其次是大量劳动者(根据定义学生不算劳动者),他们有的本身在IT行业,需要与时俱进;有的不在IT行业但工作有需求或正寻求转行。
– 还有一些出于各种原因自发学习IT技术的,如自娱自乐、备不时之需等。 - 直接的用户有多少?潜在用户又有多少?
– 最直接的用户就是CSDN原有的忠实用户,他们最早观察到CSDN新功能的上线,并有意愿进行尝试。尚不清楚这部分用户数量。
– 潜在的用户是所有使用(中文)搜索引擎学习IT知识的用户。目前CSDN内容涵盖很广,绝大多数IT知识都可以在CSDN找到相应内容。有的新用户发现CSDN的学习功能可能会尝试使用该软件;有的用户在长期学习中发现CSDN社区内容丰富,可能自动寻求使用CSDN学习功能。这部分用户几乎涵盖了上述对市场分析中的群体。
市场现状
- 目前市场上的产品
– 洛谷:主要面向学习算法的学生群体。优势在于免费、比赛、社区功能、题目丰富、学习指南等等。劣势在于由于用户大多为学生,题目标签可能不准确,创作内容良莠不齐,因此部分用户将其当作入门选择。
– B站:学习只是该平台的功能之一,它面向各年龄各行各业人群,主要是视频形式。优势在于拥有大量(年轻)用户、有大量免费且完整的高质量课程、弹幕交流和评论区以及笔记等功能。劣势在于缺少深入探讨技术细节的高质量视频,以及该平台其它内容可能降低学习效率(摸鱼)。
– 牛客:定位是大学生的一站式求职平台,面向高校大学生、应届生。优势在于题库强大、社区氛围较好、招聘功能完善等。缺点是界面较繁杂、过分强调社区功能。
上述产品面向的群体有部分重叠,相互存在一定的竞争关系。其中B站是由于受众广而涉足学习板块,并非其主要运营方向。另两者则是专做学习教育,洛谷偏向于参加算法竞赛的各年龄学生;牛客则偏向于大学生、应届生。这两者在大学生中的竞争或许稍激烈,但其内容有很大区别,基本不能算作一个赛道。
市场与产品生态
- 产品核心用户群是什么样的人?
– 大学生、从业人员、转行者为主。
– 典型用户:计算机科班要应付大作业或做项目的学生、某打算转行的打工人、某岗位有新技术需求的开发人员。
– 学历:至少保证能准确理解计算机有关词语和掌握基本的英语,保证较好的逻辑水平和阅读理解能力。
– 年龄:17/18岁以上,退休年龄以下。
– 专业:计算机科班/与计算机有关理工科
– 爱好:可能都是看起来比较正经的爱好?
– 收入:不确定。
– 表面需求:系统地学一门技术/根据开发任务针对性地学/查漏补缺。
– 潜在需求:找好工作/准备转行/把一个项目做好 - 产品用户群体之间的关系以及相互作用
– 科班学生将来会成为从业人员;转行者可能是非科班学生,也可能已有工作。他们最终的目标是成为优秀的IT从业人员。
– 平台不乏学习者提出的问题。可以依托社区,鼓励技术交流、互相学习,积累优质内容。
– 在从业人员中不乏优秀者,他们可以在该平台上传授技能;平台也可以通过他们建立招聘渠道,吸引学生和求职者。
产品规划
- 在当前基础上做什么新功能(结合NABCD分析)?
– 添加针对求职/面试/具体项目的知识图谱/题库;如果可能,同时搭建实习/招聘渠道。因为绝大多数人学习IT技术的最终目标是找到好工作,而他们中不少人其实并没有明确的方向。如果推出专门板块,告诉学习者“如果你希望…,就该做这些事”,至少点击量不会少。企业根据学习者的学习详细情况选拔,给他们提供招聘机会,这样的人选也更可能符合企业的需要(如何确保学习情况真实是另一回事)。(N)
– 之所以做这个功能,是因为大多数IT技术学习者关注实践/就业。相比其它功能,它更能想用户所想,带来的效益更好。
– 要让用户使用该功能,就得尽可能多地考虑不同企业的不同情形,同时与尽可能多的企业达成合作,向用户展现权威性、全面性、可靠性。(A)
– 实现该功能后,用户可以实现一站式的学习、求职,不必在不同的平台之间横跳。(B)
– 侧重求职的一站式IT学习平台竞争比较激烈。但是CSDN社区具有内容丰富的优势,这可以满足很多学习者的解惑需求。(C)
– 在(中文)互联网搜IT技术问题,多数情况下会浏览CSDN的内容,因此能看见CSDN这一平台的用户不会少,尝试使用的用户也不会少。(D) - 配置角色
– 美工1人,开发+测试4人,内容组织1人 - 16周详细计划
– 第1-2周:明确产品概念、面向群体,分工。前期产品规划、需求设计。这些可以在后续开发中调整。
– 第3-9周:架构设计与编码。包括了学习必要的技能、功能实现。
– 第10-13周:产生并发布第一个版本。这一阶段包括美工、寻找并组织优秀内容、测试功能、修复问题等。
– 第14-16周:收集用户反馈并产生新版本。每一周为一轮,共进行三轮。