SE Springer小组之《Spring音乐播放器》可行性研究报告三、四

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.在规定的时间内,部分功能实现没有问题。

时间: 2024-10-14 20:12:29

SE Springer小组之《Spring音乐播放器》可行性研究报告三、四的相关文章

SE Springer小组《Spring音乐播放器》软件需求说明之四

4 运行环境规定 4.1设备 我们计划完成的音乐软件较小巧,功能并不复杂,在普通笔记本电脑中即可运行,并无特殊硬设备要求. 4.2支持软件 需要用到windows操作系统,用VS编写C/C++代码,还需要用到PostgreSQL数据库.测试支持软件拟采用国内免费软件测试工具AutoRunner. 4.3 接口 说明该软件同其他软件之间的接口.数据通信协议等. Spring音乐播放器没有开发API,有人机交互界面(UI). 数据通信协议(data communication protocols),

SE Springer小组《Spring音乐播放器》软件需求说明3

3 需求规定 3.1对功能的规定 基本功能与相关的输入输出如下表所示.歌曲播放.停止.暂停等功能调用MCI库,数据在MCI库下如何运作与用户的直观感受无关,就不具体列出. 输入 处理 输出 用户登录信息(string型) 存储登录名与密码 输出登录名 读取歌曲名(string型) 按歌曲名首字母排序 输出歌曲名(string型) 歌曲文件名 得到歌曲时长并转化为分秒形式 输出时长 鼠标左键双击信息 定位至歌曲 播放音乐 支持的终端数:1.(windows系统) 并行操作的用户数:1.(不涉及到联

SE Springer小组之《Spring音乐播放器》需求分析说明书一

软件需求说明书 软件需求说明书的编制是为了使用户和软件开发者双方对该软件的初始规定有一个共同的理解, 使之成为整个开发工作的基础. 1 引言 1.1编写目的 使用户对该软件的初始规定有一个理解,也使软件开发者对该软件开发的目的.任务.需求及运行环境有一定的了解,为整个开发工作做好准备. 1.2背景 a.待开发的软件系统的名称:spring音乐播放器: b.本项目的任务提出者.开发者为宁牟明.曹乐平.莫雪萍.杨子鲲: 用户暂定为开发者自己或周围同学: C.spring音乐播放器软件系统要与本地的检

SE Springer小组之《Spring音乐播放器》可行性研究报告五、六

5 可选择的其他系统方案 曾经考虑过制作闹钟系统,但考虑到闹钟系统在电脑应用中极其不实用,所以此方案未通过. 6 投资及效益分析 6.1支出 本软件只用于完成课程学习要求,不用做商用,无基础设备等支出及不考虑后期维护问题. 6.1.1基本建设投资 a.房屋和设施:无固定场所,设备为组员各自的电脑: b. A DP设备:无: C.数据通讯设备:无: d.环境保护设备:无: e.安全与保密设备:无: f.ADP操作系统的和应用的软件:无: g.数据库管理软件:无. 6.1.2其他一次性支出 a.研究

Qt音乐播放器制作(三)Easy Player

今天发布了EasyPlayer的第一个版本,有兴趣的朋友可以到这里下载:基于Qt的在线音乐播放器EasyPlayer v1.0. 相对于上一篇文章,主要做了以下修改,还是先放图吧: 如图所示,爱折腾的博主又修改了界面. 最明显的变化在于去除了窗口边框,实现了自定义的最小化按钮和关闭按钮来操控窗体的相应动作. 然后,就是讲搜索列表和播放列表调换了位置,这么说来,搜索列表的右边按键要换了,改成"+"比较适合点. 最后,就是你们看到的,歌词显示界面了.第一个版本实现了歌词的同步搜索和显示,但

软件工程之Spring音乐播放界面C#编写细节

由于小组成员已经完成软件的详细设计说明书,在这里只具体说明软件程序的细节编写,以免重复. 歌曲的播放采用VS自带的axWindowsMediaPlayer插件,所以程序中涉及到许多该插件的使用.Ctlcontrols属性是AxWindowsMediaPlayer的一个重要属性, 此控件中有许多常用成员.下面是常用的几个,除了4和5在该音乐播放器中不需要用到,其他几个方法均需要. (1) 方法play 用于播放多媒体文件,其格式为:窗体名.控件名.Ctlcontrols.play() 如: AxW

C#Spring音乐播放器之登录界面编程

Spring音乐播放器,我们小组设计其启动时有一个登录界面,用户初次可以注册,输入用户名和密码,点击注册即将输入信息保存到register文本文件中:如果已有用户名,输入用户名和密码,点击登录,程序会将输入的用户名和密码与已有的用户信息进行比较,如果找到完全匹配的用户名和密码,则进入音乐播放界面:若不匹配,则弹出消息框:用户名或密码错误. 首先建立一个登录界面窗口,添加button,label,和textbox,更改了窗体背景,如下图. 然后对注册和登录按钮进行消息响应编程. C#编程内容主要涉

Android实现音乐播放器(一)

Graphical User Interface 本篇文章记录了我实现Android简单音乐播放器的过程,(一)中介绍了怎么构建音乐播放器的前端页面.首先大家看一下,界面最后是这样的(界面有点粗陋) 音乐文件列表是从SD卡中读取出来的. 首先我们先在Layout里面创建Music Player的GUI,diagram如下图所示: 根据diagram我们在activity_main.xml写出如下代码: <LinearLayout xmlns:android="http://schemas.

手把手教你做音乐播放器(八)桌面小工具(上)

第8节 桌面小工具 桌面小工具是可以放置在主界面的.快速控制应用的小助手.例如我们的音乐小工具,它可以帮助用户在桌面上就完成音乐的暂停.播放.切换等操作,而不需要启动应用本身. 在安卓系统中,我们也常常叫它App widget. 实现一个App widget要经过以下几个步骤, 创建一个App widget类,让它继承自AppWidgetProvider,例如AnddleMusicAppWidget类: 放在res\layout目录下,为App widget的界面定义一个布局,例如anddle_