基于iPhone6的音乐播放器的设计与开发毕业设计说明书论文Word下载.docx
- 文档编号:16371641
- 上传时间:2022-11-23
- 格式:DOCX
- 页数:49
- 大小:5.03MB
基于iPhone6的音乐播放器的设计与开发毕业设计说明书论文Word下载.docx
《基于iPhone6的音乐播放器的设计与开发毕业设计说明书论文Word下载.docx》由会员分享,可在线阅读,更多相关《基于iPhone6的音乐播放器的设计与开发毕业设计说明书论文Word下载.docx(49页珍藏版)》请在冰豆网上搜索。
相比之下,基于苹果iOS操作系统的iPhone,市场份额相对下降,而其下降的主要原因是iPhone平台应用软件的相对短缺。
用户在AppStore上找不到其需要的应用软件,最终使越来越多的消费者放弃了购买iPhone。
目前,视听娱乐已成为人们生活中的基本需求,多数人喜欢在工作、生活之余,听听音乐来放松自己。
而AppStore上的音乐播放器少之又少,因此设计一款简约、时尚的音乐播放器显得尤为重要。
本系统主要是针对iPhone手机用户而开发的一款基于iOS6.0的音乐播放器。
为更好地满足用户的需求,首先对各个平台的音乐播放器进行了分析比较,然后根据需求分析确定本系统其主要功能为:
本地音乐播放、网络音乐下载、网络音乐搜索、MV播放及系统设置等。
其中,播放子系统具备循环播放、顺序播放、单曲循环、顺序选取、暂停、录音、歌词显示等功能。
本论文共分为五章:
第一章关键技术简介:
主要介绍iOS、Objective-C语言、Xcode、MAMP。
第二章系统分析:
主要讲功能需求分析、界面需求分析、可行性需求分析。
第三章总体设计:
主要写播放器总体设计、服务器功能模块设计、数据库表设计。
第四章详细设计与实现:
主要讲解开发环境的配置、数据库的建立和客户端的功能模块详细设计。
第五章软件测试:
主要写了软件测试的目的、方法与过程。
第1章关键技术简介
1.1iOS简介
iOS(原名:
iPhoneOS)是由苹果公司开发的手持设备操作系统,支持的设备包括iPhone、iPodtouch、iPad以及AppleTV。
iOS的系统架构分为四个层次:
核心操作系统层(theCoreOSlayer),核心服务层(theCoreServiceslayer),媒体层(theMedialayer),可轻触层(theCocoaTouchlayer)。
苹果于2007年6月29日发布了iOS的第一个版本,目前已开发到iOS6。
iOS6拥有更完善的文本输入法,并内置了对热门中文互联网服务的支持,从而让iPad、iPhone和iPodtouch更适合中文用户使用。
有了全新的中文词典和更完善的文本输入法,汉字输入变得更轻松、更快速、更准确。
XX已成为Safari的内置选项,还可将视频直接分享到优酷和土豆网。
也能从相机、照片、地图、Safari和GameCenter向新浪微博发布信息。
iOS操作采用的是多点触控操作,控制方法包括滑动、轻触屏幕和图标及按键。
操作有:
滑动、轻按、缩小及放大。
此外,iOS移动设备中还内置了加速器,使得旋转iOS设备时,界面也可以得到旋转,这也使得iPhone等便携设备更便于使用。
自3GS开始,iPhone装备有陀螺仪,这使得iPhone有了重力感应,游戏效果更加的突出。
1.2Objective-C
Objective-C是一门基于C语言的面向对象语言,它在现代计算机中主要作用于MacOSX作为桌面语言。
Objective-C是C语言的一个超集,其主要特色与优势如下。
Objective-C不仅提供了其他面向对象编程语言中的抽象概念和运行机制,而且还是一种非常灵活的语言,这种动态性就是Objective-C的最大优势所在。
这种动态性可以让应用在运行中(即“运行时”)判断其该有的行为,而不是在编译构建时就固定下来。
因此,Objective-C把应用程序从编译时、链接时的限制中解放出来。
Objective-C的动态性来自以下三个方面:
动态类型:
可以让代码在运行时判断对象的类型。
Id数据类型可以在运行时用任何数据类型来替换。
所以,你可以让运行时因素来决定代码中用到的对象是什么类型。
动态类型让你的应用更加灵活,这是静态类型做不到的。
动态绑定:
让代码在运行时判断需要调用什么方法,而不是编译时。
就像动态类型把对象的类型放到运行时再去判断一样,动态绑定把选择调用哪种方法的任务放到了运行时去完成。
和其他面向对象语言一样,方法调用和代码并没有在编译时就联结结在一起,只有在消息发出时,它们才真正联结。
动态类型和动态绑定的存在使得选择哪个接收者以及调用哪个方法都可以在运行时来决定。
动态载入:
可以让程序在运行时添加代码模块以及其他资源。
有了动态载入特性,应用可以根据需要加载一系列可执行代码以及资源,而不是在启动时就加载所有组件。
这能够大大提高性能。
可执行代码中可以含有和程序运行时整合的新类型。
1.3Xcode
Xcode是苹果公司向开发人员提供的运行在苹果公司的Mac操作系统下的用于开发MacOS、iOS应用程序的集成开发环境。
Xcode可以编辑由C、C++、Objective-C、Objective-C++、和Java源代码组成的工程,可以生成MacOSX支持的所有类型的执行代码,包括命令行工具、框架、插件、内核扩展、程序包、和应用程序。
1.4MAMP
MAMP代表Macintosh、Apache、MySQL和PHP,它用于在MacOSX上创建一个本地Web应用开发环境。
其中Macintosh简称MAC,是苹果系列电脑中的一款个人电脑。
Apache是世界使用排名第一的Web服务器。
它可以运行在几乎所有的计算机平台上。
由于其跨平台和高安全性而被广泛使用,是目前最流行的Web服务器软件之一。
MySQL是一个快速、多线程、多用户的关系型数据库管理系统。
它支持正规的SQL查询语言和采用多种数据类型,能对数据进行各种详细的查询等。
PHP,是英文超文本预处理语言HypertextPreprocessor的缩写。
PHP是一种HTML内嵌式的语言,是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格类似于C语言,已被广泛地运用。
MAMP分为MAMP和MAMPPRO。
“MAMPPRO”是商业、专业级版本的本地服务器环境,用于MacOSX,为专业的web开发人员和程序员而开发。
在MacOSX的开发环境下,MAMPPRO易于安装和管理。
使用MAMPPRO不需要复杂的配置就可以创建一个有效的测试环境。
环境之间界限清楚,这可以让几个项目同时开发。
为了尽可能的代表各式各样的ISP,PHP可以在不同版本间随时切换,以防止任何可能的兼容性问题。
轻点几下鼠标,就可以在Mac上用MAMP作中转服务。
1.5MVC模式概述
MVC(ModelViewController)即模型-视图-控制器。
M是指数据模型,V是指用户界面,C则是控制器。
使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。
C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新。
MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。
使用MVC应用程序被分成三个核心部件:
模型、视图、控制器。
它们各自处理自己的任务。
下面来具体说明下三个部分的功能:
1.视图
视图是用户看到并与之交互的界面。
对老式的Web应用程序来说,视图就是由HTML元素组成的界面,在新式的Web应用程序中,HTML依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括AdobeFlash和象XHTML,XML/XSL,WML等一些标识语言和Webservices.
2.模型
模型表示企业数据和业务规则。
在MVC的三个部件中,模型拥有最多的处理任务。
被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。
由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。
3.控制器
控制器接受用户的输入并调用模型和视图去完成用户的需求。
所以当单击Web页面中的超链接和发送HTML表单时,控制器(例如:
servlet)本身不输出任何东西和做任何处理。
它只是接收请求并决定调用哪个模型构件去处理请求,然后确定用哪个视图来显示模型处理返回的数据。
现在我们总结MVC的处理过程,首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理,然后模型用业务逻辑来处理用户的请求并返回数据,最后控制器用相应的视图格式化模型返回的数据,并通过表示层呈现给用户。
1.低耦合性。
视图层和业务层分离,这样就允许更改视图层代码而不用重新编译模型和控制器代码,因为模型与控制器和视图相分离,所以很容易改变应用程序的数据层和业务规则。
2.高重用性和可适用性。
随着技术的不断进步,现在需要用越来越多的方式来访问应用程序。
MVC模式允许你使用各种不同样式的视图来访问同一个服务器端的代码。
所需要的仅令是改变视图层的实现方式,而控制层和模型层无需做任何改变。
3.较低的生命周期成本。
MVC使降低开发和维护用户接口的技术含量成为可能。
4.快速的部署。
使用MVC模式使开发时间得到相当大的缩减,它使程序员(Java开发人员)集中精力于业务逻辑,界面程序员(HTML和JSP开发人员)集中精力于表现形式上。
5.可维护性。
分离视图层和业务逻辑层也使得WEB应用更易于维护和修改。
6.有利于软件工程化管理。
由于不同的层各司其职,每一层不同的应用具有某些相同的特征,有利于通过工程化、工具化管理程序代码。
第2章系统分析
2.1需求分析
需求分析是软件开发的一个关键过程。
在这个过程中,系统分析员和软件工程师确定顾客的需要。
只有在确定了这些需要后他们才能够分析和寻求新系统的解决方法。
需求分析是软件定义阶段中的最后一步,是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。
目前,在人们的日常生活中,手机扮演着不可或缺的重要角色。
上网、聊天、购物等一系列功能更是给人们带来了越来越多的便利和享受。
在人们工作和娱乐的同时,听音乐也成了放松和舒缓心情的主要方式之一。
本系统主要是针对iPhone手机用户的音乐播放需求,在对各个平台的音乐播放器进行分析比较后,根据需求分析确定了本系统的主要功能为:
其中,播放子系统具备循环播放、顺序播放、单曲循环、顺序选取、暂停、录音、歌词显示等基本功能。
图2-1系统总用例图
2.1.1系统总体功能需求
根据对各个平台音乐播放器的集中分析和汇总,并结合对广大iPhone手机用户进行调查的结果,得出本系统设计的音乐播放器的主要功能有:
本地音乐播放、网络音乐下载、网络歌曲搜索、MV播放及系统设置等。
其系统总体用例图如图2-1所示。
2.1.2播放子系统功能需求
结合各平台主流音乐播放器的特点,设计得出本系统的音乐播放子系统应具有的功能有:
上一首、下一首、暂停、录音、歌词显示、专辑图片显示等。
其功能用例图如图2-2所示。
图2-2播放子系统用例图
其中歌曲播放模式有顺序播放、单曲循环、随机播放等。
其基本的播放模式功能用例图如图2-3所示。
图2-3播放模式用例图
2.1.3用户界面需求
随着技术的进步,可视化的应用程序设计语言被越来越多的广泛使用。
利用可视化的程序设计语言可以设计出功能强大、操作简单、使用方便、适合不同人群和领域的应用程序。
有些应用程序的用户界面设计有很强的艺术性,给人一种清晰、美观、简明、易用的感觉。
因此,一个系统的用户界面设计不仅影响着其本身外观的艺术性,而且对系统的可用性也有很重要的影响。
可以说用户界面是一个应用程序最重要的一面,它直接影响程序的使用价值。
对于大多数用户来说,用户界面就是他们对一个产品最初的大致了解。
所以即使是一个内部设计良好但用户界面不好的应用程序,也很难得到广大用户的青睐。
一致性是用户界面设计中的重要因素之一,一致性的外观体现了应用程序的协调性。
如果缺乏一致性就会使界面混乱而无序,这样的界面体现不出该应用应有的价值,更可能使用户觉得该应用不可靠。
结合上述分析,本款播放器的主界面设计如下图2-4所示。
整体色调采用充满生机的青绿色,简约而不失美观。
功能按钮亦按简约易用的原则设计和摆放。
用户通过点击界面下方tabBar上的按钮,即可在本地音乐、网络音乐、MV、设置之间进行随意切换。
图2-4播放器主界面图2-5播放子系统
播放子系统的界面亦采用青绿色的色调,整体显得协调美观。
具体如上图2-5所示,同时点击专辑图片左右滑动即可在歌词显示和歌手图片显示画面间自由的切换。
2.2可行性分析
可行性分析也称为可行性研究,即是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、管理的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。
可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能解决。
该系统的可行性分析包括以下几个方面的内容。
2.2.1经济可行性
主要是对项目的经济效益进行评价。
随着iPhone手机的流行,设计和开发一款能满足iPhone用户听音乐需求的播放器是十分必要的。
具备音乐的搜索、下载、播放等功能的音乐的播放器是很有市场前景的。
本款播放器在经济上是完全可以接受的,只要用户拥有iPhone手机,即可安装这款音乐播放器。
所以本款播放器在经济上是可行的。
2.2.2技术可行性
技术上的可行性分析主要分析技术条件是否能顺利完成开发工作,硬、软件能否满足开发者的需要等。
软件方面,应用程序开发所需要的各种软件环境都已具备,服务器方面则有MAMP,安装管理都很方便。
其包括的PHP和MySQL的灵活性、安全性和易用性都为服务器端的设计和代码编写提供了良好的条件。
因此,系统软件开发平台已成熟可行。
硬件方面,拥有一台Mac或MacBook即可,本人已拥有一台MacBook。
因此,系统硬件开发平台已成熟可行。
2.2.3社会可行性分析
本应用程序为独立开发,在技术上没有使用任何现有的软件与方法。
所以在法律方面不会存在侵犯专利权、侵犯版权等问题,完全符合规定。
第3章总体设计
3.1播放器总体设计
根据需求分析和功能用例图,分析得出本播放器功能模块主要如下四个部分:
本地列表、网络列表、MV列表、设置。
具体功能设计如下图3-1所示。
图3-1播放器功能模块图
具体功能描述如下:
(1)本地音乐播放功能:
对保存在本地的歌曲进行播放。
(2)网络音乐下载功能:
网络上的音乐可以下载保存到本地。
(3)网络歌曲搜索功能:
在网络歌曲列表中查找自己想要听的歌曲。
(4)歌词同步显示功能:
播放音乐的时候同步显示歌词。
(5)MV播放功能:
播放已下载的MV。
(6)录音功能:
录制音频并可以回放。
(7)系统设置功能:
设置是否自动下载歌词、是否自动下载专辑图片等。
3.2服务器功能模块设计
为配合上述播放器的功能设计,服务器端设计分为如下3个功能模块:
歌曲分类、歌曲列表显示、歌曲录入。
如图3-2所示。
图3-2服务器模块图
(1)歌曲分类功能:
对歌曲进行分类,如新歌、经典老歌等,方便用户分类查找。
(2)歌曲列表显示功能:
显示上传到服务器的所有歌曲,并可以删除已上传的歌曲,和试听已存在的歌曲。
(3)歌曲录入端口功能:
录入歌曲名称、歌手名,上传歌手图片、歌曲资源到服务器。
3.3数据库设计
根据上述服务器功能模块图,结合播放器的的功能,分析、设计得出如下表3-1所示的系统数据库表。
表3-1歌曲属性表(music_list)
字段名称
类型
是否为空
是否自增
是否主键
注释
id
int(10)
√
序号
m_id
varchar(20)
歌曲id
m_file_name
varchar(100)
歌曲路径
m_file
歌曲名
m_who_song
歌手名
m_who_image_name
专辑图片
m_downloads
下载量
m_time
上传时间
m_size
歌曲大小
第4章详细设计与实现
4.1开发环境配置
客户端环境:
(1)MacOSX10.8.2操作系统
(2)Safari6.0.1浏览器及其兼容浏览器
(3)开发工具:
Xcode4.3.2
(4)开发语言:
Objective-C
(5)硬件环境:
CPU主频为2.5GHz及以上,内存4GB及以上
服务器环境:
(1)操作系统:
MacOSX10.8.2操作系统
(2)数据库系统:
MySQL
(3)开发语言:
PHP
(4)开发工具:
MAMP2.0.5
4.1.1服务器配置
安装好MAMP后,在Finder中选择应用程序,点击MAMP,选择LaunchMAMPPRO,即可启动MAMP配置。
如图4-1所示。
图4-1LaunchMAMPPRO
点击Hosts添加本地地址127.0.0.1,如图4-2所示。
图4-2Hosts本地地址配置
点击Server修改Apache端口号为80,如图4-3所示。
图4-3Apache端口配置
经过上述两部操作,服务器即已配置好。
点击右上角的start按钮,即可开启Apache和MySQL,如图所4-4示。
图4-4启动MAMPPRO
4.1.2数据库创建
此时点击WebStart开启服务器,点击PHPMyadmin在新建数据库的位置新建数据库。
注意整理那一项要选择utf8_general_ci,使其与下面MySQL连接校对的地方相同,如图4-5所示。
图4-5新建数据库
当数据库建立好之后,便可以在数据库中建立数据表了,本系统建立了如下两张数据表,如图4-6所示。
图4-6系统数据表
4.1.3服务器功能展示
整个服务器共分为3部分,第一部分是歌曲的分类,如新歌、经典老歌等。
其可以添加歌曲的分类,也可以删除或重命名已有的歌曲分类,如图4-7所示。
图4-7歌曲分类
第二部分是歌曲的列表显示。
其可以删除已有的歌曲,可以查看这首歌曲的详情,还可以试听,如图4-8,4-9所示。
图4-8歌曲列表
图4-9歌曲详情
第三部分是歌曲录入端口,选择歌曲类型,输入歌手名,上传专辑图片和歌曲资源即可完成音乐的上传,如图4-10所示。
图4-10歌曲录入端口
4.2客户端设计与实现
客户端设计属于详细设计。
详细设计是软件工程中软件开发的一个步骤,就是对概要设计的一个细化,就是详细设计每个模块实现算法,所需的局部数据结构。
详细设计的目标有两个:
实现模块功能的算法要逻辑上正确、算法描述要简明易懂。
在总体设计部分已确定了本款音乐播放器的各功能模块,结合界面设计原则,在此部分将对各功能模块的具体用户界面设计和详细功能设计进行细化、并编写代码实现。
4.2.1首页
如图4-11所示,为本款音乐播放器的首页。
其实现方法使用了iCarousel控件。
这使得用户只要用手指在本地音乐、网络音乐、MV和设置模块之间进行轻松滑动,即可实现不同功能的自由切换。
同时通过轻轻点击即可进入相应的具体功能模块。
图4-11首页图4-12本地播
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 iPhone6 音乐 播放 设计 开发 毕业设计 说明书 论文
![提示](https://static.bdocx.com/images/bang_tan.gif)