freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

網(wǎng)絡(luò)聊天與五子棋的設(shè)計(jì)與實(shí)現(xiàn)(編輯修改稿)

2025-01-11 03:22 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 : 如果在 A2中 選擇 的 好友不在線提示出錯(cuò)信息。 B3: 如果在 A3 中 選擇了黑名單中的用戶(hù)聊天則顯示不能與黑名單 中 用戶(hù)進(jìn)行聊天的相 關(guān)信息。 A8:(后續(xù)) 前置條件: 聊天程序啟動(dòng) 。 后置條件:打開(kāi)音樂(lè)播放器 。 主要流程: A1: 用戶(hù)選擇音樂(lè)播放器按鈕 。 A2: 打開(kāi)音樂(lè)播放器 。 A3: 選擇音樂(lè) A4: 播放音樂(lè) (3) 選擇播放音樂(lè)進(jìn)行播放 。 異常路徑: B1: 如果在 A2中 程序異常,顯示 出錯(cuò)信息。 B2: 如果在 A3中 不存在歌曲,顯示相應(yīng)的提示信息。 B3: 如果在 A4中 歌曲類(lèi)型不支持,顯示相應(yīng)的提示信息。 3 系統(tǒng) 分析 報(bào)告 系統(tǒng) 類(lèi) 圖 系統(tǒng)中基本分為三層結(jié)構(gòu)。用戶(hù)層,業(yè)務(wù)層,數(shù)據(jù)訪問(wèn)層。 所有的客戶(hù)端程序均不具有 操作 數(shù)據(jù)訪問(wèn)層 的功能 。而是交給服務(wù) 端 進(jìn)行 數(shù)據(jù)的操作。 根據(jù)各層的功能邏輯抽象出以下幾個(gè)類(lèi): 第 10 頁(yè) 共 38 頁(yè) 類(lèi) 圖 7 用戶(hù)界面包類(lèi)圖 務(wù) 處理 類(lèi) 圖 8 用戶(hù)業(yè)務(wù)包類(lèi)圖 類(lèi) 圖 9 數(shù)據(jù)訪問(wèn)包類(lèi)圖 類(lèi) 圖 10 權(quán)限管理包類(lèi)圖 第 11 頁(yè) 共 38 頁(yè) 類(lèi) 圖 11 異常處理包類(lèi)圖 類(lèi) 的職責(zé)說(shuō)明 1用戶(hù)界面 類(lèi) 的說(shuō)明 (1) 與用戶(hù)交互, 接受用戶(hù)的各種輸入并輸出 各種提示信息和處理結(jié)果 ,進(jìn)行 界面數(shù)據(jù)的重新組織 。 (2) 對(duì)輸入數(shù)據(jù)進(jìn)行校驗(yàn),過(guò)濾非法數(shù)據(jù)。 (3) 向業(yè)務(wù)層發(fā)送業(yè)務(wù)請(qǐng)求 。 (4) 根據(jù)業(yè)務(wù)層返回的結(jié)果進(jìn)行界面數(shù)據(jù)的更新 。 2 數(shù)據(jù)訪問(wèn) 類(lèi) 職責(zé)說(shuō)明 (1) 實(shí)現(xiàn)對(duì)數(shù)據(jù)的查詢(xún)和持久化操作 。 (2) 保持?jǐn)?shù)據(jù)的唯一性 。 3 業(yè)務(wù)處代理類(lèi) 職責(zé)說(shuō)明 (1) 實(shí)現(xiàn)各種業(yè)務(wù)處理邏輯和算法 。 (2) 對(duì)用戶(hù)的輸入數(shù)據(jù)進(jìn)行合法驗(yàn)證 。 (3) 向數(shù)據(jù)訪問(wèn)層 請(qǐng)求數(shù)據(jù)或向數(shù)據(jù)訪問(wèn)層發(fā)送數(shù)據(jù)進(jìn)行永久性存儲(chǔ) 。 (4) 向用戶(hù)界面層 發(fā)送 處理后的結(jié)果 。 (5) 對(duì) 游戲規(guī)則的維護(hù) ,游戲?qū)?zhàn)的棋步的 記錄 , 對(duì) 游戲 通信數(shù)據(jù)的封裝與拆分,對(duì)游戲 界面的數(shù)據(jù)更新,和游戲中聊天數(shù)據(jù)的轉(zhuǎn)發(fā)。協(xié)調(diào)服務(wù)器端進(jìn)行有序不間斷工作。對(duì)業(yè)務(wù) 層中的數(shù)據(jù)更新和邏輯上的整理。對(duì)數(shù)據(jù)積分 規(guī)則進(jìn)行判斷并對(duì)數(shù)據(jù)進(jìn)行計(jì)算,同步到數(shù)據(jù) 訪問(wèn)類(lèi)中 , 實(shí)現(xiàn)數(shù)據(jù)的永遠(yuǎn)存儲(chǔ)。 4 異常處理類(lèi)職責(zé)說(shuō)明 處理系統(tǒng)中出現(xiàn)的各種異常 5 權(quán)限管理類(lèi)職責(zé)說(shuō)明 驗(yàn)證請(qǐng)求者的請(qǐng)求權(quán)限 第 12 頁(yè) 共 38 頁(yè) 圖 12 類(lèi)的靜態(tài)結(jié)構(gòu)圖 圖 13 用例動(dòng)態(tài)分析圖 第 13 頁(yè) 共 38 頁(yè) 流程說(shuō)明 (1) 用戶(hù)界面對(duì)象接收到用戶(hù)的輸入請(qǐng)求后 ,向業(yè)務(wù)代理類(lèi)發(fā)送處理請(qǐng)求。 (2) 業(yè)務(wù)代理類(lèi)對(duì)象接收的請(qǐng)求后,向權(quán)限管理類(lèi)對(duì)象發(fā)送驗(yàn)證權(quán)限請(qǐng)求。 (3) 權(quán)限管理類(lèi)對(duì)象驗(yàn)證權(quán)限后,將驗(yàn)證結(jié)果返回各業(yè)務(wù)代理類(lèi)對(duì)象。 (4) 業(yè)務(wù)代理類(lèi)根據(jù)收到的權(quán)限驗(yàn)證結(jié)果進(jìn)行以下處理:對(duì)于不符合 權(quán)限的請(qǐng)求則向用戶(hù)界面類(lèi)返回相應(yīng)的提示信息,對(duì)于符合權(quán)限的請(qǐng)求,業(yè)務(wù)代理類(lèi)對(duì)象轉(zhuǎn)發(fā)信息給業(yè)務(wù)對(duì)象。 (5) 業(yè)務(wù)對(duì)象進(jìn)行業(yè)務(wù)處理。對(duì)于業(yè)務(wù)處理中的數(shù)據(jù)持久化操作,通過(guò)數(shù)據(jù)庫(kù)訪問(wèn)對(duì)象進(jìn)行操作。期間的任何異常都交給異常處理類(lèi)對(duì)象處理。最后處理結(jié)果信息給業(yè)務(wù)代理對(duì)象。 (6) 業(yè)務(wù)代理對(duì)象收到 信息后作進(jìn)一步加工,最后返回給用具界面對(duì)象 (7) 用戶(hù)界面對(duì)象根據(jù)收到的信息重新組織數(shù)據(jù)并更新相應(yīng)的界面。 (1) 登 錄 界面: 圖 14 登 錄 界面圖 (2) 聊天程序 主 界面: 第 14 頁(yè) 共 38 頁(yè) 圖 15 聊天界面圖 (3) 聊天窗口界面: 圖 16 聊天窗口 第 15 頁(yè) 共 38 頁(yè) (4) 游戲大廳界面: 圖 17 游戲界面圖 (5) 游戲?qū)?zhàn)界面: 圖 18 游戲?qū)慕缑? (6) 音樂(lè) 播放器 界面: 圖 19音樂(lè)播放 器 界面 第 16 頁(yè) 共 38 頁(yè) 4 系統(tǒng)設(shè)計(jì)報(bào)告 游戲 模塊 類(lèi)設(shè)計(jì) (1)客戶(hù)端類(lèi)設(shè)計(jì) : 圖 20 游戲 模塊 客戶(hù)端 主要類(lèi) 的類(lèi) 圖 (2) 服務(wù)端類(lèi)設(shè)計(jì) 圖 21 游戲模塊服務(wù)端主要類(lèi)的類(lèi)圖 聊天 模塊類(lèi) 設(shè)計(jì) (1)客戶(hù)端類(lèi)設(shè)計(jì) 第 17 頁(yè) 共 38 頁(yè) 圖 22 聊天 模塊 客戶(hù)端 主要類(lèi) 的類(lèi) 圖 (2) 服務(wù)端類(lèi)設(shè)計(jì) 圖 23 模塊服務(wù)端主要類(lèi)的類(lèi)圖 類(lèi)的 職責(zé)說(shuō)明 1 GameMainFrame 說(shuō)明 GameMainFrame 相當(dāng)于系統(tǒng)分析中 的 用戶(hù)界面類(lèi),此 類(lèi)包含了所有與業(yè)務(wù)有關(guān)的 界面類(lèi)。是用戶(hù)權(quán)限驗(yàn)證后直接打交道的類(lèi)。負(fù)責(zé)與用戶(hù)交互,并維護(hù)各個(gè)業(yè)務(wù)界面及有序的動(dòng)態(tài)顯示各個(gè)業(yè)務(wù)界面 。 是 業(yè)務(wù)中最接近用戶(hù)的包裝類(lèi)。 它當(dāng)中的 ReadTread 類(lèi)相當(dāng)于系統(tǒng)分析中的業(yè)務(wù)類(lèi),此業(yè)務(wù)類(lèi)是負(fù)責(zé)網(wǎng)絡(luò)用戶(hù)對(duì)弈邏輯的業(yè)務(wù)邏輯類(lèi)(主要負(fù)責(zé)數(shù)據(jù)包的拆分和 分析 ,然后 把數(shù)據(jù)發(fā)送 到相應(yīng)的業(yè)務(wù)請(qǐng)求類(lèi)中)業(yè)務(wù)請(qǐng)求類(lèi)包括( ChessPane, MsgPane, ControlPane, VSinfo) 。 第 18 頁(yè) 共 38 頁(yè) 2 AccountGameInfo 和 ChariButton﹑ Achievement 說(shuō)明 AccountGameInfo 和 ChariButton 都是業(yè)務(wù)中和頁(yè)面構(gòu)造中不可少的元素類(lèi)。 AccountGameInfo 主要負(fù)責(zé)存儲(chǔ)用戶(hù)的游戲信息。 ChariButon 是界面構(gòu)造中不可缺少 的元素類(lèi)它負(fù)責(zé)構(gòu)造每個(gè)臺(tái)面上的椅子。 在業(yè)務(wù)類(lèi)中引用他是負(fù)責(zé)處理和記錄每個(gè) 用戶(hù)的座位信息 , Achievement 類(lèi)用來(lái)記錄用戶(hù)的積分信息,并在每局結(jié)束時(shí)顯示給用戶(hù) 。 3 PlayPane 說(shuō)明 此類(lèi)是業(yè)務(wù)請(qǐng)求類(lèi)( ChessPane, MsgPane, ControlPane, VSinfo)的包裝類(lèi)。相當(dāng)于系統(tǒng)分析中的業(yè)務(wù)代理類(lèi),主要職責(zé)負(fù)責(zé)幾個(gè)業(yè)務(wù)請(qǐng)求之間的協(xié)調(diào)和調(diào)度, 并根就根據(jù)業(yè)務(wù)請(qǐng)求來(lái)動(dòng)態(tài)的規(guī)劃他們之間的序列。 最后向業(yè)務(wù)類(lèi)發(fā)送業(yè)務(wù)請(qǐng)求。 4 DataBaseOperate 說(shuō)明 此類(lèi)是系統(tǒng)分析中數(shù)據(jù)訪問(wèn)類(lèi) 。他的職責(zé)負(fù)責(zé)所有與數(shù)據(jù)庫(kù)操作的業(yè)務(wù)請(qǐng)求。他封裝了實(shí)現(xiàn)所有業(yè)務(wù)層需要 請(qǐng)求數(shù)據(jù)的數(shù)據(jù)庫(kù)操作的 方法 。數(shù)據(jù)層只與server 端通信。對(duì)其他層是不可見(jiàn)的。 5 GameWin 說(shuō)明 GameWin 是直接與用 戶(hù)界面 打 交道的一個(gè)包裝類(lèi)。他負(fù)責(zé)構(gòu)造用戶(hù)游戲大廳。以 loginPane 為元素進(jìn)行構(gòu)造。并協(xié)調(diào)統(tǒng)一管理所有的 loginPane。 通過(guò)此類(lèi)可以實(shí)現(xiàn)多用戶(hù)多選擇的游戲規(guī)則。 6 ChessPane, MsgPane, ControlPane, VSinfo 說(shuō)明 這四個(gè)類(lèi)都是業(yè)務(wù)請(qǐng)求類(lèi), ChessPane 類(lèi)主要負(fù)責(zé)游戲?qū)模⑾驑I(yè)務(wù)處理類(lèi)發(fā)送業(yè)務(wù)請(qǐng)求。 MsgPane 類(lèi)主要負(fù)責(zé)聊天信息的顯示及向業(yè)務(wù)處理類(lèi)中發(fā)送業(yè)務(wù)請(qǐng)求, ControlPane 類(lèi)主要負(fù)責(zé)控制游戲的各種狀態(tài)機(jī)。 VSinfo 類(lèi)主要負(fù)者顯示用戶(hù)的游戲積分信息,并向 業(yè)務(wù)處理類(lèi)發(fā)送數(shù)據(jù)更新和存儲(chǔ)的業(yè)務(wù)請(qǐng)求。 7 RefrushThread 說(shuō)明 此類(lèi)主要負(fù)責(zé)用戶(hù)界面的刷新。保證用戶(hù)的界面數(shù)據(jù)更新后能及時(shí)反映到用戶(hù)界面上。 8 TableStatus 說(shuō)明 此類(lèi)是游戲模塊服務(wù)端中用來(lái)記錄每個(gè)做面信息的類(lèi)。用他來(lái)處理多用戶(hù),多桌面的并發(fā)游戲,在服務(wù)端記錄每個(gè)桌面中對(duì)弈者的信息(包括輸出流),每個(gè)桌面中的邏輯處理都是由它來(lái)精確定位信息,并交給每個(gè)桌面中的用戶(hù)線程來(lái)處理用戶(hù)的業(yè)務(wù)。 1 ChatMainFrame 說(shuō)明 第 19 頁(yè) 共 38 頁(yè) ChatMainFrame 相當(dāng)于系統(tǒng) 分析中的 界面 類(lèi)。它是聊天程序中的主界面也是直接和用戶(hù)交互的類(lèi)。他是 ChatMainPane 的包裝類(lèi)。只有合法用戶(hù)登 錄 后 。ChatMainFrame 才會(huì)把 ChatMainPane 包含進(jìn)來(lái)。它當(dāng)中的 ReadThread 類(lèi)相當(dāng)于系統(tǒng)分析中的業(yè)務(wù)類(lèi)。他負(fù)責(zé)一切業(yè)務(wù)的邏輯處理,主要是與 server 端進(jìn)行通信及 處理 server 端發(fā)來(lái)的信息 , 并拆分信息,分析數(shù)據(jù) ,最后將結(jié)果 返回給業(yè)務(wù)代理類(lèi)中 , 最終業(yè)務(wù)代理類(lèi)把結(jié)果 呈現(xiàn)給客戶(hù)。 2 ChatMainPane 說(shuō)明 此類(lèi)主要負(fù)責(zé)與用戶(hù)交與, 相當(dāng)于業(yè)務(wù)系統(tǒng)分析中的業(yè)務(wù)代理類(lèi) , 提供 給用戶(hù)一切業(yè)務(wù)請(qǐng)求的可能。并把用戶(hù)請(qǐng)求的業(yè)務(wù)結(jié)果顯示給 用戶(hù)。它保持對(duì)ChatWin 的引用。只有在用戶(hù)的某個(gè)業(yè)務(wù)請(qǐng)求發(fā)生后。 才 產(chǎn)生此引用的具體實(shí)例。 4 ChatWin 說(shuō)明 此類(lèi)負(fù)責(zé)維護(hù)用戶(hù)聊天界面, 并提供一切與聊天有關(guān)業(yè)務(wù)功能 。 5 AccountFriendInfo 說(shuō)明 此類(lèi)是聊天程序中好友信息的基本元素類(lèi)。存儲(chǔ)用戶(hù)的詳細(xì)信息。 6 Music 說(shuō)明 此類(lèi)負(fù)責(zé)音樂(lè)文件的播放,它相當(dāng)于系統(tǒng)分析中的業(yè)務(wù)代理類(lèi)。他是直接與用戶(hù)打交道的類(lèi),負(fù)責(zé)維護(hù)播放器的界面,并將用戶(hù)的業(yè)務(wù)請(qǐng)求發(fā)送到播放器的業(yè)務(wù)處理類(lèi)中 (Wa veGraphPane﹑ PlayMusic)。最后根據(jù)處理的結(jié)果數(shù)據(jù)進(jìn)行界面的顯示。 7 SongTablePane 說(shuō)明 此類(lèi)負(fù)責(zé)維護(hù)用戶(hù)的音樂(lè)文件列表。 顯示用戶(hù)可播放的音樂(lè)文件。提供用戶(hù)操作音樂(lè)文件的業(yè)務(wù)功能。 8 SRThread 說(shuō)明 此類(lèi)是聊天模塊和游戲模塊中服務(wù)端的監(jiān)聽(tīng)客戶(hù)端連接的主線程。如果有客戶(hù)端連接服務(wù)端。則此類(lèi)便產(chǎn)生一個(gè)子線程負(fù)責(zé)該客戶(hù)的業(yè)務(wù)操作。 9 ChildThread 說(shuō)明 此類(lèi)是負(fù)責(zé)處理,特定客戶(hù)端的業(yè)務(wù)請(qǐng)求。每一個(gè)客戶(hù)端都對(duì)應(yīng)一個(gè)該線程。服務(wù)端處理每個(gè)用戶(hù)的邏輯也都是有各個(gè)用 戶(hù)的線程負(fù)責(zé)處理。 10 AccountStateInfo 說(shuō)明 此類(lèi)是聊天模塊服務(wù)端中用來(lái)記錄登錄者信息的類(lèi)。用他來(lái)處理多用戶(hù)并發(fā)聊天,每個(gè)登錄的用戶(hù)信息都會(huì)被服務(wù)端記錄 (包括輸出流 )。服務(wù)端收到聊聊天消息后,就會(huì)根據(jù)此類(lèi)的記錄取出輸出流,進(jìn)行數(shù)據(jù)的轉(zhuǎn)發(fā)。 第 20 頁(yè) 共 38 頁(yè) 主要 活動(dòng) 圖: 游戲客戶(hù)端與服務(wù)端 活動(dòng) 圖: 圖 22 游戲客戶(hù)端與服務(wù)端 活動(dòng) 圖 流程說(shuō)明: 1 游戲服務(wù)端啟動(dòng) 。 2 游戲客戶(hù)端啟動(dòng)。如果 要 對(duì)弈則必須需要兩個(gè)以上的客戶(hù)端啟動(dòng)。 3 用戶(hù)輸入帳戶(hù),向服務(wù)器端發(fā)送驗(yàn)證請(qǐng)求 數(shù)據(jù)包 。 4 服 務(wù)端收到客戶(hù)端的數(shù)據(jù)包后進(jìn)行分析,如果是驗(yàn)證請(qǐng)求信息,則進(jìn)行驗(yàn)證。 如果是合法帳戶(hù),則 發(fā)送驗(yàn)證成功的消息到客戶(hù)端,同時(shí)記錄日志。如果不是合法帳戶(hù),則向客戶(hù)端發(fā)送驗(yàn)證失敗的消息到客戶(hù)端。 5 客戶(hù)端收到信息后,分析數(shù)據(jù)包,如果是登錄失敗的數(shù)據(jù)包,則提示登錄失敗的消息并返回到登錄窗口中重新登錄。 如果是登錄成功的消息,則進(jìn)入游戲大廳。如果是其他消息則繼續(xù)進(jìn)行分析數(shù)據(jù)包的內(nèi)容,如果是開(kāi)始對(duì)弈的消息,則根據(jù)數(shù)據(jù)包中的內(nèi)容初始化用戶(hù)的游戲積分信息,如果是聊天信息則在客戶(hù)端第 21 頁(yè) 共 38 頁(yè) 顯示聊天信息,如果是棋步消息,則更新客戶(hù) 端的數(shù)據(jù)。 6 用戶(hù)成功登錄后進(jìn)入游戲大廳,選擇游戲場(chǎng)地,客戶(hù)端程序驗(yàn)證用戶(hù)選擇的場(chǎng)地是否可用,如果可用則做下。如果不可用則顯示已作下 者 的頭像,用戶(hù)重新選擇場(chǎng)地。當(dāng)用戶(hù)坐下后,客戶(hù)端則判斷對(duì)弈雙方是否準(zhǔn)備好,如果準(zhǔn)備好了則開(kāi)始對(duì)弈,并向服務(wù)端發(fā)送命令消息。如果沒(méi)有準(zhǔn)備好則繼續(xù)判斷。 7 服務(wù)端收到客戶(hù)端開(kāi)始對(duì)弈的消息后,到數(shù)據(jù)庫(kù)中取得對(duì)弈雙方的游戲積分信息,并記錄日志,最后發(fā)送給 對(duì)弈客戶(hù)端。 8 客戶(hù)端收到服務(wù)端的初始化信息后,初始化游戲積分,然后進(jìn)入對(duì)弈界面中。 9 用戶(hù)開(kāi)始下棋,首先用戶(hù)選擇落棋的位置,客戶(hù)端程序 判斷用戶(hù)的落棋點(diǎn)是否有效。如果有效則落棋,并進(jìn)行全盤(pán)掃描,判斷是否有贏棋或者棋盤(pán)是否已經(jīng)充滿(mǎn)棋子,如果有贏棋或者充滿(mǎn)棋子,則提示客戶(hù)端相應(yīng)的輸贏消息。最后將棋步和判斷結(jié)果發(fā)送到服務(wù)端。 10 服務(wù)端收到用戶(hù)的棋步消息后,則組織數(shù)據(jù)包進(jìn)行轉(zhuǎn)發(fā)給對(duì)弈者。 11 客戶(hù)端 收到棋步更新消息或者聊天信息, 則顯示聊天消息或者更新游戲的數(shù)據(jù)。如果是輸贏的消息,則結(jié)束游戲?qū)模@示相應(yīng)的提示框。此時(shí)用戶(hù)可以選擇退出游戲,或者重新開(kāi)始游戲,或者返回大廳等命令。如果不是輸贏消息,則跳轉(zhuǎn)到 9中繼續(xù)執(zhí)行。 聊天服務(wù) 端與客 戶(hù)端 活動(dòng) 圖 圖 23 聊天服務(wù)器與客戶(hù)端 活動(dòng) 圖 第 22 頁(yè) 共 38 頁(yè) 流程說(shuō)明: 1 聊天服務(wù)器啟動(dòng),客戶(hù)端啟動(dòng)。 2 用戶(hù) 輸入帳戶(hù)進(jìn)行登錄,并向服務(wù)端發(fā) 送驗(yàn)證
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1