设计 任务书 文档 开题 答辩 说明书 格式 模板 外文 翻译 范文 资料 作品 文献 课程 实习 指导 调研 下载 网络教育 计算机 网站 网页 小程序 商城 购物 订餐 电影 安卓 Android Html Html5 SSM SSH Python 爬虫 大数据 管理系统 图书 校园网 考试 选题 网络安全 推荐系统 机械 模具 夹具 自动化 数控 车床 汽车 故障 诊断 电机 建模 机械手 去壳机 千斤顶 变速器 减速器 图纸 电气 变电站 电子 Stm32 单片机 物联网 监控 密码锁 Plc 组态 控制 智能 Matlab 土木 建筑 结构 框架 教学楼 住宅楼 造价 施工 办公楼 给水 排水 桥梁 刚构桥 水利 重力坝 水库 采矿 环境 化工 固废 工厂 视觉传达 室内设计 产品设计 电子商务 物流 盈利 案例 分析 评估 报告 营销 报销 会计
 首 页 机械毕业设计 电子电气毕业设计 计算机毕业设计 土木工程毕业设计 视觉传达毕业设计 理工论文 文科论文 毕设资料 帮助中心 设计流程 
垫片
您现在所在的位置:首页 >>理工论文 >> 文章内容
                 
垫片
   我们提供全套毕业设计和毕业论文服务,联系微信号:biyezuopin QQ:2922748026   
基于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=

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

                 

打印本页 | 关闭窗口
本类最新文章
中文PLC、工业PC与DCS的特 基于面向服务架构的高校宿舍微信小 自动水果采摘机:机器人苹果收割机
评估AlSiTiN和AlSiCr 基于人工智能的智能语音识别系统设 大数据舆情分析系统的设计与实现
| 关于我们 | 友情链接 | 毕业设计招聘 |

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