项目运行
环境配置:
Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。
项目技术:
ssm + mybatis + Maven +mysql5.7或8.0等等组成,B/S模式 + Maven管理等等。
环境需要
1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可
4.硬件环境:windows 7/8/10 4G内存以上;或者 Mac OS;
5.是否Maven项目: 否;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目
6.数据库:MySql 5.7/8.0等版本均可;
毕设帮助,指导,本源码分享,调试部署(见文末)
系统用例分析
在设计系统的过程中,用例图是系统设计过程中必不可少的模型,用例图可以更为细致的,结合系统中人员的有关分配,能够从细节上描绘出系统中有关功能所完成的具体事件,确切的反映出某个操作以及它们相互之间的内部联系。
其中参与者就是和系统能够发生交互的外在实体,一般可以指系统的某个用户。一个用例图就能对应出系统中的一个功能过程,系统中完整的功能都是由不同的用例图所组成的。系统用例图下所示。
![](https://i-blog.csdnimg.cn/blog_migrate/8b8a4c6fa7b2eeab203b5e254d655967.png)
图3-1 管理员用例图
![](https://i-blog.csdnimg.cn/blog_migrate/bb62103cbb58f9b9f2edd0c53b917304.png)
图3-2 用户用例图
3.4系统流程的分析
3.4.1登录流程
登录流程如图3-3所示:
![](https://i-blog.csdnimg.cn/blog_migrate/03850a861a14885859044c454b5b167f.png)
图3-3 登录流程
3.4.2个人中心管理流程
个人中心管理流程如图3-4所示:
![](https://i-blog.csdnimg.cn/blog_migrate/c69a4b5e8fcb7afc2db159c9a2654100.png)
图3-4 个人中心管理流程
3.4.3 系统操作流程
系统操作流程如图3-5所示:
![](https://i-blog.csdnimg.cn/blog_migrate/6e1c758c336323168906f632ba87c067.png)
图3-5 系统操作流程图
3.5本章小结
在本章中对本论文要实现的音乐推荐系统要实现的需求进行了详尽的说明,包括系统实现的可行性分析,整个系统在功能、性能和安全方面需求的分析,最后对整个系统不同身份用户的业务流程进行了有序的阐述。通过对以上内容的分析和说明,使得系统要实现的具体功能更加清晰,这给后面系统的设计和实现奠定了良好的基础,有助于整个程序开发的顺利进行。
通过前三章的分析说明,本论文中音乐推荐系统已经具有了良好的实现基础,目前的第四章将对系统的具体实现进行说明介绍。
4.1系统结构设计
随着互联网的兴起以及国内外许多B/S架构的优秀系统被广泛使用而变得流行,B/S架构成为了系统开发的主流。本论文中的音乐推荐系统也同样采用了B/S架构标准的三层架构,即将整个系统划分为表现层、业务层和持久层这三层,并且在表现层采用MVC设计模型。
采用B/S架构,整个系统的核心业务逻辑都被放在服务器端,使得开发过程变得方便。虽然这会使得服务器端的压力较大,但在Ajax等技术兴起后,在前端也就是浏览器端也可以实现部分业务逻辑,一定程度上分担了服务器的压力。
同时,该系统采用的B/S架构,将整个系统进行分层。在表现层,主要负责处理从客户端接收到的请求,根据请求内容进行处理后向客户端响应结果。在业务层中,囊括了整个系统的核心业务逻辑,它位于数据访问层之上表现层之下,表现层的请求发送至业务层,业务层将根据编写好的业务逻辑与数据层进行交互。但是每个层之间是不具有必然联系的,表现层的请求发送至业务层,业务层在接受到后可以不进行处理,这并不会导致整个系统出现错误。所以只要层与层之间交互的接口不发生变化,某一层的变更并不会对其它层产生影响。所以这种架构的系统实际上很易于扩充,只要表现层有新的请求发送给业务层,业务层只要有相应的处理逻辑就好了,所以业务逻辑层的设计是十分重要的。而在持久层,主要进行的就是数据的存取,也就是和数据库打交道。
以上这种对程序进行分层的方式,可以使开发者专注于结构中的某一层,每一层要进行的工作十分明确,降低了耦合性,这种标准化的开发方式,有利于程序的复用,也极大地降低了之后对系统功能扩充和维护的成本。
4.2系统功能模块设计
音乐推荐系统的使用者主要有两类用户,一类是管理员,他拥有整个系统的最高权限,然后是用户,都只能对自己的个人信息进行操作。系统根据这两类用户,划分出了两大功能模块。
4.2.1管理员模块
管理员具有整个系统的最高权限,可以使用系统中的所有功能模块,包括查看所有音乐推荐信息,并对这些数据进行管理。在用户模块中可以将新的信息录入系统,还可以查询,删除和编辑权限内的信息。在系统维护管理中可以对用户登录信息、用户权限进行管理。
4.2.2 用户模块
用户的功能模块中主要涵盖:可以根据需要和实际情况修改自己的个人信息,可以对歌单信息和歌手列表进行操作等。
4.3系统功能结构设计图
以上所涉及到的有关的功能,都是用功能结构图来简洁和清晰的表示出来,功能结构图就是能够把比较复杂的功能结构用图的形式清晰的描绘下来,并且为后续的设计以及测试等模块提供了明确的方向,在构思功能结构图的时候,便可以给设计的过程带来一定的思维导向,不至于在设计过程中有所遗漏,可以尽可能的明确系统所涉及到的功能。
以上所涉及到相关的功能以简洁清晰的方式来表示的,将复杂的结构以图形的形式画清楚,并且为后续的设计和测试模块提供了明确的方向,在构思功能结构图的时候,可以给设计过程带来一定的思维导向,在设计过程中不至于遗漏。可以尽可能明确系统所涉及的功能。
系统的总体功能结构图如图4-1所示。
图 4-1系统总体结构图
4.4数据库设计
数据库对所有信息管理系统来说都十分重要,因为系统中的核心功能大多都依赖于数据库,所以数据库的设计将对系统的性能和功能实现起到重要作用。该系统内总共有两类对象,分别是管理员和用户,数据库设计将根据这些用户的属性来实现,同时,建立表的结构以及表与表之间的关系。
4.4.1 概念模型设计
数据库在程序的设计中扮演了重要的角色,它将系统涉及的数据全部容纳其中,在数据库设计时,为了能够明确思路,清晰明了一般都是先构建E-R图,ER图是由实体及其关系构成的图,通过E/R图可以清楚地描述系统涉及到的实体之间的相互关系。在系统中对一些主要的几个关键实体如下图:
(1) 歌手列表实体属性图如4-2所示
图4-2歌手列表实体属性图图
(2)歌曲信息实体属性图如4-3所示
图4-3歌曲信息实体属性图
(3)排行榜评论实体图如图4-4所示。
图4-4排行榜评论实体图
(4)用户实体属性图如4-5所示。
图4-5用户实体属性图
系统功能实现
当人们打开系统的网址后,首先看到的就是首页界面。在这里,人们能够看到音乐推荐系统的导航条,通过导航条进入各信息展示页面进行操作。系统首页界面如图5-1所示:
图5-1 系统首页界面
系统注册:在系统注册页面的输入栏中输入用户注册信息进行注册操作,系统注册页面如图5-2所示:
图5-2系统注册页面
歌单信息:在歌单信息页面的输入栏中输入音乐名称、音乐类型、专辑名称、发行日期、歌名、歌手、点击次数、音乐文件进行查询,可以查看到歌单详细信息,并根据需要进行收藏操作;歌单信息页面如图5-3所示:
图5-3歌单信息详细页面
歌手列表:在歌手列表页面的输入栏中输入歌手姓名、歌手性别、国家地区、代表作、专辑介绍、歌手介绍进行查询,可以查看到歌手列表详细信息,并根据需要进行评论或收藏操作;歌手列表页面如图5-4所示:
图5-4歌手列表详细页面
个人中心:在个人中心页面通过填写个人详细信息进行信息更新操作,还可以根据需要对我的收藏进行详细操作;如图5-5所示:
图5-5个人中心界面
5.3后台管理员模块实现
管理员登录,在登录页面选择需要登录的角色,在正确输入用户名和密码后,进入操作系统进行操作;如图5-6所示。
图5-6管理员登录界面
管理员进入主页面,主要功能包括对系统首页、个人中心、用户管理、音乐类型管理、歌单信息管理、歌手列表管理、系统管理等进行操作。管理员主页面如图5-7所示:
图5-7 管理员主界面
管理员点击用户管理。在用户页面输入用户账号进行查询、新增或删除用户列表,并根据需要对用户详情信息进行详情、修改或删除操作;如图5-8所示:
图5-8用户管理界面
管理员点击音乐类型管理。在音乐类型页面输入音乐类型进行查询、新增或删除音乐类型列表,并根据需要对音乐类型详情信息进行详情、修改或删除操作;如图5-9所示:
图5-9音乐类型管理界面
管理员点击歌单信息管理。在歌单信息页面输入歌词、歌名和歌手进行查询、新增或删除歌单信息列表,并根据需要对歌单详情信息进行详情、修改、查看评论或删除操作;如图5-10所示:
图5-10歌单信息管理界面
管理员点击歌手列表管理。在歌手列表页面输入歌手姓名、国家地区进行查询、新增或删除歌手列表,并根据需要对歌手列表详情信息进行详情、修改、查看评论或删除操作;如图5-11所示:
图5-11歌手列表管理界面
管理员点击系统管理。在轮播图管理页面索引、名称、值进行详情或修改操作;如图5-12所示:
图5-12系统管理界面