局域网聊天程序 java MySQL_课内资源 - 基于JAVA的局域网聊天软件的设计与实现(仿制QQ)...
一、系統分析
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)...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: winform判断线程有没有完成_并发编
- 下一篇: oracle数据库密码复杂度查询,Ora