企業內部即時通訊系統專案總結
這學期學習Java高階,最後有個Java課程設計,要求我們做個即時通訊系統。首先,說說這個即時通訊系統吧,說白了就是盜版QQ,但是盜版又要有模有樣嘛,騰訊素來以“盜版”著稱,別的公司有什麼新功能,產品有什麼新功能,帝國總能做個像模像樣的出來,最終得到的收益也不菲。這不僅取決於帝國的龐大使用者,還取決於別人的技術確實牛,模仿得確實到位。
好了,吐槽就到此為止吧,說說我們們自己的。
本專案採用MVC模式進行開發,Model層表示模型層,對執行緒的管理、Socket的管理、介面的管理、資料庫的操作等模型都放在Model層;View層表示表示層,所有的介面均放在這層進行統一的管理。Controller表示控制層,對執行緒的管理、Socket的管理、介面的管理、資料庫的操作都放在Controller層。這樣實現介面和操作,介面和模型分離,層次分明,結構清晰,易於管理、控制、編碼和除錯。
從最開始的需求分析、到資料庫設計,再到介面設計、專案討論、編碼實現、專案測試,最後到專案總結,這一路走來,真正感覺到做一個專案的流程,體會更深的是做專案不是那麼容易的。我們小組一共有六個人,但到最後真正編碼的人卻少之又少。不過很欣慰的是我從其中感受到了團隊合作的力量。常言做軟體單槍匹馬是行不通的,是做不好的,這一點我從這個專案中體會很深刻。在此對我們專案的所有成員致敬,感謝大家的配合!我們已經做得很好了。We are a team!We are perfect!We are the champion!
接下來說說我們這個專案實現了哪些功能。
1)單聊(傳送文字訊息)
2)使用者註冊
3)傳送表情
4)檔案傳輸(線上檔案傳輸)
5)新增好友
6)查詢好友
7)改變字型顏色
8)建立群、群聊
9)換膚
10)加好友(驗證 有提示音)
11)瀏覽器
12)檢視幫助文件(專案API)
13)傳送抖動視窗
14)系統托盤
看到這些功能千萬不要驚訝,相信你也可以的!
然後貼下執行效果截圖,首先宣告介面做得很醜,我們關注功能去了,所以一個是伺服器做得很差,另一個是使用者體驗性做得不好。本來需求分析裡寫了要實現語音聊天和視訊聊天的,但是由於JMF不能找到攝像頭驅動,所以這個功能就沒做了。其實要做的話,還有很多東西要去考慮的。這裡就暫且放下,等有時間下一個版本再做吧。
註冊介面:
登入介面:
好友介面:
建立群介面:
好友列表——群介面
換皮膚:
接收新增好友的請求:
接收檔案傳輸:
聊天和改變字型顏色、傳送表情:
群聊介面1(好友1):
群聊介面2(好友2):
同意並新增好友:
系統托盤(小人那個):
邀請好友群驗證:
瀏覽器:
下面貼下我們這個專案的流程圖和資料庫設計。
資料庫圖表(SQLServer 2008)
資料庫模型(PowerDesigner)
下面貼下專案流程圖。
最後從幾方面總結我們這個專案吧。
首先說說自己的毛病、需要改善的地方和收穫吧:
1.遇事不太冷靜,心太急。這是自己很大的毛病吧。媽媽經常教育我,遇事要沉著冷靜,心急吃不了熱豆腐,雖然這些話經常在耳邊響起,但是自己卻沒真正的體會和實踐。所以,這點需要自己在成長的過程中特別注意。
2.遇到問題,沒有充分的思考。當程式報錯,沒有仔細的去考慮,而是急切地尋找解決辦法。這點是不行的。沒有思考,只求解決問題,當下一次遇到相同的問題時,很顯然你有會去急於尋找解決辦法。這樣長期下來的結果是,谷歌、百度成了你解決問題的工具,真正核心的東西你是沒掌握的。
3.從這個專案中,學到了一些除錯程式的技巧。真正體會到程式除錯的重要性和必要性。可以說,只會寫程式碼不會除錯程式碼的程式設計師不是合格的程式設計師。
4.學到了一些管理技巧,和同學之間的交流變得好多了,當遇到問題時自己能比較清楚的表達。其中團隊合作是很重要的。班上有同學以為他做出來了就很了不起,跟我說話都夾雜著輕蔑、瞧不起的語氣。我想說的是,我用一句話總結自己,我唯一知道的就是自己的無知。
5.從這個專案中學習到了資料庫程式設計、網路程式設計、Java Swing GUI程式設計、JMF框架的使用(當然只是初步瞭解)。
6.專案的較標準化,使用了Powerdesigner 15.1設計資料庫,Microsoft Visio 2010設計流程圖、介面。Microsoft Word 2010編寫文件。資料庫採用Microsoft SQLServer 2008 R2。開發環境採用JDK 1.6 + MyEclipse 6.5 + Notpad ++ 6.1。並定時監視專案進度。
7.當程式碼調通、解決一個有一個的Bug時,心裡既開心,又激動。終於體會到前段時間有個同學說到:”碼通,大喜“的心情了。這種成就感也驅動我們繼續開發。
8.和小X的合作非常愉快!大家一起加油!
然後從整個專案的角度討論下吧:
1.我們小組是一個很團結的,這一點從平時安排的工作就可以體會出來。話是這樣說,但是有些隊友做事不夠積極。這一點還是要指出來的。希望以後多多改正。
2.整個專案還是有創新的地方,雖然很多功能都是耳熟能詳的,但是在做的時候還是花了很大的力氣。雖然介面醜了點,但是核心的東西還是做出來了。
3.整個專案比較符合專案管理的流程,平時注意文件的書寫,資料庫設計做得比較規範,程式碼編寫很規範化,註釋很到位。
4.專案沒有使用版本控制工具,如SVN,這使得平時的整合需要花很大的功夫,所以以後做專案一定要把版本控制工具用上。
5.程式使用者體驗性做得不夠好,很多地方還有Bug,很多操作覺得有點莫名其妙。這是以後需要改進的。
6.伺服器做得太簡陋,而且關閉伺服器的動作還沒有處理得很好。
然後說說其他小組的成果吧。其他小組有比我們做得好的,當然我們也比有些小組做得更勝一籌。有個小組做得即時通訊系統類似於Windows 8 QQ,介面做得很炫,伺服器寫得很到位,細節處理得很好,這是需要我們學習的。有些小組做得有些功能和真實版QQ很類似。細節處理得也還好。
再說說演示的時候吧。從整體來說我們的演示效果還是不錯的,把做得功能(除了註冊)都演示出來了。但是群聊的時候只有兩個人,原因是CMCC的Wifi太不穩定,還有就是1433這個錯誤(貌似這個錯誤我寫了博文,那篇博文是完美解決的,但是這次也不管用,還有待研究中),使得其他使用者連線不上。這一點是有點遺憾的。還有一點是值得表揚的,自己的口頭表達能力得到了很大的提高,上臺表述很清楚,有條不紊。不錯,繼續努力!
最後感謝小X對這個專案的傾心付出!很多核心的程式碼都是他完成的。幾天沒休息好了吧。還是多注意身體哈!
好了,這次的專案算是告一段落了,這次的總結到此為止。真心感謝大家的配合!大家加油!向更遠的前方邁進。
謹以此文獻給2010級4班Java高階課程設計第一小組的所有成員!
下載原始碼請點選這裡。
相關文章
- 即時通訊系統是企業提高辦公效率的利器
- DAPP區塊鏈即時通訊系統開發(功能詳情)丨DAPP即時通訊系統開發(原始碼專案)APP區塊鏈原始碼
- 推薦:免費開源企業內部協同即時系統Openfire
- 企業內部專用,企業培訓系統原始碼原始碼
- 企業社交直播軟體開發,區塊鏈IM即時通訊系統開發區塊鏈
- DAPP即時通訊系統開發(詳細案例)丨DAPP即時通訊系統開發(方案規則)/原始碼APP原始碼
- 即時通訊系統為什麼選擇GaussDB(for Redis)?Redis
- 採用spark和openfire實現即時通訊系統Spark
- 企業級React專案的個人構建總結React
- 內部類總結
- 專題 | 專案管理知識、方法論、工具NO.6:企業內部的專案運作機制專案管理
- 企業內部線上培訓系統原始碼原始碼
- Spring Boot 開發整合 WebSocket,實現私有即時通訊系統Spring BootWeb
- 基於XMPP的即時通訊系統的建立(二)— XMPP詳解
- 從企業內部入手——CRM系統選型指南
- 企業商學院內部培訓系統開源版
- 專案(Explore)總結之專案時間管理
- 看索引內部的總結索引
- 可在廣域網部署執行的即時通訊系統 -- GGTalk總覽(附原始碼下載)原始碼
- 原生JAVA即時通訊系統原始碼語音視訊聊天軟體Java原始碼
- 基於XMPP的即時通訊系統的建立(四)— 協議詳解協議
- 基於XMPP的即時通訊系統的建立(一)— XMPP基礎概念
- CLUSTER內部結構的總結(1)
- CLUSTER內部結構的總結(2)
- CLUSTER內部結構的總結(3)
- CLUSTER內部結構的總結(4)
- 基於XMPP協議的Android即時通訊系協議Android
- 區塊鏈社交即時通訊系統開發方案,區塊鏈系統開發區塊鏈
- 區塊鏈社交直播軟體開發app,即時通訊系統開發區塊鏈APP
- 區塊鏈即時通訊系統開發,IM社交軟體開發app區塊鏈APP
- gochat - 純go實現的im即時通訊系統(支援水平擴充套件)Go套件
- 一個海量線上使用者即時通訊系統(IM)的完整設計
- 區塊鏈IM聊天軟體開發,即時通訊系統搭建原始碼區塊鏈原始碼
- socket.io和node.js搭建即時通訊系統簡答介紹Node.js
- 基於XMPP的即時通訊系統的建立(三)— 程式設計概覽程式設計
- 即時通訊系統中實現全域性系統通知,並與Web後臺整合【附C#開源即時通訊系統(支援廣域網)——QQ高仿版IM最新原始碼】WebC#原始碼
- 企業專案管理系統是何?專案管理
- 企業在專案中採用工時管理系統的好處