Computer Science and Application
Vol.07 No.07(2017), Article ID:21469,10 pages
10.12677/CSA.2017.77079

The Design and Implementation of Daban: The Network Communication System for College Students

Wenxue Zhang1*, Xingguo Zheng2*, Shixin Lian1, Xiaoping Suo1

1School of Sciences, Ningxia Medical University, Yinchuan Ningxia

2School of Clinical Medicine, Ningxia Medical University, Yinchuan Ningxia

Received: Jul. 9th, 2017; accepted: Jul. 22nd, 2017; published: Jul. 25th, 2017

ABSTRACT

Objective: Many college students have a heavy burden of study, fewer leisure activity type and frequency, and lack of the circle of similar hobbies. In order to enrich the lives of college students, and increase college students’ dating circle range, the network communication platform for college students is established, which is called Daban. It helps students to find common interests with them to learn, travel and activities. Method: The clustering recommendation is adopted based on user interest and social trust. The site recommendation is proposed based on location design network. The friend recommendation is put forward based on the social network of bilateral interest. Results: After loging success, like-minded people, activities items and activities location will be recommended to the college students according to their input information and the database. Conclusion: The Daban will find some students to do same thing in same time through recommending friends, activities items and activities location. It is easy to use, easy to maintain and extend.

Keywords:Network Communication, Recommendation System, College Students Make Friends, Friend Recommendation

大学生网络交往系统“搭瓣”的设计与实现

张文学1*,郑兴国2*,连世新1,锁小平1

1宁夏医科大学理学院,宁夏 银川

2宁夏医科大学临床医学院,宁夏 银川

收稿日期:2017年7月9日;录用日期:2017年7月22日;发布日期:2017年7月25日

摘 要

目的:很多大学生的学习负担重、业余活动种类与次数少、缺乏同兴趣爱好的圈子。为了丰富大学生的生活,增加大学生交友圈子和活动范围,我们建立了大学生网络交流平台“搭瓣”,让大学生找到志趣相同的人与他们一起学习、旅游、活动,丰富其大学生活。方法:基于用户兴趣和社交信任的聚类推荐,基于位置设计网络的地点推荐和基于双边兴趣的社交网络好友推荐。结果:成功登陆搭瓣系统之后,系统根据大学生所填的真实信息用匹配算法对数据库中已有的大学生进行信息的匹配,将推荐与该大学生志趣相投的人、活动、地点等。结论:大学生网络交往系统“搭瓣”通过好友推荐、地点推荐、兴趣推荐等方式匹配到同一时间去做同一件事的同学,使用简便、便于维护和扩展。

关键词 :网络交往,推荐系统,大学生交友,好友推荐

Copyright © 2017 by authors and Hans Publishers Inc.

This work is licensed under the Creative Commons Attribution International License (CC BY).

http://creativecommons.org/licenses/by/4.0/

1. 引言

作为一个大学生,梦想中的学校应该有着良好的学风,身边陪伴着志同道合的朋友,可以一起学习,一起游玩,一起参加志愿活动;身边充斥着各种有趣的社团,有各种机会让你展示自己的风采。大学生尤其是医学生面对繁忙的学习生活,可能没有更多的时间去完成个人意愿的事情。当你想和身边的同学一起做某件事时,别人又没有时间。何况想和身边的朋友一起约着去游玩等,由于安全问题更是不可行。每次均因缺少有共同爱好和时间的朋友而不得不取消计划。大学生之间缺乏交流的平台,大多数只认识自己所在专业的同学,缺少与其他专业之间的交流,导致自己社交范围窄,朋友圈小。

网络交友对大学生来说已是普遍现象,生活中的一部分,网络的应用确实会对新生的人际交往与朋友关系产生重大影响,从而影响其自我认同的发展 [1] [2] 。所以,一个好的大学生交流平台必不可少,搭瓣,顾名思义就是寻找有共同爱好或需求的人,在活期间结成伙伴关系。搭瓣功能就是利用线上资源帮助大学生快速寻找志同道合的同伴,并打破了线上与线下关系转换的障碍,将线上的交流演变为线下的互动,最后形成具有一定流动性和稳定性的伙伴关系。在利用线上资源的同时,搭瓣也将为线下关系形成的线上熟人社群提供线上互动交流的服务,为需要新鲜血液的团队提供更加便捷的纳新方法 [3] 。

本文主要研究了大学生网络交往系统“搭瓣”的设计与实现,首先给出了需求分析与技术路线,然后通过系统用例、用例规约、鲁棒图、序列图等给出了系统分析,并将分析模型中的实体类、边界类和巴控制类分别映射为对应的设计类,以及实现了原型系统。

2. 需求分析与技术路线

大学生网络交往系统“搭瓣”可以发表个人最近的计划,有效的解决了大学生的交流问题;通过筛选的操作来自动匹配到同一时间去做同一件事的同学,可以使用筛选功能,自动匹配。另外一点,我们可以通过这款软件来进行班级或者部门之间的联谊,增加了班级于班级,院系和院系之间的沟通与联系。从这个软件我们还可以得知其他专业学生的课程情况,根据个人所需去学习其他专业课程,提供了便利,提高了我们学习的积极性。本软件的设计具有良好的扩展能力并且便于维护,使用起来较为简便,因此系统的技术路线如图1所示。

1) 基于用户兴趣和社交信任的聚类推荐实现用户的兴趣点推荐。根据用户行为特点利用泊松分布建模用户在兴趣点上签到行为,然后采用损失函数拟合用户在兴趣点对上的偏序关系,利用包含地域影响力的正则化因子约束泊松矩阵分解的过程 [4] ,最后利用用户的评分为用户构建特征向量,并利用用户间的相似程度来发现具有相似偏好的用户 [5] 。

2) 基于位置社交网络实现地点推荐。常用的地理位置信息建模的方式有三种,基于幕律分布,基于高斯分布,基于时间分析的方法。采用时间窗口的方式时,原始数据会依据时间戳按照一定时间窗口大小(小时或者天等)划分成不同的块,在每一个块中按照传统的方法进行建模与处理 [6] 。

3) 基于双边兴趣的社交网好友推荐。利用用户好友关系网络信息和内容信息分别进行用户聚类,通过基于双边信息的聚类结果进行用户相似度计算和好友推荐 [7] 。

4) 开发工具介绍。Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。J2EE是一套全然不同于传统应用开发的技术架构,包含客户端组件应用程序和applet、服务器端Web组件Java Servlet和Java Server Pages、服务器端的业务组件Enterprise Java Bean,主要可简化且规范应用系统的开发与部署,进而提高可移植性、安全与再用价值。Eclipse是一个开放源代码的、基于Java的可扩展开发平台,允许通过插件开发环境构建与Eclipse环境无缝集成的工具。MySQL 是最流行的关系型数据库管理系统之一,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。

Figure 1. Technical route

图1. 技术路线

3. 系统分析

用户在系统上可以进行活动内容的查看,也可以在留言板进行留言,还可以将用户自己觉得好的地方和活动内容发布在“搭瓣”平台上。

3.1. 系统用例图

系统用例,如图2所示。

3.2. 用例规约

从用例规约中我们可以读出计算机实现业务所需的全部细节,包括人机交互的场景,计算机执行过程及分支、异常情况处理、业务规则的应用、实体信息(表单所填数据)等。一切编程所需要的细节都可以在用例规约文档中显示。表1就是我们的核心业务——兴趣推荐系统用例规约。

3.3. 建立分析模型

利用Actor、边界类、控制类和实体类构建系统分析模型如图3图4所示。

4. 系统设计与实现

4.1. 分析类映射到设计类

将分析模型中的实体类、边界类和控制类分别映射为对应的设计类,如图5图6图7图8所示。

Figure 2. System use case diagram

图2. 系统用例图

Figure 3. A system analysis model described in robust graph

图3. 系统分析的鲁棒图

Figure 4. Sequence diagram of friend recommendation

图4. 好友推荐序列图

Figure 5. Entity analysis classes of friend recommended is mapped to design classes

图5. 好友推荐的实体分析类映射到设计类

Figure 6. Boundary analysis class of Daban is mapped to design class

图6. “搭瓣”边界分析类映射到设计类

Figure 7. Control analysis class of recommendation is mapped to design class

图7. 推荐控制分析类映射到设计类

Table 1. Use-case specification:

表1. 兴趣推荐系统用例规约

Figure 8. Realization diagram of friend recommended

图8. 好友推荐的实现视图

Figure 9. Brain-machine interfaces of matching friend recommended

图9. 好友推荐匹配界面

4.2. 原型系统

基于相似兴趣的好友推荐示例,用户输入相关信息进行查询,用来匹配具有相似兴趣的用户,如图9所示。好友推荐匹配界面的前端代码如附录1所示。

图9中,输入信息后会显示匹配到的具有相似兴趣爱的用户,并可以添加成好友,如图10所示。匹配到的好友界面的前端代码如附录2所示。

Figure 10. Brain-machine interfaces of matched friends

图10. 匹配到的好友界面

5. 结束语

为了让大学生能够快速便捷地通过专用网络攻击寻找身边志同道合的朋友,一起学习、一起游玩、一起参加志愿活动,在感兴趣的社团展示自己的风采。大学生网络交往系统“搭瓣”通过好友推荐、地点推荐、兴趣推荐等方式匹配到同一时间去做同一件事的同学,目前实现了简单的原型系统,将来需要优化推荐算法、系统性能和人机界面,以提升用户体验和满意度。

致谢

感谢宁夏回族自治区大学生创新训练项目:大学生网络交往系统“搭瓣”的设计与实现(NXCX2016116)。感谢开源程序https://github.com/lBetterManl/wdhy。

基金项目

宁夏回族自治区大学生创新训练项目:大学生网络交往系统“搭瓣”的设计与实现(NXCX2016116)。

文章引用

张文学,郑兴国,连世新,锁小平. 大学生网络交往系统“搭瓣”的设计与实现
The Design and Implementation of Daban: The Network Communication System for College Students[J]. 计算机科学与应用, 2017, 07(07): 678-687. http://dx.doi.org/10.12677/CSA.2017.77079

参考文献 (References)

  1. 1. 陈凤梅, 余静, 何祥健. 浅析大一新生网络交友对自我认同发展的影响[J]. 科技视界, 2016(6): 41+43.

  2. 2. 张晗. 网络视阈下大学生自我认同教育研究[D]: [硕士学位论文]. 哈尔滨: 哈尔滨理工大学, 2017.

  3. 3. 崔寅, 刘荣钲. 关于指尖校园搭伴功能的设计和研究[J]. 新经济, 2016(Z1): 35-36.

  4. 4. 余永红, 高阳, 王皓. 基于Ranking的泊松矩阵分解兴趣点推荐算法[J]. 计算机研究与发展, 2016(8): 1651-1663.

  5. 5. 刘汉清, 朱敏, 苏亚博, 唐彬彬. 一种考虑用户兴趣转移特征的协同预测模型[J]. 四川大学学报(自然科学版), 2016(3): 548-554.

  6. 6. 李鑫. 基于位置社交网络的地点推荐方法及应用研究[D]: [博士学位论文]. 合肥: 中国科学技术大学, 2015.

  7. 7. 贺超波, 付志文, 石玉强, 钟松林. 应用非负矩阵分解的社交网络好友推荐[J]. 华南师范大学学报(自然科学版), 2016(4): 100-105.

附录

附录1. 好友推荐匹配界面的前端代码如下:

<%@ page language=java import=java.sql.*,java.io.*,java.util.*pageEncoding=UTF-8%>

<%@ taglib prefix=c uri=http://java.sun.com/jsp/jstl/core%>

<%@ taglib prefix=s uri=/struts-tags %>

大学生网络交往系统“搭瓣”

你的姓名:

你的爱好:

附录2. 匹配到的好友界面的前端代码如下:

<%@ page language=java import=java.sql.*,java.io.*,java.util.*%>

<%@ page contentType=text/html;charset=utf-8%>

大学生网络交往系统“搭瓣”

<%

String aUserName=request.getParameter(userName).trim();

String aUserInterest=request.getParameter(userInterest).trim();

out.println(

out.println(表单输入userName的值:+ aUserName+
);

out.println(表单输入userInterest的值:+ aUserInterest+
);

out.println(

String driverName = com.mysql.jdbc.Driver//驱动程序名

String userName = root//数据库用户名

String userPasswd = root//密码

String dbName = wdhy//数据库名

String tableName = userinfo//表名

//联结字符串

String url = jdbc:mysql://localhost:3306/ + dbName + ?user=+ userName + &password= + userPasswd;

Class.forName(com.mysql.jdbc.Driver).newInstance();

Connection connection = DriverManager.getConnection(url);

Statement statement = connection.createStatement();

String sql = SELECT * FROM + tableName ;

ResultSet rs = statement.executeQuery(sql);

%>

<%

while (rs.next()) {

if (rs.getString(6).equals(aUserInterest) &&(!( rs.getString(2).equals(aUserName) )))

{out.print(

out.print(

out.print(

out.print(

out.print(

String st =rs.getString(1);

out.print(

out.print(

} else {}

%>

<% } %>

<% rs.close(); statement.close(); connection.close(); %>

期刊投稿者将享受如下服务:

1.投稿前咨询服务 (QQ、微信、邮箱皆可)

2.为您匹配最合适的期刊

3.24小时以内解答您的所有疑问

4.友好的在线投稿界面

5.专业的同行评审

6.知网检索

7.全网络覆盖式推广您的研究

投稿请点击:http://www.hanspub.org/Submission.aspx

期刊邮箱:csa@hanspub.org

NOTES

*共同第一作者。

期刊菜单