完整word版android手机音乐播放器实训报告final.docx
《完整word版android手机音乐播放器实训报告final.docx》由会员分享,可在线阅读,更多相关《完整word版android手机音乐播放器实训报告final.docx(38页珍藏版)》请在冰豆网上搜索。
完整word版android手机音乐播放器实训报告final
课程名:
软件工程综合实践
实践项目:
基于Android的手机音乐播放器
一、课程设计题目
基于Android的手机音乐播放器
二、课程设计内容(含技术指标)
本程序是基于Android开源系统技术,利用Java语言和Eclipse编辑工具对播放器进行编写。
程序功能如下:
用户可以按照以下规则进行操作:
1.音乐播放:
界面对歌曲操作有播放、暂停、停止、音量控制、上一首/下一首
播放模式:
随机播放、顺序播放、单曲循环。
2.音乐管理:
音乐列表、专辑:
显示全部音乐文件,能直接选择播放歌曲。
艺术家:
归类艺术家的音乐文件。
最近播放:
记录用户最近播放的音乐文件,方便用户再次使用。
3.显示歌词:
能显示播放歌曲的歌词。
4.添加音乐:
在文件夹中添加音乐进播放列表。
5.删除音乐:
删除播放列表的歌曲。
三、进度安排
1.第四周分组分工,5人。
并选择题目
2.第五~九周独立完成各自内容及相关文档。
3.第十周周整合,联调。
4.第十一周答辩。
四、基本要求
1.各组指定组长一名,组长负责分工,分工要求要明确,不得重叠。
组长有加分。
各个成员独立完成各自的部分,不得抄袭。
2.答辩要求每个人讲清楚自己做的部分。
课程负责人签名:
年月日
第一章引言
1.1目的及范围
随着科技的进步,手机的功能也不断的得到丰富,从最早的“大哥大”到现在的商务手机,只能手机,音乐手机等等,功能也从单纯的打电话发展到了发短信,听歌,上网……手机和我们生活的联系越来越紧密,手机的功能也是很多人们关注的焦点。
目前手机的音乐播放器已经是大家比较关注的一个部分,不少人在购买手机的时候都会关心手机的音乐播放的能力,这也足以看出目前大家对音乐播放功能的重视,所以一款性能良好的手机音乐播放器软件一定会受到欢迎。
和传统的音乐播放器相比,手机播放音乐更加的容易携带,其他方面也不输于传统的音乐播放器,而且还具有网上听音乐动能,所以开发一款受欢迎的手机音乐播放器软件是具有良好的市场和应用前景。
一款专业的音乐播放器软件是手机中必不可少的要素,几乎市场上所有的手机都拥有一个自带的音乐播放器软件,通过软件可以对音乐欣赏中一些必要的元素进行人性化的设置,同时在操作的时候也能得到一定的便利,但是不能满足用户的所有要求,所以网上就出现了各种各样的手机音乐播放器软件,来满足不用用户的不同要求。
不同手机平台的手机,所支持的音乐播放软件也是各不相同,而现在最流行的手机平台就是google的android手机平台,所以本课题就致力于开发出一款基于android手机平台的音乐播放器,来满足用户的使用需求。
1.2术语
●Android:
一种以Linux为基础的开放源码操作系统,主要使用于便携设备。
●SDK:
SoftwareDevelopmentKit,即软件开发工具包,是一些被软件工程师用于为特定的软件包、软件框架、硬件平台、操纵系统等建立应用软件的开发工具的集合。
●AVD:
AndroidVirtualDevice,即Android运行的虚拟设备。
●DDMS:
DalvikDebugMonitorService,是Android开发环境中的Dalvik虚拟机调试监控服务。
●Activity:
Android组件中最基本的组件,在一个Android应用中,一个Activity通常就是一个单独的屏幕。
●Intent是Android中的重要组件,可以被认为是不同组件之间通信的“媒介”或者“信使”。
使用它可以启动Activity,Service还可以发起一个广播(Broadcast)。
Intent对象由Action、Data、Category、Component和Extra组成。
●Service:
一种长生命周期的、没有用户界面的程序。
●BroadcastReceiver:
为了实现系统广播而提供的组件。
●ContentProvider:
实现不同组件之间的数据共享。
第二章需求说明
2.1系统参与者
手机用户
2.2系统用例
图2.2系统用例模型图
2.3领域模型分析
领域模型:
图2.3领域模型图
用例名称:
播放音乐
参与者:
手机用户
级别:
用户目标
涉众及其关注点:
用户:
用户通过选择播放器播放的功能,实现对音乐的播放过程。
前置条件:
sdcard里保存有扩展名为mp3的音乐文件。
后置条件:
发出歌曲声音。
主成功场景:
1用户打开音乐播放器。
2用户打开音乐列表,选择待播放的歌曲名。
3进度条自动向右滚动。
3a读取歌词文本
3b显示歌词
3c歌词文件不存在
用例名称:
暂停歌曲
参与者:
手机用户
级别:
用户目标
涉众及其关注点:
用户:
用户通过选择播放器暂停的功能,实现对音乐的暂停播放过程。
前置条件:
正在播放音乐。
后置条件:
静音。
主成功场景:
1用户选择暂停按钮。
2播放器暂停播放,进度条停止自动向右滚动。
用例名称:
切换下一首
参与者:
手机用户级别:
用户目标涉众及其关注点:
用户:
用户通过选择播放器的切换下一首歌曲功能,实现对音乐的切换播放过程。
前置条件:
正在播放歌曲。
后置条件:
下一首歌曲正在播放。
主成功场景:
1用户选择切换下一曲按钮。
2屏幕显示下一首歌曲的名称,进度条开始滚动。
用例名称:
显示音乐列表参与者:
手机用户级别:
用户目标涉众及其关注点:
音乐界面的音乐列表显示歌曲前置条件:
sdcard里保存有扩展名为mp3的音乐文件。
后置条件:
音乐列表能全部显示出扩展名为mp3的歌曲名主成功场景:
1用户打开音乐播放器。
2用户打开音乐列表,查看歌曲。
用例名称:
删除歌曲参与者:
手机用户级别:
用户目标设众及其关注点:
前置条件:
sdcard里保存有扩展名为mp3的音乐文件。
后置条件:
该歌曲已经从音乐列表中删。
主成功场景:
1用户打开音乐界面2用户对要删除歌曲,长按直至弹出操作列表3用户选择删除操作并确认该动作。
用例名称:
显示艺术家参与者:
手机用户级别:
用户目标涉众及其关注点:
音乐界面的艺术家列表显示歌曲的歌手前置条件:
sdcard里保存有扩展名为mp3的音乐文件。
后置条件:
艺术家列表能全部显示出扩展名为mp3的歌曲名的歌手主成功场景:
1用户打开音乐播放器。
2用户查看艺术家列表,查看艺术家和艺术家的歌曲。
用例名称:
显示专辑参与者:
手机用户级别:
用户目标涉众及其关注点:
音乐界面的专辑列表显示歌曲前置条件:
sdcard里保存有扩展名为mp3的音乐文件。
后置条件:
专辑列表能显示歌手的专辑名及歌曲主成功场景:
1用户打开音乐播放器。
2用户查看专辑列表,查看专辑名和专辑内的歌曲。
用例名称:
显示最近播放
参与者:
手机用户级别:
用户目标涉众及其关注点:
无
前置条件:
曾经播放过歌曲。
后置条件:
最近播放歌曲名称被保存到列表里
主成功场景:
1用户打开播放器。
2用户选择最近播放按钮。
用例名称:
启动随机播放
参与者:
手机用户
级别:
用户目标
涉众及其关注点:
用户:
用户通过选择播放器随机播放功能,实现音乐文件随机播放。
前置条件:
sdcard里保存有扩展名为mp3的音乐文件,歌曲列表里面有音乐文件。
后置条件:
在播放完当前音乐后,会随机播放歌曲列表里面的其中一首音乐。
主成功场景:
1用户打开音乐播放界面。
2在播放界面点击随机播放按钮。
3当前歌曲播放完,会随机播放歌曲列表里面的音乐文件。
3a用户点击下一首,随机播放歌曲列表里面的音乐文件。
用例名称:
启动单曲循环播放
参与者:
手机用户
级别:
用户目标
涉众及其关注点:
无
用户:
用户通过选择播放器随机播放功能,实现音乐文件单曲随机播放。
前置条件:
sdcard里保存有扩展名为mp3的音乐文件,歌曲列表里面有音乐文件。
后置条件:
在播放完当前音乐后,会重新播放该音乐文件。
主成功场景:
1用户打开音乐播放界面。
2在播放界面点击单曲循环播放按钮。
第三章架构设计说明
3.1逻辑视图
逻辑视图包含最重要的设计类、包和子系统中类的组织,以及各层中这些包和子系统的组织。
它还包含某些用例实现,它是设计模型的子集。
逻辑视图包含类图、状态图。
其中系统的包图表示如下:
图3.1逻辑视图
3.2进程视图
进程视图(ProcessView)是为了便于理解系统的进程组织,在“分析设计”工作流程中使用了名为进程视图的构架视图。
系统只有一个进程视图,它以图形方式说明了系统中进程的详细组织结构,其中包括类和子系统到进程和线程的映射。
此仿真系统案例进程视图如下:
图3.2进程视图
3.3开发视图
此视图概括了开发者创建开发环境是需要知道的信息。
图3.3开发视图
3.4物理视图
部署试图可以大概的描述物理视图。
部署视图描述位于节点实例上的运行构件实例的安排。
节点是一组运行资源,如计算机、设备或存储器等,部署视图用部署图来表达。
下图表示系统简单部署图:
图3.4部署图
3.5用例视图
详细请参阅第二章的系统用例,图如下:
图3.5用例视图
第四章用例设计
4.1播放音乐用例设计
4.1.1播放音乐时的控件界面:
图4.1.1
4.1.2播放音乐时序图
图4.1.2
4.2暂停音乐用例设计
4.2.1暂停音乐时的控件界面:
图4.2.1
4.2.2暂停音乐时序图
图4.2.2
4.3切换音乐用例设计
4.3.1切换音乐控件:
图4.3.1
4.3.2切换音乐时序图
图4.3.2
4.4显示音乐列表用例设计
4.4.1显示音乐列表的图标控件:
图4.4.1
4.4.2显示音乐时序图:
图4.4.2
4.5删除音乐用例设计
4.5.1删除音乐的界面:
图4.5.1
4.5.2删除音乐时序图
图4.5.2
4.6显示艺术家用例设计
4.6.1显示艺术加界面:
图4.6.1
4.6.2显示艺术家时序图:
图4.6.2
4.7显示专辑用例设计
4.7.1显示专辑的界面:
图4.7.1
4.7.2显示专辑时序图:
图4.7.2
4.8显示最近播放用例设计
4.8.1显示最近播放界面:
图4.8.1
4.8.2显示最近播放时序图:
图4.8.2
4.9启动随机播放用例设计
4.9.1随机播放控件:
图4.9.1
4.9.2随机播放用例时序图
图4.9.2
4.10启动单曲循环播放用例设计
4.10.1启动单曲循环播放的控件:
图4.10.1
4.10.2启动单曲循环播放时序图:
图4.10.2
4.11播放进度调节用例设计
4.11.1播放进度调节控件:
图4.11.1
4.11.2播放进度调节时序图:
图4.12.2
第五章设计类说明
5.1设计类字典
包含以下的设计类
设计类
属性
方法
AlbumActivity
_ids,_titles,_artists,_path,_listview,pos,albumName
onCreate()
AlbumListAdapter
myCon,albums,myMap
getCount(),getItem(),getItemId(),getView()
AppWidget
PLAY_ACTION,NEXT_ACTION,LAST_ACTION,START_APP
onReceive(),onUpdate(),
ArtistActivity
_ids,_titles,_artists,_path,_listview,pos,artistName
onCreate(),playMusic(),deleteMusic(),deleteMusicFile(),onContextItemSelected(),setListData()
ChangeGestureDetector
activity
ChangeGestureDetector(),onFling(),
DBHelper
TAB_NAME,db,CREATE_TAB
DBHelper(),onCreate(),insert(),update(),delete(),query(),queryRecently
LRCbean
beginTime,lineTime,lrcBody
getBeginTime(),setBeginTime(),setLineTime(),setLrcBody(),getLrcBody()
MusicActivity
LoopBtn,RandomBtm,playBtn,latestBtn,forwordBtn,rewindBtn,playtime,seekbar,soundbar,fHandler
MusicListAdapter
myCon,myCur
getCount(),getItem(),
MusicService
MUSIC_CURRENT,MUSIC_DURATION,MUSIC_NEXT,MUSIC_UPDATE,MUSIC_LIST,MUSIC_PLAY,MUSIC_PAUSE,MUSIC_STOP
onDestroy(),onStart(),onBind(),pause(),play(),stop()
RecentlyActivity
listView,maxVolume,currentVolume
onStop(),onCreate()
ScanSdReceiver
Ad,builder
onReceive()
第六章测试
6.1测试需求
需求编号
需求简述
优先级
备注说明
AM-001
界面显示
高
AM-002
界面切换
高
AM-003
播放音乐
高
AM-004
暂停歌曲
高
AM-005
切换歌曲
高
AM-006
显示音乐列表
中
AM-007
删除歌曲
中
AM-008
显示艺术家
中
AM-009
显示专辑
中
AM-010
显示最近播放
中
AM-011
启动随机播放
中
AM-012
启动单曲循环播放
中
AM-013
界面友好型
高
AM-014
显示歌词
中
AM-015
快捷键功能
高
AM-016
播放进度调节
中
AM-017
音量调节
高
AM-018
扫描sd卡
高
AM-019
兼容性测试
高
AM-020
鼠标和键盘结合控制
高
6.2测试用例
界面显示测试
测试项编号
AM-001
优先级
高
测试项描述
界面显示
前置条件
打开AM音乐播放器
用例序号
输入
执行步骤
预期结果
1
查看界面颜色
界面字体颜色与背景颜色分明
界面切换测试
测试项编号
AM-002
优先级
高
测试项描述
切换显示
前置条件
打开AM音乐播放器
用例序号
输入
执行步骤
预期结果
1
音乐列表,艺术家,专辑,最近播放
点击不同<<界面按钮>>
跳转到相应的界面
播放歌曲测试
测试项编号
AM-003
优先级
高
测试项描述
播放音乐
前置条件
打开AM音乐播放器
用例序号
输入
执行步骤
预期结果
1
点击选择播放文件
跳转到播放界面,播放音乐成功
暂停歌曲测试
测试项编号
AM-004
优先级
高
测试项描述
暂停歌曲
前置条件
打开AM音乐播放器,正在播放音乐
用例序号
输入
执行步骤
预期结果
1
点击音乐暂停按钮
音乐暂停,停止播放音乐
测试项编号
AM-005
优先级
高
测试项描述
切换歌曲
前置条件
打开AM音乐播放器,播放界面正在播放音乐或者暂停音乐
用例序号
输入
执行步骤
预期结果
1
点击上一首按钮
音乐跳转到上一首播放的音乐文件,播放上一首音乐文件
2
点击下一首按钮
音乐跳转到下一首准备播放的音乐文件,播放下一首音乐文件
切换歌曲测试
显示音乐列表测试
测试项编号
AM-006
优先级
高
测试项描述
显示音乐列表
前置条件
打开AM音乐播放器,
用例序号
输入
执行步骤
预期结果
1
点击打开音乐列表
打开音乐列表,显示所有被加进播放器的音乐文件
删除歌曲测试
测试项编号
AM-007
优先级
高
测试项描述
删除歌曲
前置条件
打开AM音乐播放器
用例序号
输入
执行步骤
预期结果
1
选择歌曲,长按直至弹出一个列表框,选择点击删除按钮
显示删除歌曲成功,在音乐列表找不到此音乐文件
显示艺术家歌曲测试
测试项编号
AM-008
优先级
高
测试项描述
显示艺术家
前置条件
打开AM音乐播放器,正在播放音乐
用例序号
输入
执行步骤
预期结果
1
点击打开艺术家列表
打开艺术家列表,显示所有被加进播放器的音乐文件的艺术家名字
显示专辑测试
测试项编号
AM-009
优先级
高
测试项描述
显示专辑
前置条件
打开AM音乐播放器
用例序号
输入
执行步骤
预期结果
1
点击专辑列表
打开专辑列表,显示专辑
显示最近播放列表测试
测试项编号
AM-010
优先级
高
测试项描述
显示最近播放
前置条件
打开AM音乐播放器
用例序号
输入
执行步骤
预期结果
1
点击最近播放
进入最近播放列表,显示最近播放的音乐文件。
随机播放测试
测试项编号
AM-011
优先级
高
测试项描述
启动随进播放
前置条件
打开AM音乐播放器,正在播放音乐
用例序号
输入
执行步骤
预期结果
1
点击下一首
播放器在音乐列表里面随机选择一个播放文件播放,不会是当前播放的文件
单曲循环播放测试
测试项编号
AM-012
优先级
高
测试项描述
启动单曲循环播放播放
前置条件
打开AM音乐播放器,正在播放音乐
用例序号
输入
执行步骤
预期结果
1
无
当前歌曲播放结束后,在鼠标和键盘不改变下,播放器会自动重复播放当前歌曲。
界面友好型测试
测试项编号
AM-013
优先级
高
测试项描述
使用播放器,测试功能,界面是否友好,人性化
前置条件
打开AM音乐播放器
用例序号
输入
执行步骤
预期结果
1
无
使用
界面,功能友好,人性化
显示歌词测试
测试项编号
AM-014
优先级
中
测试项描述
显示歌词
前置条件
AM音乐播放器,正在播放音乐
用例序号
输入
执行步骤
预期结果
点击一首歌曲播放
进入播放界面,并在界面可看到该首歌所对应的歌词
快捷键可用性测试
测试项编号
AM-015
优先级
高
测试项描述
快捷键功能的可用性
前置条件
AM音乐播放器已打开
用例序号
输入
执行步骤
预期结果
用键盘上的按键控制音乐歌曲1、歌曲选择
2、歌曲播放
3、歌曲属性选择
AM音乐播放器可用键盘按键使用
播放进度条控制测试
测试项编号
AM-016
优先级
中
测试项描述
播放进度条控制
前置条件
AM音乐播放器,正在播放音乐
用例序号
输入
执行步骤
预期结果
用鼠标拖动进度条上的控制方块
歌曲播放进度跟随控制方块的移动而相应
音量调节测试
测试项编号
AM-017
优先级
中
测试项描述
音量调节测试
前置条件
AM音乐播放器,正在播放音乐
用例序号
输入
执行步骤
预期结果
用鼠标拖动进度条上的控制方块
歌曲播放进度跟随控制方块的移动而相应
扫描sd卡测试
测试项编号
AM-018
优先级
高
测试项描述
测试软件能全部扫描sd卡里的歌曲
前置条件
AM音乐播放器,正在播放音乐
用例序号
输入
执行步骤
预期结果
1
1、往sd卡里添加歌曲
2、扫描刷新
播放列表中显示出添加的歌曲,并可用
兼容性测试
测试项编号
AM-019
优先级
高
测试项描述
测试该软件在不同版本下的兼容性
前置条件
无
用例序号
输入
执行步骤
预期结果
1
无
安装到Android2.1版本手机上
兼容,可用
2
安装到Android2.2版本手机上
兼容,可用
鼠标和键盘结合控制测试
测试项编号
AM-020
优先级
高
测试项描述
(感应)鼠标和键盘结合使用对播放器进行控制
前置条件
在Android模拟器上
用例序号
输入
执行步骤
预期结果
1
无
1、用鼠标控制
2、再用键盘控制
播放器仍可以成功运行
6.3缺陷
标题
歌词无法显示
优先级
4
严重级
4
Bug类别
设计问题
版本
1.0
状态
新建
测试环境
Android2.2模拟器
是否可重现
是
标题
集成测试发生未知错误,一直用键盘控制播放器后,然后用鼠标发生错误
优先级
4
严重级
4
Bug类别
设计问题
版本
1.0
状态
新建
测试环境
Android2.2模拟器
是否可重现
是
标题
整个程序使用的灵敏反应>1s
优先级
4
严重级
4
Bug类别
设计问题
版本
1.0
状态
新建
测试环境
手机Android2.2
是否可重现
是
标题
歌曲只能播放后缀名为.mp3的格式
优先级
4
严重级
4
Bug类别
设计问题
版本
1.0
状态
新建
测试环境
手机Android2.2
是否可重现
是
参考文献
[1]佘志龙、陈昱勋、郑明杰、陈小凤、郭秩均:
《GoogleAndroidSDK开发范例大全》(第2版)[M],人民邮电出版社2010年版,全书。
[2]CraigLarman著(李洋郑龑等译):
《UML和模式应用》[M],机械工业出版社2006年版全书。
[3]朱喜福:
《Java程序设计》[M],人民邮电出版社,2005年版,全书。
[4]佘志龙、陈昱勋、郑明杰、陈小凤、郭秩均:
《Google Android SDK开发范例大全》(第2版)[M],人民邮电出版社,2010年版,全书。
[5]吴亚峰、索依娜:
《Android核心技术与实例详解》[M],电子工业出版社,