版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要本次设计实现的音乐播放器小程序,让用户可以在登录微信之后,在微信首页通过简单的下拉操作即可直接打开小程序即可享受到音乐视听盛宴。依托于微信本身对数据可以进行缓存,让用户在第一次听歌之后,无需多次耗费流量资源,即可继续播放。本文基于微信小程序开发,使用微信小程序独特构建,来实现音乐播放程序的设计和功能开发工作。在技术方面主要通过JS来进行业务逻辑的实现,而表现层则WXML和WXSS来共同实现。程序主要包括如下功能:首页歌曲歌单展示、歌曲搜索功能、歌曲列表一览功能、歌曲播放、单曲循环设置、随机播放设置、下拉刷新换曲、用户登录、歌曲切换功能、暂停/重播功能、歌曲时长进度条展示功能,能够基本满足用户对听歌的使用需求。关键词:互联网应用微信小程序音乐播放
ABSTRACTThemusicplayerappletdesignedandimplementedinthisdesignallowsuserstologintowechat,andthendirectlyopentheappletthroughasimplepull-downoperationonthewechathomepagetoenjoythemusicaudio-visualfeast.Relyingonwechatitself,datacanbecached,sothatuserscancontinueplayingafterthefirsttimelisteningtosongswithoutconsumingtrafficresourcesformanytimes.Basedonthedevelopmentofwechatapplet,thispaperusestheuniqueconstructionofwechatapplettorealizethedesignandfunctiondevelopmentofmusicplayingprogram.Intermsoftechnology,JSismainlyusedtoimplementbusinesslogic,whilewxmlandwxssareusedtoimplementthepresentationlayer.Theprogrammainlyincludesthefollowingfunctions:thefirstpagesongsingledisplay,songsearchfunction,songlistlistfunction,songplay,singlecyclesetting,randomplaysetting,pull-downrefreshandmusicchange,userlogin,songswitchingfunction,pause/replayfunction,songdurationprogressbardisplayfunction,whichcanbasicallymeettheuser'sdemandforlisteningtosongs.Keywords:Internetapplications,Wechatapplet,Musicplaying
目录Designandimplementationofmusicplayingbasedonwechatapplet摘要 1ABSTRACT 21. 绪论 11.1 选题背景 11.2 课题研究目的及意义 11.3 论文主要研究内容 21.4 论文的结构 22. 系统开发技术方案研究 32.1 平台与框架 32.1.1 微信开发者工具 32.1.2 Taro框架 32.2 开发技术 52.2.1 WXML技术 52.2.2 WXSS与CSS技术 52.2.3 Ajax技术 52.2.4 JavaScript 52.2.5 数据库概述 52.2.6 Node.js概述 63. 系统分析 73.1 系统可行性分析 73.1.1 技术可行性 73.1.2 经济可行性 73.1.3 操作可行性 73.2 系统开发环境 73.2.1 软件环境 73.2.2 硬件环境 73.3 系统需求分析 83.3.1 功能需求分析 83.3.2 性能需求分析 94. 系统模块详细设计 104.1 系统总体功能框架设计 104.2 系统功能模块设计 104.2.1 用户登录模块设计 104.2.2 系统首页模块设计 114.2.3 歌曲搜索功能设计 114.2.4 音乐播放模块设计 124.2.5 播放模式切换模块设计 124.3 本章小结 135. 系统实现 145.1 用户登录模块实现 145.2 首页模块实现效果 165.3 歌曲列表展示实现效果 165.4 音乐播放模块实现效果 175.5 播放模式模块切换实现效果 186. 数据库设计 207. 系统测试 217.1 测试与纠错流程 217.2 测试环境准备 217.3 测试方法介绍 227.4 系统功能测试 227.5 测试分析 24总结与展望 25参考文献 26致谢 27
绪论1.1 选题背景伴随着智能手机的普及以及国家对运营商提出的“提速降费”政策的实施,移动互联应用在国内市场百花齐放,各行各业都在移动端设备上搭载各自的APP。移动端设备的操作习惯和个人电脑使用完全不同,对于各应用厂商来说,他们需要在较小的屏幕上尽可能友好的展示用户需要的内容,才能达到培养用户习惯、继而达到持续拥有这个用户流量的可能[7]。同样随着移动端的应用越来越广泛的是:一个领域下同类型的公司也越来越多,本论文所实现的是一个音乐播放小程序,其中一个原因就是在日常听歌过程中,因为歌曲版权、曲库内容、使用习惯的不同,需要下载多个音乐APP,加大占用了手机的内存资源,同时带来了繁琐的操作方式。微信通过这么多年的努力,打造了一个完整的生态圈,使得用户粘度不断提高,引得各大互联网平台纷纷在微信上入驻为小程序商家,以满足自己产品多元化,增加产品可扩展性,提高用户交融性[3],但是用户在操作上,只需要打开微信这一个APP即可,无需更加复杂的操作。总的来说,微信小程序是拥抱了用户希望的变化:减少APP的下载、注册,直接打开微信,一站即达。1.2 课题研究目的及意义微信作为一款高频的社交软件,对于入驻在微信上的小程序商家来说,很容易产生分享、易传播,达到用户数量裂变的目的。而对于用户来说,微信小程序带来了依托微信本身的单点登录、免注册、手机内存瘦身、易在一个朋友圈中进行传播等优势。本次设计实现的音乐播放系统,目的是基于微信平台,能够让用户在小程序上非常快速的实现歌曲收听等功能。同时也做到了对音乐播放软件功能的集成和成熟应用。通过微信本身的小程序分享接口,能够在朋友圈中进行快速推广,方便在日常生活中进行使用。对用户来说,一个轻便的音乐播放系统能够带来操作上的简化,功能清晰,让用户一目了然。对笔者来说,可以研究用户的使用习惯:借助微信后台的流量信息,可以进一步统计用户的歌曲播放量、小程序使用量,以进一步研究用户的操作习惯,更好地提升下一版本的系统功能。1.3 论文主要研究内容本次开发的音乐播放微信小程序,主要基于微信开发者工具上,使用Taro框架的开发流程进行,目的是为了后续可以适应多端产品的小程序使用,主要进行一下几块内容的研究:Taro组件及API功能的学习研究。微信小程序开发文档的学习研究。Taro框架React组件的学习研究。微信小程序设计指南的学习研究。JSON、Node.js、HTML、CSS的学习研究。系统功能需求模块分析、划分。系统的功能模块的划分是根据系统的功能需求来设定的,只有对需求分析的透彻,才会尽量避免返工的情况,因此,在软件开发之前,需求分析是第一要素。而为了减少数据的冗余,透过功能分析,采用结构化的数据规范方法,用以减少数据的操作产生的异常。1.4 论文的结构本论文一共有七章,其结构如下:第一章:绪论。目的是对本次设计实现的系统的背景、意义以及研究的内容做出说明。第二章:系统开发技术方案研究,主要对本系统所使用的关键技术和框架以及其原理和使用的原因进行介绍。第三章:系统分析,包括对系统的定义,可行性的分析、需求的分析,以及可行性方面的分析;第四章:系统模块详细设计,系统的设计指的是本系统总体功能模块的设计,并且对单独的模块实现的功能也有相对应的设计说明。第五章:系统实现,包括系统的实现原理和各个功能模块的具体实现。第六章:数据库设计第七章:系统测试,指的是系统的测试方法、测试结果、测试结论的分析。结论与展望。系统开发技术方案研究本章主要对本次开发的音乐播放系统所用到的相关软件技术以及开发平台进行了说明:采用的开发模式、系统开发所需要的IDE编码工具、开发语言、相应开发技术和系统结构进行了相应的介绍。2.1 平台与框架微信开发者工具微信开小程序开发团队专门设计推出完全匹配微信内容的开发工具-微信开发者工具,随着近两年对该工具的快速迭代和不断更新,目前已经处于比较稳定的状态,当然前期的开发者在开发的时候仍然要随着微信小程序的更新而对自己的应用进行更新。因此在微信开发者论坛上吐槽的文章是非常多的,但是正是这些吐槽的内容才是微信更新的一个庞大的知识体量库[1][2]。如图2.1所示:图2.1微信开发者工具个人中心:通过点击头像进行个人中心面板的显示;展示内容:小程序版本、版本更新的消息推送;提供切换小程序账号的入口在个人中心(头像)后边有三个按钮:模拟器、编辑器和调试器:通过点击进行这三块内容的显示或隐藏相应的模块编译模式:普通编译和自定义编译条件预览:在真机预览远程调试:提供远程调试真机的功能,主要通过共同局域网环境下的网络连接对小程序进行调试。切后台:切后台按钮会帮助我们快速的切到不同的场景值,通过这个场景值可以帮助我们去个性化一些我们的功能需求清缓存:清除开发者工具以及调试设备中的数据缓存、文件缓存、授权缓存、网络缓存和我们的登录状态。Taro框架Taro框架是进行微信小程序开发过程的一大利器。通过taro框架,我们可以使得技术栈进行统一,以实现在节约资源的同时,极大提高我们的开发效率[12]。通过taro,我们可以完成一次编码多端适配的效果。Taro编码和编译过程,以及目录结果分别见图2.2,图2.3:图2.2Taro流程图图2.3Taro项目目录Taro的特点是:遵循react的语法规范,可以使用JSX语法规范开发小程序的应用;支持组件化开发(解耦);支持TypeScript语法开发;开发技术2.2.1 WXML技术W:代表微信,XML本身就是标记性语言,因为我们可以有非常直观的理解:WXML是APP应用程序开发过程中的界面XML描述文件,它是为构建适合的程序界面而出现的[4][5]。WXSS与CSS技术CSS指层叠样式表(Cascading
Style
Sheets),定义了如何显示HTML元素,而这些元素通常存储在样式表中,这样的外部样式表可以极大的提高工作效率,多个样式定义可层叠为一[4][8]。CSS可以称得上WEB设计领域的一个突破,如需进行全局的更新,只需简单地改变样式,然后网站中的所有元素均会自动地更新。Ajax技术AJAX=异步JavaScript+XML,
ajax技术用于创建快速动态网页。最显著的就是“局部刷新”功能,使得程序设计者在不加在整个网页的情况下,对网页的某部分进行刷新,这种技术极大的减少了资源的占用,并且一定程序上提升了网站的加载速度,使得用户体验度更加友好。有很多使用AJAX的应用程序案例:新浪微博、Google地图、开心网等等[3][4]。JavaScript通过百度百科上的查询,我们可以知道:JavaScript(以下简称JS)一种直译式的脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。常用于网页客户端编程,使网页在客户端浏览器中,实现更多地动态功能,表现出更加丰富的视觉效果。JS由以下三个部分组成:ECMAScript:描述JS的语法和基本对象;文档对象模型(DocumentObjectModel,简称DOM)):描述处理网页内容的方法和接口;浏览器对象模型(BrowserObjectModel,简称BOM)):描述与浏览器进行交互的方法和接口。数据库概述数据库采用的是微信开发工具中的JSON数据库[3][6]:它既可以在小程序前端操作,也能够在云函数中进行读写。正常情况下,初始化数据库的代码如下所示://初始化数据库constdb=wx.cloud.database();const_=mand;db.collection('userInformation').where({userName:_.eq(userName)}).get({success:function(res){if(res.data.length===1){that.setData({repetition:true})注意,在进行数据库连接的时候,要注意命名是正确的,不能与微信中现存的数据库的连接名称是相同的。Node.js概述Node.js有三个特征:服务器端JavaScript处理:server-sideJavaScriptexecution非阻断/异步I/O:non-blockingorasynchronousI/O事件驱动:Event-driven如上图所示,传统的服务器中,类似Apache、NGINX等web类型的服务器,客户端发送的每一个请求,都会在服务端创建一个进程来处理这个请求,但如果我们需要在一个页面一直保持连接,比如持续实施接收朋友的消息或者系统推送内容,就需要在客户端和服务端保持一个长时间的有效连接,这也就是长轮询。因此,node.js的非阻塞和事件驱动就派上了用场。
系统分析系统可行性分析3.1.1 技术可行性对系统可行性进行研究的目的在于确定是否可以在较短的时间内使用最小的代价来把系统功能实现。基于微信小程序的音乐播放系统的用户都是对这块内容有需要的人,在一定范围内关于数据关联系的涉及是比较强的。而且应用都是基于目前非常成熟的微信开发工具进行开发的,所以技术方面是没有问题的。3.1.2 经济可行性经济可行性研究的目的是分析一个新开发的系统的费用,本次基于微信小程序的音乐播放系统都是有基于成熟的技术来实现,完全是本人在课余时间看来完成的,并未占用更多的资源,所以在经济方面也是完全可行的。3.1.3 操作可行性操作可行性主要是看基于需求设计到开发出来的产品是否有人使用,用户的体验度是否良好?本平台的界面平滑度高,易于上手,尤其是用户基本都使用过微信,而使用本系统的人,不需要进行复杂的操作,只需要简单的对歌曲列表中的内容进行一次点触操作,即可实现歌曲播放功能。在UI设计上,通过对各大应用的调研,基本的功能按钮简单易懂,因此对用户的使用也没有问题,所以在操作方面也是可行的。系统开发环境软件环境本次开发的基于微信小程序的音乐播放系统的开发所需的软件环境如下:开发平台:微信开发者工具[1]开发语言:WXML、WXSS、AJAX、JS、JSON数据库、Trao框架其余内容:Windows10操作系统硬件环境本次开发的基于微信小程序的音乐播放系统的开发所需的硬件环境如下:硬件环境:①笔记本450*2MHZ/40G/1024MB/40G/。②手机:iPhone11、小米6。系统需求分析功能需求分析本章节通过用户的不同进行功能需求的区分设计,具体内容如下:角色和角色介绍:表3.1角色介绍表角色(参与者)角色描述管理员(歌曲资源维护)发布、删除、修改、查询发布出去的歌曲信息。普通用户登录后可以正常使用本小程序内所有的功能:音乐播放、音乐切换、音乐列表查询等角色前后端的用例关系图3.1角色前后端用例关系图表3.2描述了用户进行歌曲播放的用例活动。表3.2歌曲播放用例名称:问题发布参与者:所有用户描述:用户使用小程序,在点击具体的歌曲名称前置条件:用户成功登录微信,打开音乐播放小程序用例功能:用户在线听歌功能事件流:用户已正常登录微信,且正常打开小程序界面,进行歌曲的点击异常事件流:当播放按钮在点击的过程中,因网络波动造成微信不在线的状态,导致播放失败后置条件:系统没有改变表3.3描述了用户进行歌曲切换时候的用例活动。表3.3用户进行歌曲切换用例名称:问题回答参与者:所有用户描述:用户使用小程序,在歌曲播放界面,点击界面下方的上一曲/下一曲按钮,可以进行音乐的切换,且必须是上一首的歌曲前置条件:用户成功登录微信,打开音乐播放小程序,并且打开歌曲播放界面用例功能:用户歌曲切换功能事件流:用户已正常登录微信,在小程序上实现了歌曲播放,网络正常,点击上一曲/下一曲播放按钮进行音乐切换异常事件流:按钮在触发时候,因网络波动造成发布失败后置条件:系统没有改变下面以文字描述进行功能需求难点以及实现的痛点进行分析设计:随机播放模式下,通过多次点击音乐切换按钮,需要真正实现随机的功能,不能是类似顺序播放的上一曲、下一曲切换,但是如果是通过random函数产生随机的数字进行,容易产生index越位,因此随机播放模式需要先获取到当前数据库中的歌曲列表长度;性能需求分析数据准确度在本系统中,从系统用户的角度来分析,因为依托于微信的安全管理机制,尤其是数据库直接调用微信的Json数据库,所以用户的数据安全是相对不需要关心的,但是对于问题展示的内容是一定要准确的,尤其是涉及到不同的人发表的不同的评论信息,因此数据的准确性是最重要的,要保证这一块的内容功能的鲁棒性足够强,但是这方面有一定的保障,用户在操作过程中不会受到太大的影响。运行速度由于本系统所采用的数据库较小,而且框架比较成熟,尤其是对音乐资源和数据存储进行分离,只通过歌曲名称和id进行关联,大大减少了数据库的运行时间,因此不管是在数据处理时间以及程序的响应时间都达到了足够的优化内容,本系统的性能都是可以直接表现给用户的。
系统模块详细设计系统总体功能框架设计对系统功能模块的划分也是要依据对需求分析来开展的,划分功能模块时,如何进行模块之间的低耦合设计是考虑的主要问题,模块的规模要预先设想好。根据需求分析,本系统可划分为首页歌曲歌单展示、歌曲搜索功能、歌曲列表一览功能、歌曲播放、单曲循环设置、随机播放设置、下拉刷新换曲、用户登录、歌曲切换功能、暂停/重播功能、歌曲时长进度条展示功能,系统框架设计图如下图4.1所示:图4.1整体框架图系统功能模块设计用户登录模块设计基于微信小程序的特性,我们设计只有允许操作平台的人才可以使用功能,而小程序的特性就是可以调用微信的当前用户信息,实在单点登录的功能,但是登录模块依然是必须的。我们可以这样设想:用户等于进入了一个虚拟的登录页面,填写用户数据相关的用户名密码完成登录。登录模块设计的流程图,绘制出如图4.2所示的登录模块的流程图:图4.2用户登录模块设计系统首页模块设计用户登录到小程序中,系统直接跳转到小程序首页,并在跳转过程中向后台请求歌曲列表数据,默认加载存储在微信云端系统全部数据,前端页面设计基于WXSS+JS进行。功能模块设计图如下4.3所示:图4.3系统首页展示模块设计歌曲搜索功能设计歌曲搜索模块设计通过ajax技术,用户在前端输入框中输入相关歌曲名称、歌手名称、歌单名称,点击搜索之后,通过模糊查询规则与后台数据库中的数据进行关联性匹配,如果找到数据,则根据返回的数据内容,前端展示数据。如果找不到后台存放的歌曲信息,返回空列表;搜素过程中,如果因网络波动造成的请求失败,则通过微信应用本身的网络连接断开进行提示。模块功能图如下4.4所示:图4.4歌曲搜索功能流向图音乐播放模块设计音乐播放模块通过的前置条件是用户正常点击了播放按钮,点击页面上的歌曲列表项,跳转到歌曲播放界面,基于Node.js的数据轮询、长连接保持特性,在歌曲播放的同时,后台持续获取数据,数据缓存加载的内容,在前端通过歌曲时长和进度条功能向用户进行展示。模块功能图如下4.5所示:图4.5音乐播放模块播放模式切换模块设计同音乐播放模块的前置项相同,播放模式切换模块前置条件是用户正常点击了播放按钮,点击页面上的歌曲列表项,跳转到歌曲播放界面。通过点击“界面左下方的模式切换按钮,用户可以进行歌曲的随机播放模式、重复播放模式、顺序播放模式,在每一种模式切换成功之后,界面的UI图标也随着变化,并且在不同的模式下点击界面的上一曲/下一曲按钮的作用也不同。基本功能流程图如下图4.6所示:图4.6播放模式切换模块功能本章小结本章节的系统模块功能设计,充分利用软件工程的知识,在顶层设计之初就实现“高内聚、低耦合”的特点。并且,先从角色的划分来进行初步的设计,之后从两个角色是否有关联性找到共同点,以此作为减少工作量的一方面。然后根据角色来划分的功能模块,进行流程设计。充分考虑到了数据库中外键关联的相关内容,相信通过这样的设计,可以为接下来系统的具体功能实现打下良好的基础。系统实现根据本文上述章节的叙述,从软件的需求设计、数据库设计、功能设计、具体功能的分析,均进行了非常具体的实现,本章节依据上述章节的内容,进行相关系统功能的具体实现,主要通过功能的实现代码、实现截图进行验证展示。用户登录模块实现小程序在开发过程中,通过获取用户输入的用户名、密码,(可以在控制控制台中打印用户的用户名密码来进行验证)。在用户端的呈现效果是:用户在个人账号界面,直接点击登录按钮,即可在1秒内完成登录和主页跳转。实现效果如下图5.1所示:图5.1获取微信的用户名密码及登录展示小程序获取用户账号信息(账号同步)实现代码如下所示:(1)wxml<viewclass="itemView">用户名:
<inputclass="input"name="userName"placeholder="请输入用户名"
bindinput="userNameInput"/>
</view><viewclass="itemView">密
码:
<inputclass="input"passwordplaceholder="请输入密码"
bindinput="passWdInput"/>
</view><viewclass="viewName"style="background-color:#fbf9fe">
<buttonclass="loginBtn"bindtap="loginBtnClick">登录</button></view>(2)jsPage({
data:{
userName:'',
userPwd:""
},
//获取用户输入的用户名
userNameInput:function(e){
this.setData({
userName:e.detail.value
})
},
passWdInput:function(e){
this.setData({
userPwd:e.detail.value
})
},
//获取用户输入的密码
loginBtnClick:function(e){
console.log("用户名:"+this.data.userName+"密码:"+this.data.userPwd);
}
,
//用户点击右上角分享
onShareAppMessage:function(){
}})首页模块实现效果登录微信之后,点击小程序logo图标,成功进入到主页,主页展示内容包括所有顶部搜索框、轮播图海报切换、歌单类别展示、排行榜展示。实现效果如下图所示:图5.2主页展示歌曲列表展示实现效果歌曲列表展示可以通过首页多个部分实现跳转:用户通过输入框搜索用户通过点击首页歌曲歌单封面跳转之后,以list列表形式展示歌曲的序号、歌曲的名称、歌手名称,功能实现图如下所示:图5.3歌曲列表模块展示音乐播放模块实现效果音乐播放模块是最能体现本次设计的小程序界面友好的一个模块,用户通过点击具体的歌曲名称跳转到该界面,预先加载界面歌手海报、歌曲信息,并持续对歌曲进行缓存,界面同时展示了歌曲模式切换按钮、上/下曲播放按钮。在歌曲播放过程中,海报会进行动态的旋转,能够让用户在该界面停留时间更长。模块功能实现图如下所示:图5.3歌曲播放模块展示播放模式模块切换实现效果用户在歌曲播放界面,通过点击“界面左下方的模式切换按钮,用户可以进行歌曲的随机播放模式、重复播放模式、顺序播放模式,在每一种模式切换成功之后,界面的UI图标也随着变化,并且在不同的模式下点击界面的上一曲/下一曲按钮的作用也不同。下图展示了在歌曲播放界面通过连续点击播放模式按钮,对播放模式进行切换。用户同样可以通过对页面进行刷新操作,来实现不同模式下的歌曲切换效果。图5.5播放模式模块展示
数据库设计
系统测试系统在微信小程序开发者后,在测试之前分别运行双端的服务,确保平台具有进行完整性功能测试的前提,依据这个前提本章制定了下面的测试计划,并记录了相应的测试结果。测试与纠错流程测试评价纠错系统启动测试评价纠错系统启动测试数据测试结果错误信息改正信息期望结果测试环境准备硬件环境(以此启动手机模拟器)测
试
平
台
硬
件
配
置核心配件CPUIntel/AMD酷睿i7/Ryzen系列处理器主板技嘉Z97/Z270/X99/990X/X370系列主板显卡NVIDIAGTX
1080内存影驰8GB
DDR4
2400x4/8GB
DDR3
1600x2硬盘浦科特M7V
512GB散热器超频3东海X5系统及驱动程序操作系统Microsoft
Windows
10主板驱动Intel/AMD芯片组驱动显卡驱动NVIDIA显示驱动DirectX环境DirectX
9.0c/12帧数监控Fraps
3.5.1软件环境:Windows/IOS/Adnroid/Taro/Node.js/微信开发者工具。测试方法介绍作为软件工程中非常重要的组成部分,软件测试贯穿在软件从设计到服务结束的全生命周期的过程中。对于测试方法,主要分为黑盒和白盒两种方式的测试,在系统实现的过程中,已经进行了单元测试、集成测试,主要是通过代码端的调试进行的,在本文中不做过多的叙述。本章节主要介绍系统的功能测试,通过黑盒测试的方式进行。系统功能测试服务启动冒烟测试测试用例名称双端服务启动测试/服务冒烟测试测试方法手动测试测试目标系统可以正常启动,日志中没有1级错误测试操作在安卓模拟器中启动小程序,观察是否可以正常进入主页,是否有闪退等情况;用户在IOS系统中启动小程序的服务,系统可以正常启动,界面可以正常打开。预期结果程序运行成功,没有异常的报错信息抛出,Android端和IOS端均可以正常显示测试结果通过歌曲播放模式切换测试测试用例名称歌曲播放模式切换测试测试方法手动测试测试目标能够完成歌曲播放模块的功能需求,无任何异常信息测试操作在安卓模拟器中启动小程序,通过下表1中的测试用例,逐条数据进行验证;在Iphone手机中启动小程序,通过下表1中的测试用例,逐条数据进行验证;预期结果根据测试用例表中的数据项,验证内容没问题测试结果通过表STYLEREF1\s6.SEQ表\*ARABIC\s11歌曲播放模块切换测试用例表用户类型播放模式模式切换是否成功提示内容使用者随机模式是随机模式使用者顺序模式是顺序模式使用者单曲循环是单曲循环使用者随机模式是随机模式使用者上/下曲切换是正常切换歌曲搜索播放测试测试用例名称歌曲切换播放测试方法手动测试测试目标用户完美匹配数据库中的数据,并且根据数据库中的数据进行Filter后台筛选,并展示到界面,观察前端数据是否错乱测试操作在安卓模拟器中启动小程序,搜索“夏天的风”;在Iphone手机中启动小程序,搜索“夏天的风”;预期结果程序运行成功,没有异常的报错信息抛出,能够对搜索的歌曲进行准确的列表展示测试结果通过歌曲播放模式测试测试用例名称歌曲播放模式测试测试方法手动测试测试目标可以正常播放音乐测试操作问题发布者在安卓模拟器中启动小程序,对音乐进行正常的播放;问题发布者在Iphone手机中启动小程序,对音乐进行正常的播放;预期结果程序运行成功,没有异常的报错信息抛出,支持测试目标中的内容。测试结果通过意见反馈功能测试测试用例名称意见反馈功能测试测试方法手动测试测试目标用户只要登录小程序之后,就可以点击个人主页的意见反馈按钮,输入相关内容,点击提交,完成意见反馈。测试操作根据音乐播放模块设计流程步骤进行;预期结果程序运行成功,音乐没有异常的报错信息抛出,进度条根据歌曲的进度也在正常的进行,支持测试目标中的内容。测试结果通过测试分析本次设计开发的音乐播放小程序时借鉴了国内外优秀小程序开发过程的设计,从需求进行统一的安排,再到系统实现、系统测试等过程均能够保证基本的功能没有明显bug,从界面到系统设计都保证了普通用户以及管理员用户能够方便操作。系统的主要特点和优点归纳如下:(1)本系统用的移置性和针对性都比较高,因为针对性高可以提供更好的服务而移置性可以在多个系统上运行,更给客户带来了极大的方便。(2)内容全面但是操作界面不会很复杂,设计上很多都做了自动跳转,其操作方便,用户界面友好,能够上网的人都可以很好的进行操作。经过对总体测试分析,基于微信小程序的音乐播放系统的设计与实现满足用户的要求和需求。功能齐全,操作简单,产品运行性能良好。
总结与展望从该系统设计的整体来看,本次设计开发的音乐播放系统操作简单、平滑性好,用户体验度良好。又因为功能比较清晰,所以系统功能的鲁棒性也是可以得到保障的。相信本次开发设计的系统会给用户带来非常直观舒服的使用。但是在设计的过程中,对于界面UI的设计、页面主体的的多样化选择方面还需要进行优化。比如:设计多种不同风格的主题,提供用户在不同的节假日以及发布的问题再得到解答之后的主页色彩变化和通知功能。毕业论文终稿修订在新冠肺炎疫情期间,2020年刚刚开年,一场疫情让本该及时返校的我们,一直“滞留”在家中,很庆幸,大家受到的疫情影响不大。同时经过这样的事件,让我更加肯定的是当时选择软件这个专业是正确的。在各行各业都受到影响的情况,唯有先进的科技类型的公司:远程办公系统、网络社交平台、甚至网络游戏平台公司,业务量大增。同时感受到大家因为不能及时返校的情况下,在毕业论文编写的过程中、系统实现的过程中,有很多的问题都想向老师进行询问。但是恰恰因为不能面对面的进行统一解答,使得老师们的业务量大增,同时也为自己没有更快的将这款小程序发布出来,给同学们使用感到非常抱歉。但是从软件工程的角度来说,交付给用户使用之前,肯定要进行内测、灰度测试、初期的公测,所以心情稍有平复。参考文献尚鲜连,陈静,张苏.基于用户兴趣的个性化推荐系统比较研究[J].苏州市职业大学学报,2013(3):7-11.雷磊.微信小程序开发入门与实践[M].北京:清华大学出版社,2017.4高洪涛.从零开始学微信小程序开发[M].北京:电子工业出版社,2017.2\o"熊普江谢宇华"熊普江,\o"熊普江谢宇华"谢宇华.小程序·巧应用,微信小程序开发实战[M].北京:\o"机械工业出版社"机械工业出版社,2017.1\o"王延平"王延平.21天精通微信小程序开发[M].北京:电子工业出版社,2017.1基于微信小程序的图片分享系统的设计与实现[J]程海峰.工业控制计算机.2019(02)基于微信小程序的O2O模式校园快递的设计与实现[J]张智林阴毅电子技术与软件工程2019(03)微信小程序在高校图书馆忠的创新实践[J]杨毅李兆瑞信息记录材料2019(02)音乐播放器[J]方岩潘一豪美与时代(城市版)2018(02)基于BaaS开发微信支付小程序[J]朱先忠电脑编程技巧与维护2019(02)基于Android平台的音乐播放器设计与实现[J]张小琴张庚软件2018(09)基于web的音乐播放器的设计与实现[J]邓海文电脑知识与技术2018(29)微信小程序应用探析[J]刘卫红无线互联科技2016(23)微信小程序如何使用[J]意达新天地2017(02)音频播放器的架构分析与关键技术的实现[J]冯建元计算机与网络2009(20)ResnickP,VarianHR.Recommendersystems[J].CommunicationsoftheAcm,1997,40(3):56–58.SchaferJB,KonstanJ,RiedlJ.Recommendersystemsine-commerce[C]//WorldAutomationCongress.IEEE,1999.RicciF,RokachL,ShapiraB,etal.RecommenderSystemsHandbook[M].SpringerUS,2011:1-3.BobadillaJ,OrtegaF,HernandoA,etal.Recommendersystemssurvey[J].Knowledge-BasedSystems,2013,46(1):109–132.2019《中国互联网络发展状况统计报告》Taro是什么?/item/taro/23339887致谢几个月的毕业设计历程不算是短,也不算长。很感激有这样一次检验自己学习成果的机会,选择了软件这个行当,基本的思想准备还是有的,尤其是现在的软件技术更迭迅速的情况下,我觉得计算机软件类设计开发在国内下一步的发展历程才刚刚开始。从现在很火的人工智能、全民编程等国家号召,到5G时代带来的大数据的更深层次的发展,可以预见的是,软件尤其是作为底层支撑的管理软件的应用需求还是很大的。在本次毕业设计过程中,非常感谢我的指导老师对我选题以及开题报告过程中的解答,很感谢身边的朋友同学,对我的不吝指导。马上就要离开学校了,带给我的是充满挑战的社会,再次愿大家都能实现下一个梦想。让我们带着梦想出发!
HYPERLINK如何选择组装电脑配件
如何选择组装的电脑配件.
第一,选择好CPU平台,就是INTER还是AMD,看你是要配什么样的电脑,高端还是低端的,两个平台都高低的产品。第二,选择主板了,主板的品牌比较多,质量,价格也不一,当你第一步却定了,那么主板也就相应的却定下来了,以INTER为例,只可以选择775接口的主板(早期有478接口的,不推荐),主板的选择主要有两种,一是集成显卡,二是不集成显卡。集成显卡的话,就可以省下显卡的钱,但是对游戏玩家不推荐。那么当然是选择不集成显卡的主板了,而且最好选择一线品牌,如华硕,技嘉等。主板里,还有个蕊片组的选择。关于蕊片组,各个品牌的主板命名有些不一样,主流是INTER965,945,915,VIA的KT890,还有NFORCE4,NFORCE5。等。比较难说清楚。最好是选择INTER的蕊片组,虽然价格会稍高一些。推荐945,技术比较成熟。第三,显卡的选择。显卡主要还是有两类品牌,GEFORCE和ATI,两个品牌有高,中,低的显卡。显卡选择要看你个人喜欢了,预算充足的话,最好是买中,高端的显卡。
第四,就是内存了,内存关系电脑的稳定性。当然是要好一点的。买一线品牌的。现在配电脑,主流是DDR667,DDR800DDR1333第五,显示器的选择,推荐液晶。如何选择硬件组装电脑这是一个老生常谈的问题了,这也是一个让高手们显示自己硬件功底的问题,同时这还是一个让很多新手为之焦头烂额的问题。该怎么配?具体配什么?怎样配才能尽量减小瓶颈?本文就将从内到外,从理论到实践,为朋友们抽丝剥茧一一道来。
一、CPU
作为一台电脑最关键的组成部分,CPU确实起着举足轻重的作用,但体现一台电脑的综合速度,并不是仅仅依靠CPU的,常常看到很多新手们在配电脑的时候,把CPU选的很好,但其他的东西诸如内存、主板、硬盘等都选的不太理想,好像这台电脑速度的快慢就体现在CPU速度的快慢上似的。甚至很多著名的品牌机厂商,都推出过类似“P4+256M内存”的这种跛脚配置。其实对于一般的家用电脑而言,一个真正会配的高手,是不会把大量的钱花在CPU上的。家用电脑,毕竟不是做密集型科学计算用的,它讲求的是多种媒体的配合工作,讲求的是能一边下载文件、一边上网浏览网页、一边听音乐、一边还能打开其他的程序,在这种情况下,提升内存的容量比提升CPU的主频对速度的影响要明显的多。现今的中国家庭用户,很多家长对于电脑一窍不通,他们只听说“奔四”代表着速度快,并不知道整机速度的快慢除了CPU以外,还有很多其他的因素影响着它。但在买电脑的时候,最后做决定并掏钱的人,往往都是这些啥都不懂的家长们,于是就出现了上面的一幕:品牌机厂商为了能有更好的销路、兼容机装机店的销售人员为了能拿到更多的奖金,开始违背良心来配置出这种高主频处理器、低容量内存的跛脚电脑。说严重点,这是属于对消费者的不负责任,是一种商业欺诈行为!同样5000元的配置,高手配出来的赛扬,比新手配出来的P4还要快很多,曾经有一家全球著名的硬件网站在2003年的时候刊登过一篇关于配置家用电脑时各硬件占用总预算百分比的文章,文中很明确的提到了CPU的价钱最好不要超过总预算的10%-15%,我们虽然不能说他肯定完全正确,但至少人家是通过很多调查后得出的结论,有借鉴的理由。反观现在的很多所谓的“低价奔四电脑”、“3999元买P4品牌机”之类的广告,我想说的就是:你花了3999元,只买了一块P4的处理器,其他的什么都没有了!
二、内存
对于配置一台电脑来说,内存是重头戏,容量、速度、类型等等每一项指标都对最终的整机综合速度起着至关重要的影响,尤其是内存的带宽和容量。对于内存带宽而言,很多人都认为400MHz、533MHz前端总线的赛扬四或P4,配单通道的DDR内存就足够了,双通道DDR内存是配合800MHz以上前端总线的P4处理器用的,其实这样就大错特错了,哪怕是最老的赛扬四,都需要双通道的DDR内存才能达到它的带宽!也就是说,你如果选择赛扬四1.8G,必须配合865以上的主板和至少双通道DDR200的内存,才能满足它的带宽要求!稍微计算一下就可以得知:赛扬四1.8G的前端总线是400MHz,它的内存带宽理论值是400MHz×64bit÷8=3.2G/s,但当它装在845系列的主板上时,由于845主板的限制,即使你插上能符合它带宽要求的DDR400内存,也只能运行在DDR266上,这时的内存所能提供的带宽是266MHz×64bit÷8=2.1G/s,比3.2G/s要小很多,即使你通过BIOS里的内存调节选项往上调节一档(也只能调节一档而已),让内存运行在DDR333下,所能提供的带宽也仅仅是333MHz×64bit÷8=2.66G/s,离3.2G/s还是有一定的距离,而内存带宽的降低,能非常明显的降低整机的综合速度,运行任何程序都能明显的感觉出来!所以如果想满足赛扬1.8G处理器的内存带宽要求,你必须要为它配置865以上的主板和双通道的内存才行!P4亦是如此。很多人也许会问:那845系列的主板是配什么处理器的呢?我想回答你的就是:845系列的主板是属于“不能用”的主板,因为处理器永远比主板发展的快,当初Intel造出845系列的芯片组是为了能给当时的赛扬和P4提供一个过渡的平台,不至于让它们成为“没有主板配合”的处理器而已,也是为了能在低端市场分一杯羹,而现今865甚至9xx系列的主板横行的时候,845系列的主板确实是属于“不能用”的主板了,满足不了任何一款处理器的内存带宽,造成性能上的严重低下,试问这种主板你会选择么?即使配台2000多元的超低价电脑,也不要去选择845系列的主板,至少需要865以上的和双通道内存才行,因为内存带宽是一个非常影响系统性能的参数,倘若一味的为了省钱而配置845系列的主板,那就得不偿失了。
内存的容量方面,应每个人对电脑的使用方向不同,容量的要求也是不同的,现在配置的家用电脑,笔者建议:如果不打游戏,或者是打打扫雷、纸牌之类的游戏,平时注重于上网浏览或者是聊天、看电影之类的应用的话,内存容量不应该低于1G;如果是偶尔打打单机游戏或者是网络游戏,内存容量应该选择在2G左右,如果是经常打大型的游戏或是进行HDTV视频编辑等应用,那么4G的内存是必不可少的。
三、主板
一台电脑的稳定性和兼容性,一大部分是看主板的,一款优秀的主板不仅需要拥有上等的用料和优良的做工,还需要拥有合理的走线设计,那些没有技术实力的三、四线主板厂家生产的主板,多数是采用公版走线,而且用料非常差,稳定性不堪一击,这种类型的主板,笔者建议宁愿不买电脑也不要配这种主板,否则以后将会是个淘气的祖宗。对于家庭用户,主板方面一定不能省钱,预算够的话最好能买个一线的主板品牌,如果预算实在不足,二线的主板是底线了,不要再往下选择了,毕竟家用电脑是用来使用的,不是用来整天维修的。再谈到主板的用料,笔者常常看到很多新手在配置主板的时候,貌似老鸟似的说某某品牌的主板好,某某品牌的不好,试问你知道它好在哪里么?不好在哪里么?这个就要看主板的用料了,虽然用料好的主板并不能代表一定是高档主板,但最少能代表它的电气性能出色。举一个很简单的例子吧:有A、B两款主板,A主板的处理器供电滤波电容采用的是日系电容,B主板的处理器供电滤波电容采用的是台系电容,那么基本上可以肯定的是:如果在电源输出电压的波动范围比较大的情况下,A主板就比较能耐得住,而B主板就很容易产生电容鼓包、漏夜等情况。不要小看这小小的电容,笔者从一个开维修店的朋友那里得知,来维修主板的人,有80%的都是这几个小电容损坏,究其原因,就是电源选择的不好,导致了输出电压的不稳定,久而久之最终导致这几个小电容爆浆,并且详细叙述了主板的品牌:“一线厂家的×硕牌主板就很少出现这种情况,但同样为一线厂家的×星牌主板,经常遇到!原因就是前者的大部分主板使用的是日系电容,而后者的大部分主板为了省钱,选用的是台系电容!”厂家的广告不能信,宣传也不能信,看到一个产品的广告之后,你所能相信的唯一一点就是:地球上有这么个产品的存在!然后其他的就统统都不能信了!网上有好多所谓的“评测”文章,都是枪手写的,基本上没有任何参考余地,只能作为一篇小说来读,一款主板的真正性能,只有你自己使用了之后才能知道。厂家为了销量、商家为了利润,他们能把最最垃圾的主板宣传为最顶级的产品,笔者曾经就看到过一款四线品牌的主板厂商,在对其主流主板的广告上说“最优秀的设计、最精湛的工艺、最稳定的性能”……结果一看报价:550元/块……其他的话我也不想多说了,只想问问这家厂商:你这么垃圾的主板都用了三个“最”字,那么华硕的同芯片组主板,售价是你三倍的,应该用什么词语来描述了??中国有一句古话:一分钱一分货,说的非常正确!不要认为价格高的主板就是暴利产品,从市场经济学上说,暴利产品是不会被市场所接受的,之所以他能存活到今天,而且售价依然是这么高,肯定有他的理由,他在做工用料方面肯定比其他品牌的要好很多,成本高所以售价高,在此,笔者奉劝大家一句:买主板千万不要凭侥幸心理,认为自己能花很少的钱买到很好的东西,只有错买的没有错卖的,商家永远都比你精明!主板上面还是老老实实的多花点钱来买个一线产品吧,否则以后有你吃苦的时候!
四、硬盘
现在的电脑,硬盘的速度当之无愧的成为了“第一大瓶颈”,无论你是再高的高手,配电脑的时候也无法消除这个瓶颈的存在,我们只有尽量的减小…再减小……。对于家用电脑的硬盘来说,容量和速度是两个非常重要的参数,容量上而言,笔者建议:如果你的电脑只是上网浏览浏览、偶尔打打小游戏的,那么160G的硬盘是个不错的选择;如果你常常下载软件或电影,那么250G的硬盘是个不错的选择,如果你是个下载狂人,那么400G的硬盘比较适合你;如果你有DV或者是经常编辑大型的视频文件,那么400G×2比较适合你,如果你是个玩HDTV的人,那么恭喜你,400G×4也许你都不够用。对于硬盘容量上的选择,你不能考虑现在是否够用,你应该考虑未来的1年里是否够用,大概的公式是:现在需要的容量×3。也就是说,如果你现在感觉80G的硬盘差不多够用了,那么你就需要买个250G的硬盘。如果你现在感觉120G的硬盘够用了,那么就去买个400G的硬盘吧。硬盘另外的一个参数就是速度,受到内部传输率等诸多因素的限制,一块硬盘的实际传输速度是不可能达到它的接口速度的,现在的并口硬盘基本上都是ATA133了,串口硬盘也都是150了,但民用级硬盘的实际传输速度最快的也还没突破66M/s,所以跟内存相比,硬盘的速度是电脑中最大的瓶颈,那么怎么来减小这个瓶颈呢?于是人们就发明了RAID,就是磁盘阵列(当然RAID不是仅仅为了这个而发明的),用两块一模一样的硬盘来组成RAID0,速度理论上能提高1倍,虽然实际上是不可能达到1倍的,但至少能非常非常明显的感觉到了硬盘速度的提升,笔者建议:如果你买的主板是带有RAID功能的,并且你需要保存的数据不是很重要的话,那么强烈建议你在预算允许的情况下购买两块硬盘来组建RAID0,这将使你能亲身体会到飞机与火车的速度差别!但最好是串口的,如果是并口的话,因为并口走的是PCI总线,由于PCI总线上的设备比较多,所以速度不可能达到比较高的地步,但如果是串口的话,那么硬盘的速度提升将更加明显!
五、显示器
显示器方面,笔者想澄清一个观念:曾经听过非常多的人说液晶显示器保护眼睛,因为没有辐射和闪烁……包括很多业内人士都这么认为的,其实错了,液晶显示器比普通的CRT还要伤眼睛!因为伤眼睛不仅仅是辐射和闪烁,还有对比度、亮度等参数,虽然液晶显示器的辐射和闪烁比CRT要小的多,但它那要命的对比度、那要命的色泽度、还有那大于每平方米300cd的亮度,这些都会对眼睛造成很大的伤害,并且你即使将液晶显示器的亮度和对比度调节到最低,也还是非常的刺眼。德国的一家权威机构做过一项调查:液晶显示器用久了会使人的眼睛感觉到疲倦,甚至头痛等症状,而使用相同时间的CRT显示器,却基本没有这些情况出现。现在的通过TCO03认证的CRT显示器,其实外露的辐射已经相当小了,基本上对人已经没有多大的伤害了,闪烁感也可以通过调节刷新率来降低,笔者实在是搞不懂为什么很多人非要去选择液晶显示器,还非要说液晶显示器不伤眼睛??一个最差的17寸液晶显示器的价格,能买一台不错的、通过TCO03标准的19寸CRT了,显示面积也差不多大,而且CRT又比液晶更保护眼睛,液晶显示器唯一的一个优点就是占用空间小而已,其他的统统是缺点,为什么不选择CRT呢??说到TCO03标准,现在很多的号称是通过TCO03认证的显示器,其实都是贴牌的,都没有真正的通过,关于怎样鉴别一台TCO03的显示器,网上已经有很多文章可以搜索到,笔者在此不想过多叙述,只是提醒大家一点:一台真正的通过TCO03认证的显示器,外表的颜色除了白色以外,是不会有其他颜色的了,因为TCO03认证中有重要的一条就是外壳可回收性,而除了白色以外,其他的任何颜色都加了有机染料在里面,是不能作为回收利用的,这点请大家购买显示器的时候一定要注意了!
六、电源
作为一台电脑的动力之源,电源质量的好坏直接关系到这台电脑的寿命,在这点上笔者先要肯定一下品牌机厂商的做法了,在各大品牌机中,虽然其他配件可以用跛脚来形容,但所配的电源和机箱基本上都是不错的,功率虽然不是很大,但满足它的配置是足够了。而一些新手在配兼容机的时候,很多情况下都忽视了电源这一方面,结果导致的直接后果就是主板电容爆浆、硬盘损坏、显卡电容爆浆等情况。对于电源来说,有很多参数去标准它,但对我们影响最大的两个参数就是它的功率和输出电流稳定度,首先来看看它的功率:很多国内的著名电源制造厂商,例如×河田、×国者等等品牌,都有严重虚标功率的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024水稻买卖合同
- 0×5=?(说课稿)-2024-2025学年三年级上册数学北师大版
- 不动产融资租赁协议范本(2024版)版B版
- 2024年简化版借款合同范本版B版
- 2024美容院连锁店员工薪酬及福利待遇合同范本3篇
- 个人消费微贷合同范本(2024年版)版
- 福建省南平市塔前中学高一数学理下学期期末试卷含解析
- 2024月子中心消防设施节能改造与优化合同3篇
- 多地取还车协议书(2篇)
- 个人房产抵押借款合同范本2024年版版B版
- 《中国华电集团公司火电项目前期工作管理办法》
- 初三九年级英语英语英语语法填空附答案附解析
- 呆滞品管理制度范本(3篇)
- GB/T 42623-2023安装于办公、旅馆和住宅建筑的乘客电梯的配置和选择
- 夸美纽斯《大教学论》
- PMC主管工作计划工作总结述职报告PPT模板下载
- 放射治疗技术常用放射治疗设备课件
- 《计算机组成原理》武汉大学2023级期末考试试题答案
- 广东广州白云区2021学年第二学期期末学生学业质量诊断调研六年级语文(含答案)
- 食品欺诈预防控制程序分享
- 员工辞职报告下载(6篇)
评论
0/150
提交评论