一、选题意义
随着当今社会经济的飞速发展和地球村的建设,现在的人们在平常的生活中由于平常的工作生活等原因,造成了许多亲朋长时间无法见面的情况。沟通交流的缺失造成了许多人感情的淡薄。而在现在飞速发展的网络技术的支持下,越来越多的人选择通过网络即时通讯系统来进行每天的沟通,常用的PC端的QQ,移动端的微信等。传统的即时聊天系统是基于C/S结构的桌面应用程序,用户在使用前需要安装特定客户端,在当时,即时聊天系统所提供的通讯功能和带来的良好体验吸引了诸多用户。但是特定客户端安装程序不能适用于不同的操作系统平台,部署服务器过程较复杂,系统升级需要同时升级服务器和客户端,升级和维护较不便的影响也促使新型即时通讯程序的出现。
随着互联网时代的到来,网络聊天工具已经成为了人们生活中不可或缺的工具软件,网络聊天工具不仅能够让您迅速地在网上找到自己的朋友和伙伴,还可以与他人实时交流与传递信息,大大促进与方便了人与人之间的交流。
二、国内外发展状况
随着时代的发展和网络通讯技术的飞速发展,对于高昂的长途电话费用不满的人们越来越多的选择了通过网络来进行远距离的沟通和交流。而现在的即时通讯聊天系统也已经不是多年前专为各大公司开发的内部系统了。实时,便捷,易于使用和操作成为了现今即时通讯系统的重要标杆。
由于现在手机移动端的兴起,我国现有的即时通讯软件如QQ,微信都是支持移动端的。当然为了追求信息安全等原因PC端基于B/S结构的即时通讯系统依旧是企业和政府部门的首选,各个公司内部的软件也能够实现通信交流。
腾讯公司的官方数据显示,我国使用QQ聊天软件的用户已经达到了2.6亿人,活跃用户接近了8000万,而同时在线的人数也已经超过了800万,所以,腾讯QQ可以说是我国使用用户数量最多的个人即时通讯软件,占我国70%左右。QQ是一款十分出色的软件,不只是在PC端,在移动端也已经成为了必装应用之一。
国外自从上世纪90年代美国在线(America Online,AOL)带动实时通讯(instant messaging,以下简称IM)风行一时以来,IM改变了人们沟通的方式。目前国外最大的三个即时通讯软件分别为AOL的AIM、雅虎的Yahoo Messenger和微软的Windows Live Messenger,而前段时间微软与腾讯在中国市场的争斗也说明了了该领域蓬勃的生机。
随着IT技术的迅猛发展,网络以其日新月异的创新精神以及无处不在的便捷性,吸引了越来越多的人的注意并参与其中,信息资源的重要性以前所未有的形式摆在了社会的焦点位置,信息交互的经济效益直接体现在生产管理活动中。对于一个组织尤其是商业公司,必须能利用信息资源的及时性、准确性,提高工作效率,取得更大的经济效益和社会影响。对于个人而言,也可以通过信息交互的便捷更好地实现个人价值。方方面面的实际需求表明,一个良好的交互通讯的方式,能从一个较高的程度上提升工作效率,避免由于不必要的时间成本而承担可能的种种损失。准确的说一个良好的实时聊天系统应能全面的处理这个问题。在经过了近些年来认识及技术的发展,实时聊天系统已然趋于成熟。
三、本课题研究的主要内容、研究方法及手段
主要内容:
使用Java语言设计制作一个实时聊天系统,系统主要功能包括注册、登录、私聊(其中包括标签发送、消息已读提醒等)、群聊、上传文件等。系统采用统采用B/S体系结构,前端采用Web Socket增强界面实时交互效果,后端使用Spring Boot框架开发,将整个系统划分为表现层,Controller层,Service层,DAO 层四层。
构建完善成熟的实时聊天系统,其中涉及到以下内容,即前台网页界面、处理程序、MySQL后台数据库系统等,在网站页面中显示出以下内容,例如用户头像、群组名称、群组成员、群组信息等。处理程序其实也就是对用户提交表单与相关操作进行处理,存储在后台数据库的信息有账户数据、聊天记录数据、群组数据和新闻数据等。因此,在线系统需要具备前台功能和后台功能,其中,前台功能实现以下功能,用户注册、用户登录、添加好友、加入群聊、创建群聊、查看聊天记录、发送消息、删除好友、退出群聊、解散群聊和个人设置。系统后台功能实现以下功能,聊天管理和系统设置。
研究方法及手段:
实时聊天系统采用Spring Boot+Free Marker+JPA框架开发,是标准的MVC模式,将整个系统划分为View层,Controller层,Service层,DAO层四层。其中,Free Marker拿取数据进行展示数据,Spring Boot实现业务对象管理,JPA作为数据对象的持久化引擎。
View层:与Controller层结合比较紧密,需要二者结合起来协同工发,主要负责前台FTL页面的表示。
Controller层:控制器,导入service层,因为service中的方法是我们使用到的,controller通过接收前端传过来的参数进行业务操作,在返回一个指定的路径或者数据表。
Service层:存放业务逻辑处理,也是一些关于数据库处理的操作,但不是直接和数据库打交道,它有接口还有接口的实现方法,在接口的实现方法中需要导入DAO层,DAO层是直接跟数据库打交道的,它也是个接口,只有方法名字,具体实现在Mapper.XML文件里,Service是供我们使用的方法。
DAO层:负责对数据向数据库增删改查的操作。在该注册的框架中,如果不使用Spring Boot的话,每个层之间的数据传递都需要new一个调用该层数据的类的实例。而使用了Spring Boot的话,需要做的就是把DAO层和BIZ层的每个类都写一个接口类,接口类里写实现类的方法,在调用的时候不new对象,直接用对象点(.)方法就可以,还需要对每个对象加上set/get方法。
持久层:使用了JPA来将实体对象持久化到数据库中。不用再进行繁杂的JDBC和SQL语句。在DAO层使用JPA语法可以直接使用想要进行的SQL,或者可以直接加上@Query注解后面写要进行的SQL语句。
四、研究步骤
1、通过图书馆、上网等方式查阅相关文献资料,规划设计好需求。
2、制定设计方案,要明确系统使用流程及逻辑关系,并进行课题进度设计。
3、界面设计,色彩搭配要求简洁大方,操作友好。
4、认真测试程序,保证系统正常运行使用。
5、毕业设计说明书要对设计及制作过程进行充分的论述说明,其格式要符合天津理工大学本科毕业设计说明书格式规范的要求。
五、参考文献资料
[1] 黎志伟. 基于Spring Boot和Web Socket的点对点聊天系统研发与部署[J]. 科学技术创新, 2020(18):2.
[2] 李之奇, 封成玉, 徐一凤,等. 基于Spring Boot的工控组态软件Web发布系统设计与实现[J]. 信息技术与网络安全, 2019, 38(4):4.
[3] 谭健, 扈乐华, 李文,等. 基于Java的掌上聊天系统的设计与实现[J]. 中国宽带, 2021(1):1.
[4] 潘哲, 邓芙蓉, 韩明正,等. 基于Web Socket协议的特征匹配聊天系统[J]. 科技经济导刊, 2020, v.28;No.713(15):15-16.
[5] 叶为正, 林声肯, 黄立轩,等. 即时通讯系统的设计与实现[J]. 计算机技术与发展, 2020, 30(2):5.
[6] 田春婷. 基于Java Socket文字聊天系统的GUI实现[J]. 兰州石化职业技术学院学报, 2019, 19(2):5.
[7] 李波, 杨雪飞. 一种基于Java的IM即时通讯软件的设计与实现[J]. 2021(2015-19):18-19.
[8] 严梅. 基于Java网络聊天工具设计研究[J]. 信息记录材料, 2019, 20(11):2.
[9] 张剑. 发现式项目教学法在基于JAVA语言实现的网络聊天项目实践[J]. 2021(2017-1):38-40.
[10] 张烜, 秦庆鹏. 基于Java编程语言的内网即时通讯插件系统设计与实现[J]. 中国新通信, 2020, 22(13):2.
[11] 产昊鹏, 王震南. 基于JAVA的人机问答系统设计与实现[J]. 电视技术, 2019, 43(9):4.
[12] 邓居旺, 王杰, 许敏. 基于Jersey和Retrofit框架的在线聊天系统的设计与实现[J]. 电脑知识与技术:学术版, 2020(4):3.
[13] 武彩红, 薛艳峰, 乔丽,等. UDP实时聊天系统的设计与实现[J]. 2021(2014-2):37-39.
[14] 单筱涵. 面向Web用户的多媒体通信系统的设计与实现[D]. 北京邮电大学, 2019.
[15] 刘苏磊, 吕佳, 洪一鸣,等. 基于Web socket技术的聊天系统开发[J]. 科技资讯, 2019, 17(28):2.
[16] JIANG C , Wang R . Design and Implementation of the Dance Teaching Live Broadcasting System Based on the Distance Education Platform[J]. 国际英语教育研究:英文版, 2019(2):3.
[17] Wei Z , Fang L , Ye Z . The Design and Implementation of the University Ordering System Based on We Chat Platform[C]// 2016 Sixth International Conference on Instrumentation & Measurement, Computer, Communication and Control (IMCCC). IEEE, 2016.
[18] Huang T , Li Z , ZHANG J. Design and implementation of living streaming system based on multi-service nodes collaboration[C]// 2017 IEEE 2nd Advanced Information Technology, Electronic and Automation Control Conference (IAEAC). IEEE, 2017.
|