目 录
摘 要 I
Abstract II
引 言 1
1 相关技术简介 3
1.1 框架 3
1.1.1 Spring MVC 3
1.1.2 Spring框架 3
1.1.3 MyBatis框架 3
1.1.4 VUE框架 3
1.2 开发语言 3
1.2.1 JAVA 3
1.2.2 JavaScript 4
1.3 设计模式 4
1.4 数据库 4
2 可行性分析 5
2.1 社会可行性 5
2.2 经济可行性 5
2.3 技术可行性 6
2.4 操作可行性 6
3 系统概要设计 7
3.1 总体功能模块设计 7
3.2 系统设计思想 7
3.3 系统功能描述 7
3.4 系统用例图 8
3.5 数据库设计 9
3.5.1 数据库技术简介 9
3.5.2 E-R图 9
3.5.3 总体表设计 9
3.5.4 数据库表结构 10
4 系统详细设计与实现 17
4.1 兴趣推荐的实现 17
4.2 程序流程图 17
4.3 模块详细设计 18
4.3.1 登录模块 18
4.3.2 普通用户模块 20
5 系统测试 29
5.1 集成测试 29
5.2 压力测试 31
结 论 33
致 谢 34
参考文献 35
摘 要
近年来,随着互联网不断的普及与发展,生活也变的多姿多彩,每个人几乎都有属于自己的小小兴趣圈子,但人们的兴趣却不止一个,大多数人是没有时间为自己的兴趣“买单”的。为了解决我们在生活中对于各种兴趣活动的不确定性、复杂性和多样性等问题,结合每个人的喜好、特点、习性、生活方式和居住地等信息,通过基于海量数据的兴趣推荐算法,将兴趣活动的信息更直观的展现给用户。帮助用户更好的根据自己的兴趣爱好参加活动。项目前端用Vue实现数据动态绑定,后台运用SSM框架实现数据交互。Vue.js是现在流行的前端技术,是现在主流的构建用户界面的渐进式框架,选择其原因是相对其它前端主流框架有较好的性能优势。
基于内容的推荐算法可通过用户行为预测用户喜欢内容并应用于基于Vue的兴趣活动推荐APP,在极大程度上优化了用户体验。
关键词:Vue前端技术;SSM框架;兴趣推荐;Ajax
Abstract
In recent years, with the continuous popularization of the Internet, life has become colorful. Almost everyone has their own small interest circle, but people have more than one interest. Most people have no time to “pay” for their interest. In order to solve the uncertainty, complexity and diversity of various interest activities in our life, combined with everyone’s preferences, characteristics, habits, lifestyles and residences and other information, through the interest recommendation algorithm based on massive data, the information of interest activities will be more intuitive displayed to users. Help users better according to their own interests to participate in activities. The front end of the project uses Vue to realize data dynamic binding, and the back end uses SSM framework to realize data interaction. Vue.js is a popular front-end technology, and it is the mainstream progressive framework for building user interface. The reason for choosing it is that it has better performance advantages than other front-end mainstream frameworks.
The content-based recommendation algorithm can predict the user’s favorite content through the user behavior and apply it to the Vue based activity recommendation app, which greatly optimizes the user experience.
Keywords:Vue front-end technology; SSM framework; interest recommendation; Ajax
引 言
个性化推荐概念于1995年3月首次出现在美国人工智能协会。卡内基梅隆大学的罗伯特阿姆斯特朗建议使用个性化的导航系Web Watcher[1]。同时期,斯坦福大学的巴尔巴诺维奇等也推出了一个个性化推荐系统LIRA[2]。从此,个性化推荐的研究逐步开始发展。
此后,亚马逊开始使用推荐系统,对用户的浏览的商品和购买商品分析,试着对部分用户进行个性化推荐。根据国外一科技博客网站的统计,这种方法将该网站的销售额提升了三成之多。在此之后,个性化推荐的应用越来越广泛。
在本世纪初期,国内在推荐系统的研究方面取得了很好的成果。关于评估数据的稀缺性[3],研究人员提出了几种算法,其中包括:一种协同过滤推荐算法和一种基于项目评分推测的协同过滤推荐算算法等。推荐算法都有各自的优缺点,因此许多研究人员为了修正算法的缺点,运用了结合多种过滤技术的方法。
随着4G网络的全面落实,5G时代的到来,智能手机的更新换代速度,使人们更倾向于用手机代替电脑[4],希望手机可以实现更多的功能,因此使用移动端应用程序的社交网络将成为未来研究的热点。但就现有的移动端社交网络多数为PC端程序复制到手机上的,虽然具有很多功能,但是并不易操作,最不好的是,会伴随着一些扰人的信息;另外,在推荐网站方面关于用户的隐私问题并没有得到很多的关注和应有的保护,最后就是,市面上大多的应用、网站针对广大群众。有时候总会收到一些网络不良信息的影响,导致有时不仅不利于活动的展开,更是给社会风气带来了不好的作用。
为了丰富广大用户单一的业余时间,同时培养了用户的兴趣喜好,营造了健康的社会风气,通过移动端APP来满足人们随时随地进行交际,寻找志趣相投的朋友的需求,本论文就此设计了一款基于VUE的社交APP。此APP主要在安卓移动终端平台上运行,对于安卓端主要采用WebStorm开发,服务端也就是网页端主要采用SSM框架进行开发。后台数据库管理系统选用MySQL数据库,同时使用安卓模拟器模拟实际的安卓手机来测试程序。通过对一些社会人群的调查取样,然后分析当代人们信息建设的一些需求和弊端,再结合已有的具有推荐功能的APP,综合完善之后,最终呈现出一款面向社会的兴趣推荐APP。
众所周知,现在社会发展迅速,已经进入一个崭新的信息时代,人们只要连上网络,不管和亲人或者朋友相距多远,都可以随时随地联系、进行视频通话等。这些全都受惠于互联网的发展。也是因为互联网的发展,才使得人们对通信这方面需求更大,人们已经不满足于电脑PC端,而是更倾向于便捷的APP。
APP便是一款最新的且很轻巧的信息交互软件,本篇论文主要是基于移动端的兴趣推荐APP,主要针对广大人民群众群体,进行APP的开发,可以更好的服务人们,让人们的空余时间可以得到充足的体验。
本论文的主要工作是实现以下基本功能:
1、兴趣推荐:通过对多种推荐算法的研究,选取最适合本项目的推荐算法;
2、登录功能:用户若想进行操作,都必须先进行登录操作。在网络环境下,安卓端则需要用户自身先注册,才可登录;
3、系统主菜单:整个系统的核心,分为不同的板块和选项设置,用户可以根据自身的需求,点击对应的选项设置,进入该功能的界面,实行对应的操作;
4、活动发布功能:此功能可以添加好友,用户也可以查看好友的空间动态并且自己也可以发表动态,同时也可以对动态进行管理查看;
5、聊天功能:能够与所加好友即时通讯,可发送信息;
6、个人信息功能:包括用户密码、昵称、基本信息等的修改。
1 相关技术简介
1.1 框架
1.1.1 Spring MVC
基于Vue的兴趣活动推荐APP通过使用Spring MVC实现Servlet和JSP相互配合的方法实现所有功能[5]。其目的是为了解决由JSP或Servlet在实现系统功能时出现的固有问题。
1.1.2 Spring框架
Spring是一个开源框架,为解决基于Vue的兴趣活动APP开发的复杂性而创建的。它的优点是采用JavaBean这个概念去解决以前只有EJB才能做到的工作内容。Spring是一个轻量级的控制反转(IOC)和面向切面(AOP)的容器框架,任何JAVA应用都可以从Spring中受益[6]。
1.1.3 MyBatis框架
MyBatis是对于现阶段来说一个非常优秀的持久层框架,在基于Vue的兴趣活动APP中承担了与数据库交互的功能。它的优点是可以自定义SQL,存储过程,同时还能够实现高级映射。基于Vue的兴趣活动APP后台使用MyBatis避免了手动设置参数和获取结果集[7]。
1.1.4 VUE框架
Vue框架是一套用于构建用户界面的渐进式框架[8]。Vue 的所有的核心库几户都适用于视图层,其简单易上手的特性,便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用提供驱动[9]。
1.2 开发语言
1.2.1 JAVA
JAVA是一种具有简单、跨平台、面向对象等特点的编程语言,相较其它语言来说具有出色的性能。基于Vue的兴趣活动APP选取JAVA语言开发的原因之一就是它可以在不同平台上运行,只需要在对应的平台上安装JAVA虚拟机即可[10]。并且JAVA还提供了NULL指针检测、数组边界检测、异常出口、Byte code校验等功能。以上优点非常符合本项目开发需求[11]。
1.2.2 JavaScript
JavaScript是一种脚本语言,是一种动态类型的,弱类型的,基于原型的语言。其主要用于服务器端执行,基于Vue的兴趣活动APP前端采用JSP页面开发[12],与JavaScript可以很好地兼容。JavaScript最大的作用还是用于浏览器端,因为它不需要服务器支持[13]。而随着服务器的强壮,虽然现在的程序员更喜欢运行于服务端的脚本以保证安全,但JavaScript仍然以其跨平台、容易上手等优势大行其道[14]。
1.3 设计模式
该系统使用MVC设计模式来实现系统构建。基于Vue的兴趣活动APP的前端用JSP页面,模型层用MySQL作为数据库层;控制层用SSM框架进行搭建,Bean层和Dao层则采用Mybatis逆向工程生成,减少部分开发周期。在某种意义上,架构的模式部分是让应用程序处于领先地位的全部原因[17]。综上所述,最终选择MVC的开发模式。
1.4 数据库
本系统使用MySQL数据库,基于Vue的兴趣活动APP选取其是因为性价比高,它是少数在开源免费的同时还具有极高性能的一款开源数据库,考虑到开发成本的问题,最终选取MySQL数据库作为基于Vue的兴趣活动APP的数据库层。另外它的可移植性强,MySQL能够运行与多种系统平台上,如windouws,Linux,Unix等,MySQL支持最常用的数据管理功能,适用于中小型企业甚至大型网站应用[18]。
2 可行性分析
系统分析也称为可行性分析,是开发基于Vue的兴趣活动APP的必要阶段。在这个阶段内首先要研究的就是系统开发的必要性和可能性。必要性是指在现在的情况下是否有必要开发一个基于Vue的兴趣活动APP来填补这个查询类工具的不足。可行性就要从“社会可行性”,“经济可行性”,“技术可行性”和“操作可行性”四个方面进行分析了,如图2.1所示。例如开发这个系统是否会造成资源浪费等等。
图2.1 可行性分析
2.1 社会可行性
社会可行性有的时候也被称为操作可行性。其主要论述了一些需要发布上线的系统在开发和运行中是否可以执行下去,并且也论述了系统在开发和运行中对企业等组织的影响。
在当前通讯速度的不断加快,计算机技术和软件技术的不断更新使管理系统不仅适用于企业或单位,甚至大众群体也可能需要采用这种先进的推荐技术。新的推荐技术对传统的查询方式产生了影响,并将带来一些积极的影响。而且,该系统满足相关产业的要求,不与国家法律法规相抵触,对促进信息产业的发展具有一定的作用,因此在社会方面是可行的。
2.2 经济可行性
根据成本/收益分析方法,可以使用此系统所需的软件和硬件资源。由于基于Vue的兴趣活动推荐APP是作为本人毕业项目自行开发的,因此开发成本的投资非常小。最初的资本投资主要集中在购买