企業內部即時通訊系統專案總結

Wentasy發表於2012-06-18

這學期學習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高階課程設計第一小組的所有成員!




下載原始碼請點選這裡



相關文章