基于微信小程序的问答及好友推荐系统毕业论文
2020-04-19 21:21:59
摘 要
社交作为人与人沟通交流的方式,在任一时期都不可或缺。溯源及古,从战时烽火、车马驿站到飞鸽传书、电报电话,交流的方式随时代变化而不被抹去,可见社交这一行为之重。
网络时代的席卷而来,推动了社会各态各向发展的同时,也使人与人之间的交流更加便捷。社会移动手机的普及为社交带来了新的方式,从面对面的语言谈话到视频通话、社群聊天,乃至一个按键便沟通完毕。社交便利的同时却也面临着社交割裂的危机。
本系统选用微信小程序的形式,利用轻型系统的形式,更便捷地传递信息,以趣味的方式进行性格分析,并设置好友推荐系统,针对不同需求推荐不同好友。主要实现功能:做题得分,分析性格并根据具体的一些具体缺陷评价、给建议,根据不同的交友目的推荐不同好友,管理该系统中的好友等
本系统主要使用微信开发者工具为开发平台,JS、JSON、WXML作为开发语言,数据库采用BMOB服务器,开发出一个问答及好友推荐的轻便系统。
关键词:社交 好友问答 好友推荐 微信小程序
Friends Qamp;A and recommendation system based on WeChat applet
Abstract
Social communication is indispensable all the time , as a means of communicating with other people. Traceability and ancient times, from the wartime bonfire, the car-horse station to the flying pigeons, telegraph and telephone, the way of communication changes from time to time without being erased, showing the importance of social behavior.
The encirclement of the Internet era has promoted the development of all aspects of society, and it has also facilitated the exchanges between people. The popularity of social mobile phones has brought new ways for social interaction, from face-to-face language conversations to video calls, community chats, and even a button to communicate. While socially convenient, it also faces a socially separated crisis.
The system uses the form of WeChat small program, uses the form of light system to transfer information more conveniently, conducts character analysis in a fun way, and sets up a friend recommendation system to recommend different friends for different needs. Mainly realize the function: do the problem score, analyze the personality and evaluate according to specific specific defects, give suggestions, recommend different friends according to different dating purposes, etc.
This system mainly uses WeChat developer tools as the development platform, JS, JSON, WXML as the development language, and the database uses the BMOB server to develop a lightweight system for question and answer and friend recommendation.
Key words: Social; friend quiz; friend recommendation; WeChat applet
目 录
摘 要 I
Friends Qamp;A and recommendation system based on WeChat applet II
Abstract II
第一章 绪论 1
1.1课题背景 1
1.2 目的和意义 1
1.3 课题内容 2
1.4开发工具及技术 2
1.5 本论文的内容组织结构 4
第二章 系统分析与设计 5
2.1需求分析 5
2.2可行性分析 5
2.2.1技术的可行性 5
2.2.2经济的可行性 6
2.2.3操作可行性 6
2.3 系统模块图 6
2.4功能模块需求分析 7
2.5设计的基本思想 9
2.6数据的完整性 10
2.7数据库的分析与设计的意义 10
2.8数据库的结构设计 10
2.9数据库的逻辑结构设计 14
第三章 系统功能实现 17
3.1系统通用界面实现 17
3.2授权登录界面 18
3.3答题模块 19
3.3.1回答问题 19
3.3.2上传答案 20
3.4 推荐模块 22
3.4.1计分 22
3.4.2推荐需求选择 23
3.5 好友管理模块 25
3.5.1好友管理 25
第四章 系统测试 26
4.1系统测试目的与意义 26
4.2测试过程 26
4.2.1 做题模块测试 26
4.2.2 计分模块测试 27
4.2.3 好友管理测试 27
结 语 28
参考文献 29
致谢 31
第一章 绪论
1.1课题背景
约翰·多恩说“没有人是一座孤岛”,然而这个时代里,人工智能与科技的高速发展却演变成了将人与人切割开来的利刃。社交软件时代的来袭,在浅层的消磨碎片化时间和展现自我的同时,也使人与人之间的社交有了异味。微信带来了社交的便利,也为社交的割裂创造了条件,在线上和线下社交关系的融合与割裂的当代,人与人的社交需要一些趣味方式的促进,线上扩展爱好、思想相近的好友。
随着互联网的不断发展,人们对应用程序的要求也不断变高,从一开始的实用、高效,到轻量、简洁、便捷等的要求层出不穷。从用户的实际使用角度看, 微信小程序的推出,极大地简化了应用安装下载步骤,用户无需单独下载应用安装包,只需要在微信中打开即可使用小程序提供的服务,为用户提供了很大的便利[1]。并且在性格分析之后设置了好友推荐系统,在一定的数据分析之后,与现有用户的分数比对之后对某方面相近的用户进行推荐。用户可以通过分享界面联系朋友,这个过程同时也拓展了好友推荐的数据。本系统的好友推荐出于不同的交友目的,而不再是单纯地综合总分进行推荐,不同目的的选择能真正契合用户交友需求。线上社交的兴起与线下社交的割裂给好友社交带来了割裂,评分与推荐在提醒人们促进交流的同时,也能够在一定程度上扩展交友圈。
1.2 目的和意义
社交这一行为作为联系人与人之间的交流,在维系社会秩序稳定等起着不可或缺的作用。加上智能手机的广泛应用,微信这一社交工具从中老人群开始,在各个年龄段中迅速普及。社交从以前的电话时代(特定一对一)到现今的媒体时代,形成分享生活的朋友圈进行社交。在带来便利与直观交流的同时,也让许多人的社交演变成“集赞工具”、“冤大头顾客”。针对当代人对深度了解自己的热衷,设置性格测试/性格分析的形式,通过测试结果分析获取性格分类,根据较多的数据推测相似度,借助协同过滤算法的思路,实现好友推荐,这对现代人“趣味社交”的改善有着关键的作用,同时以着娱乐的方式进行好友默契评分,提醒久未联系的好友。并在好友推荐中识别仍未是好友的人群进行社交扩展。
从人群分析的素材累计上看,在做题中积累用户的性格与特性,每个选项都有特定的标签,用做某项指标的数据来源,作为人群数据积累。
本课题选用微信小程序的形式,将已有的知识与应用程序的发展现状结合。开发过程成为一个锻炼的过程,一方面能够进一步掌握开发语言,另一方面在开发过程中小程序的开发前景能够有更深刻的理解。并采用了BMOB服务器搭建数据库,进一步体验云端与本地端的连接以及数据的传递。
1.3 课题内容
本系统实现在微信小程序上进行好友默契测试的问答、评分,并且根据回答的相近的好友进行推荐。
1. 利用信息组件完成初始界面的微信登录用户授权,由于小程序大都在微信端使用,不另外设置注册、登录界面。
2. 授权完成进入的界面分为三个功能,分别为:
a) 用户答题。点进此界面用户可以根据系统提供的题目及答案进行做题,系统保存答案并评分,跳转性格初分析页面,并可将此答题分享给自己的好友进行娱乐。
b) 答题情况。此页面可以查看自己的得分情况以及大致性格范畴,将根据个人的选项进行一些建议。
c) 好友推荐。针对已经做过测试题目的用户进行数据分析,将根据不同的交友需求进行好友推荐,如饭友、宅友等。
d) 好友管理。对该系统中的好友进行删除、加星、看资料等处理。
3. 利用数据库预先设置几个不同类型的用户,一来作为参考,二来用于测试时候的好友推荐尝试。
1.4开发工具及技术
本系统作为一项微信小程序项目,采用微信开发者工具软件来进行开发。BMOB作为服务器的同时,也作为数据库来源,实现实时数据更新。功能的实现在微信开发者工具中用JS语言实现,组件的设计及放置用WXSS语言实现,而组件与功能之间的绑定则是利用WTML语言。下面对开发过程中涉及的开发工具、语言等进行粗略的介绍。
1.4.1.BMOB后端云
Bmob是广州比目公司旗下的一款免费的、常被用于进行数据存储与连接的云端服务器。它提供Serverless 云服务,能够实现供数据与云存储的功能,因其更新较快常用其提供数据库实时数据的更新与传递。而且Bmob的数据除了常规文本的存储,还可以存储其他多种信息(如图像、视频、音频、地理方位等),为移动应用提供了一系列后端云服务。开发者几行代码即可实现快速集成,较为简单便捷,使编程轻便化,与小程序特性十分相匹。
1.4.2.微信web开发者工具
微信web开发者工具由官方提供,其功能是针对微信相关产品(主要是针对公众号以及微信小程序)进行开发的工具,功能较为完备,包括开发、调试、预览、上传等。在官方发布的微信小程序开发文档中介绍了微信开发者工具的具体用法,以及部分功能的实现。作为全新的开发者工具,微信开发者工具在已有的MINA框架上,将JS、WXSS、WXML等多种语言进行有机结合,仅凭单个开发工具便可以完成开发与调试的功能,甚至连正式发布也可以在此工具中实现,使开发者简便而高效地开发微信小程序。
为确保微信小程序开发的安全,开发者在启动工具时需要验证权限(通过扫描二维码的方式),后续所有的操作均基于已验证的微信号,以确保小程序的安全、可靠。
1.4.3. WXML语言
WXML,全称是WeiXin Markup Language,是微信的一套标签语言,在微信开发者工具中使用,用于将页面的组件与事件、功能、系统等进行绑定,在此文件中构建页面的基本结构,类似HTML语言;主要功能如数据的绑定,列表渲染,事件渲染,提供可以再其他地方调用的代码片段、即定义模板代码片段。其组件可以看成HTML中的标签,事件系统对应JS文件中的事件,WXML的绑定将逻辑反应到界面上。主要与WXSS相配合。
1.4.4. WXSS语言
WXSS,全称是WeiXin Style Sheets,是一套样式语言,在微信开发者工具中使用,用于布局WXML的样式,通过描述组件的显示方式。考虑到多数前端开发者对CSS的熟悉,WXSS沿袭了CSS大部分性能;当然在CSS的现有的基础上,WXSS功能的扩充使其更适应小程序的功能。
与 CSS 相比,WXSS 扩展的特性有:尺寸单位、样式导入
1.4.5.JavaScript
JavaScript作为脚本语言,支持类型繁多, 因此应用极为广泛。常被用在网页开发中,给静态网页添加动态功能,它主要是对页面的事件来做出一个响应。在好友问答与推荐系统中,主要是用作对页面上某些控件的响应(利用function函数响应),局部数据的请求。
1.5 本论文的内容组织结构
第一章 绪论:主要介绍好友问答及推荐系统的开发背景,开发目的和现实意义,并对开发过程中使用的工具及技术进行简要介绍。
第二章 需求分析:讨论本系统开发的需求,可行性条件,并设计系统所需的模块。并对系统涉及的数据库讨论,制作实体-联系图和所对应的表。
第三章 系统功能实现:包括对问题的设置、功能的连接、分数的计算、推荐的分析等的相关操作的实现。
第四章 系统测试:对系统的功能进行验证,包括做题,统分,推荐,好友管理等;与预期是否相符。
第二章 系统分析与设计
2.1需求分析
网络时代的席卷,社群软件的层出不穷,一方面带动了人与人之间的沟通,另一方面也将人们的社交变得“不那么规律”:联系频率低的可能一年一次过年问候都是难得;联系频率高的可能在刷屏朋友圈的同时也刷屏着私聊窗口,拉赞、微商成了微信时代的主旋律。人与人之间的交流变了味,需要一个问答小程序来敲开和朋友的聊天窗口,以趣味的形式扩展社交圈。
好友问答推荐系统主要模块包括:答题模块,计分模块、推荐模块,好友管理这四大模块。主要实现功能:回答问题,分数累计,性格测评,类型好友推荐,好友管理等。即通过该系统可以通过好友问答的问题获得一份大致的测评,并根据不同的交友需求进入不同的推荐,获得最相近的非好友推荐,可以将其添加为好友;也可进入好友管理模块中,对已有的好友进行管理,包括删除、加星等操作,在答题的过程中,用户本身的数据也将被上传到云端数据库。并可以通过分享页面给好友进行共同娱乐。
2.2可行性分析
设计与开发好友问答与推荐系统,过程涉及到如数据库的选择:云端或是本地等问题,必须对过程中所用到的时间、资金,以及开发的效率等各方面进行可行性分析。可行性分析必须在开发之前完成,旨在尽可能减少人力、财力的浪费。
2.2.1技术的可行性
本系统采用微信开发者工具作为开发工具,以及BMOB云端服务器提供数据库的功能,开发过程涉及的语言类型涉及并不啻:JS、WXSS、WXML、JSON等。JS语言较为熟悉,在大二的课程上有进行学习,有一定的理论基础;由于WXSS语言与CSS语言相似,WXML语言与HTML语言相似,在此前有过一定的基础。但此前没有使用过微信开发者工具和BMOB云端服务器,开发过程通过一边学习腾讯官方团队发布的微信小程序官方开发文档对JS、WXSS、WXML、JSON的使用说明以及BMOB云端服务器的开发文档教程,并一边查阅视频课程对小程序开发进行深入的了解。本系统的数据调用较为简单,难度不算太大。因此,基本具备技术上的可行性。
2.2.2经济的可行性
微信开发者工具搭配的云端服务器,一开始选择的是与腾讯云服务器搭配,其面向学生的价格实惠。后来考虑到两方面:一方面是腾讯云域名的设置与实名认证上传等一系列流程较为复杂,另一方面是本系统所出现的数据调用较为基础,因此后来改选用免费,并且操作过程较为简单,域名可直接借用的BMOB云端服务器,开发成本低廉。因此开发一个好友问答与推荐的小程序在经济上具有可行性。
2.2.3操作可行性
本系统设计出于个人审美,选用简洁童趣的风格,整体界面偏简洁风,操作较为简单、直观。本系统操作难度低基于两方面:一是大多数操作都可以通过点击跳转实现;二是过程中均设有提醒。加之其中的文案风格选用活泼、轻快的语气,增添本系统的趣味性,减少操作过程中的陈乏感。因此开发一个好友问答与推荐系统的小程序在操作上具有可行性。
2.3 系统模块图
本好友问答与推荐系统主要包括:主要对答题模块,计分模块、推荐模块,好友管理这四大模块。主要实现功能:回答问题,分数累计,性格测评,类型好友推荐,好友管理等。
系统功能结构图如图2-1所示:
以上是毕业论文大纲或资料介绍,该课题完整毕业论文、开题报告、任务书、程序设计、图纸设计等资料请添加微信获取,微信号:bysjorg。
相关图片展示: