[I.2] 个人作业:软件案例分析
| 项目 | 内容 |
|---|---|
| 这个作业属于哪个课程 | 2024 年北航敏捷软件工程社区 - CSDN 社区云 |
| 这个作业的要求在哪里 | [I.2] 个人作业:软件案例分析 - CSDN 社区 |
| 我在这个课程的目标是 | 学习并掌握软件工程,符合互联网企业招聘要求 |
| 这个作业在哪个具体方面帮助我实现目标 | 通过结合具体案例,深入理解软件设计和开发流程,为软件开发实战打下基础 |
一、调研和评测
软件评测
使用流程
初入软件
Apple Music 在 Apple 设备上的安装包较小,在各端都使用了原生的 UI 开发。
Apple Music 采用了付费模式,必须登入 Apple ID 并且选择订阅方案后才能使用。对于新用户,一般有 1~3 个月的免费试用期。Apple Music 是苹果为数不多为 Windows 和 Android 提供了客户端的软件,此外还开放了网页版和 API,可以使用第三方播放器(如 Cider)登录,但最高音质受到限制。
我们主要以官方的客户端分析。进入软件后,默认的栏目为浏览
。对于桌面端,切换不同栏目的导航栏(navbar)被放置在左侧;移动端则遵循惯例放置在底部。
发现音乐
在浏览
中的内容应该是由编辑选荐,而非个性化推送。具体版块包括精选项目、新音乐、心情氛围选择、热门排行和MV等。底部是一个“探索更多”选项,有更多细分的内容(比如按类别)。
用户可以在浏览版块或者是使用搜索功能发现新的音乐。每个音乐或播放列表都会至少显示标题、作者和专辑封面。在桌面端,用户鼠标 hover 在专辑封面时会显示播放按钮,或点击打开进入详情后后再点击播放按钮;移动端则只有后者。

查看音乐
Apple Music 的逻辑与其他软件有很大不同,我猜想这可能是从 iTunes 时代传承下来的逻辑。对于一首音乐,用户可以进行“添加到资料库”“赞”“踩”“收藏”等操作,但后面三个操作都只是告诉 app 你的喜好,只能对当前播放的单曲进行操作,并没有一个地方能查看所有的记录,只有资料库和播放列表是统一管理音乐的地方。

资料库中,可以按添加时间、创作者、专辑、歌曲等分类查看音乐。
个性化推荐
查看个性化推荐的主要界面是“现在就听”栏目。

比较有特色的是,这些推荐歌单每周更新一次,在固定的星期几更新,并且根据不同类别分类。比如“放松歌单”中的音乐会更加轻柔,“能量充电”中更加激昂;“音乐新发现”中全是不在资料库中的歌曲,“爱不释耳”“最爱精选”则会根据日常的播放情况推荐。
播放控制
桌面端顶部会有一个固定的播放控制条(playback control bar),展示当前播放音乐信息,切换其他音乐,而竞品软件一般放在底部;在移动端,只有在播放音乐后,底部才会出现一个浮动的播放控制条。点击控制条,会进入歌词界面。
切换不同音乐时,默认会打开渐入渐出,弥补音乐切换时的突兀感。同时也有定时关闭功能,方便睡前听助眠音乐。
显示歌词
在 iOS 端,Apple Music 的歌词界面十分“精致”:当一首歌曲为双人对唱时,歌词在界面上的对齐方式是左右分开;对于双声部的部分,对应的歌词会同时亮起;而在含有明显主副旋律的歌曲中,主旋律的歌词会以正常大小字体展示,副旋律的歌词则会采用小一号的字体展示。在 Android 端,以上逻辑以括号展示。
![]() | ![]() | ![]() |
然而,在桌面端,歌词界面的设计就显得有些简陋了。在播放音乐时,歌词会在右侧边栏中显示,但不能全屏显示,也不能拖动调整大小。
综上所述,我认为 Apple Music 在各端的体验可以基本满足用户的需求。
用户调研
本次采访的是其他软件工程班级的张博豪同学。
由于 Apple Music 为付费软件,而他使用网易云音乐,因此采访的是更为笼统一些的内容。



我们经交流,一致认为无用功能过多是大部分音乐软件的痛点。
改进意见
- 歌词是流行音乐不可或缺的一部分。国内音乐软件普遍对歌词的支持比较好。例如,在十年前,国内的音乐软件桌面端就已经支持显示透明背景的“桌面歌词”,并且歌词的进度会精准到字(常称为精准歌词 / 逐字歌词)。而部分软件还能同时显示双语歌词,甚至对日语等语言以
<ruby>的形式显示读音。而 Apple Music 的桌面端甚至不能全屏显示歌词,只能在侧边栏中查看。我认为进一步增强桌面端的歌词功能对于语言学习者和非母语者都是大有裨益的。 - 加入部分社交功能。虽然 Apple Music 以简洁吸引了许多用户,但克制地加入社交功能也可以增加用户粘性。目前,用户一般都采取分享歌词的截图或视频(这是官方提供的功能)到社交媒体上。但如果能够在 Apple Music 内部进行评论、点赞、分享等操作,会更加方便。如果担心允许评论会引发争议、增加 moderation 成本,可以只允许用户评论歌单,或者以选定的几个 emoji 进行互动。
评测结论
| 类别 | 描述 | 分数 |
|---|---|---|
| 核心功能 | 1. 音乐播放 2. 个性化推荐 3. 音乐库管理 | 6 |
| 细节 | 智能播放列表、歌词显示 | 6 |
| 用户体验 | 流畅且直观的界面设计 | 7 |
| 辅助功能 | 暗模式、音乐播放界面选项 | 4 |
| 差异化功能 | 0 | |
| 软件的效能 | 快速启动,合理的内存占用 | 8 |
| 软件的适应性 | 良好的跨设备适应性,但在非Apple设备上体验略有下降 | 6 |
| 成长性 | 个性化推荐随用户喜好改善 | 5 |
| 用户有控制权 | 良好的系统反馈,适当的等待时间,错误恢复 | -1 |
| 社区和艺术家互动 | 艺术家发布内容与粉丝互动的专区 | 0 |
结合以上分析,我对 Apple Music 的评价是:一般。我认为,Apple Music 在设计上做到了领先水平,但在使用上还有一些不足之处,并且订阅制和部分功能的缺失导致其不适合主流用户使用。
Bug 分析和提交
Bug 标准:
FATAL:导致软件崩溃或无法使用。MAJOR:导致软件功能无法正常使用。MINOR:导致软件功能不完善。
1. Station 的历史记录
Bug 评级: MINOR
问题描述:
在 Apple Music Windows 客户端中,当用户播放 station 中推荐的音乐时,这些播放过的音乐不会被记录进入播放历史中,导致用户无法查看听过的音乐。
测试环境:
- 软件版本:Windows 1.1028.10497.0,微软商店版
- 操作系统:Windows 11 版本 23H2 (操作系统内部版本 22635.3350)
- 网络环境:Wi-Fi 连接,稳定
复现步骤:
- 打开 Apple Music Windows 客户端,登录账户。
- 选择任一 station 开始播放音乐。
- 播放几首不同的曲目。
- 打开“播放历史”尝试查找刚刚播放过的音乐。
- 发现刚刚通过 station 播放的音乐未显示在“播放历史”中。
预期结果:
用户通过 station 播放的所有音乐应该会被记录在“播放历史”中。
实际结果:
用户无法在“最近播放”或“播放历史”部分找到这些曲目。
为什么这是一个 bug:
对比移动端,Android 和 iOS 的 station 皆可查看历史歌曲记录。并且按照逻辑,相关 station 中播放的并非播客,而是单曲,因此应该进入历史记录。
Bug 出现的可能原因:
可能是因为 Station 功能在软件代码中的实现与播放列表不同,导致难以维护。此外,Windows 端也没有经过充分的测试。
2. AirPlay 再次连接
Bug 评级: MAJOR
问题描述:
在 Windows 版本中,AirPlay 功能一经打开、关闭后就无法再次使用。如果用户工作环境中有多个音箱,或者需要临时使用其他设备播放,这将带来很大的不便。
测试环境:
- 软件版本:Windows 1.1028.10497.0,微软商店版
- 操作系统:Windows 11 版本 23H2 (操作系统内部版本 22635.3350)
- 网络环境:Wi-Fi 连接,稳定

复现步骤:
- 在 Windows 上打开 Apple Music 客户端并登录账户。
- 通过 AirPlay 将音乐播放到兼容的设备上。
- 播放一会音乐后,手动选择非 AirPlay 设备播放音乐。
- 尝试再次使用 AirPlay 功能连接到相关设备。
- 注销或重启后,再次尝试使用 AirPlay 功能。
预期结果:
用户应能够不重启,在需要时多次激活和使用 AirPlay 功能,从而在多个设备间自由切换播放音乐。
实际结果:
在首次使用 AirPlay 功能并断开之后无法再次播放。只有再注销或重启后才能再次使用。

为什么这是一个 bug?对比 macOS 端,可以正常地多次断开。
Bug 出现的可能原因?Windows 端的 AirPlay 功能并非系统级内置,可能在代码实现上没有即时释放资源,导致再次使用时出现问题。
二、分析
工作量分析
软件概念和需求分析阶段:确定用户界面设计和用户体验流程。对于像 Apple Music 这样复杂的服务,这一阶段可能需要2-3个月。
架构设计阶段:确定软件的基本架构,对比技术方案,选择合适的技术栈。这一阶段大约需要1-2个月。
开发阶段:
- 前端(包括客户端)开发:包括界面实现和用户交互设计,估计需要 6-8 个月。Apple Music 是一个跨平台的音乐服务,需要在 iOS、macOS、Android、Windows 甚至是 visionOS 上提供客户端,这会增加开发难度。即便 Apple 生态系统中可以使用 SwiftUI 或 UIKit 跨平台复用代码,但 Android 和 Windows 上的客户端仍然需要采用原生技术开发。
- 后端开发:包括服务器、数据库设计、音乐播放和推荐算法等,估计需要 5-7 个月。推荐算法是一个复杂的系统,需要大量的数据和计算资源。并且为了保证推荐的准确性,这些模型需要定期重新训练和优化;为了评估不同推荐算法的效果,还需要进行 A-B test。
集成和测试阶段:包括单元测试、集成测试和用户测试,可以并行进行。
部署和维护阶段:上线后的初期 bug 修复和性能优化,估计需要 1-2 个月。
软件质量分析
Apple Music 在界面设计上的质量十分优秀。在界面风格上,Apple Music for Windows 采用了现代的 WinUI 3 框架,融入了微软的 Fluent Design 设计语言,比如应用整体采用了 Mica 材质,左侧的菜单会在窗口横向空间不足时自动缩小成图标。而在 Android 端,也并未全盘使用“果味”设计,而是结合 Material Design 做出了适配与融合,即使这其中可能有相关交互难以制作的因素在。比如,长按播放列表或歌曲的封面,会弹出 Material Design 式的底部菜单(bottom sheets)。
| iOS | Android |
|---|---|
| ![]() |
但设计上的高质量并不能掩盖使用上的缺陷。与同类产品相比,我在使用 Windows 端和网页端的时候遇到了诸多体验上的不足。比如,Windows 端的播放历史记录和 AirPlay 功能不可用,网页端的播放列表无法拖动排序。这些问题可能是因为 Windows 端和网页端的用户量较小,开发团队没有足够的资源和精力去维护这些平台。但这些问题对于用户体验来说却是致命的,可能会导致用户流失。因此,我们需要在软件测试上投入更多的资源,并跟进用户反馈。
三、建议和规划
市场现状
| 特点/软件 | Apple Music | Spotify | Tidal | 网易云音乐 | QQ音乐 | 酷狗音乐 | 酷我音乐 |
|---|---|---|---|---|---|---|---|
| 音乐库 | 1亿首 | 1亿首 | 1亿首高保真音乐 | 1.49亿首 | 1.5亿 | 上千万首 | 6百万首 |
| 最高音质 | 高解析度无损 | 最高320kbps Ogg | 最高1411kbps FLAC | 超清母带, 192kHz/24bit, 黑胶音质 | 臻品母带 2.0, 192kHz/24bit | VIPER HiFi, 48kHz/24bit | 最高320kbps |
| 特色功能 | 空间音频、杜比全景声 | 社交分享 | 高保真音乐,MV | 个性推荐,评论互动 | VIP服务,K歌 | 现场直播,K歌 | 音乐视频,K歌 |
| 界面 | 清晰,苹果生态整合 | 用户友好,可定制 | 简洁,专注音质 | 个性化,社区互动 | 清晰,易于导航 | 互动性强,功能丰富 | 界面友好,操作简便 |
| 个性化推荐 | 依赖用户历史 | 算法驱动,高准确度 | 有限,注重音质体验 | 评论系统,算法推荐 | 算法推荐,场景歌单 | 算法推荐,社区活动 | 算法推荐,个性化歌单 |
| 价格 | 中国大陆 11 元/月 学生 6 元/月 Premium | 标准版 $9.99/月, Freemium | 标准版 $9.99/月 HiFi $19.99/月, Freemium | 黑胶 VIP 15元,SVIP 28元/月, Freemium | 绿钻 15元/月, Freemium | 音乐包 8元/月,豪华 VIP 15元/月, Freemium | 豪华 VIP 15元/月, Freemium |
| 市场定位 | 国际市场,重视音质 | 海外市场,社交分享 | 海外市场,Hi-Fi发烧友 | 国内市场,社区文化 | 国内市场 | 国内市场,听书、娱乐互动 | 中国市场,K歌 |
以下是我对我使用过的一些产品的优势的评价:
- Spotify 当初在海外以免费音乐杀入市场,至今稳坐头把交椅。Spotify 也是第一个推出了社交分享功能的音乐服务。但 Spotify 在各端都使用了 Web 技术开发,导致了桌面端的性能问题。旧版本采用 Electron,而新版本则使用 CEF 精简了体积,但仍然观感不佳。
- 网易云的优势在于高质量的社交。网易云音乐的社交氛围吸引了大量独立音乐人入驻,提升圈层用户活跃度——平台原创音乐人数量约 68.4 万,共创作了约 310 万首音乐曲目。并且通过鼓励音乐人与用户的日常互动,营造了一种独特的小众社交氛围。不过,并不是所有用户都喜欢这种社交氛围,因此网易云音乐的用户群体相对局限。
- Youtube Music 可以将 Youtube 中的视频作为音乐播放,不得不说,这是很巧妙的一个产品策略,因为这很大程度上方便了互联网时代的小众音乐创作者。无独有偶,哔哩哔哩也加入了“收听视频”以及专门的音乐区等类似功能。但因为已经有 MV 可以作为单曲使用,厂商没有动力去提供高品质音乐,造成了音乐、音质质量低的问题。
市场与产品生态
核心用户群体
Spotify 是全球第一受欢迎的流媒体服务,市场占有率为 31%;Apple Music 位居其后,但仅有 15%。根据去年的一份市场调查报告,91% 的美国 iPhone 用户使用 Apple Music,而 79% 的美国苹果用户至少使用过一次 Apple Music。因此,在海外市场,Apple Music 的主要用户群体便是苹果生态的用户。而在国内市场,因为 freemium 模式的流行,使用 iPhone 的用户很多都没有在 App Store 付费的习惯。据我的观察,主要用户群体可能是那些喜欢简洁界面以及 Apple Music 有版权的音乐(如周杰伦、欧美小众音乐)的用户。此外,Apple Music 通过学生优惠等手段,也吸引了许多大学生用户订阅。
参考教材中 10.1 节的例子,下面是我拟出的一些典型用户画像:
| 名字 | 产品设计师和资深果粉 | 数据驱动的艺人 | 海外生态系统用户 | 经济拮据的中国大学生 |
|---|---|---|---|---|
| 性别、年龄 | 25-40岁 | 20-35岁 | 18-35岁 | 18-23岁 |
| 职业 | 设计师 | 普通音乐人 | 学生、年轻专业人士 | 学生 |
| 收入 | 高 | 中 | 中 | 低 |
| 知识层次和能力 | 对产品设计和用户体验有深入了解 | 对音乐产业数据敏感,擅长利用数据优化工作 | 对科技产品感兴趣,但可能对音乐版权和付费服务有限了解 | 对音乐有浓厚兴趣,了解各种音乐流派,但可能对付费音乐服务了解不多 |
| 生活/工作情况 | 使用苹果生态系统的设备工作和生活 | 积极推广个人作品,追求职业发展 | 寻求优质音乐服务,可能对付费订阅有犹豫 | 使用校园网,希望节省流量,生活费有限 |
| 动机、目的、困难 | 追求高质量的音乐体验,对搜索功能和界面设计有高要求,期待产品改进 | 利用 Apple Music for Artists 了解音乐表现,寻求提升听众量和知名度,面临数据解读和策略调整的挑战 | 被苹果生态吸引,对音乐版权感兴趣,面临选择合适音乐服务平台的决定 | 寻求性价比高的音乐服务,想听更多的周杰伦和欧美小众音乐但预算有限 |
| 用户偏好 | 高质量音频,优秀的用户界面设计,无缝的设备集成 | 统计数据透明,有推广工具 | 简洁界面,有版权的特定音乐,如地区独家内容,学生优惠 | 免费或低成本订阅服务,喜爱的艺人和音乐类型的广泛可用性,简单易用的应用界面 |
| 用户比例 | 小部分 | 中等 | 大部分 | 中等 |
| 典型场景 | 在设计工作中听音乐寻找灵感 | 分析音乐表现,调整推广策略 | 在通勤或休闲时听音乐 | 在图书馆学习、宿舍休息时听音乐 |
| 典型描述 | 对音乐质量和应用体验有高要求,希望通过音乐激发创意 | 依赖数据驱动的决策,追求音乐事业的成长 | 寻求便捷、高质量的音乐体验,与苹果生态兼容 | 寻找经济实惠且能满足音乐品味的音乐服务 |
生态整合的成败
如上所述,Apple Music 深受苹果用户的喜爱,并且依托 AirPlay 和空间音频等技术,深度适配自家的耳机和音箱。
Apple 也曾经推出过 Apple Music Voice Plan 的订阅方案,以约三分之一的低廉价格提供了完全使用 Siri 操作的听歌方案(不包含空间音频等高级功能),似乎是在尝试以此吸引用户开通更高价的完全版订阅。然而,只能通过 Siri 语音控制播放音乐效率并不高,也不能显示歌词,唯一可能的目标用户就是 HomePod 用户。两年后,这个订阅方案就被取消了。
Spotify 则试图在所有平台上提供一致的体验。具体来说,如果你在一台设备上连接了蓝牙设备,那么你可以通过另一台登录了相同账号的设备控制播放。甚至对于免费用户,也可以经允许控制同一局域网内其他付费账号正在播放的设备,并使用付费的高音质。这方便了在家里有很多设备、很多家庭成员的用户。不过,这也意味着 Spotify 和 Apple Music 一样,不能通过多个人使用同一个账号来播放的方式节省费用。
此外,我还惊喜地发现 Spotify 提供了 Android TV 版客户端(Apple Music 只有 tvOS 版),但可惜的是在这个客户端上操控就只能通过电视输出音频,而不能控制其他设备;其他设备更改输出,电视端就会立即跳出到首页。
最近 Spotify 对 Apple 发起的反垄断诉讼胜利,而 Apple 也发表了一篇檄文强硬回应。不过,更公平的市场环境有利于竞争,这对于我们用户来说是好事。
子产品的设计
最近的一个子产品是 Apple Music Classical,是 Apple 在收购古典音乐服务 Primephonic 后针对古典音乐的应用。界面采用衬线字体显示,也为古典音乐名称、作曲家、作品集显示做出了适配。并且订阅 Apple Music 后即可免费使用 Apple Music Classical。我认为这一举措有两点主要原因:
- 古典音乐在元数据(metadata)和目录编排方面有独特需求,需要显示作曲家、演奏家、录制年份与作品创作年份等多重复杂信息。
- 单独制作一个应用可以提高体验,吸引古典音乐爱好者,在已有的用户群体中增加黏性。
新功能规划
在现有的 Apple Music 基础上,设计新功能“社交圈”——分享音乐、推荐歌单、互相评论的社交平台。
NABCD分析:
- N (Need 需求) 用户需要一个可以分享音乐体验、讨论和推荐音乐的平台,而音乐人也需要一个可以与粉丝互动的平台。这并非一个伪需求——已经有成熟的基于 Apple Music 的付费应用 Music Mate 做出了探索。
- A (Approach 方法) 通过创建“社交圈”功能,用户可以关注朋友和艺术家,分享歌曲和歌单、评论和点赞、参与音乐讨论,并与朋友同时听一首音乐。
- B (Benefit 好处) 用户能够更容易发现新音乐,建立社区氛围感,增加用户对软件的忠诚度。
- C (Competition 竞争) 与其他音乐平台(如 Spotify、网易云音乐)相比,Apple Music 引入的社交功能将具有更紧密的生态系统整合和更优质的用户体验。比如结合 Apple 地图,显示朋友在听的音乐,或者结合 Apple Watch,显示好友的运动配乐。
- D (Delivery 交付) 通过客户端推送更新;通过与艺人合作,邀请艺人在社交圈发布独家内容。
团队配置
2名开发人员、1名UI/UX设计师、1名测试工程师、1名项目经理负、1名营销人员
每周详细规划
- 第1-2周:需求调研与功能定义
- 第3-4周:设计与原型制作
- 第5-8周:开发实现
- 第9-10周:内部测试与反馈
- 第11-12周:小范围内测与优化
- 第13-14周:准备市场推广
- 第15周:正式发布
- 第16周:收集反馈与后续计划







