3 对现有系统的分析
由于本次可行性分析主要是建立在团队自行实现一个音乐软件的目标上,并不是在一个现有系统的基础上开发改进的新系统。因此这里将分析一款市面上已经存在的音乐软件(以下称为W音乐),并为之后开发“Spring音乐播放器”提供一定的参考。
3.1处理流程和数据流程
说明现有系统的基本的处理流程和数据流程。此流程可用图表即流程图的形式表示,并加以叙述。
图2 基本处理流程图
用户启动M音乐后,可以选择在网络音乐库中查找歌曲并下载,也可以从本地音乐库中查找想听的歌曲,然后进行播放。本地音乐库中的歌曲会进入数据库,并通过相关算法得到相似歌曲推送给用户。
3.2工作负荷
连接网络并且从中获取音乐及歌词(网络接口);记录用户的听歌列表且推送相似歌曲(数据库);用户可以对音乐发表评论且与其他用户交流;可以列表循环/单曲循环/随机播放等(歌曲间的链接方式);用户可以将本地歌曲导入播放(读取本地文件)。
3.3费用开支
具体的开支不了解,但需要强大的数据库(每个用户都有自己的歌单),还有购买音乐版权所支付的费用,对安卓/iOS系统均兼容,用户界面的设计等。
3.4人员
不清楚,网上无资料。
3.5设备
安卓系统/ios系统/windows系统。
3.6局限性
无法将本地音乐添加进歌单列表;根据用户歌单判断的相似音乐不够贴合用户喜好。推送相似音乐使用的算法不够好,改进式维护已无法满足用户需求。
4 所建议的系统
我们团队所建议的系统即想要完成的是“spring音乐播放器”,具备有音乐播放软件的基本功能。
4.1对所建议系统的说明
概括地说明所建议系统,并说明在第A.2章中列出的那些要求将如何得到满足,说明所使用的基本
方法及理论根据。
(1)读取硬盘中的MP3等格式的音乐文件,并将歌曲名保存在软件歌曲列表中,列表中已有歌曲按名称首字母排序;
识别文件格式,将文件读入后存入一个链表中,进行排序后再显示出来。在C++中实现,可以考虑排序多种方法哪种更加快速合适。
(2)音乐播放可实现暂停与停止播放,上一首,下一首播放,其中上一首,下一首歌曲根据歌曲列表确定;
暂停播放的按钮被触发时即将指针停在当前位置,停止播放即将指针指向歌曲的开头,再次点击播放时,从指针所在处开始播放。
(3)双击列表中音乐名,可进行该歌曲的播放;
即接收到鼠标左键快速连击两次的消息时,开始播放音乐。用MFC的消息响应函数应该可以解决。
(4)前期工作顺利且时间充足的情况下,拟添加随机播放,顺序播放功能。
待进一步的了解。
4.2处理流程和数据流程
处理流程在2中已给出。
图3 数据流程
4.3改进之处
由于我们是希望做出自己的音乐软件,而非对M音乐进行改进(因为它的功能已经足够完备),所以这里是无。
4.4影响
4.4.1对开发的影响
说明对开发的影响,如:
a.为了支持所建议系统的开发,用户需对软件进行测试,验证功能是否成功;
b.成员所持有的笔记本电脑即可进行开发该音乐软件。
4.4.2对地点和设施的影响
无。
4.4.3对经费开支的影响
无。
4.5局限性
建议系统仍存在多个局限,只能实现基础功能。原因是成员的能力有限,处理的时间有限。
4.6技术条件方面的可行性
本节应说明技术条件方面的可行性,如:
a.在成员所有的电脑设备上,能实现基本的音乐软件功能,但无法实现连接网络音乐库,拥有多个用户等等功能;
b.利用现有的技术,系统的功能均可以实现;
C.小组有四名成员,均有编程方面的经历,但是由于时间有限,能力有限,可行性不是百分之百;
d.在规定的时间内,部分功能实现没有问题。