一、系统分析

1.1 问题描述客户端

实现简易版的局域网聊天器

实现富文本内容聊天

智能聊天机器人

群发消息

传送文件等功能

服务器端

实现群发通知

管理聊天线程

1.2 系统功能分析客户端功能

登陆注册

发送表情消息

发送文本消息

截取图片

图片处理

震动效果

发送文件

群发消息

设置聊天文本样式

服务器端

广播通知

1.3 开发平台及工具介绍Eclipse Mars2

二、系统设计

2.1 系统总体结构设计

系统采用自己设计的网络消息传输协议,系统采用CS架构模式实现数据传送。

2.2 系统各个类及类之间关系设计

注:

界面一般是继承了JFrame或JWindow

JList、JTable所用的model和渲染器renderer都是自己重写的

其余的一些比较琐碎的关系理起来比较复杂

程序中的控件大多是自己自定义改写的

2.3 数据存储的设计(文件等)采用键值对的方式存储账号密码

截图默认保存在ScreenCut/+文件名.jpg

用到了多种流操作,以及网络传输最关键的套接字操作

2.4 界面设计自定义渲染和数据模型,实现JList、JTable的外交改变

最长用的是在渲染器中继承JTable实现Renderer接口

三、系统实现

四、系统测试

模块测试与系统测试:

4.4 登陆测试

4.5 注册测试

4.6 表情测试

4.7 震动测试

震动效果无法截图!

4.8 截图测试

4.9 滤镜效果测试

4.10 设置测试

4.11 机器人聊天测试

4.12 文件传输测试

4.13 服务器管理界面测试

五、总结

通过这次的课程设计,可以说是开阔了自己的眼界,可以总结为以下几个方面:

对JAVA体系的更深入的了解、对JAVA图像处理初步认识、对JAVA网络通信流的操作、流的套接更进一步深刻了解

对网络通信的理解,CS、BS架构模式的了解

对设计模式的初步认识与使用,线程管理这块单例模式的功能

对JAVA的MVC模式的更深刻了解,层与层的分工明确,效率高,易管理,让人惊叹

对线程的理解更深刻了,深谙UI主线程与处理耗时操作的子线程的逻辑处理关系

对网络协议的初步了解,关于协议的定义了解,以及各种传送协议的效率比较有了大体。印象,Socket通信UDP和TCP通信机制初步了解

对系统的架构设计有了初步认识,缓存机制,分布式系统等,虽然代码中还未实现,程序也并不是面向抽象编程和面向接口编程,代码低耦高聚效果一般,但仍然受益

知识方面,在课程设计的任务中主要负责jlist jtable覆盖重写、基础类的继承重写、接口实现、界面设计与美化等。玩了半个假期后很多学过的知识都记不清楚了,所以打码的过程中经常翻书,让我又重温了知识;一部分知识书上没有,还需要上网查询或者找同学帮忙解决。有很多瓶颈时候,但坚持过去,看到一起完成的作品会有很大的满足感;其他方面:经过这次课程设计任务,我又一次认识到了团队合作的力量和重要性。一起讨论问题:苦恼过,失落过,兴奋过,到最后的成就感,让我成长,也对自己有了很大的信心。

在这次课程设计,我们一起讨论要实现这个系统的哪些功能,把各自的想法说出来研究,我们还根据各自所学之长来分配工作,让我意识到在团队合作里每个人都能分享自己的想法、找到自己的位置发挥所长很重要,这样才能让我们更好地完成我们的工作。在完成我们的任务的过程中,我把每个功能逐步实现,比如在实现登录功能的时候,我会先把输入正确的账号和密码登录成功的功能实现,然后再实现判断输入的账号和密码是否一致,若不一致就返回重新输入账号密码这一功能,这让我在发现错误的时候更加容易找出并解决。在此过程虽然遇到许多困难,但是我都会去研究课本和课件里的例题或者上网去看教学视频,一步一步测试,自己实在无法解决了就去找同学帮助。

经过这次课程设计,我对Java有了更深的了解,但这还远远不够,为了未来的发展,我必须更加努力地去学习更广更深的知识。

局域网聊天程序 java MySQL_课内资源 - 基于JAVA的局域网聊天软件的设计与实现(仿制QQ)...相关推荐

  1. java洗衣店管理课程设计报告_课内资源 - 基于Java的洗衣店管理系统

    摘 要 随着科技的快速发展,人们的需求也是越来越多,为了方便对信息的管理我们小组就设计了一个洗衣店订单的管理系统. 洗衣店管理系统是典型的的信息管理系统,创建了六个类,分别是:Test类:Person ...

  2. java swing 组织机构_课内资源 - 基于Java Swing的小型社团成员管理系统

    一.需求分析 1.1 个人信息 学号.姓名.性别.年级.系别.专业.出生日期.联系方式.个性签名.地址.照片. 1.2 基本功能要求管理员信息管理 登录.注销功能 修改密码功能 部落成员信息管理 添加 ...

  3. 停车场管理系统 java_课内资源 - 基于JAVA的停车场管理系统

    第一章 概述 1.1 项目背景 车辆越来越多的今天,停车场只靠人工管理显然难度已经是提高很多,所以应该开发出便于管理记录的停车场管理系统来帮助对停车场进行管理. 1.2 软件定义 一款帮助停车场管理员 ...

  4. java基本语法借阅_课内资源 - 基于Java和MySql实现的光盘借阅管理系统

    一.需求设计以下几个类:光盘类:用户类:借阅记录类,包括下列模块: 新建.修改.删除光盘信息 新建.修改.删除用户信息 光盘借阅/归还信息记录 查询光盘名称,用户的借阅历史 要求:基于JFrame窗体 ...

  5. java 图形处理_课内资源 - 基于Java实现的几何图形处理系统

    1 综述 针对<计算机图形学>课程开发的几何图形处理系统实现的功能包括:在UI界面中通过鼠标点击拖拽等方式可视化地输入二维图形的功能:编辑最近输入的二维图形的功能:裁剪直线的功能,支持的图 ...

  6. 本系统采用jsp和mysql_课内资源 - 基于Jsp和MySql的汽车租赁系统

    一.引言 汽车租赁管理系统是基于MVC三层架构完成,使用Java语言开发,主要应用Jsp完成前台界面部分,Servlet MVC完成后台逻辑部分. 本系统的设计从现实角度出发,根据实际汽车租赁信息管理 ...

  7. 4维俄罗斯方块 java,课内资源 - 基于Easyx插件的俄罗斯方块游戏的设计与实现

    一 需求分析 1.1 设计内容: 设计一个俄罗斯方块游戏,根据实际游戏的规则完成设计. 游戏设计方案: 在一个图形绘制区域的正上方随机产生四种不同方块中的任意一种的初始位置,并使其向下运动 定义键盘, ...

  8. 基于java酒店管理系统_课内资源 - 基于JAVA实现的互联网酒店管理系统

    1 逻辑视角 互联网酒店管理系统中,选择了分层体系结构的风格,将系统分为3层(展示层.业务逻辑层.数据层)能够很好的示意整个高层抽象.展示层包括GUI页面的实现,业务逻辑层包含业务逻辑处理的实现,数据 ...

  9. java聊天室数据库_课内资源

    一.任务简要描述 用java实现一个聊天程序: 使用 Java 技术完成聊天室系统,深入学习使用 Java 语言. 使用 Java 的多线程机制,深入理解 Java 多线程技术的应用. 使用 GUI, ...

最新文章

  1. 微软在.NET官网上线.NET 架构指南频道
  2. 对于初学者学习Java语言的建议(转载)
  3. C++:04---内联函数
  4. java逻辑运算符_Java逻辑运算符
  5. Kubernetes 证书过期
  6. C++ 获取URL图片、html文件,CInternetSession 【转】
  7. jsp注册里密码强弱怎么弄_JavaScript注册时密码强度校验代码
  8. tp5阿里云短信验证码
  9. ShuffleNet在Caffe框架下的实现
  10. android 解压相关问题,解压文件失败的情况
  11. 这些 Google 高级搜索技巧,你都知道么?
  12. 震惊了!鸿蒙又多了一种开发方式Ets,让更多的人赶上红利!
  13. 实现调用本地office打开在线文档功能
  14. 腾讯云账号注册方法介绍
  15. element-ui表格求和求平均数
  16. java爬虫爬豆瓣图书,十一. 爬虫实战(Xpath)- 豆瓣图书TOP250的数据
  17. EXT.NET复杂布局(一)——工作台
  18. 关于聚合函数配合groupby一起使用
  19. 虚幻四蓝图实战(人物切换汽车控制)
  20. 抖音无水印解析网站精美源码-无需数据库 安装

热门文章

  1. pyppeteer:比 selenium 更高效的爬虫利器
  2. linux资源使用统计指南,指南:工作量分析文档
  3. 江西省2019计算机二级报名日期,2020年3月江西计算机等级报名时间、报名入口【2019年12月18日-27日】...
  4. 经典php代码,HTML_php教程:经典PHP代码,经典循环例子 HTMLHEAD - phpStudy
  5. 清华计算机本科待遇,2021年清华大学报考信息出炉 计算机专业最吃香
  6. 上古卷轴5json文件修改_【白夜谈】我做了一款失败的《社长卷轴》Mod
  7. PID控制器开发笔记之十三:单神经元PID控制器的实现
  8. java基础 --- Arrays.asList():返回指定数组支持的固定大小列表
  9. [前台]---input标签中的hidden,浏览器差异问题
  10. 软件工程 之 画扇面