毕业作品网站

 首 页 机械毕业设计 电子电气毕业设计 计算机毕业设计 土木工程毕业设计 视觉传达毕业设计 理工论文 文科论文 毕设资料 帮助中心 设计流程 
垫片
您现在所在的位置:首页 >>理工论文 >> 文章内容
                 
垫片
   我们提供全套毕业设计和毕业论文服务,联系微信号:biyezuopinvvp QQ:1015083682   

基于JavaGUI的实时聊天软件系统课程设计报告

文章来源:www.biyezuopin.vip   发布者:毕业作品网站  

目录

1.1  课程设计的目的

1.2  课程设计的要求

2  系统描述

2.1  界面设计

2.2  注册事件

3  概要设计

3.1  概要设计(体现系统的设计思路和主要功能)

3.2  系统用例图

3.3  系统用例

3.4  开发环境

4详细设计

4.1  系统的类图

4.2  主要算法的流程图

4.3  数据分析与定义

4.3.1 QQLogin

4.3.2 QQMain

4.3.3 QQServer

4.4.4 MyServer

4.4  系统界面设计

5  测试方法和测试结果

5.1  测试用例1

5.1  测试用例2

5.1  测试用例3

5.1  测试用例4

结论和展望

结论

展望

学习编译技术课程的体会和对本门课程的评价

参 考 文 献

1  课程设计的目的和要求

1.1  课程设计的目的

本次设计的时间为1周,目的是通过使用高级语言实现部分算法加强对计算机网络的理解。设计的题目要求具有一定的规模,应涵盖本课程内容和实际应用相关的主要技术。

1.2  课程设计的要求

1、与计算机网络相关。

2、远程CentOS7环境,安装配置 docker,并在上面成功部署MaraiDB。

3、深入理解计算机Socket编程,网络流传输。

4、深入理解线程之间通信

5、深入理解数据库OJBC使用


2  系统描述

本次实验使用CentOS7的vim和VSCode软件,利用Java实现事实聊天软件,和QQ类似的聊天功能。

2.1  界面设计

登入页面

聊天页面

其中组成部件如下

1.JPanel——画布

JPanel可以放在JFrame上面,也可以放在JPanel上面

2.JLabel——文本提示

3.JTextField——单行文本输入

4.JPasswordField——密码

5.JComboBox——下拉框

6.JTextArea——多行文本输入

7.JScrollpane——滚动条

2.2  注册事件

参数应该是实现接口的类的对象

QQLogin e = new QQLogin();

btnLogin.addActionListener(e);

btnReg.addActionListener(e);

btnCancel.addActionListener(e);

如果 getActionCommand 的内容和声明的时候不一致就会出错

3  概要设计

3.1  概要设计(体现系统的设计思路和主要功能)

1、首先用户需要输入正确密码才能登入,否则失败,用户信息存储在数据库里面。

2、相应“发送”按钮事件。将JFrame里面用户输入的内容要转移到JTextArea中

3、将输入的内容村到聊天记录文件

4、用户登入QQ的时候读取聊天文件,内容显示在JTextArea中。

5、显示同时登入的人员,之间可以通过建立网络连接来实现通信。

3.2  系统用例图

图3-1  建立网络连接

图3-2  线程之间通信

3.3  系统用例

表3-4 聊天软件

用例名称

在线聊天软件

简述

通过网络传输,进行聊天

角色

多名用户

前置条件

已经在数据库中的人员

基本流

1. 首先用户需要输入正确密码才能登入,否则失败,用户信息存储在数据库里面。

2. 相应“发送”按钮事件。将JFrame里面用户输入的内容要转移到JTextArea中

3. 将输入的内容村到聊天记录文件

4. 用户登入QQ的时候读取聊天文件,内容显示在JTextArea中。

5. 显示同时登入的人员,之间可以通过建立网络连接来实现通信。

后置条件

成功

特殊需求

无

待解决问题

高并发

3.4  开发环境

4详细设计

4.1  系统的类图

4.2  主要算法的流程图

图4-1  程序流程图

4.3  数据分析与定义

4.3.1 QQLogin

QQLogin的主要功能就是将用户的用户名与密码传输到数据库中进行比对,根据服务器段返回的比对结果,成功切换到QQMain程序执行,失败则退出程序。

数据元素

类型定义

名称

用户名

JLabel

labUser

密码

JLabel

labPass

登入

JButton

btnLogin

注册

JButton

btnReg

取消

JButton

btnCancel

输入面板

JPanel

panInput

4.3.2 QQMain

QQMain就是本程序客户端核心程序,主要就是聊天面板,用户选择聊天人员,即将发送的内容,聊天记录,发送的功能组成。

数据元素

类型定义

名称

发送按钮

JButton

btnSend

小面板

JPanel

panSmall

大面板

JPanel

panBig

4.3.3 QQServer

QQServer的主要功能就是在服务器端进行端口监听,等待其中的一个客户端程序发送聊天消息,并在服务器端实现多个用户之间线程通信,找到需要发送信息的线程,最终该线程将结果发到另一个用户的界面。

数据元素

类型定义

名称

端口监听

ServerSocket

ss

4.4.4 MyServer

MyServer的功能就是与客户端建立联系,将客户端发来的用户名和密码在服务器端的数据库进行匹配,如果存在,则说明成功,如果不存在,则说明失败,并将结果发回到客户端。

数据元素

类型定义

名称

套接字

Socket

s

4.4  系统界面设计

下图是模拟两个用户在远程连接服务器之后,进行的通信界面


5  测试方法和测试结果

5.1  测试用例1

测试目的:服务器段程序是否正常执行

程序5-1  测试用例1

5.1  测试用例2 

测试目的:检验登入界面是否正常

5.1  测试用例3 

测试目的:检验多用户登入界面是否正常

5.1  测试用例4

测试目的:检验发送信息是否正常

结论和展望

(主要为研制过程,本设计的评价、特点、不足、收获与体会等)

结论

本次实验做的比较简单,但是可以涵盖javaSE的全部知识以及javaEE的数据库操作,在网络编程的地方,传输字符流

展望

本次实验的不足还有很多,路漫漫其修远兮,吾将上下而求索

学习编译技术课程的体会和对本门课程的评价


参 考 文 献

[1] 效果演示 https://www.bilibili.com/video/BV19E411N7CG/

[2] 如何安装MariaDB https://mariadb.com/kb/en/mariadb-package-repository-setup-and-usage/

[3] 杨秉学博客:Mariadb基本操作:https://mp.weixin.qq.com/s?__biz=MzU1OTM3ODQ0MA==&mid=2247486201&idx=7&sn=de1af246628be3bacbdef981fd89f89a&chksm=fc19739ecb6efa880c3e4f4121c97ddf440a8644028ce66db46608f3740fea96beb05bdb500f&mpshare=1&scene=1&srcid=01206GOmlI3ERaOwSZeiOFJC&sharer_sharetime=

[4] 杨秉学博客Docker基础:https://mp.weixin.qq.com/s?__biz=MzU1OTM3ODQ0MA==&mid=2247486201&idx=4&sn=6516ee82a3ed16114134540c14149306&exportkey=AUUgs%2FrAPLEMQwXbP%2BcIoqc%3D&pass_ticket=uprqBeZcd7t1t9eXBZRBE6cz%2FSwMnG7%2BO1kEPaTWIdQ%3D

[5] 杨秉学博客VIM 使用:https://mp.weixin.qq.com/s?__biz=MzU1OTM3ODQ0MA==&mid=2247487277&idx=3&sn=0047fb27a72d665eb8c3f43692d0d801&chksm=fc19764acb6eff5c13f34340182adecfcf754c26c213fe6865811e6c120fe4a45f738d5cec03&mpshare=1&scene=1&srcid=0322LQQvGS7lsmfSRE6j9hGF&sharer_sharetime=

  全套毕业设计论文现成成品资料请咨询微信号:biyezuopinvvp QQ:1015083682     返回首页 如转载请注明来源于www.biyezuopin.vip  

                 

打印本页 | 关闭窗口
本类最新文章
降低商用飞机的直接维护费用的方法 … 基于注塑模具钢研磨和抛光工序的自 … 基于arduino的智能台灯设计 …
基于多传感器融合的井下装备周边人 … 室温下铁磁过渡金属掺杂ZnO薄膜 … 图像处理报告基于CNN的监控视频 …
| 关于我们 | 友情链接 | 毕业设计招聘 |

Email:biyeshejiba@163.com 微信号:biyezuopinvvp QQ:1015083682  
本站毕业设计和毕业论文资料均属原创者所有,仅供学习交流之用,请勿转载并做其他非法用途.如有侵犯您的版权有损您的利益,请联系我们会立即改正或删除有关内容!