【烟台南山学院毕业论文】基于Java的音乐播放网站的设计与实现
摘要
本文的主要工作分为如下几个部分:
(1)设计总体方案阶段:本文采用B/S模式进行开发,由于音乐播放器设计的特殊性,B/S可以更好的对应用软件进行管理和维护,并且在部署与维护方面也有较高的优势,值得一提的是在扩展性方面也与Java程序语言有较高的契合度。
(2)分析与设计音乐播放器阶段:此阶段集中于分析系统业务需求与产品功能架构。
(3)实现音乐播放器的的方法阶段:主要是让音乐播放器功能满足实现过程中用户的各种需求,让这种系统能够真正的应用到实际业务中,实际上这种系统功能的实现是在对系统进行需求分析的基础上进行的。
为了保证开发工作收尾的严谨性,现阶段应用了严谨的接口测试与压力功能测试计划,确定增删改查功能的实现与网站承载压力的保证。
关键字音乐播放器网站Javamysql
DesignandImplementationofaJavaBasedMusicPlayer
ABSTRACT
Thispaperintroducestheconstructionprocessofmusicplayer,whichmainlyincludesrequirementsanalysisdetaileddesign,systemimplementationandotherimportantparts,basedonwhichthesystemcanbeappliedtotheactualmusicplayerbusiness.ThemainfeatureofthissystemistheapplicationofJavatothemusicplayer.TheintroductionofJavacanimprovetheefficiencyofthesystemdevelopment,andthefinalrealizedsystemhasthecharacteristicsofstableoperation,easytouseandpractical.
Themainworkofthispaperisdividedintothefollowingparts:
(1)Selectionoftheoverallscheme;thispaperdeterminesthatthesystemwasdevelopedbasedonB/Smode,andtheJAVAlanguageisadoptedtorealizethefunctionsbasedonthemysqldatabase.Inordertoimprovethedevelopmentefficiency,thesystemintroducedJavainthedevelopmentprocess.
(2)Analysisanddesignofmusicplayer:Throughtheanalysisofbusinessrequirementsandfunctionalrequirementsofthesystem,thefunctionalarchitecturecompositionisdetermined,andthesecuritydesignofthesystemisconducted.
(3)Therealizationmethodofmusicplayer:mainlytomakethemusicplayerfunctionmeetthevariousneedsofusersintheprocessofimplementation,sothatthissystemcanbetrulyappliedtotheactualbusiness.Infact,therealizationofthissystemfunctionisbasedonthedemandanalysisofthesystem.
Toensurethesmoothprogressofthiswebsitetesting,arigorousdepartmentaltestingplaniscurrentlybeingdeveloped.Firstly,determinethatthedeveloperconcurrentlyservesasatester,andthenwritetestcasestoconductunittestsonthiswebsite.Here,takethefourcorefunctionalmodulesofthewebsite,namely,add,delete,modify,andfindinformationfunctions,addinformationfunctions,andmodifyinformationfunctions,asexamplesfortesting.
KeywordsMusicplayerwebsiteJavamysql
目录
第1章绪论
1.1网站开发的背景
1.2国内外现状
1.3本章小结
2.1网站的开发环境
2.2网站的开发语言
2.3JSON技术介绍
2.4JavaScript技术介绍
2.5网站所使用的数据库
2.6网站所使用的技术
2.7本章小结
第3章网站分析
3.1网站的可行性分析
3.1.1经济可行性
3.1.2技术可行性
3.1.3操作可行性
3.1.4法律可行性
3.2网站的数据分析
3.3网站性能需求分析
3.3.1可扩展性
3.3.2稳定性
3.3.3易用性
3.3.4流畅性
3.3.5安全性
3.4网站维护分析
3.5网站功能分析
3.6网站用例图
3.7本章小结
第4章系统设计
4.1网站设计原则
4.2网站的需求分析
4.3网站的工作原理
4.4网站功能操作流程
4.4.1系统功能流程
4.4.2网站操作流程
4.4.3添加信息流程
4.4.4修改流程
4.4.5删除信息流程
4.4.6音乐试听流程
4.5网站功能操作时序图
4.5.2录入时序分析
4.5.3修改时序分析
4.6网站包类图设计
4.7网站数据库设计
4.7.1数据库逻辑设计
4.7.2数据库物理设计
4.8本章小结
第5章网站功能的实现
5.2首页界面模块
5.3管理员模块
5.3.1管理员个人中心
5.3.2用户管理
5.4音乐发布管理
5.5创建歌单管理
5.4本章小结
第6章音乐播放器功能测试
6.1测试目的
6.2测试计划
6.3测试用例
6.4本章小结
结论
从国外来看,自从九十年代开始,大多数的西方发达国家都完成了网络建设,大多数国外的音乐播放器都已经获得了较为成熟的发展。而自从从2013年开始,国外的Facebook这一大家应该都听过的国外的社交软件就已经开源了JS框架,又在2015年推出衍生产品ReactNative,简称是RN,它使用的是Javascript语言。它的出现也正为腾讯公司后来推出的Java提供了借鉴本体。
操作网站:Windows10
数据库:mysql
开发语言:JAVA
这个项目主要是利用JAVA开发的。它是一项面向对象的编程语言。JAVA的推出即刻为整个互联网上的交互式应用程序展现出一个新的“世界”。
Java是一门面向对象的编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程[3]。
JSON全称为JavaScriptObjectNotation,即JavaScript的对象表示法。它是一种轻量级别的文本数据的交换格式,并且,它独立于各种语言和平台,例如:php,Java,.net等编程语言,它们都支持json[4]。Json同时也很容易理解,技术人员可以很快的就上手使用它。
JavaScript是一个web开发人员必须掌握的一门语言,它能够在大部分的html页面上进行使用,同时,web开发人员也能很快的学会它。而且它也是一个安全性相对较高的脚本语言。
在1995年的时候,Netscape的布伦丹·艾奇(BrendanEICH)首次在NetscapeNavigator浏览器上设计并实现了JavaScript。因为Netscape希望像Netscape的JavaScript那样子工作,所以命名为sunshine。但是,实际上,它的语法风格和它自己很接近scheme。JavaScript的默认值是ECMAScript[5]。
本网站使用MySQL关系数据库进行数据的存储与操作,选择该数据库其泛用性与开源占了很大的因素,而且其安装与学习成品也较低更是有优秀的可移植性,相较于sqlserver其有更丰富的接口与更好的安全性与连接性[6]。因为其是网络化的,所以数据共享效率更高。
JavaScript是一种网络脚本语言,广泛运用于web应用开发,此语言可以内嵌于HTML语言从而实现在前端处书写java有利于结构的分离,并且当前主流浏览器都对其提供了支持,私以为其最大的优势是相较于vue其语法更容易上手,并且他自动处理废料的能力也可以更好地优化内存。
Java程序被编译后会形成一个独有的class文件,该文件可以实现对类文件的定位,从而能够实现在多系统中运行。Java语言拥有的线程池结构能够支持多个线程同吋执行,Java程序所需要的类能够动态的或者通过网络被载入到运行环境。
这个部分讲述了网站所用到的一些技术支撑,对这些技术从自己理解的层面结合网上官方的回答向读到这篇论文的学者呈现出来,从而让读到该项目论文的读者可以自己品味出来其中的韵味,同时最后也大概的描述了网站的主要内容。
该系统主要是基于电脑网站进行开发的,现在的采样编码方式遵循奈奎斯特采样定理先进行全采样,然后在压缩的时候丢掉大多数采样,这种方式造成了很大的资源浪费。这种基于预测的视频编码方式编码出来的数据有运动信息和纹理信息,这些信息之间重要性是不一样的,如果重要信息丢失的话会对视频质量造成比较大的影响[7]。而从目前的情况来看,电脑网站的技术已经相当的成熟,随着电脑的发展以及应用的广泛,人们看到了电脑网站的发展前景,因此,各种各样的网站也在电脑里产生,作为一个不需要下载便能使用的系统,用户也很乐于去使用,因此,基于电脑网站的项目越来越多,各种平台也很乐于在电脑中开发网站,电脑网站的技术也随着越来越成熟,因此在该系统在技术可行性这方面同样是属于可行的。
音乐播放器运行的困难程度直接影响到使用者的感受和人数,这是一个需要考虑的问题。而随着手机的普及,电脑网站的系统也被越来越多的人使用,电脑网站的功能都大同小异,因此,人们可以不需要指导,就能去操作一个新的电脑网站,操作难度对人民群众来说不值一提,人们对此十分的熟练,操作也能很快的上手,因此,在对该程序的操作可行性来看,也是可行的。
在法律方面,网站的每一方面我都进行了十分严谨的思考,并不会去触碰到对应的法律,而且由于网站的开发门槛并不是很高,也不需要太多的资金和十分复杂的技术要求,而且由于我的考虑,在该网站的功能和其他的方面,都不会有任何的触犯法律的情况,因此,该网站在法律可行性方面也是没有任何问题的。
我设计的这个网站其中的数据是很精准的,不能有丝毫的偏差,其次数据非常的灵活不是一成不变的。如果我想对这些数据进行改变和进行对改变后数据进行同步处理时,数据的准确性是一个非常重要的要求,如果数据不能准确无误的表现出来,将会产生许多不必要的麻烦[7]。
其次,数据还需要具有一致性和完整性两个特性[8]。众所周知,电脑网站上面的一组组数据都是共享的,我们在开发时必须注意数据统一的模样,这样不同的程序员或者维护人员才能更好的对同一网站进行创作与维护。
最后,网站中的数据还应该具有共享和独立性[9]。在电脑网站从开发到后面的测试维护等所有生命周期内都应该具备共享性,同时要保证网站的数据拥有一定的独立性。如果我们可以站在一个开发者创造者的角度去看这些问题,数据之间独立性较差,无疑这会给电脑网站增加不小的开发难度,所以在我们进行开发时应该用更加灵活的开发方法,能保证独立运行,还应该尽可能的通过人为方式去预防错误的发生。
该音乐播放器在主要功能方面应该达到如下要求:
该网站的设计是在目前所需要的功能为目标的基础上进行设计研发的,为了适应未来实际的需求的变化,给未来的功能提供更便捷的扩展和维护,我们必须去考虑到网站的扩展问题,在现有的基础上去增加功能时,网站原本的框架和功能点不会被太大的影响。
音乐播放器的使用度十分的广泛,因此,该网站的运行必须要稳定,可靠的同时,也要高效,因此,在按照功能进行划分时,要使得他们不会有强烈的依赖,这样才能保持网站的稳定性,提高用户的使用舒适度。
该音乐播放器是为了音乐播放器所开发,因此必须开发一个易操作且高效的网站,避免有些用户未使用过电脑网站而不会操作,同时在易操作和的基础上,我们还应该做到界面的美观,这样才能让用户有更好的体验感。
一个好的网站,它的流畅性是必须要好的,要想有一个好的流畅性,需要考虑的地方无疑是需要更加全面的,不是简单的程序运行起来就可以,我们还应该更多的去考虑代码的运行效率即合理的算法设置等,通过这些操作来提高内存与网站同用户之间的一个响应速度,让使用者拥有一个全新且舒适的使用效果。对此,我们可以删除不需要的一些属性,提高布局复用,同时通过线程等方法去优化该网站的启动速度。
近几年来,随着网站的崛起,越来越多的店铺开始对网站进行了研发,随着网站的日益增多,网站的维护也成为了一个无法逃避的问题,因此,本块对网站的维护进行了简单的介绍。网站维护包括以下几个方面的工作:
(1)在网站的维护过程中首当其冲的是确保网站能够正常的使用,通常网站上线前都会进行全面的测试,但是在用户经年的使用下,难免会出现各种各样的问题,此时就需要对网站的状态进行分析,通过错误报告来进行具体分析解决。
(2)进行实时更新和维护的数据库:当客户需要增加业务或者对当前业务进行更改时,就会需要对功能代码进行再次开发,此时数据库也会相应的进行重新设计。
音乐播放器前端使用Java开发,后端使用基于Java语言的SpringBoot框架进行设计,数据主要存储在Mysql数据库中,该系统具有用户和管理员两个角色。主要功能和模块包括:
功能管理其功能结构图如下:
该章主要对该音乐播放器进行了系统的分析,主要包括网站的可行性分析,数据分析,性能需求分析以及网站的维护分析,同时网站的可行性分析中又分为4大部分,分别为:经济可行性,技术可行性,操作可行性以及法律可行性。
网站设计原则包含以下几点:
(1)实用性原则,网站的最基本要求就是其能够投入使用且更加容易被用户使用,更能满足用户的要求。所以在计算机从业方面需要各种不同的职业分类,通常会从产品与ui出发设计出更加能被用户接受的外观设计模式与功能模块,再由前后端程序员对设计进行实现。
要想一个信息网站能够成功上线运行,最终通过验收,实用性就是其验收的重要前提,本网站设计之初就深知实用性原则,故而在设计网站过程中严格遵循实用性原则。
(2)安全性原则:网站能够给工作带来便利的同时,设计网站时就必须重点考虑到其安全性,隐私性方面等问题。特别是在加强账户安全,信息安全,防入侵安全等此类因素,一个安全的程序才能让用户更加的放心去使用,避免用户信息的泄露,导致用户的体验感很低等。
(3)易操作性原则:为了能够使用户在操作上有更好的体验,在网站设计使就应该优先考虑易操作性。网站设计更多时候是为了使用户能更加便捷且高效的解决繁琐的问题,所以在操作上如果步骤较多,并难易程度较高,网站就失去了本来的价值,总之能快速去操作的问题,据不要分解成多步来完成,能够设计成当下流行的一键完成最佳,一个易于操作的程序,才会有更多的用户去使用,而不是让用户进入程序以后无从下手。要记住网站开发正是用于用户,所以设计一定是从用户视角去考虑问题。要及时且认真对待用户反馈,对反馈进行有效应对。
该网站是为了辅助对音乐播放器信息的管理所研发,同时也是为了帮助用户进行音乐播放器或者管理员对音乐播放器等信息进行管理,因此,该网站必须要做到,音乐播放器或用户可以浏览音乐播放器等信息,同时,音乐播放器可以进行音乐播放器以及个人信息的修改,而该网站必须还有一个管理员的角色去操作管理员的功能,例如查看用户的音乐播放器情况等。
本网站工作原理图如图4-1所示。
在管理网站的时候,需要先对信息化流程有自己的基本认识,对网站的音乐播放器开发步骤展开设计,从底层对数据库进行设计。网站的开发流程如图4-2所示。
用户在操作添加信息功能的时候,在界面中所输入的对应的数据都会在界面上进行正则校验去验证数据是否符合规则,数据只有符合特定的规则的情况下,才可以提交给接口,才能将这个增加的操作完成,这样做的目的主要是为了减少接口的无效请求,同时加大了网站操作过程中的严谨性,从而减小了服务器的压力。网站的添加信息如图4-5所示
用户在界面中进行修改信息的操作时,跟添加信息的过程一样,都会在数据通过正则校验的规则时,才会提交给接口,同时,修改信息是无法修改信息主键的,这样是为了避免出现信息修改错误的情况产生,同一个用户操作修改的时候,其他用户不能进行操作。流程图如图4-6所示。
用户在进入音乐试听界面的时候可以去选择对应的音乐。网站的音乐信息如图4-8所示。
用户在修改界面,选择需要修改的信息,发起申请。修改时序图如图4-11所示。
系统主要分为controller控制器,domain实体模型层,mapper为mybiatys映射文件层,service为服务层,其中impl主要负责数据交互,service主要是实现数据交互里面的接口,如下图4-12所示
建立概念数据模型是我们对用户描述的信息的初始领会。通过对用户描述的现实需求理解,我们将其建立起一个抽象的模糊的概念模型。这个概念模型主要由实体-联系图(Entity-RelationshipDiagram)、实体(Entity)、属性(Attribute)、联系(Relationship)等部分组成。
基于对系统需求分析的层层划分,我们得出如下实体和E-R图联系。
用户实体图。如图4-13。
音乐实体图。如图4-14。
配置实体图。如图4-15。
Token实体图。如图4-16。
用户角色实体图。如图4-17。
数据库逻辑设计,需要将前期设计的E-R图变成数据库实用阶段的逻辑结构,目前应用比较广的就是ORACLE数据库与MYSQL数据库,因为此程序为个人开发,所以选择MYSQL数据库,由此在设计逻辑结构的过程中,我们一般采用三个阶段进行逐步开发。首先将E-R图转为关系模型,其次了解数据库结构之后将具体数据库转换为具体的数据库支持下的数据模型,最后进行实体属性的优化确保查询的效率。
物理设计,依据逻辑结构设计所得的实体属性进一步设计成数据库表结构,为满足需求限制,表结构会设置相应的制约条件。表结构设计的是否合理,关系着系统性能的好坏,以及对后期维护更新的影响。
4-1用户的主要信息表单,设计了id作为数据库表的主键,用户主要包括管理员和user,通过id可以精确查询具体用户的信息,主要属性有Username,Pass,Sex,addtime,age,phonenumber。
4-2为配置表,主要属性有Name和value。
4-3为音乐信息表,设计了id作为数据库表的主键,通过id可以精确查询具体音乐的信息,主要属性有Addtime,title,geshou,beizhu,fenlei。
4-4为请求头中的token解析所获得的属性列表。
4-5为用户中的user信息表,用来存储user的信息。
管理员可以在个人中心中实现修改密码和查看个人的信息,个人信息中可以更改管理员的用户名。
管理员通过用户管理窗口能够通过对数据库操作来实现对用户的新增,删除,修改和查看等操作,其中查询功能可以是精准查询也可以是模糊查询,通过对数据库的增删改查来完成。
管理员在此功能模块可以实现两个功能,可以通过管理员权限将指定歌手的歌曲加入数据库,也可以审核用户自己提交的歌曲,在数据库中审核状态字段由前端判断为三个状态,管理员可以通过歌曲名称,歌手姓名,审核状态三个字段对数据库中数据进行查询
我在这章向读者展示了我开发的音乐播放器的各种功能,并且在这章节里面我详细的介绍了网站的这些页面所能执行的一些操作,当第一次操作该网站的用户可以迅速上手,同时,让读者对网站的实现的具体功能有一个大概的了解。
网站测试通过对网站进行全面测试,从而暴露出用户使用时可能出现的问题。以便于对后续开发跟进进行针对性解决。
编写测试用例对本网站进行是单元测试,对网站功能/用户的信息增删改查4个核心功能模块进行测试。
网站的测试用例由测试人员对测试对象进行分析需求,确定其合理性与无二义性,从而编写测试用例提高测试效率。添加信息测试结果如表6-1所示。
进入用户展示界面点击待删除信息右侧删除按钮,根据网站提示,我们需要根据给出的提示主观的做出我们自己的选择进行点击删除和关掉的按钮,然后这样就完场了该网站的一个删除用户信息操作的测试。进行上述操作的结果如表6-2所示。
本用力为查询用户信息用例,测试人员通过高权限的管理员账号使用用户管理中的用户展示功能,进入用户展示界面点击查询下拉框,输入用户名称或者其他多个用户信息值,单击查询选项,就可在数据库之中模糊查询与之匹配的用户信息,进而完成用户信息查询测试。查询用户信息测试结果如表6-4所示。
[1]苏小雅.网络流行音乐的传播机制研究[D]四川大学,四川成都610000,2019
[2]冒羽卉.弹幕视频网站用户信息交互行为影响因素及服务模式研究[D].吉林大学,2021.
[3]赵志伟.无线网络流媒体传输优化研究[D].北京邮电大学,2018.
[4]明细华.基于Web的工程项目管理系统的设计与实现[D].西安电子科技大学,2019.
[7]刘润泽.图片管理系统后台设计与实现[D].北京邮电大学,2017.
[8]张璐轩.论BILIBILI网站中弹幕方法对音乐受众研究的价值[D].天津音乐学院,2021.
[9]荣郭慧.基于H.265流媒体网络实时传输机制的研究[D].内蒙古工业大学,2020.
[10]王依达.实时流媒体分发网络研究与实现[D].北京邮电大学,2021.
[11]梁文博.流媒体技术在远程教育中的研究与应用[D].西安科技大学,2019.
[12]BaldwinDareA.HowDoestheMindRenderStreamingExperienceasEvents《Topicsincognitivescience》|2021年第1期|79-105|共27页
[13]MinsuKim.EdgeComputingAssistedAdaptiveStreamingSchemeforMobileNetworks《QualityControl,Transactions》|2021年第1期|2142-2152|共
[14]赵志伟.无线网络流媒体传输优化研究[D].北京邮电大学,2018.
[15]王孝通.基于用户行为的视频内容质量评价和推荐算法研究[D].兰州理工大学,2020.