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

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

  1. SE Springer小组《Spring音乐播放器》可行性研究报告一、二

    1 引言 1.1编写目的 <软件工程>课程,我们团队计划开发一个音乐播放器.本文档是基于网络上现有的音乐播放器的特点,团队计划实现的音乐播放器功能和团队人员的综合实力等情况,说明该软件开发 ...

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

    4 运行环境规定 4.1设备 我们计划完成的音乐软件较小巧,功能并不复杂,在普通笔记本电脑中即可运行,并无特殊硬设备要求. 4.2支持软件 需要用到windows操作系统,用VS编写C/C++代码,还 ...

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

    3 需求规定 3.1对功能的规定 基本功能与相关的输入输出如下表所示.歌曲播放.停止.暂停等功能调用MCI库,数据在MCI库下如何运作与用户的直观感受无关,就不具体列出. 输入 处理 输出 用户登录信 ...

  4. SE Springer小组之《Spring音乐播放器》可行性研究报告一、二(转载)

         此文转载自组员小明处~~ 1 引言 1.1编写目的 <软件工程>课程,我们团队计划开发一个音乐播放器.本文档是基于网络上现有的音乐播放器的特点,团队计划实现的音乐播放器功能和团队 ...

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

    2.1 目标 Spring音乐播放器软件为课程<软件工程>所开发的课程作业,主要意图是为访问计算机中的mp3格式的音频文件,并使其能够完成访问,读取,添加,保存,播放,切换音频文件等功能. ...

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

    软件需求说明书 软件需求说明书的编制是为了使用户和软件开发者双方对该软件的初始规定有一个共同的理解, 使之成为整个开发工作的基础. 1 引言 1.1编写目的 使用户对该软件的初始规定有一个理解,也使软 ...

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

    5 可选择的其他系统方案 曾经考虑过制作闹钟系统,但考虑到闹钟系统在电脑应用中极其不实用,所以此方案未通过. 6 投资及效益分析 6.1支出 本软件只用于完成课程学习要求,不用做商用,无基础设备等支出 ...

  8. 仿酷狗音乐播放器开发日志三——修复CEditUI的bug2

    无意中发现了CEditUI控件的另一个bug,当我给播放器的搜索栏获取焦点时,这时再改变窗体大小,原本搜索栏应该对应着也改变大小,却发现CEditUI内嵌的edit控件没有跟着改变(如下图),跟着调试 ...

  9. 第五篇——Spring音乐播放界面设计(C#)

    由于小组成员已经完成软件的详细设计说明书,在这里只具体说明软件程序的细节编写,以免重复. 歌曲的播放采用VS自带的axWindowsMediaPlayer插件,所以程序中涉及到许多该插件的使用.Ctl ...

随机推荐

  1. Gulp探究折腾之路(I)

    前言: gulp是前端开发过程中对代码进行构建的工具,是自动化项目的构建利器:她不仅能对网站资源进行优化,而且在开发过程中很多重复的任务能够使用正确的工具自动完成:使用她,我们不仅可以很愉快的编写代码 ...

  2. EventBus总线讲解

    在我们公司经常用到总线,具体的总线是什么让我理解我也不清楚,但是在这几个月下来,我已经知道总线如何使用,现在加上示例讲解总线如何使用. 1. 首先我们的新建一个类,这个类其实是用于总线传递的模型 us ...

  3. Android 开发环境在 Windows7 下的部署安装

    Android SDK Android SDK 为 Android 应用的开发.测试和调试提了必要的API库和开发工具. ADT Bundle 下载 如果你是一个android 开发新手,推荐你下载使 ...

  4. .NET MVC Razor模板预编译(二)

    在前面一片文章:<.NET MVC4 Razor视图预编译(一)> 里面我采用的是PrecompiledMvcViewEngineContrib组件进行预编译视图的虚拟地址注册,但是这个组 ...

  5. JSON(及其在ajax前后端交互的过程)小识

    一. json介绍 json是一种轻量级的数据交换格式,规则很简单: 并列的数据之间用逗号(,)分隔: 映射用冒号(:)表示: 并列数据的集合(数组)用方括号([])表示: 映射的集合(对象)用大括号 ...

  6. php多关键字查询

      php单一关键字查询 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 tdansitional//EN" "http: ...

  7. SQL Server 统计信息更新时采样百分比对数据预估准确性的影响

    为什么要写统计信息 最近看到园子里有人写统计信息,楼主也来凑热闹. 话说经常做数据库的,尤其是做开发的或者优化的,统计信息造成的性能问题应该说是司空见惯. 当然解决办法也并非一成不变,“一招鲜吃遍天” ...

  8. Http协议相关内容

    http协议概述 HTTP是hypertext transfer protocol(超文本传输协议)的简写,它是TCP/IP协议的一个应用层协议,用于定义浏览器与WEB服务器之间交换数据的过程. 客户 ...

  9. APNS 远程推送通知 PUSH deviceToken

    服务器向客户端推送消息:      当应用程序推到后台,或者根本就没有运行(我们的代码无能为力)      如果这种情况之下,应用程序想和用户交互(传统的做法 不可能)      推送 APNS:Ap ...

  10. 前端开发:面向对象与javascript中的面向对象实现(一)

    前端开发:面向对象与javascript中的面向对象实现(一) 前言: 人生在世,这找不到对象是万万不行的.咱们生活中,找不到对象要挨骂,代码里也一样.朋友问我说:“嘿,在干嘛呢......”,我:“ ...