软件案例分析

项目内容
这个作业属于哪个课程2023年北航敏捷软件工程社区-CSDN社区云
这个作业的要求在哪里个人作业-软件案例分析-CSDN社区
我在这个课程的目标是学习软件工程,在教学与实践中体会软件开发的各个阶段
这个作业在哪个具体方面帮助我实现目标分析投入使用的软件工程项目,了解软件在使用环境中如何突出功能,并以用户角度寻找软件漏洞

选题

本次作业,我选择针对CSDN技能树进行分析。

一、调研,评测

软件评测

1. 使用CSDN技能树

CSDN技能树是针对某一特定计算机技术领域,综合相关重要技术内容,生成的类似电子书籍的技术博客的集合。技能树帮助用户指出待学内容的重要知识点,并明确其学习路线,解决了用户准备学习某一技术却无从下手,或面对互联网成千上万的技术内容无法自主分辨的问题。

功能1:根据技能树学习技术博客

以Java技能树为例,我用了十多分钟大致浏览了全部博客,发现技能树对于Java技术的相关介绍比较详细。从Java环境配置、运行,到Java语言本身的基本语法,再到高级操作如IO,文件操作等,CSDN的技能树都以高质量的学习博客为用户呈现出优质的学习内容,便于用户规划学习方法,以掌握Java相关知识。
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

值得一提的是,CSDN技能树中有“立flag”功能,即自己根据学习计划在CSDN中设定学习相关内容的时间,并自己注入一定金钱自我激励。

在这里插入图片描述

功能2:根据技能树章节对应练习题巩固知识

为了提升用户学习效率,CSDN技能树每一章节都配对相应的练习题,讨论区和笔记。但技能树作为一款商业软件,毕竟要带来收益,故配对的练习题大部分需要开通会员才能享用。这里我尝试了一些免费的练习题。每道题答题完毕后,会有正确或错误的反馈。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

功能3:参与每章节讨论区,用户可在讨论区或私人笔记本发布笔记

用户可以阅读技能树每章节讨论区中的帖子,并通过回复功能参与讨论。此外,用户可以根据自己的主观感受为每篇帖子评分。

在这里插入图片描述

2. 软件优缺点
优点
  • 较为全面地总结了某些技术领域内重要的知识点
  • 收集了相关领域的高质量博客,为用户省去了信息甄别的成本
  • 界面简洁,便于用户专注知识的学习
  • 基本技能树功能完善,辅以练习题、笔记等助记功能,用户能高效掌握知识点
  • 博客针对性强,以精炼的语言和典型样例讲清知识点
缺点
  • 相对菜鸟教程等网络上其他免费技能树,技术面覆盖量少
  • 讨论区存在低质量或不相关的帖子
  • 练习题功能存在感低,每章节练习题数量太少甚至没有
  • 立flag功能用处甚小,其本质还是用户自我督促,而用户想直接完成flag也是可行的,没起到太大实际作用
3. 改进意见

技能树软件能在市场中生存的重要方面就是内容的质量。因此,我主要从CSDN技能树当前文章的质量、阅读体验方面和其他功能一些使用小细节提出改进意见。

  1. CSDN技能树涉及的技术面太少,后续需要补充更多博客才能更好地覆盖不同用户的需求。

  2. 付费内容太多,而且目前每个技能树基本能在网络上找到其他替代品。如下图,MySQL的查询语句这样重要且基础的内容都要收费,或许大多数用户看到这里都不会再投入时间转而上网搜索其他教程了。

在这里插入图片描述

  1. 练习题板块开放用户自己投入题目。部分用户在学习中或学习后的应用中会对某一知识点有所感悟,倘若能允许并鼓励这些用户将自己深有体会的场景总结成习题发布到对应章节,其他用户也能收获甚多。
4. 用户调研

采访对象背景: 其他软工班级的同学,采访他主要因为他平时自学计算机技术比较多,之前使用过较多技能树相关产品,对CSDN技能树相关功能会更敏感。

采访对象实际使用的产品栏目: Java技能树。

采访对象遇到的问题和亮点: 采访对象认为练习题较[图片]少和付费内容较多比较影响使用,而每个章节有讨论区可以让用户分享讨论自己的学习心得是一大亮点。

采访对象认为需要改进的地方: 采访对象希望增加每个章节练习题并提高练习难度,这样更能掌握所学知识。

在这里插入图片描述

结论

考虑到网络上有菜鸟教程等高质量且受众群体更多的技能树,且CSDN技能树无论是内容质量、内容广度或是其他功能的设计,都不能超越已有技能树,我对CSDN技能树给出 b)不推荐

目前产品离原来的期望

学习完技能树也很难直接成为合格工程师

技能树是CSDN提供的系统化,面向实战的学习环境。它能帮助用户从初学者成长为合格的xxx工程师。

就目前某一技能树相关博客而言,个人感觉大部分用户学习完这些内容,只能算是基本了解相关重点知识,离成为“合格的工程师”还有甚远的距离。

技能树内容并非智能替换为更高质量

它系统地整理了关于xxx领域的知识点,并从海量的 CSDN 数据中不断更新高质量内容。

个人感觉这里的描述类似于人工智能不断计算CSDN知识库中高质量的内容然后不断替换技能树中的博客,但个人感觉技能树中的博客似乎是长时间不变的,即使变也是人工替换(在网上浏览到去年的技能树笔记发现内容一致)。

寄予厚望的练习题板块未充分发展

除了传统的阅读学习,技能树为每一个知识点都提供了匹配的练习题,帮助用户随练随学直到精通。

通过浏览技能树可以发现,点进某一章节页面会自动停留在练习题位置,由此可见开发者希望练习题板块成为CSDN技能树的特色功能。但实际上,相当部分章节的练习题数量很少且题目质量一般,只考察一两个简单问题。这种练习题环境对用户掌握知识并没有太大实质性帮助。

Bug分析

测试环境

操作系统:Windows 10 家庭中文版 21H2 19044.2604

浏览器:Chrome 110.0.5481.178(正式版本) (64 位)

Bug1:不能发表笔记
Bug内容

我在使用技能树笔记功能时,发现编辑好笔记后点击发布,此时发布按钮出现加载动画,但过去很长时间一直在加载并未发布成功。该Bug在我使用技能树的两天时间里一直存在

检查浏览器控制台后发现如下报错:

在这里插入图片描述

阅读报错信息可以初步发现,发布笔记失败的原因是向服务器发送请求被拒绝,而拒绝的原因是该请求为CORS请求但请求的资源(代码)开头没有Access-Control-Allow-Origin故拒绝了该请求。

Bug产生原因推测

根据我个人之前PHP后端开发经验,PHP文件开头需要加入访问权限的控制,前端发送的请求才能被处理并返回正确资源。这里的Bug很大可能是后端文件没有在开头申明,导致前端发出的请求被拒绝。

Bug严重性

该Bug使得用户不能新增笔记,属于系统功能未正常实现,而笔记是CSDN技能树的特色功能之一,因此会极大降低用户的学习体验,影响软件口碑。考虑到该Bug不会产生安全性漏洞,我给该Bug严重性评级为4星(满星5星)。

为何Bug未在发布前修复

倘若该Bug产生原因真如我所推测的,是由后端文件未加上权限申明引起的,则但凡测试了该功能就会发现该请求不能正常工作。因此我认为是测试把关不严的后果。

Bug改进建议

在对应后端文件开头加上Access-Control-Allow-Origin

Bug2:笔记预览界面在笔记过长超出屏幕时不能上下滑动预览
Bug内容

CSDN技能树的笔记在长度过长时,倘若打开预览界面,会发现界面只呈现笔记从头开始一整屏幕的内容,不允许用户往下滚动查看。该Bug一直可复现

在这里插入图片描述

在这里插入图片描述

通过上述示例可以发现,屏幕还未显示第25行便不往下继续展示,此时用户也无法向下滚动。

Bug产生原因推测

该Bug属于功能性Bug,开发人员未实现该预览前端界面的滚动功能。

Bug严重性

该Bug使得用户在笔记过长时无法正确预览全文,进而影响使用体验。考虑到该Bug不会产生安全性漏洞,且大部分情况下用户在技能树里的笔记都比较短,此Bug触发频率较低,我给该Bug严重性评级为2星(满星5星)。

为何Bug未在发布前修复

个人推测,测试人员在测试该功能时只测试了较短文本能否以Markdown语法正确显示,并未充分考虑文本过长时能否上下滚动。因此,我认为该Bug由测试把关不严导致。

Bug改进建议

在预览对应前端控件上加上滚动功能。

Bug3:浏览器尺寸改变时,技能树目录界面不能很好适应而产生文本屏蔽和空白
Bug内容

在任意技能树目录界面,浏览器全屏时界面显示正常,而浏览器缩小后,目录对应的部分未完全显示,而向右滚动发现原本内容被空白取代。该Bug一直可复现

在这里插入图片描述

在这里插入图片描述

Bug产生原因推测

该Bug可能因为前端开发人员未充分考虑组件在浏览器中尺寸适配而产生。根据个人前端(网页端、安卓端)开发经历,有时候前端开发人员为了方便而根据特定尺寸设计的固定布局、相对布局等,在页面改动后便会出现内容位置不匹配的情况。

Bug严重性

该Bug使得用户不能以其他尺寸调整浏览器,进而影响使用体验。考虑到该Bug不会产生安全性漏洞,且大部分情况下用户选择全屏浏览目录,此Bug触发频率较低,我给该Bug严重性评级为2星(满星5星)。

为何Bug未在发布前修复

个人推测,测试人员未测试该界面在不同浏览器尺寸下的展示情况。因此,我认为该Bug由测试把关不严导致。

Bug改进建议

在前端设计组件布局时尽量使用相对布局,或者在难以避免组件由于浏览器尺寸改变而布局改变的情况下控制浏览器的最小尺寸。

二、分析

工作量分析

对于6位左右的计算机大学毕业生组成的,并有专业UI支持的团队来开发CSDN技能树这一项目,我对开发过程的工作量及所耗时间估计如下:

  1. 系统需求分析:这一阶段需要团队充分讨论待开发软件所要支持的服务、功能。考虑到可能存在现有产品调研、用户调研等步骤,确定到开发技能树、练习题、讨论区、发布笔记等功能,这一阶段估计耗时三天
  2. 前期设计:这一阶段需要规划后续开发步骤,包括明确分工,确定开发语言等。这一阶段未设计复杂具体的操作性任务,估计耗时三天
  3. 接口设计:在分析完需求后团队可以开始设计接口。假设团队6人暂时分成3人前端,2人后端,1人PM,则彼此根据之前讨论的功能,商议出编码级别完整的功能接口相对而言比较复杂,估计耗时两周
  4. 程序设计:团队在这一阶段需要明确程序架构,并确定测试计划。具体的,前端需要完成界面设计,后端需要完成数据库表设计等。这一阶段需要充分设计,投入的时间也较多,估计耗时两周
  5. 程序开发:有了前面充分的设计,开发的速度会大幅加快。开发阶段估计耗时一周
  6. 功能测试:测试是软件工程至关重要的环节,该团队可能有些成员既要负责开发也要负责测试。测试出Bug之后,需要重新返回开发阶段修改再测试。这一阶段也很复杂,预计耗时两周
  7. 商业模式:该产品开发完成后投入市场使用这一步骤比较独立,涉及到较多商业方面的考量,预计耗时一个月

根据上述分析,该团队开发CSDN技能树项目总耗时在三个月左右。

软件质量分析

排名估计

个人估计CSDN技能树在同类产品中排5-10名。CSDN技能树的优势在于其融合了CSDN这一用户量大的社区,用户拥有在社区中学习的体验,可以实时提问、分享心得等,这一点是其他产品难以比拟的。但致命的缺点在于,其他同类产品已经运行维护很长时间,无论是博客数量还是用户数量都累积了很多,因而口碑稳定,用户量稳定,CSDN技能树以目前的情况来看难以从其他同类产品中分到市场。比如在搜索引擎搜索“java教程”,首先推荐的便是菜鸟教程、w3cschool等产品,而CSDN技能树根本没有出现在搜索结果中。由此可见CSDN技能树当前并不能在同类产品中排在很高的位置。

对于该团队的建议

该团队需要在开发的前端界面的适应性问题上多花时间。我在使用CSDN技能树时在某些界面发现浏览器尺寸改变后前端内容展示有误,而且我在上网浏览时也看到一年前的博客指出过技能树的一些展示Bug,但我在验证时发现Bug已经修复。由此可见,该团队在开发前端界面时还不是太得心应手,可以多花点时间学习其他网站前端开发经验。

三、建议和规划

市场概况

  • 计算机技术方面的技能树市场很大。许多计算机相关专业的大学生甚至是工作中的技术人员都有通过技能树快速入门一项技术的需求。
  • 直接用户是部分CSDN的爱好者使用者,他们关注CSDN推出的新功能并开始尝试使用技能树这一板块。考虑到很少用户在学完某一技能树后再多次反复观看,直接用户的保持量应该较少。潜在用户是所有具有学习入门一项新计算机技术需求的人,这类用户基数大,且大多正在使用其它同类产品,是CSDN技能树需要吸引的主要群体。

市场现状

  • 目前市场上有两类相关产品:
    • 菜鸟教程,w3cshool等:这类产品的定位在于输出高质量博客广泛覆盖计算机相关人员对于技能树的需求,以此吸引用户群体。
    • 洛谷,AcWing等:这类产品主打算法题联系,但同样具备技能树功能。它们主要以练习为主,帮助用户确定学习路线后提供高质量练习题,帮助用户在实战中学到知识。
  • 菜鸟教程类产品的优势在于博客数量多,覆盖面广,且用户基数大,但缺点在于缺少社区式的学习氛围。洛谷类产品的技能树主打算法方面,技术点覆盖少,但提供的练习题质量高,实战效果好。
  • CSDN技能树与菜鸟教程类呈明显竞品关系,他们都定位在输出高质量技术博客,但生态环境方面略有不同。CSDN技能树与洛谷类产品呈合作衔接关系,用户目前在CSDN技能树中能得到的练习很少,可以在学完理论知识后进入洛谷实践。

市场与产品生态

  • 核心用户群:需要快速上手某项技术的计算机相关人群,包括大学生和工作经验较少的人。典型用户应该是本科生,20-25岁,计算机相关专业,爱好探索各类计算机技术,表面需求是学习某项技术的核心内容,潜在需求是能将所学运用在需要完成的实践任务中(大多数时候是大作业之类的任务)。
  • 用户群体之间大多互相推荐,一起学习。此外,某次学习体验会深刻影响该用户后续是否会继续使用该产品,甚至是否会向身边同样类型用户推荐该产品。此外,CSDN技能树融合了社区生态,多用户之间可以在社区中交流,并多次重复同时使用技能树。因此CSDN技能树有利用用户间相互作用二次构成特定用户生态的可能性。
  • 技能树与CSDN这一庞大产品的多个功能相关,比如社区功能,问答功能等。用户可以通过社区共同学习技能树相关内容,同时对于疑问点及时通过问答系统提问获得他人帮助。因此CSDN技能树具有利用各个产品特性之间的相互关系二次构成产品生态的可能性。

产品规划

  • 新功能: 技能树每一章节增加“读者高质量文章”新版块。这一功能允许技能树的使用者针对某些知识点自己输出文章。用户自己的文章经过审核后可展示到“读者高质量文章”板块。
    • N(Need,需求):在如今Web2.0到Web3.0的时代下,互联网使用者大多有输出自己想法的需求。具体到技能树层次,许多用户在阅读完CSDN官方提供的博客之后可能联想到之前的阅读经验或项目经历,产生了一些文字需要分享。而当前CSDN技能树只针对用户可能存在疑惑这一实际情况提供了讨论区板块,用户若在此输出自己的文章,可能不会引起其他用户的关注,甚至时间一长就被冲刷到讨论区靠后的位置,以至于无人浏览。因此,从用户角度来看,为需要输出自己想法的用户单独设立新板块是有必要的。此外,其他不满足于只阅读官方提供的博客的用户有更多的选择。有些用户在阅读完技能树现有博客后可能意犹未尽,想要更深入地探讨。倘若该章节已经呈现出其他用户已经思考过的结果,这些文字对于其他用户发散思维而言也是弥足珍贵的。
    • A(Approach,做法):技术层面而言,开发团队只需要在前端增加对应板块的界面即可,而后端只需要增加存储用户高质量文章的接口即可实现这一功能。商业层面而言,CSDN可以利用现有庞大用户群体,发送这一新功能的推广,以此吸引对技能树有需求的用户。
    • B(Benefit,好处):对用户而言,“读者高质量板块”既满足了有输出自己想法的用户的需求,又为其他受众用户提供了除官方博客外更广阔的视角与内容,丰富用户的阅读体验。而且,对平台而言,若有其他用户能为技能树这一社区注入更多高质量的新鲜血液,CSDN技能树的发展会更快。目前博客如何更新是CSDN技能树很大的瓶颈。如果平台能不断受到用户自主贡献的高质量文章,平台本身也会不断被扩充,容量更大。
    • C(Competitors,竞争):目前市场上同类产品几乎只提供了讨论区板块,而没有途径专门展示用户自己输出的高质量文章。因此,倘若该功能被开发出来进入市场,便具有“先发优势”,以此初步吸引对该功能感兴趣的用户。
    • D(Delivery,推广):该功能可以嵌入讨论区功能旁边的一个按钮,地位与讨论区相同。至于商业推广,可以在CSDN主页推出该功能的广告,简要介绍该功能即可。
  • 配置角色: 开发3人,测试2人,美工1人。
  • 详细规划:
    • 1-2周:团队充分讨论产品需求,以此延伸出具体任务并分工。
    • 3-4周:页面设计,数据库表设计等。
    • 5-6周:前后端接口设计,规划测试计划。
    • 7-9周:前后端开发+美工美化界面。
    • 10-11周:测试人员测试各功能,发现Bug后由开发人员修改再测试。
    • 12-15周:不断迭代,发布新版本,收集用户反馈并针对产品进行调整。
    • 16周:发布最终产品。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
对于软件测试的需求分析案例,我可以提供一个简单的示例来说明。 假设我们正在开发一个在线购物网站,以下是一些可能的软件测试需求分析案例: 1. 用户注册和登录功能: - 测试用户能否成功注册并登录。 - 测试用户输入无效信息时是否能够正确验证并给出相应错误提示。 - 测试用户忘记密码时能否通过重置密码功能恢复访问。 2. 商品搜索和筛选功能: - 测试用户能否根据关键字成功搜索到相关商品。 - 测试用户能否使用筛选功能按照不同的商品属性(例如价格、品牌、颜色等)进行精确筛选。 3. 购物车和结算功能: - 测试用户能否将商品成功添加到购物车中。 - 测试用户能否正确修改购物车中的商品数量或删除商品。 - 测试用户能否顺利完成结算流程,并生成正确的订单信息。 4. 支付和物流功能: - 测试用户能否选择合适的支付方式并成功完成支付。 - 测试用户能否正确填写收货地址和联系方式。 - 测试用户能否在订单状态更新时收到相关通知。 5. 用户评价和客户服务功能: - 测试用户能否对购买的商品进行评价并显示在相应的页面上。 - 测试用户能否联系客服并及时获得解答或帮助。 以上仅是一个简单的示例,软件测试需求分析案例会根据具体的软件产品和业务需求而有所差异。在实际项目中,通常需要进一步细化需求,定义测试用例,并进行详细的测试计划和测试执行。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值