earendilzhu

[I.2] 个人作业:软件案例分析

[I.2] 个人作业:软件案例分析

项目 内容
这个作业属于哪个课程 https://edu.cnblogs.com/campus/buaa/BUAA_SE_2025_LR
这个作业的要求在哪里 https://edu.cnblogs.com/campus/buaa/BUAA_SE_2025_LR/homework/13367
我在这个课程的目标是 通过实际的工程实践,进一步体会现代软件工程构建的方法论,在这个过程中不断完善个人技术栈
这个作业在哪个具体方面帮助我实现目标 通过一个具体软件案例,让我懂得如何对软件进行全面科学的分析,为之后的软件开发奠定基础

​ 我选择的题目是第三题音乐软件,选择QQ音乐和网易云音乐两个软件进行分析,并将QQ音乐作为我的分析主体。

​ 当前音乐已经成为大学生日常娱乐生活的重要组成部分,因此人们格外重视各类音乐软件的质量和可用性。QQ音乐和网易云音乐分别是腾讯公司和网易公司旗下的音乐软件,在当今音乐软件市场中占据了主流地位。接下来本人将对这两个软件进行多方面评测,并形成一份简要的案例分析报告。


第一部分 调研,评测

软件评测

软件使用

​ 本人平常使用的音乐软件就是QQ音乐,已经大量使用过并熟悉了软件的基本功能,远超10~30分钟。

软件分析

​ 现简单介绍QQ音乐的基本软件使用方法。登录QQ音乐之后,首先进入的是首页(如下图所示)。图中上方红色方框圈出的部分是音乐推荐区,是QQ音乐根据用户平时的听歌习惯(即用户画像)为用户自定义推荐的歌曲。左侧红框圈出的部分包括一些用户本地数据,包括喜欢(用户喜欢的歌单),最近播放,本地和下载,试听列表等等。用户可以自定义歌单或者收藏歌单。对于自定义歌单,除了将音乐收藏入歌单之外,还可以进行自定义歌单名称,歌单封面等操作。

​ 正下方的条形区域是当前正在播放的音乐信息,用户可以进行查看评论,调整播放方式等操作。

​ 正上方的区域是搜索区,用户可以在其中搜索想要播放的歌曲名称。

​ 下图为音乐播放界面。播放背景以及混音效果,音质等等选项可以由用户自行选择。

​ 除此之外还有账号管理,充值,评论等等功能,由于并非属于软件核心功能,这里不多加赘述。QQ音乐应用适配PC端和移动端,上述图片均是PC端软件的截图,不过移动端的界面和使用方式与PC端大同小异,这里不再重复。

​ QQ音乐作为一款知名度很高的音乐软件,在各方面都能较好满足用户的需求,换句话说,无法有效满足用户需求的软件也不可能占据如此高的市场份额。不过在一些细节方面上仍然可以总结出该软件的优缺点,具体表现如下表所示。

具体方面 优点 缺点
数据量 QQ音乐与多音乐版权方进行合作,音乐总量大,数据量大,全面包含绝大多数主流音乐人的作品,能够满足绝大多数用户的收听需求 对小众音乐流派作品的收录不足。例如OST音乐作品,音游作品等普遍缺少官方音源,给该部分音乐的受众带来不便
界面 界面设计简明,移动端操作友好,用户易于上手 设计感不足,美观度不足
功能 功能完整丰富,包括在线K歌,一起听,个性化推荐等等,提升了用户的使用体验 存在一些冗余没有意义的功能,比如弹幕功能
准确度 歌曲搜索准确度高,可以根据歌名和歌词搜索;通过分析用户画像准确向用户推荐新歌;推出对接DeepSeek-R1的AI听歌助手,听歌识曲准确度高 对部分群体来说,推荐算法仍存在优化空间
用户体验 在听歌方面用户体验好,页面简约,便于操作 对于非会员广告较多,影响用户体验
改进意见

​ 结合我本人对该软件的使用体验以及上述调研工作,我对QQ音乐提出如下几点改进意见:

  1. 在移动端的歌曲播放界面有K歌功能按钮,一方面易误触从而进入K歌界面,另一方面有K歌需求的用户占比数量不大,应当移出歌曲播放界面。
  2. 增加更加用户友好的歌单管理接口。比如添加“随机打乱歌单”以及“倒序排列歌单”等功能。
  3. 在网络条件不佳的情况下表现不够好,不能及时切歌到已缓存音乐。
用户调研

​ 我选择了吴际老师班的韩若愚同学采访。该同学从初中开始使用QQ音乐,至今共8年,有丰富使用经验,对产品功能有深刻理解,因此选择该同学作为采访对象。下附采访的聊天记录截图。


​ 该同学的主要使用需求是听歌。或是读书学习的时候,或是跑步锻炼的时候,或是外出游玩的时候,在不同的情境下期望能够聆听不同音乐以愉悦身心。主要使用的产品栏目是听歌,个性推荐。

​ 使用产品时的问题是:不需要交友、直播等与听歌无关的功能;界面因为功能的增加变得过度冗余。使用产品时发现的亮点是:曲库大而全,有令人满意的个性推荐功能。认为需要改进的地方是:希望出一个QQ音乐精简版,只要听歌的功能。

评测结论

​ 根据给出的评级标准,结合个人使用体验以及用户调研结果,我选择

d)好,不错

作为我对该软件的评价等级。这是因为QQ音乐作为一个音乐软件在大多数方面做的非常优秀,处于行业领先地位。虽然有部分影响用户体验的设计缺陷存在,但整体瑕不掩瑜。给出d)级而非e)级的原因在于该软件仍然有继续改善和发展的空间。


Bug分析和提交

Bug评价量化标准

​ 在分析该软件的Bug之前,为了便于评估漏洞的严重程度,首先要建立合理的评价量化标准。具体评价标准结合了系统功能、安全性以及用户体验等维度,如下所示。

  • ⭐⭐⭐⭐⭐(致命bug):可能导致软件系统完全崩溃,核心功能失效,导致用户无法正常使用该软件,出现致命性安全漏洞
  • ⭐⭐⭐⭐(严重bug):导致软件系统性能严重下降,用户在使用软件中产生困难,严重安全漏洞,导致部分用户数据泄露
  • ⭐⭐⭐(中等bug):部分非核心功能运行异常,影响部分用户的正常使用,但不影响核心功能使用,可能导致系统被轻度攻击
  • ⭐⭐(微型bug):某些非核心功能产生轻微异常,会对用户体验产生轻微影响,可能对系统或用户数据造成轻微影响
  • ⭐(建议性bug):几乎不影响软件系统的使用功能,非必需修复的bug,类似改进点,无安全风险

​ 根据本人的使用经历,我在QQ音乐中找出了两个Bug,下面对这两个Bug分别进行问题分析和评估。

Bug 1

​ 本Bug出现在移动端QQ音乐上。具体表现为在将新歌加入歌单后,歌单显示的歌曲数目正确,但显示的最新歌曲条目并未更新成加入的新歌,而是加入之前的老歌。

测试环境

​ 移动端:OriginOS5操作系统,QQ音乐版本14.2

可复现性

​ 本bug是偶尔发生的bug,20次测试中仅出现1次bug,因此暂时认为该bug发生的频率<5%。

​ 复现步骤:在移动端QQ音乐创建一个歌单(或利用已存在的歌单),确保歌单中有歌曲。将一个新的歌曲添加到歌单中,在偶然情况下就可以看到bug的出现。

Bug描述

​ 将歌曲加入歌单后,歌单的首歌曲名未发生变化,而歌曲总数增加了。


​ 图中可以看到,enjoy歌单中的最上面一首歌是《深呼吸》,而打开歌单后,看到实际的第一首歌是《轻抚你的脸》,出现了显示bug。

Bug分析

​ 经过本人分析,我猜测歌曲的总数数据缓存在QQ音乐移动端本地,而具体的歌单内部歌曲信息(包括第一首歌的信息)存储在远程服务器。当在网络出现波动时查看歌单,歌曲总数由于缓存在本地能够正常显示,而由于与服务器通信不畅,无法获取准确的第一首歌信息,从而出现该bug。

​ bug严重度:⭐⭐。歌单信息显示并非核心功能,并不能对用户体验产生什么实际影响,并且在添加新的歌曲后数据也会恢复正常,不过仍然暴露了该应用的微小安全漏洞。

​ 可能开发团队中的测试工程师并没有在各类网络条件下充分测试功能,从而导致bug的产生;也有可能缓存逻辑涉及到底层代码,而原本代码质量不高,难以更改数据缓存逻辑。

Bug改进建议

​ 软件此处的正常行为在上文已经提过,这里不再赘述。

​ 开发团队可以通过适当重构代码(虽然代价较高)来提升代码质量。将歌单第一首歌曲的信息缓存在移动端,就可以避免数据的不一致性,从而避免bug出现。

Bug 2

​ 本Bug需要移动端QQ音乐和PC端QQ音乐共同配合才能暴露出来。QQ音乐中有听歌总时长统计功能,但是只有移动端QQ音乐播放的音乐时长会被计入总时长,直接忽略了PC端听歌的数据。

测试环境

​ 移动端:OriginOS5操作系统,QQ音乐版本14.2

​ PC端:Microsoft Windows 11 10.0.26100 操作系统,QQ音乐版本21.11

可复现性

​ 本bug是必然发生的bug。

​ 复现步骤:在移动端点开一首歌曲听完,记录下显示的听歌总数,切换到一首其他的歌;在PC端播放刚才移动端播放的第一首歌;再次在移动端打开该歌曲。

Bug描述

​ 听歌总数只增加了1(移动端)而不是2(移动端+PC端),即PC端听歌数据并未计入听歌总数。在年度听歌报告中也可以体现这一点,但是由于不易得到年度听歌报告资料,暂不展示相关图片。



​ 第一个图中显示《头发乱了》这首歌已经听了31次,听完后共听32次;第二个图显示在电脑端听完《头发乱了》,此时共听33次;第三图中显示《头发乱了》只听了32次,并非33次。

Bug分析

​ 我猜测bug出现的原因是:PC客户端和移动端虽然共用一个服务器数据库,但是在统计听歌数据的程序处理逻辑上没有做到统一,从而出现逻辑的不一致性。

​ bug严重度:⭐⭐。听歌次数统计功能并非核心功能,只对用户体验造成轻微的影响,也并未暴露出系统很严重的安全问题。

​ 或许开发团队已经意识到了这一漏洞的存在,但可能由于代码质量不高,存在过度逻辑耦合,难以再次更改PC客户端的听歌统计数据逻辑,从而将其将错就错地留了下来;也有一种可能,开发团队没有掌握好用户需求,故意只统计了移动端听歌数据,不过我认为可能行不大。

Bug改进建议

​ 软件此处的正常行为在上文已经提过,这里不再赘述。

​ 开发团队可以通过适当重构代码(虽然代价较高)来提升代码质量。将PC端与移动端的软件逻辑统一即可。

Bug反馈

​ 已将bug 1相关问题向QQ音乐官方维护人员反应,下为截图证明。


第二部分 分析

工作量分析

​ 据网上信息显示,QQ音乐移动端共120万行代码,姑且认为PC端也需要120万行代码,共240万行代码。除此之外,QQ音乐软件功能实现复杂度很高,包括需要实现多个复杂模块之间的交互,音频格式与数据之间的转化,复杂算法的部署(例如个性化推荐算法),需要适配各类设备平台并确保一致性,需要实现从前端到后端的完整技术栈开发,等等。经过我的评估,从零开始开发一个类似软件需要大概24周的时间。

软件质量分析

下面各平台的特点总结部分借助了LLM。

平台名 用户体验(优势) 用户体验(劣势) 推荐算法 平台兼容性 更新频率
QQ音乐 华语音乐资源丰富,与微信整合 界面广告多 侧重热门歌曲推荐 移动端,生态链全面完善 月度更新
网易云音乐 设计更加年轻化,有评论区文化特色 版权问题较多,音源较少 侧重小众歌曲发现 移动端,智能硬件端合作较少 月度更新
酷狗音乐 直播功能突出,歌词动效丰富 界面信息复杂 传统协同过滤为主,推荐结果偏大众化 移动端 月度更新
Spotify 曲库全球化,资源丰富 中文资源较少,广告多 协同过滤结合自然语言处理,准确率高 全平台,国际主流,适配智能音箱 季度更新
Soundcloud 适合独立音乐人开发,具备remix文化 主流音乐较少,音质低 基于社交关系链推荐,侧重音乐人推荐 移动端,主打网页端 年度更新
QQ音乐在国内同类产品中的质量可以排到第一名。就本人感受来说,由于我主要听华语音乐,选择QQ音乐是不错的选择,一开始我使用的是网易云音乐,但后来由于音乐版权太少,改用QQ音乐,感觉效果不错。

​ 在软件工程方面,QQ音乐工程师团队可以努力实现模块之间的解耦,从而防止潜在bug的产生,这涉及到对软件整体架构的重构。实现解耦之后,会对未来添加新的服务功能模块产生更多便利,为减少后续工作量奠定工程基础。QQ音乐还可以改善自定义推荐功能的模型架构,在减小服务端延迟的同时提升推荐质量。


第三部分 建议和规划

市场现状

​ 当前,音乐文化消费已经成为中国年轻一代人的生活需要,拥有广阔的音乐市场。据统计,2024年中国音乐市场总规模接近1000亿元,从行业市场结构来看,数字音乐和音乐版权一直是我国音乐市场最主要的组成部分,2021年二者市场占比合计达99%以上。其中数字音乐占比最高,为66%,音乐版权占比为33.4%,而实体音乐占比仅为0.6%。截至2021年12月,我国网络音乐用户规模达7.29亿人次。近年来用户规模增速逐年下降,证明音乐市场逐渐接近饱和,但是仍有不小上升空间,潜在用户仍有2~3亿人左右。

​ 目前市场上QQ音乐的主要竞争产品有:网易云音乐,酷狗音乐,Spotify,Soundcloud等等,其中与前两者的竞争最激烈。

​ 上述产品在各方面的优势劣势与特点已经在上表中展示。QQ音乐,网易云音乐,酷狗音乐等国内音乐厂商逐步进军国外,试图占据部分国外音乐市场份额。各方均希望在更多平台上占据份额,如车载音乐等领域。QQ音乐拥有资源优势,网易云音乐拥有小众音乐的优势,酷狗音乐拥有用户社区的优势,各方未来在据守各自优势的同时在资源,技术,商业模式等维度不断竞争。

市场与产品生态

​ QQ音乐的女性用户占主体,用户偏年轻化,消费能力中等偏高,绝大部分居住在一二线城市。用户群体主要分为以下几类:学生,青年白领,中年白领,追星粉丝。QQ音乐的运营质量以及用户互动意愿较低,导致较低的用户粘性。

​ 用户的表面需求包括获取最新流行音乐,满足通勤时娱乐,应援偶像等等;潜在需求包括建立社交连接,提供情感陪伴,定制个性化等等。

​ 学生与追星粉丝往往都对各自喜爱的音乐人有较强的支持与粘性,因此可以根据音乐类型或者音乐人成立各自的群组,帮助群体内用户找到志同道合的朋友。这样可以达到提升用户粘性,营造更加积极的社区范围,进一步发掘软件商业价值的作用,进一步培养优秀的产品生态。

​ QQ音乐和酷狗音乐都是腾讯音乐娱乐集团下属集团,因此可以组织跨平台推荐策略,在彼此的平台推荐对方的优质内容,达到整体水平提升,放大整体商业价值,吸引更多新用户。

产品规划

​ 上面提到用户有提供情感陪伴的潜在需求,那么就可以在当前QQ音乐基础上设计情绪歌单推荐的功能,下面使用NABCD分析。
下面的内容有一小部分利用了LLM辅助分析。

  • 需求:用户群体画像决定了存在提供情感陪伴的潜在需求,而当前的歌单多为静态歌单,不能根据用户情绪动态调整。
  • 做法:可以通过分析用户的语音或者用户的搜索记录来判断当前情绪,结合相关算法,推荐出符合用户当前情绪的音乐。
  • 好处:通过贴合用户情绪,带给用户更好的体验,从而提升用户粘性,提升产品声誉,进一步挖掘商业价值。
  • 竞争:当前音乐产品没有具备动态调整功能的情绪化歌单,竞争压力小;腾讯公司具备大量用户数据,推荐效果比同类型公司更好。
  • 交付:通过产品内测初步试验产品效果,之后逐步对VIP用户开放,最后对全体用户开放。通过投放广告的方式提升该功能的影响力和普及度,进一步提升QQ音乐的市场竞争力。

​ 对于6个人的团队,想要在16周内实现上述功能,职责安排如下:

角色 人数 职责
项目经理 1 全局管理,进度把控,风险管理
全栈工程师 2 完成核心功能的开发,协作完成前端和后端的开发
AI工程师 1 利用深度学习模型实现情绪识别功能和智能推荐算法
美工 1 完成前端页面设计,用户交互设计
测试工程师 1 对功能进行各类测试与修复,与开发过程同步执行

​ 时间安排:

时间(周) 开发内容安排
1~2 设计整体系统架构,完成页面设计与交互设计,确定情绪识别方案,不断进行整体可行性评审
3~6 开发前端,开发用户情感检测模块,训练情绪识别模型,优化算法,调整交互设计,单元测试
7~10 搭建后端API,在模型训练完成后进行模型部署,调整交互设计,单元测试
11~12 进行前后端调整与性能优化,单元测试
13~15 测试工程师进行全面系统测试,开发团队修复关键缺陷
16 进行上线前的最后测试和优化,做好发布准备

posted on 2025-03-15 12:19  earendilzhu  阅读(106)  评论(0)    收藏  举报

导航