已阅读5页,还剩21页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件工程数据库课程设计软件设计说明书目录1引言11.1编写目的11.2背景说明11.3定义11.4 参考资料22总体设计22.1需求规定22.2运行环境32.3基本设计概念和处理流程32.4结构设计52.4.1结构52.4.2功能需求与程序的关系62.4.3人工处理过程72.4.4尚未问决的问题72.5接口设计72.5.1用户接口72.5.2外部接口72.5.3内部接口72.6 其它专门要求73系统出错处理设计73.1出错信息73.2补救措施73.3. 系统维护设计84播放器主界面设计84.1程序描述84.2功能84.3算法94.4注释设计134.5测试计划145音乐列表设计14 5.1 程序描述145.2功能145.3算法145.4注释设计155.5测试计划156扫描音乐设计16 6.1 程序描述166.2功能166.3算法166.4注释设计176.5测试计划177上一曲/下一曲设计18 7.1 程序描述187.2功能187.3算法187.4注释设计197.5测试计划198音乐播/放暂停设计20 8.1 程序描述208.2功能208.3算法208.4注释设计218.5测试计划219音量增加/减少设计22 9.1 程序描述229.2功能229.3算法229.4注释设计239.5测试计划23 III1引言1.1编写目的现在社会快速,繁重紧张,音乐欣赏可以使人放松,听音乐也可以提高人的情操。本项目的目的是开发一款可以播放音乐文件的音乐播放器,并可以控制暂停,控制播放。音量调节,关闭播放器等功能。本软件适用于各种人。随着见算计的广泛应用,手机市场的迅速发展,各种音频视频资源也在网上广为流传。这些资源看似平常,但已经渐渐成为人们生火中不可缺少高的一部分了。于是各种手机播放器也随着发展起来了,但是市面上的手机播放器的软件大部分是最求外观花哨,功能庞大。这样虽然好但是对手机资源造成的很大的浪费,比如CPU,内存使用过高。在用户需要多操作时受到不小的影响,带来了许多不便,许多功能上形同虚设!我认为术业有专攻,做音乐播放器,就要最好音乐部分。针对以上弊端,选择开发界面简单模块化的,功能明确,方便实用,不占内存。1.2背景说明说明:1. 待开发的软件系统的名称:MY音乐2. 任务提出者:中北大学软件学院3. 开发者:杜晓阳4. 用户:中北大学软件学院1.3定义Android SDK(SoftwareDevelopmentKit) 软件开发工具包1.4 参考资料 Android一词的本义指“机器人”,同时也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。Android是基于Linux内核的软件平台和操作系统,早期由Google开发(在华注册商标名为“安致”),后由开放手机联盟(OpenHandsetAlliance)开发。它采用了软件堆层(softwarestack,又名以软件叠层)的架构,主要分为三部分。低层以Linux内核工作为基础,只提供基本功能;其他的应用软件则由各公司自行开发,以Java作为编写程序的一部分。另外,为了推广此技术,Google和其它几十个手机公司建立了开放手机联盟。Android在未公开之前常被传闻为Google电话或gPhone。大多传闻认为Google开发的是自己的手机电话产品,而不是一套软件平台。到了2013年11月,Google开始发表自家品牌手机电话的NexusOne。目前最新SDK版本为Android4.4。2总体设计2.1需求规定 功能需求定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足了用户的业务需求。用户需求文档描述了用户使用产品必须要完成的任务。针对音乐播放器分别对音乐播放、在线音乐播放及会员特权的换肤等功能进行详细的调研和分析,总结出如下的用户需求信息。(1) 界面美观 简洁。(2) 运行方便,操作简单。(3) 经济适用,功能充实。2.2运行环境2.2.1设备(1) 支持Android 1.6版本以上的安卓系统手机。(2) 支持屏幕任何尺寸的安卓手机。(3) 支持安卓模拟器运行。2.2.2支持软件(1) 支持安卓操作系统软件。(2) 支持装有安卓模拟器的windows操作系统。(3) 支持安卓模拟器2.3基本设计概念和处理流程功能用例图如下 图 2-3 功能用例图 表3-1 播放用例用例名称:播放参与者:用户目标:用户点击播放音乐列表中的歌曲前置条件:播放器正在运行基本事件流:1.用户单击列表中歌曲 2.播放器将播放列表中的点击的歌曲 表3-2 暂停用例用例名称:暂停参与者:用户目标:使得用户可以暂停正在播放的歌曲前置条件:歌曲正在播放且未停止和暂停基本事件流:1.用户单击“暂停”按钮 2.播放器将暂停当前的歌曲 表3-4 上一首/下一首用例用例名称:上一首/下一首参与者:用户目标:使得用户可以点播上一首或下一首音乐前置条件:歌曲正在播放或歌曲暂停中基本事件流:1.用户单击“上一首或下一首”按钮 2.播放器将播放上一首歌曲或下一首歌曲 表3-5 音乐列表用例用例名称:音乐列表参与者:用户目标:使得用户可以进入音乐列表前置条件:程序在运行基本事件流:1.用户单击“音乐”分区 2.播放器进入音乐列表2.4结构设计2.4.1结构程序流程图如下 图2-4-1 系统流程图 表2-4-1 功能关系表功能类别子功能子功能音乐列表播放列表菜单退出播放关于音乐列表点击播放-进入播放界面播放界面播放播放歌曲-线程启动-时间更新暂停暂停歌曲-线程暂停-时间暂停初曲寻找音乐列表第一首歌曲终曲寻找音乐列表最后一首歌曲上一首寻找当前播放的上一ID歌曲下一首寻找当前播放下一ID歌曲主菜单退出程序程序退出关于版权信息1. 音乐模块需求在音乐模块中我们需要获取歌曲的名称和音乐的时间长度,获取完成后列表排列。表2-4-2音乐列表用例用例名称:音乐列表参与者:用户目标:使得音乐列表显示歌曲名称,右边显示时间长度前置条件:播放器在主界面基本事件流:1.用户单击主界面上音乐模块 2.音乐列表显示以音乐排列的列表2.4.2功能需求与程序的关系 表2-4-2 功能关系表功能类别子功能子功能音乐列表播放列表菜单退出播放关于音乐列表点击播放-进入播放界面播放界面播放播放歌曲-线程启动-时间更新暂停暂停歌曲-线程暂停-时间暂停初曲寻找音乐列表第一首歌曲终曲寻找音乐列表最后一首歌曲上一首寻找当前播放的上一ID歌曲下一首寻找当前播放下一ID歌曲主菜单退出程序程序退出关于版权信息2.4.3尚未问决的问题功能不是很完善,不能实现歌词功能,文件必须是在SD卡中MYmusic文件下才能播放。2.5接口设计2.5.1用户接口 触摸结构,当用户触摸屏幕上的按钮,按钮就开始工作。2.5.2外部接口(1) 软件接口:操作系统:Windowsxp支持环境:Android2.1版本开发环境:Eclipse3.5ADT0.9(2) 硬件接口:支持USB 2.0。3系统出错处理设计3.1出错信息出错提示原因解决方法程序运行停止手机内存不足或程序被中断重启应用手机内存不足手机内存不足清理手机内存找不到SD卡没有文件路径装载SD卡,重启音乐不能播放文件损坏或播放路径不对将音乐文件放在指定文件夹中3.2补救措施说明故障出现后可能采取的变通措施,包括:1. 程序运行停止: 解决办法: 重启应用 2. 手机内存不足: 解决办法:清理手机内存 3. 找不到SD卡: 解决办法:装载SD卡,重启 4. 音乐不能播放: 解决办法:将音乐文件放在指定文件夹中3.3. 系统维护设计为了系统维护的方便而在程序内部设计中作出了安排,本软件是音乐播放软件,与手机内存相关联。在维护上只涉及到音乐跟新问题,还有主题界面的更换。由于与手机内存相关联,所以在维护上不必花费太多资源。4音乐播放器主界面功能实现4.1程序描述 设计程序主界面,增加主界面的美观,以及和用户之间的交互性。通过UI设计UML文件设计,使用控件布局,代码相结合。完美设计出主界面。4.2功能 主界面明确了当,直接的显示出可操作的按钮。让用户更加简单,使用本软件。4.3算法 界面如下: 图5-3-1 主界面Uml 布局代码如下 Java代码如下protected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);setContentView(R.layout.main3);4.4注释设计1. 加在模块首部的注释::主界面的设计2. 加在各分枝点处的注释:增音控件按钮,减音按钮,下一曲按钮,上一曲按钮,播放暂停按钮。4.5测试计划 运行程序,显示如果和图5-3-1一样,说明界面设计合理,不一样说明界面设计不合理5音乐列表设计5.1 程序描述播放列表中存放音乐文件名字,点击文件名字,即可播放音乐,列表存放的方式是数列模式。5.2 功能播放列表有存放音乐文件,点击音乐文,即可播放。5.3 算法 UML代码: Java代码:private List audioList = new ArrayList(); / 要播放的音频列表SuppressLint(SdCardPath)private void audioList() getFiles(/sdcard/); / 获取SD卡上的全部音频文件ArrayAdapter adapter = new ArrayAdapter(this,android.R.layout.simple_list_item_1, audioList); / 创建一个适配器ListView listview = (ListView) findViewById(R.id.list); / 获取布局管理器中添加的ListView组件listview.setAdapter(adapter); / 将适配器与ListView关联/ 当单击列表项时播放音乐listview.setOnItemClickListener(new OnItemClickListener() Overridepublic void onItemClick(AdapterView listView, View view,int position, long id) currentItem = position; / 将当前列表项的索引值赋值给currentItemplayMusic(MUSIC_PATH+audioList.get(currentItem); / 调用playMusic()方法播放音乐);5.4 注释设计 要播放的音频列表 获取SD卡上的全部音频文件 将适配器与ListView关联 当单击列表项时播放音乐 将当前列表项的索引值赋值给currentItem 调用playMusic()方法播放音乐5.5 测试计划 运行程序,扫描音乐,点击列表文件,听音乐,是否有音乐播放。6扫描音乐设计6.1 程序描述 本段程序是将SD卡上的音乐文件,进行扫描,并将文件加载到播放列表中。6.2 功能 点击扫描音乐按钮,进行音乐文件扫描,扫描SD卡上的所有MP3格式的音乐文件。将扫描后的音乐文件加载到播放列表中。6.3 算法UML 代码:Java 代码:private void getFiles(String url) File files = new File(url); / 创建文件对象File file = files.listFiles();try for (File f : file) / 通过for循环遍历获取到的文件数组if (f.isDirectory() / 如果是目录,也就是文件夹getFiles(f.getAbsolutePath(); / 递归调用 else if (isAudioFile(f.getName() / 如果是音频文件audioList.add(f.getName(); / 将文件的路径添加到list集合中 catch (Exception e) e.printStackTrace(); / 输出异常信息private static String imageFormatSet = new String .mp3 ; / 合法的音频文件格式/ 判断是否为音频文件private static boolean isAudioFile(String path) for (String format : imageFormatSet) / 遍历数组if (path.contains(format) / 判断是否为有合法的音频文件return true;return false;6.4 注释设计 创建文件对象 通过for循环遍历获取到的文件数组 如果是音频文件 将文件的路径添加到list集合中 合法的音频文件格式 判断是否为音频文件6.5 测试设计 运行程序,当成点击扫描音乐按钮,等待程序扫描,判断是否有音乐文件在列表中。如果有,说明本段程序实用。否则则不适用,需要再次设计。7上一曲/下一曲设计 7.1 程序描述本段程序实现音乐上一曲下一曲的播放,当点击上一曲或下一曲的时候,播放器会对播放列表的文件进行上一曲或下一曲的播放。 7.2 功能 当点击上一曲或下一曲的时候,播放器会对播放列表的文件进行上一曲或下一曲的播放。 7.3 算法 UML 代码: Java 代码: / 下一首void nextMusic() if (+currentItem = audioList.size() / 当对currentItem进行+1操作后,如果其值大于等于音频文件的总数currentItem = 0;playMusic(MUSIC_PATH+audioList.get(currentItem); / 调用playMusic()方法播放音乐/ 上一首void preMusic() if (-currentItem = 0) / 当对currentItem进行-1操作后,如果其值大于等于0if (currentItem = audioList.size() / 如果currentItem的值大于等于音频文件的总数currentItem = 0; else currentItem = audioList.size() - 1; / currentItem的值设置为音频文件总数-1playMusic(MUSIC_PATH+audioList.get(currentItem); / 调用playMusic()方法播放音乐 7.4 注释设计 下一首 上一首 当对currentItem进行+1操作后,如果其值大于等于音频文件的总数 调用playMusic()方法播放音乐 7.5 测试设计 采用黑盒测试,当运行程序后,扫描文件后,并放音乐后,点击上一曲,判断音乐是否能进行下一曲,能行说明程序功能合适,再次进行下一曲测试。 8 播放/暂停设计 8.1 程序描述本段程序实现了播放音乐和暂停音乐的功能,当点击音乐播放/暂停按钮的候,点击一下,音乐会播放,再点击以下,音乐会暂停。 8.2 功能 当点击音乐播放/暂停按钮的候,点击一下,音乐会播放,再点击以下,音乐会暂停。 8.3 算法UML 代码: Java 代码: pause.setOnClickListener(new OnClickListener() Overridepublic void onClick(View v) if (mediaPlayer.isPlaying() mediaPlayer.pause(); / 暂停视频的播放(Button) v).setText(继续); else mediaPlayer.start();/继续播放(Button) v).setText(暂停););/ 播放音乐void playMusic(String Path) try if (mediaPlayer.isPlaying() mediaPlayer.stop(); / 停止当前音频的播放mediaPlayer.reset(); / 重置MediaPlayermediaPlayer.setDataSource(Path); / 指定要播放的音频文件mediaPlayer.prepare(); / 预加载音频文件mediaPlayer.start(); / 播放音频pause.setText(暂停);pause.setEnabled(true); / 设置“暂停”按钮可用 catch (Exception e) e.printStackTrace(); 8.4 注释设计 播放音乐 重置MediaPlayer 指定要播放的音频文件 预加载音频文件 设置“暂停”按钮可用8.5 测试设计 黑盒测试,当运行程序后,点击音乐文件播放,当点击暂停按钮的时候,看音乐是否暂停,当点击播放按钮的时候,判断音乐是否播放。9 音量
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 矿车拉手细分市场深度研究报告
- 玩具用服装商业机会挖掘与战略布局策略研究报告
- 牙科用导电漆商业机会挖掘与战略布局策略研究报告
- 国际公法服务行业营销策略方案
- 蜂箱用巢础市场分析及投资价值研究报告
- 带有时钟的收音机产品供应链分析
- 安全网产业链招商引资的调研报告
- 废旧金属回收利用行业相关项目经营管理报告
- 卫星传输带宽出租行业营销策略方案
- 电路测试仪产品供应链分析
- 2024详解新版《公司法》课件
- 医学美容技术专业《美容美体技术》课程标准
- 2024年保安员上岗证初级保安员考试题库
- DL-T5159-2012电力工程物探技术规程
- 血液病-恶性肿瘤患者侵袭性真菌病的诊断标准与治疗原则(第六次修订版)解读
- 田间混凝土道路工程施工方案
- 国开2024《人文英语4》边学边练参考答案
- 华为IPD流程各阶段370个活动详解
- 《高速公路沥青路面施工技术规范》
- 2023年-2024年《高等教育管理学》考试题库(含答案)
- 商业银行贷款风险提示
评论
0/150
提交评论