版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第一章绪论1.1系统研究背景和意义随着互联网的高速发展,人们的生活变得更加多元化。在每日的忙碌工作之余,少有人会通过散步等传统方式来放松自己,听音乐则成了更多人的选择。一个音乐播放系统,就应运而生了。音乐播放系统包含流行音乐、情感音乐、DJ、古风、欧美等各种类型的音乐。可根据个人的喜好收听不同的音乐。不仅可以在音乐播放系统中获得放松,也可以让人们更多地了解歌手以及他们成功的过程。互联网的发展,可以使人们更加高速地获得信息,让生活变得更加多元化。1.2国内外研究的现状音乐软件大家应该都很熟悉了,智能机的普及,苹果手机的大量流入中国市场,像酷狗音乐,QQ音乐等都有自己的Android和IOS的产品,同时也有web的网站。酷狗音乐是使用C++编写的,这个技术相对成熟,但是使用率并不是很高,并且在页面效果上会有所欠缺。同时也有一些软件是使用其他新兴技术,比如go、python、php等,go语言能够很好地处理高并发,python简单规范,php可同时用来写前后端。这些语言在某些方面是有其优点,但是作为新兴技术,显然是没有Java这个已经有二十多年历史的语言那么稳定的。因此,使用Java开发音乐播放系统是一个很好地选择。现如今Java在后台开发上已经非常完善了,SSM框架完美的符合三层架构的思想,使用Java来写数据接口,并且还有多种方法来处理现在流行的轻量级的前后端数据交互的JSON数据。同时,在前端显示方面,JSP技术也很好地与现在流行的HTML网页结合,能够使得页面更加美观。1.3本课题研究的内容根据对现有主流的音乐播放网站的调查和统计,目前这些网站所具有的重要模块及功能在本系统中都有。具体如下:1、用户的注册功能;用户想要拥有自己的歌单,就需要注册一个自己的系统账号。2、用户登录功能;使用自己的账号登录我们的系统,在系统里面进行歌单设置,评论等功能。3、歌曲搜索功能;根据输入的关键字进行模糊查询,为用户提供相应的歌曲或者歌手的信息。4、歌曲详细功能;显示出当前歌曲的歌词,对应的歌手,歌手图片,歌曲评论等信息。5、歌手详细功能;改歌手的姓名,星座等等一些基本信息。6、歌曲播放功能;根据歌单进行播放,随机播放,顺序播放,单曲循环等功能。7、播放列表管理功能;用户可以根据自己的喜好,往歌单中添加歌曲,或者从歌单中删除歌曲。8、榜单功能;根据各个歌曲的分类对歌曲进行排行,根据播放量对歌曲进行排行。9、歌曲上传功能;后台管理员可以往系统中上传新歌。10、评论功能;对某首歌进行自己的评论。11、新增歌手功能;后台管理员往系统里面添加歌手。1.4本课题的研究方法本系统使用Java语言开发,Java环境为jdk1.8,使用的IDE开发工具为Eclipse,数据库使用的是轻量级的开源数据库操作系统MySQL,服务器使用的是开源的Tomcat,使用的Tomcat版本为8.0。本系统使用的是J2EE企业开发框架中较为基础的SSM框架,除了基础框架之外,还使用到了JSP、JavaScript、JQuery、CSS、AJAX等等WEB方面的技术。其中SSM框架,Spring框架是负责管理bean以及其他框架的,由原来的程序员手动生成对象变成了从IOC容器中获取,降低了组件之间的耦合程度,提供了事务处理等服务,使开发更加方便。SpringMVC框架是视图部分,负责对请求的响应以及数据的填充,SpringMVC框架的出现,使请求变得更加方便管理,使用注解配置路径而不需要在web.xml文件中一一配置servlet。MyBatis框架作为持久层,负责与数据库的连接,使用数据库连接池增强了系统的性能,而且sql语句是写在配置文件中,并且会对数据进行封装,数据传递更加高效。并且项目采用的是controller+service+dao的结构层次,配合上SSM框架,使系统更加的容易管理和维护。而JSP、JavaScript、JQuery、CSS、AJAX等技术是适用于前端界面以及前后端交互的技术,JavaScript、JQuery、CSS等技术使得系统的界面更加美观,而JSP和AJAX能够非常好地处理前后端数据交互的问题,使得整个系统在数据传输上变得更加高效。1.5开发环境1.5.1硬件环境本系统采用单机操作方式,基本配置如下;处理器:第五代酷睿i3-5200U@2.50GHz硬盘空间:500GB内存:2GB1.5.2软件环境采用B/S架构,使用tomcat运行环境开发平台:Eclipse操作系统:Windows10数据库服务器:MySQLJava环境:JDK1.81.6论文结构全文共分为八章:第一章首先介绍课题的研究背景和意义,然后介绍研究内容和方法。第二章介绍本系统的架构设计,使用的开发技术以及相关的开发工具等。第三章进行系统分析,主要是可行性分析和需求分析。第四章系统总体设计,分析所有的实体类;介绍各大模块的业务设计。第五章数据库设计。对系统所用的数据库结构进行详细设计。第六章系统实现。详细的介绍了系统的实现,具体到了所有的模块。第七章系统测试。介绍了测试用例和给出了测试的结果。第八章系统总结。总结系统的优点、缺点、展望。第二章相关技术2.1SSM框架介绍SSM框架是三个框架的合称,分别是Spring、SpringMVC、MyBatis三个框架。Spring框架是一个轻量级的开源框架,在Java面向对象的基础上实现了控制反转(IOC)和依赖注入(DI)以及面向切面(AOP)这三个主要特性。使原本需要程序员手动创建对象变沉了从IOC容器中获取对象,这是一个比较大的突破;而AOP把控制精确到了方法,可以在方法执行前后或者发生异常之后进行一些处理。不仅如此,Spring框架还能比较好地整个其他框架。SpringMVC其实是Spring框架提供的一个强大而灵活的web框架,主要负责前后端数据交互、页面跳转等功能,在SpringMVC中,请求分别会经过其前端控制器,前端控制器中有处理器映射器、处理器适配器、以及视图解析器组成。处理器映射器是寻找处理器,处理器适配器中调用service,而视图解析器是负责页面的显示以及数据的填充。MyBatis框架是持久层的轻量级框架,负责与数据库的连接,操作数据。在DAO层编写Mapper接口,并且与xml文件进行映射。在xml文件中编写sql语句,参数类型多样,最主要的是可以对查询结果使用resultMap进行封装,这种Key-Value形式结果集用于数据填充是非常方便的。2.2JavaScript介绍JavaScript是一种脚本语言,主要用于前端页面的事件的触发,页面特效的显示。但是跟名字不一样的是,它跟Java没有任何关系。JavaScript的出现,完美得取代了CGI,原本一些表单字段的判空操作需要将请求发送到后端在后端进行判断,而JavaScript可以在前端页面进行判断,减少了请求次数,大大地提高了请求效率。而使HTML页面可以动态地显示实时信息。JavaScript是相对安全、事件驱动、跨平台的语言,但是JavaScript也有其对应的缺点,就是各个浏览器对JavaScript的支持程度不同,因此在写代码的过程中有些情况要考虑浏览器的因素。2.3AJAX介绍AJAX(AsynchronousJavascriptAndXml)是异步的JavaScript和xml,是现在开发的一个很重要的技术。就是所谓的局部刷新,像百度搜索框会根据输入的内容的变化而显示不同的信息,进行部分网页的更新,而不是加载整个页面。使每次请求的数据量减少了,可以使请求与响应更加地快。并且AJAX是独立于语言和平台的,兼容性是非常好的。2.4JSON介绍JSON是一种轻量级数据格式,其主要形式是Key-Value这种键值对的形式。相比于xml,json更小,更快。在前后端交互的过程中,使用最多的就是json格式,这种格式在前后端都能比较方便地解析,并且能够实现各种编码的传输,是现在使用率最高的一种格式。2.5MySQL介绍MySQL是一种开源的关系型数据库管理系统。在MySQL中,数据存放在一张一张的表中,所谓关系型数据库,就是表与表之间的关系是通过外键连接的。在MySQL中使用语句是最常见的结构化查询语句,并且有自己的索引引擎,能够加快查询效率。并且,相对于Oracle这种大型的数据库,MySQL显然是更加简单方便的,其独特的分页以及主键自增是Oracle所没有的。第三章系统分析3.1系统功能本系统总体上分为用户模块和管理员模块。音乐播放系统中,用户模块为用户提供了用户登录注册、歌单管理、歌曲评论、音乐播放、歌曲搜索、歌曲分类排行等功能,使用户有非常好的体验;在管理员模块提供了上传歌曲、增加歌手等功能,操作非常便捷。系统功能图如图3.1所示图3.1系统的功能图3.2系统用例设计经分析,可以确定整个系统的主用例图将包括两个角色(用户和管理员),及对应两个用例,系统主用例图如图3.2所示,图3.2系统的主UseCase图其中,前台用户模块用例图如图3.3所示图3.3前台用户模块用例图后台管理员模块用例图如图3.4所示图3.4后台管理端用例图3.2.1登录验证1.本用例描述:用户访问音乐播放系统首页,界面右上角有登录超链接,点击登录后进入登录页面,1)用户可以输入手机号密码登录或者使用手机验证码登录2)系统查询该用户相关信息,3)若用户输入的手机号,密码不正确或者手机验证码不正确,则返回步骤1),并提示错误信息;4)若用户手机号,密码或者手机验证码正确,则根据数据库中该用户的角色进入前台模块或者管理员模块。2.本用例时序图如图3.5所示图3.5登录验证时序图3.本用例协作图如图3.6所示图3.6登录验证协作图3.2.2歌手详情1.本用例描述:用户访问本系统,在本系统中的任意页面,只要看到有歌手名字或者歌手图片,都可以点击进入歌手详情页面,在歌曲详情页面能够查看到歌手的基本信息、代表作、热歌等信息。2.本用例时序图如图3.7所示图3.7歌手详情时序图3.本用例协作图如图3.8所示图3.8歌手详情协作图3.2.3歌曲详情1.本用例描述:用户访问本系统,在本系统中的任意页面,只要看到有歌曲名字,都可以点击进入歌曲详情页面2.本用例时序图如图3.9所示图3.9歌曲详情时序图3.本用例协作图如图3.10所示图3.10歌曲详情协作图3.2.4歌曲评论1.本用例描述:用户访问本系统,在本系统中的歌曲详情页面中可以看到该歌曲的评论信息、评论的回复、评论的点赞次数等信息2.本用例时序图如图3.11所示图3.11歌曲评论时序图3.本用例协作图如图3.12所示图3.12歌曲评论协作图3.2.5歌曲榜单1.本用例描述:用户访问本系统,在本系统中的榜单页面,可以看到本系统中的歌曲排行榜,包括新歌榜、热歌榜、民谣榜等各种类别的榜单2.本用例时序图如图3.13所示图3.13歌曲榜单时序图3.本用例协作图如图3.14所示图3.14歌曲榜单协作图3.2.6播放列表管理1.本用例描述:用户访问本系统,在本系统中的播放列表页面中,可以看到自己的播放列表,可以移除自己不喜欢的歌曲;在其他页面中能添加歌曲到歌单。2.本用例时序图如图3.15所示图3.15歌单管理时序图本用例协作图如图3.16所示图3.16歌单管理协作图3.2.7歌曲搜索1.本用例描述:用户访问本系统,在本系统中的搜索页面,可以输入关键字,查询符合条件的歌曲或者符合条件的歌手所有的歌曲2.本用例时序图如图3.17所示图3.17歌曲搜索时序图3.本用例协作图如图3.18所示图3.18歌曲搜索协作图3.2.8新增歌手1.本用例描述:管理员有管理员自读特有的账号,从前台的登录页面输入账号密码或者手机号验证码进行登录到后台,在后台可以进行新增歌手2.本用例时序图如图3.19所示图3.19新增歌手时序图3.本用例协作图如图3.20所示图3.20新增歌手协作图3.2.9上传歌曲1.本用例描述:管理员有管理员自读特有的账号,从前台的登录页面输入账号密码或者手机号验证码进行登录到后台,在后台可以进行新增歌手本用例时序图如图3.21所示图3.21新增歌曲时序图3.本用例协作图如图3.22所示图3.22新增歌曲协作图第四章系统设计4.1系统设计原则根据自身在音乐播放系统的体验以及广大用户对音乐播放系统的需求,具体要满足哪些功能,系统能达到怎样的预期效果,可以遵循以下的设计原则。4.1.1实用性本音乐播放系统的设计目标是实现操作简单,界面美观,用户体验性好的音乐播放网站,为每一个用户提供简单又丰富的听音乐体验。4.1.2模块化设计本音乐播放系统采用了用户模块和管理员模块的模块化程序设计方法,通过这种分模块的方法提高用户的体验以及后台管理员对系统的维护以及更新,使系统在维护的时候也并不影响用户的使用。4.1.3系统安全性不管是什么系统,只要有用户登录功能的,用户的密码都是比较私密的,本系统对用户的密码进行了加密,使用的是MD5加密,这个加密是不可逆的,就算数据库被黑了,拿到的也只是一串看不懂的字符串;而手机验证码这个东西,只有输入的是自己的手机号才能知道验证码,也是比较安全的。4.1.4系统性能本系统是一个运用了JSP、SSM框架开发的一个系统,然后部署在eclipse上通过tomcat服务器运行的系统,对于系统的访问数与响应时间和计算机的硬件条件有关,访问数是20,响应时间是0.01秒,后台管理员上传歌曲以及用户下载歌曲和网速有关,上传与下载速度为2M/s。4.2系统模块设计本系统主要包括:用户模块(登录注册、播放列表管理、查看歌手详情、查看歌曲详情、歌曲评论、歌曲搜索、歌曲榜单);管理员模块(新增歌手、上传歌曲)。系统模块图如图4.1所示图4.1系统模块图4.2.1登录注册模块1.注册模块1)输入:输入手机号、昵称、密码、再次输入密码2)处理:判断手机号是否为空、手机号是否合法、是否被注册过,判断昵称是否为空、是否存在非法字符;判断密码是否为空、是否少于6位;判断确认密码是否为空、是否少于6位、两次输入密码是否一致3)输出:注册是否成功,如果注册失败,失败的原因;注册成功即跳转到登录页面,失败则停留在当前页面重新操作2.用户账号密码登录1)输入:手机号、密码2)处理:判定输入手机号是否正确、是否已经注册,密码是否正确3)输出:登录是否成功,成功则跳转到网站首页,失败则停留在当前页面重新操作3.手机号验证码登录1)输入:手机号、验证码2)处理:生成6位随机验证码并发送到手机、判断输入的验证码是否一致3)输出:登录是否成功,成功则跳转到网站首页,失败则停留在当前页面重新操作注册流程图如图4.2所示,登录流程图如图4.3所示图4.2注册流程图图4.3登录流程图4.2.2歌曲详情模块用户和游客有不同的权限1.游客1)输入:点击一首歌曲2)处理:判断是否登录3)输出:请登录2.用户1)输入:点击一首歌曲2)处理:判断是否登录3)输出:跳到歌曲详细页面、查看歌曲的相关信息、相关评论,查看该歌手的最火的六首歌以及本系统中最火的六首歌。相关流程图如图4.4所示4.2.3歌手详情模块用户和游客有不同的权限1.游客1)输入:点击一位歌手时2)处理:判断是否登录3)输出:请登录2.用户1)输入:点击一位歌手时2)处理:判断是否登录3)输出:跳到歌手详细页面、查看歌手的基本信息、代表作等相关流程图如图4.5所示图4.4查看歌曲详情流程图 图4.5查看歌手详情流程图4.2.4歌曲榜单模块歌曲榜单模块主要是一个歌曲排行榜,根据歌曲的种类(民谣、古风等)的不同根据歌曲的播放次数进行的一个排行1.输入:点击榜单、切换榜单2.处理:根据选择的歌曲种类进行排行3.输出:根据选择歌曲种类的不同显示不同的排行相关流程图如图4.6所示图4.6歌曲榜单相关流程图4.2.5评论模块评论模块主要是对应某一首歌曲,用户可以发表自己的见解,回复别人的评论,并且对别人的评论进行点赞。1.输入:已登录本系统,进入歌曲详情界面;在评论框输入评论内容并点击评论、对某一条评论进行点赞、对某一条评论进行回复2.处理:对相对应的歌曲进行添加评论、评论点赞次数的增加、评论回复的增加3.输出:在评论列表中看到评论、评论点赞数、评论回复等相关流程图如图4.7所示图4.7评论相关流程图4.2.5播放列表模块播放列表主要是方便登录的用户能把自己喜欢的歌加入到自己的歌单,在下一次登录的时候还能保留歌单的内容;同时,对未登录的用户提供一个默认的歌单。1.游客1)输入:点击歌单2)处理:判断是否登录3)输出:默认的歌单,可进行操作,退出后不保留2.用户1)输入:点击歌单2)处理:判断是否登录3)输出:个人独有的歌单,可进行操作,退出后保留播放列表流程图如图4.8所示图4.8播放列表相关流程图4.2.6歌曲搜索模块歌曲搜索模块主要是用户在搜索页面可以输入歌曲或者歌手的关键字在本系统中搜索符合条件的歌曲或者歌手的歌曲。1.游客1)输入:无2)处理:搜索页面输入搜索内容3)输出:查询符合条件的歌曲进行显示2.用户1)输入:已登录本系统2)处理:搜索页面输入搜索内容3)输出:查询符合条件的歌曲进行显示歌曲搜索流程图如图4.9所示图4.9歌曲搜索相关流程图4.2.7新增歌手模块新增歌手模块主要是后台管理员对系统资源的一种添加,增加歌手一遍后面上传歌手的歌曲。1.管理员1)输入:登录后台新增歌手页面2)处理:输入歌手信息3)输出:新增歌手成功新增歌手流程图如图4.10所示4.2.8歌曲上传模块歌曲上传模块主要是后台管理员对系统资源的一种添加,对已经存在系统中的歌手进行歌曲的添加。1.管理员1)输入:登录后台歌曲上传页面2)处理:输入歌曲信息,选择歌曲、歌词文件3)输出:歌曲上传成功歌曲上传流程图如图4.11所示图4.10新增歌手相关流程图图4.11歌曲上传相关流程图4.3系统类图4.3.1实体类类图User类用来记录用户的个人信息。实现用户登录注册等功能。相关类图如图4.12所示图4.12 Users类图Song类用来记录歌曲的信息。实现歌曲的播放以及歌曲上传、歌曲排行等功能。相关类图如图4.13所示图4.13 Song类图Singer类用来记录歌手的信息。实现歌手分类、新增歌手等功能。相关类图如图4.14所示图4.14 Singer类图SingerType类用来记录歌手的类别信息。相关类图如图4.15所示图4.15 SingerType类图SongType类用来记录歌去的类别信息,用来实现榜单等功能。相关类图如图4.16所示图4.16 SongType类图Comments类用来记录歌曲评论等信息,实现评论功能。相关类图如图4.17所示图4.17 Comments类图ReplyComment类用来记录歌曲评论的回复信息,实现回复评论功能。相关类图如图4.18所示图4.18 ReplyComments类图Search类用来记录搜索内容和搜索次数,用于实现热搜功能。相关类图如图4.19所示图4.19 Search类图4.3.1业务类类图UsersController类用于实现用户登录注册等功能的验证。相关类图如图4.20所示图4.20 UserController类图SongController类用于实现歌曲相关功能。相关类图如图4.21所示图4.21 SongController类图SingerController类用于实现歌手相关功能。相关类图如图4.22所示图4.22 SingerController类图CommentController类用于实现对歌曲评论相关的功能。相关类图如图4.23所示图4.23 CommentsController类图SearchController类用于实现热搜的功能。相关类图如图4.24所示图4.24 SearchController类图第五章数据库设计5.1E-R图设计本系统是一个音乐播放系统,系统主要分为用户模块和管理员模块;用户模块主要是登录注册功能、歌曲播放、歌单管理、评论、歌手歌曲详细、歌曲搜索等功能;管理员模块主要是歌曲上传、增加歌手的功能。系统包括用户、歌曲、评论、歌手等4个实体。E_R总图如图5.1所示。图5.1系统ER总图5.1.1用户实体用户实体主要包含:用户编号,用户昵称,密码,用户角色,注册时间,手机号,用户头像等属性信息,详细描述了用户的各种属性。用户实体E-R图,如图5.2所示。图5.2用户实体E-R图5.1.2歌曲实体歌曲实体主要包含:歌曲编号、歌曲名、歌手编号、歌曲时长、歌曲文件、歌词文件、发布时间、播放次数、歌曲类型、注册时间,歌曲类型等属性。歌曲实体E-R图,如图5.3所示。图5.3歌曲实体E-R图5.1.3歌手实体歌手实体主要包含:歌手编号、歌手名字、歌手类型、性别、歌手图片、歌手首字母、代表作等必要信息,还包括星座、名族、出生地等一些其他非必要的信息用来显示歌手的个人信息,跟系统功能并无太大关联。歌手实体E-R图,如图5.4所示。图5.4歌手实体E-R图5.1.4评论实体评论实体主要是用户对于某个歌曲的评论。主要包含:评论编号、评论内容、评论时间、评论用户、点赞次数、歌曲编号等属性。歌手实体E-R图,如图5.5所示。图5.5评论实体E-R图5.2逻辑结构设计5.2.1歌曲表在歌曲榜单界面上,根据歌曲类别显示不同歌曲;歌曲详情、歌曲搜索、歌单等页面显示歌曲对应的歌手,其逻辑结构如表5-1所示。表5-1歌曲表序号字段名中文说明类型可空备注1.id歌曲编号int不可2.name歌曲名varchar不可3.songTypeName歌曲类别名varchar不可4.singerName歌手名varchar不可5.2.2歌手表在歌手页面根据歌手分类显示歌手;歌手详细页面显示歌手代表作等信息,其逻辑结构如表5-2所示。表5-2歌手表序号字段名中文说明类型可空备注1.id歌手编号int不可2.name歌手名varchar不可3.singerTypeName歌手类别名varchar不可4.songNameList歌手代表作List不可歌手代表作集合5.2.3评论表在歌曲详情界面中的评论功能中;一条评论有其评论人昵称、评论人头像、评论内容、点赞次数、评论时间等信息,如果存在回复评论,则还有回复人昵称、回复内容等信息,其逻辑结构如表5-3所示。表5-3评论表序号字段名中文说明类型可空备注1.id评论编号int不可2.content评论内容varchar不可3.time评论时间varchar不可4.count评论点赞数int不可5.usersName评论用户昵称varchar不可6.usersPicture评论用户头像varchar不可7.replyContent回复评论内容varchar可8.song歌曲varchar不可评论对应的歌曲9.replyUsersName回复人昵称varchar不可存在回复评论时回复人不能为空5.3物理结构设计音乐播放系统数据库表关系图如图5.6所示图5.6系统数据库表关系图5.3.1用户表users整个系统的用户和管理员登录验证的数据,本表中的数据能够根据用户的成功注册而添加,管理员的账号等在最初时设置,分发给管理员,用户表如5-4表所示。表5-4用户表序号字段名中文说明类型可空备注1.id用户编号int不可主键、自增2.username用户昵称varchar不可用户的昵称3.password密码varchar不可4.tel手机号varchar不可5.role角色int不可6.time注册时间varchar不可7.picture用户头像varchar不可默认头像8.remark备注varchar可5.3.2歌曲表song该表主要存放的是歌曲的信息,主要包括歌曲id、歌曲名、歌词文件、歌曲文件、时长、上架时间、歌曲类型、歌手等基本信息,只有管理员能往该表中添加数据,歌曲表如5-5所示表5-5歌曲表序号字段名中文说明类型可空备注1.id歌曲idint不可主键、自增2.name歌曲名varchar不可3.time上架时间varchar不可4.lyric歌词varchar不可5.mp3歌曲varchar不可6.count播放次数varchar不可默认为07.duration歌曲时长varchar不可8.singerid歌手idint不可外键、关联歌手表9.song_typeid歌曲类型idint不可外键、关联歌曲类型表10.remark备注varchar可5.3.3歌手表singer该表是存储了歌手的相关信息,管理员在管理模块能够对歌手进行新增,歌手表如5-6所示表5-6歌手表序号字段名中文说明类型可空备注1.id歌手idint不可主键、自增2.name歌手名varchar不可3.alias别名varchar可4.language国籍varchar可5.birthday生日varchar可6.height身高varcahr可7.sex性别varchar不可8.nation民族varchar可9.birthplace出生地varchar可10.constellation星座varchar可11.weight体重varchar可12.picture歌手相片varchar不可13.singer_typeid歌手类型int不可外键、关联歌手类型表14.job工作varchar可15.firstname首字母varchar不可16.remark备注varchar可5.3.4歌曲类型表song_type存放歌曲的类型,在歌曲排行榜中有各种类别的歌曲的排行,歌曲类别表如5-7所示表5-7歌曲类别表序号字段名中文说明类型可空备注1.id类别idint不可主键2.name类别名varchar不可3.remark备注varchar (续前表)5.3.5歌手类别表singer_type存放歌曲的类型,在歌曲排行榜中有各种风格歌手的歌曲排行,歌手类别表如5-8所示表5-8歌手类别表序号字段名中文说明类型可空备注1.id类别idint不可主键2.name特征名varchar不可3.reamrk备注varchar可5.3.6评论表comments该表与歌曲表相关联,是一首歌曲的评论,存储的主要是评论人、评论时间、评论内容、评论点赞次数、该评论的回复评论等信息,方便查看该歌曲的好评度,评论表如5-9所示表5-9评论表序号字段名中文说明类型可空备注1.id评论idint不可主键、自增2.content评论内容varchar不可3.time评论时间varchar不可4.count点赞次数int不可5.userid评论人idint不可外键、关联用户表6.songid歌曲idint不可外键、关联歌曲表7.remark备注varchar可5.3.7回复评论表reply_comment该表是对应一首歌曲的评论的回复评论的信息,也算是一个小型的社交了,对歌曲的评论有不同见解等可以互相交流,回复评论表如5-10所示表5-10回复评论表序号字段名中文说明类型可空备注1.id回复评论编号int不可主键、自增2.contnet回复评论内容varchar不可3.time回复评论时间varchar不可4.commentsid评论idint不可外键、关联评论表userid用户idint不可外键、关联用户表remark备注varchar可5.3.8搜索表search该表是存了一些歌曲,歌手等关键字,以及该关键字的搜索次数,可以看出哪些歌手、歌曲搜索最多,歌曲歌手的热度等,搜索表如5-11所示表5-11搜索表序号字段名中文说明类型可空备注1.id搜索编号int不可主键、自增2.content搜索内容varchar不可3.count搜索次数int不可4.remark备注varchar可第六章系统实现本系统主要包括用户模块(用户注册界面、用户登录界面、网站首页、歌曲详细界面、歌手详细界面、播放列表界面、搜索界面)后台管理员模块(增加歌手界面、上传歌曲界面)。6.1用户模块设计6.1.1用户注册用户注册界面主要是新用户注册信息,用户需要填写用户名、密码、手机号、确认密码,用户要在本网站下载歌曲、评论等必须先进行注册。用户注册时所填的用户名、手机号都需要验证;当输入的手机号存在时就不允许注册,手机号必须为11位数。其界面如图6.1所示图6.1用户注册界面6.1.2用户账号密码登录如果用户已经注册,输入正确的手机号和密码后,便登录本网站;如果输入为不存在用户或者输入错误密码系统都会报出用户名或密码错误。账号密码登录界面如图6.2所示图6.2账号密码登录界面6.1.3用户手机验证码登录如果用户已经注册,也可以使用手机接收短信验证码进行登录。验证码登录界面如图6.3所示图6.3验证码登录界面其中,短信接收结果如6.4所示图6.4验证码接收结果其中获取手机验证码的代码及其验证代码如下:6.1.4网站首页用户在登录成功之后,进入该系统的主界面,在该主界面,用户可以浏览到网站的一些推荐信息,推荐歌曲等,点击进入可以开始听歌。网站首页如图6.5所示图6.5网站首页界面6.1.5榜单页面在进入榜单页面时,可以看到各种榜单,热歌榜、新歌榜、华语榜等各种类型的歌曲的排行榜。榜单页面如图6.6所示图6.6榜单界面6.1.6歌手相关页面在进入歌手页面时,可以看到各个歌手的图片,以及代表作等,还可以查看各种类型的歌手,点击歌手图片可以查看歌手的详细信息,点击歌曲可以查看歌曲的详细信息。歌手页面如图6.7所示图6.7歌手界面6.1.7歌手详细页面在进入歌手详细页面时,可以看到歌手的基本信息以及歌手的歌曲。歌手详细界面如图6.8所示图6.8歌手详细界面歌手详细界面中的另一部分,歌手代表作界面如图6.9所示 图6.9歌手详细界面代表作部分6.1.8歌曲详细页面在进入歌曲详细页面时,首先就可以看到这首歌的歌词,右边是歌手图片,播放按钮可以跳转到播放页面,下载按钮可以下载这首歌,并且在下方,可以看到用户对歌曲的评论信息,以及可以做出评论、回复评论、点赞等,最下方可以看到该歌手的TOP榜以及整个系统的TOP榜。歌曲详细页面如图6.10所示,其中的评论相关内容如图6.11所示图6.10歌曲详细界面图6.11歌曲详细界面中的评论部分其中,QQ表情的使用代码如下6.1.8播放页面歌曲播放页面主要显示的是自己的歌单,并且可以对歌曲进行播放,可以选择顺序播放、随机播放、单曲循环等模式,播放时歌词会跟着播放进度跳动,还可以从歌单中移除自己不想要的歌曲。播放页面如图6.12所示图6.12播放界面6.1.5搜索页面在搜索页面,可以根据自己输入的关键字查出一些歌手或者歌曲,右侧有一个热搜榜单,根据搜索次数决定的排行。搜索界面如图6.13所示图6.13搜索界面6.2管理员模块设计6.2.1新增歌手页面在新增歌手页面,管理员可以往音乐播放系统中增加歌手,以便于后面为该歌手增加新歌。新增歌曲界面如图6.14所示图6.14新增歌手界面6.2.2歌曲上传页面在歌曲上传页面,管理员可以为系统中的已经存在的歌手添加新歌,包括新歌的播放文件以及歌词文件。歌曲上传界面如图6.15所示图6.15歌曲上传界面
第七章系统测试7.1系统测试综述测试的方案是测试阶段非常关键的问题。本系统为了降低测试的成本,采用黑盒测试。即对每一个功能模块进行测试,并不关心其内部如何实现,只要功能能够正常运行,便能达到交付阶段。在黑盒法测试方案中采用等价划分技术,把所有可能的输入数据划分成几个等价类,其划分类在以下的输入中再详述。7.2测试用例7.2.1用户注册测试测试编号:001功能描述:用户注册功能URL:http://localhost:8080/OMmusic/front/loginAndRegister.jsp用例目的:测试能否注册前提条件:进入注册页面测试操作:详情见表7-1会员注册测试操作表表7-1用户注册测试操作表编号输入/动作期望的输出响应实际情况是否正确错误编号1注册界面输入框输入信息不全系统提示这是必填字段系统提示这是必填字段正确2密码小于等于6位提示密码不能小于6位提示密码不能小于6位正确3两次输入密码不一致提示密码输入不一致提示密码输入不一致正确4输入的手机号不是11位提示手机号不正确提示手机号不正确正确5输入的昵称包含非法字符提示请输入合法字符提示请输入合法字符正确6使用已经注册的手机号进行注册提示该手机号已经注册提示该手机号已经注册正确7.2.2用户登录测试测试编号:002功能描述:用户登录功能URL:http://localhost:8080/OMmusic/front/loginAndRegister.jsp用例目的:测试用户能否登录成功前提条件:进入登录页面测试操作:详情见表7-2用户登录测试操作表7-2用户登录测试操作编号输入/动作期望的输出响应实际情况是否正确错误编号1登录界面信息输入不全系统提示这是必填字段系统提示这是必填字段正确2使用未注册的手机号进行登录系统提示该手机号未注册系统提示该手机号未注册正确3输入错误密码提示账号密码错误提示账号密码错误正确4输入错误的验证码验证码输入错误验证码输入错误正确7.2.3评论相关测试测试编号:003功能描述:用户对歌曲进行评论相关操作功能URL:http://localhost:8080/OMmusic/front/music-detail.jsp用例目的:测试用户能否成功评论前提条件:用户必须登录测试操作:详情见表7-3用户评论相关测试操作表7-3用户评论相关测试操作编号输入/动作期望的输出响应实际情况是否正确错误编号1未登录直接查看歌曲详情系统提示请先登录系统提示请先登录正确2登录之后进行评价成功评价成功评价正确3登录之后进行点赞点赞次数加一点赞次数加一正确4点赞之后再次进行点赞点赞次数不增加点赞次数不增加正确5对评论进行回复成功回复成功回复正确(续前表)7.2.4播放列表操作测试测试编号:004功能描述:用户对歌单的相关操作功能URL:http://localhost:8080/OMmusic/front/play.jsp用例目的:测试能否添加到歌单和删除歌单中歌曲前提条件:测试操作:详情见表7-4歌单相关测试操作表7-4播放列表相关测试操作编号输入/动作期望的输出响应实际情况是否正确错误编号1未登录直接进入播放歌单20首歌歌单20首歌曲正确2未登录进行添加到歌单添加成功添加成功正确3未登录进行移除歌单歌曲移除成功移除成功正确4下次未登录系统进入歌单歌单20首歌歌单20首歌正确5登录之后进入歌单歌单为空歌单为空正确6登录之后添加到歌单成功添加成功添加正确7下一次登录账号时查看歌单与上次操作歌单后的结果一样与上次操作歌单后的结果一样正确7.2.5搜索测试测试编号:005功能描述:搜索测试功能URL:http://localhost:8080/OMmusic/front/search .jsp用例目的:测试搜索操作前提条件:测试操作:详情见表7-5用户评论相关测试操作表7-5用户评论相关测试操作编号输入/动作期望的输出响应实际情况是否正确错误编号1进入搜索页面进行搜索查询出结果查询出结果正确2进入搜索页面进行搜索搜索次数增加,排行根据情况变动搜索次数增加,排行根据情况变动正确7.2.6歌曲详情测试测试编号:006功能描述:歌曲详情测试功能URL:http://localhost:8080/OMmusic/front/music-detail.jsp用例目的:测试查看歌曲详情前提条件:测试操作:详情见表7-6歌曲详情相关测试操作表7-6歌曲详情相关测试操作编号输入/动作期望的输出响应实际情况是否正确错误编号1未登录进入歌曲详情页提示请登录提示请登录正确2已登录进入歌曲详情页显示该歌曲的详情显示歌曲详情正确7.2.7歌手详情测试测试编号:007功能描述:歌手详情测试功能URL:http://localhost:8080/OMmusic/front/singerInfo.jsp用例目的:测试查看歌手详情前提条件:测试操作:详情见表7-7歌手详情相关测试操作表7-7歌手详情相关测试操作编号输入/动作期望的输出响应实际情况是否正确错误编号1未登录进入歌手详情页提示请登录提示请登录正确2已登录进入歌手详情页显示该歌手的详情歌手头像未能正确显示错误001
7.2.8歌曲详情测试测试编号:008功能描述:歌曲榜单测试功能URL:http://localhost:8080/OMmusic/front/rank.jsp用
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度影视制作委托合同协议书范本
- 广告牌制作安装合同书
- 物品转让合同协议书范本简单
- 足浴店合伙经营合同完整版
- 2024年度房屋装修工程合同的工程进度与计划合同
- 二零二四年度场地转租合同中的霸王条款识别
- 二零二四年度二手房买卖及装修贷款合同3篇
- 二零二四年股权投资合同标的为创业公司投资
- 基于2024年度环保项目工程承包合同
- 合同交底范本
- 教科版五年级科学上册《第三单元 计量时间》复习课件PPT小学优秀教学课件
- 新实用汉语课本16课
- 金融企业详细划分标准出台-共分大中小微四类型
- 南芳学校学生“双姿”日常考核方案
- 网络安全检查表完整参考模板
- 铝基合金高温相变储热材料
- 三位数乘两位数计算题360道
- 《跨文化交际》课程教学大纲(英语师范专业)
- PIV操作流程详解要点
- 在“家庭医生签约服务”工作推进会上的发言稿
- 火力发电厂生产过程-ppt课件
评论
0/150
提交评论