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. 我叫Twenty,我是要成为博客王的博客框架

    标题套用了路飞的格式,其实我想说的是大多数都不相信你的梦想,直到你快走到了. 不废话了,介绍一下twenty: 这是基于CMS框架 zerojs打造一个博客.zerojs 的架构介绍在这里http:/ ...

  2. .NET深入实战系列--EF到底怎么写过滤条件

    本文唯一访问地址:http://www.cnblogs.com/yubaolee/p/DynamicLinq.html 对于系统开发来说,按不同字段进行过滤查询是一种常见的需求.在EF中通常的做法是: ...

  3. 玩转 Linux 系统的方法论

    Linus 说“Just for fun”,而我要说“Just for 折腾”.想知道我是怎样折腾 Linux 的,请看下面这个截图: 从这个截图可以看出,我为了“折腾” Linux 系统,在我的电脑 ...

  4. EMC与地之重新认识地

    记得在Mark的培训中,他手上拿了一个无线鼠标,然后问了一个很有意思的问题:“这个无线鼠标的地在哪里?同样,我们的手机没有和任何大地有接 触,那么这个地又在哪里呢?”这个问题确实很有意思,也确实让人很 ...

  5. Eclipse 使用技巧

    1.Eclipse 格式化代码时不换行与自动换行 Eclipse 推荐的编码风格默认是80列换行.每次用Eclipse自带的Ctrl+shift+f格式化代码时,如果原来的一行代码大于80列,Ecli ...

  6. TODO List - 任务表

    TODO List - 任务表 Angular1 --> Ionic1 --> Vue --> Weex Python --> Django --> Tornado -- ...

  7. react+redux教程(七)自定义redux中间件

    今天,我们要讲解的是自定义redux中间件这个知识点.本节内容非常抽象,特别是中间件的定义原理,那多层的函数嵌套和串联,需要极强逻辑思维能力才能完全消化吸收.不过我会多罗嗦几句,所以不用担心. 例子 ...

  8. HTML5 学习总结(三)——本地存储

    一.HTML4客户端存储 B/S架构的应用大量的信息存储在服务器端,客户端通过请求响应的方式从服务器获得数据,这样集中存储也会给服务器带来相应的压力,有些数据可以直接存储在客户端,传统的Web技术中会 ...

  9. C#中HttpClient使用注意:预热与长连接

    最近在测试一个第三方API,准备集成在我们的网站应用中.API的调用使用的是.NET中的HttpClient,由于这个API会在关键业务中用到,对调用API的整体响应速度有严格要求,所以对HttpCl ...

  10. C# 高效编程笔记1

    C# 高效编程笔记1 1.使用属性而不是可访问的数据成员 (1).NET Framework中的数据绑定类仅支持属性,而不支持共有数据成员 (2)属性相比数据成员更容易修改 2.用运行时常量(read ...