Java版QQ項目詳細(xì)設(shè)計之:概述
前兩天在博客上,發(fā)了一篇博文,概述了java qq設(shè)計中的幾個重要的問題,及其解決方案,有的人求源代碼,其實得到源代碼也未必能看懂的詳細(xì)結(jié)構(gòu),原因之一就是代碼太多,二是鄙人的代碼編寫水平很有限,所以為方便那些拿到代碼的朋友的閱讀,特此連載詳細(xì)設(shè)計思路、詳細(xì)設(shè)計圖、及偽代碼。
今天第一部分寫一下概述,今后幾天會連續(xù)更新出來其他的。重申:代碼水平有限,肯定會有設(shè)計不周及小bug的地方,請大家提提建議或意見,勿拍板磚,謝謝
(一)接口
一、外部接口
1、用戶界面
在用戶界面部分,根據(jù)需求分析的結(jié)果,用戶需要一個用戶友善界面。在界面設(shè)計上,應(yīng)做到簡單明了,易于操作,并且要注意到界面的布局,應(yīng)突出的顯示重要以及出錯信息。外觀上也要做到合理化,考慮到用戶多對WINDOW 風(fēng)格較熟悉,應(yīng)盡量向這一方向靠攏。在設(shè)計語言上,已決定使用 Java se進行編程,在界面上可使用Java2 se 所提供的可視化組件,向WINDOWS 風(fēng)格靠近。 其中服務(wù)器程序界面要做到操作簡單,易于管理。在設(shè)計上采用下拉式菜單方式,在出錯顯示上可調(diào)用Java2 se 庫中的錯誤提示函數(shù)。
總的來說,系統(tǒng)的用戶界面應(yīng)作到可靠性、簡單性、易學(xué)習(xí)和使用
2、軟件接口
服務(wù)器程序可使用Java2 se 提供的對 SQL SERVER 的接口,進行對數(shù)據(jù)庫的所有訪問。服務(wù)器程序上可使用SQL SERVER 的對數(shù)據(jù)庫的備分命令,以做到對數(shù)據(jù)的保存。在網(wǎng)絡(luò)軟件接口方面,使用一種無差錯的傳輸協(xié)議,采用滑動窗口方式對數(shù)據(jù)進行網(wǎng)絡(luò)傳輸及接收。
3、硬件接口
在輸入方面,對于鍵盤、鼠標(biāo)的輸入,可用Java2 se的標(biāo)準(zhǔn)輸入/輸出,對輸入進行處理。
在輸出方面,打印機的連接及使用,也可用Java2 se的標(biāo)準(zhǔn)輸入/輸出對其進行處理。在網(wǎng)絡(luò)傳輸部分,在網(wǎng)絡(luò)硬件部分,為了實現(xiàn)高速傳輸,將使用高速ATM。
二、內(nèi)部接口
內(nèi)部接口方面,各模塊之間采用函數(shù)調(diào)用、參數(shù)傳遞、返回值的方式進行信息傳遞。具體參數(shù)的結(jié)構(gòu)將在下面數(shù)據(jù)結(jié)構(gòu)設(shè)計的內(nèi)容中說明。接口傳遞的信息將是以數(shù)據(jù)結(jié)構(gòu)封裝了的數(shù)據(jù),以參數(shù)傳遞或返回值的形式在各模塊間傳輸。
(二)運行設(shè)計
一、運行模塊的組合
客戶機程序在有輸入時啟動接收數(shù)據(jù)模塊,通過各模塊之間的調(diào)用,讀入并對輸入進行格式化。
在接收數(shù)據(jù)模塊得到充分的數(shù)據(jù)時,將調(diào)用網(wǎng)絡(luò)傳輸模塊,將數(shù)據(jù)通過網(wǎng)絡(luò)送到服務(wù)器,并等待接收服務(wù)器返回的信息。接收到返回信息后隨即調(diào)用數(shù)據(jù)輸出模塊,對信息進行處理,產(chǎn)生相應(yīng)的輸出。
服務(wù)器程序的接收網(wǎng)絡(luò)數(shù)據(jù)模塊必須始終處于活動狀態(tài)。接收到數(shù)據(jù)后,調(diào)用數(shù)據(jù)處理/查詢模塊對數(shù)據(jù)庫進行訪問,完成后調(diào)用網(wǎng)絡(luò)發(fā)送模塊,將信息返回客戶機。
運行控制運行控制將嚴(yán)格按照各模塊間函數(shù)調(diào)用關(guān)系來實現(xiàn)。在各事務(wù)中心模塊中,需對運行控制進行正確的判斷,選擇正確的運行控制路徑。
在網(wǎng)絡(luò)傳方面,客戶機在發(fā)送數(shù)據(jù)后,將等待服務(wù)器的確認(rèn)收到信號,收到后,再次等待服務(wù)器發(fā)送回答數(shù)據(jù),然后對數(shù)據(jù)進行確認(rèn)。服務(wù)器在接到數(shù)據(jù)后發(fā)送確認(rèn)信號,在對數(shù)據(jù)處理、訪問數(shù)據(jù)庫后,將返回信息送回客戶機,并等待確認(rèn)。
二、出錯處理設(shè)計
1、出錯處理對策
所有的客戶機及服務(wù)器都必須安裝不間斷電源以防止停電或電壓不穩(wěn)造成的數(shù)據(jù)丟失的損失。若真斷電時,客戶機上將不會有太大的影響,主要是服務(wù)器上:在斷電后恢復(fù)過程可采用 SQL SERVER 的日志文件,對其進行ROLLBACK 處理,對數(shù)據(jù)進行恢復(fù)。
在網(wǎng)絡(luò)傳輸方面,可考慮建立一條成本較低的后備網(wǎng)絡(luò),以保證當(dāng)主網(wǎng)絡(luò)斷路時數(shù)據(jù)的通信。
在硬件方面要選擇較可靠、穩(wěn)定的服務(wù)器機種,保證系統(tǒng)運行時的可靠性。
2、安全保密設(shè)計
不好意思,這一方面做的最差,可以說為了進度,幾乎完全沒考慮,請拿到源代碼的朋友完善一下,完善后可以分享一下
3、維護設(shè)計
維護方面主要為對服務(wù)器上的數(shù)據(jù)庫數(shù)據(jù)進行維護。可使用 SQL SERVER 的數(shù)據(jù)庫維護功能機制。例如,定期為數(shù)據(jù)庫進行Backup,維護管理數(shù)據(jù)庫死鎖問題和維護數(shù)據(jù)庫內(nèi)數(shù)據(jù)的一致性等。
本系列博文僅提供設(shè)計思路,及少量偽碼,詳細(xì)代碼:
http://down.51cto.com/data/353289
原文鏈接:http://wangchangshuai0010.iteye.com/blog/1450308
【編輯推薦】
- Java QQ項目詳細(xì)設(shè)計之:安全模塊
- Java QQ項目詳細(xì)設(shè)計之:申請模塊
- Java QQ項目詳細(xì)設(shè)計之:登錄模塊
- Java版QQ項目詳細(xì)設(shè)計之:概述