資源描述:
《UML建模案例——即時(shí)通信系統(tǒng).doc》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、.案例:即時(shí)通信系統(tǒng)1、問題描述設(shè)計(jì)一個(gè)即時(shí)通信系統(tǒng),實(shí)現(xiàn)多個(gè)用戶進(jìn)行網(wǎng)上聊天的功能,各個(gè)聊天客戶端通過注冊、登錄才可以和好友進(jìn)行通信。系統(tǒng)既包括客戶端部分、也包括服務(wù)器端部分。在客戶端能夠?qū)崿F(xiàn)消息的查看,添加和刪除網(wǎng)上的好友,與選定的好友進(jìn)行通信,查詢自己與好友的聊天記錄等功能。服務(wù)器端負(fù)責(zé)好友的在線維護(hù),同時(shí)服務(wù)器還應(yīng)該具有保存用戶資料和用戶聊天記錄的功能。此外,當(dāng)用戶不在線時(shí),收到的好友消息能夠被保存,使用戶在下次登錄時(shí)可以查看。2、建立用例模型(1)確定參與者當(dāng)考慮構(gòu)造一個(gè)系統(tǒng)時(shí),首先要確定系統(tǒng)的邊界,即主體。
2、系統(tǒng)邊界定義了由誰(參與者)使用系統(tǒng),系統(tǒng)能夠?yàn)閰⑴c者提供什么功能(用例)。根據(jù)定義,參與者是指所有存在于系統(tǒng)外部并與系統(tǒng)進(jìn)行交互的人或其他系統(tǒng)。為了確定參與者,需要考慮誰或什么使用系統(tǒng),它們在與系統(tǒng)的交互中扮演什么角色,然后歸納它們。一般地,尋找參與者可以從一下問題入手:l系統(tǒng)開發(fā)完成后,有哪些人會使用這個(gè)系統(tǒng)?l系統(tǒng)需要從哪些人或其他系統(tǒng)獲取數(shù)據(jù)?l系統(tǒng)會為哪些人或其他系統(tǒng)提供數(shù)據(jù)?l系統(tǒng)會與哪些其他系統(tǒng)相關(guān)聯(lián)?l系統(tǒng)是由誰維護(hù)和管理的?l誰啟動或關(guān)閉系統(tǒng)?這些問題有助于抽象出系統(tǒng)的參與者。分析:l對于即時(shí)通信系統(tǒng)
3、,參與聊天的客戶(Client)顯然是系統(tǒng)的參與者。l為了完成在線客戶的管理和客戶信息的驗(yàn)證等功能,需要有一個(gè)服務(wù)器(Server)。l為了實(shí)現(xiàn)客戶信息和通信記錄的存儲等功能,需要有一個(gè)數(shù)據(jù)庫(DataBase)。(2)確定用例確定參與者后,就可以根據(jù)參與者來確定系統(tǒng)的用例,用例是參與者想要系統(tǒng)做的事情。需找用例可以從以下問題入手(針對每一個(gè)參與者):l參與者希望系統(tǒng)提供什么功能?l參與者是否會在系統(tǒng)中創(chuàng)建、修改、刪除、訪問、存儲數(shù)據(jù)?如果是的話,參與者又是如何來完成這些操作的?l參與者是否會將外部的某些事件通知給該系
4、統(tǒng)?l系統(tǒng)是否會將內(nèi)部的某些事件通知給該參與者?分析:l參與者Client使用的用例有:Register(注冊賬號)、Login(登錄系統(tǒng))、Logout(退出系統(tǒng))、SendMessage(發(fā)送消息)、AddFriends(添加好友)、DeleteFriends(刪除好友)、QueryRecord(查詢聊天記錄)等。范文..l參與者Server使用的用例有:Login(登錄系統(tǒng))、Logout(退出系統(tǒng))、AddFriends(添加好友)等。l參與者Database使用的用例有:Register(注冊賬號)、Send
5、Message(發(fā)送消息)、AddFriends(添加好友)、DeleteFriends(刪除好友)、QueryRecord(查詢聊天記錄)等。在用例的抽取過程中,必須注意:用例必須是由某一個(gè)參與者觸發(fā)而產(chǎn)生的活動。如果存在與參與者不進(jìn)行交互的用例,就可以考慮將其并入其他用例;或者檢查該用例相對應(yīng)的參與者是否被遺漏?然后補(bǔ)上相應(yīng)的參與者。反之,每個(gè)參與者也必須至少涉及到一個(gè)用例,如果發(fā)現(xiàn)有不與用例相關(guān)聯(lián)的參與者存在,就應(yīng)該考慮該參與者是否與系統(tǒng)發(fā)生交互?若是,則由該參與者確定一個(gè)新的用例;若不是,則該參與者是一個(gè)多余的
6、模型元素,應(yīng)該將其刪除。3、用例描述用例圖只是在總體上描述了系統(tǒng)所能提供的各種服務(wù),但是沒有提供任何細(xì)節(jié)信息。為此,對于每個(gè)用例,還需要有詳細(xì)的說明,即用例描述。對于用例描述的格式和內(nèi)容,沒有硬性規(guī)定,但一般應(yīng)包括以下幾部分:l用例名稱l用例編號l參與者l簡要描述l事件流:包括基本事件流、可選事件流和異常事件流l前置條件l后置條件對于上述用例圖中的用例,其描述如下表:范文..表1:用例“注冊賬號”的描述用例名稱:Register用例編號:UC001優(yōu)先級:高參與者:客戶、數(shù)據(jù)庫簡要描述:客戶在即時(shí)通信系統(tǒng)中注冊前置條件
7、:客戶端應(yīng)用程序主界面已經(jīng)啟動基本事件流:1、客戶單擊“注冊”按鈕;2、系統(tǒng)彈出一個(gè)注冊交互對話框;3、客戶輸入注冊信息;4、客戶單擊“提交”按鈕,發(fā)送注冊信息到數(shù)據(jù)庫;5、數(shù)據(jù)庫保存注冊信息,并自動生成一個(gè)數(shù)字ID返回;6、客戶端彈出對話框顯示注冊的ID,提示注冊成功7、用例終止。可選事件流:在單擊“提交”按鈕前,客戶可隨時(shí)單擊“取消”按鈕,關(guān)閉注冊窗口,返回客戶端界面異常事件流:提示注冊錯(cuò)誤,請稍后再試,客戶確認(rèn),然后返回客戶端主界面后置條件:客戶獲得一個(gè)ID,可用此ID登錄系統(tǒng)開始即時(shí)通信表2:用例“登錄系統(tǒng)”的
8、描述范文..用例名稱:Login用例編號:UC002優(yōu)先級:高參與者:客戶、服務(wù)器簡要描述:客戶登錄即時(shí)通信系統(tǒng)前置條件:客戶端應(yīng)用程序主界面已經(jīng)啟動,并且已經(jīng)有了注冊ID基本事件流:1、客戶輸入ID和密碼;2、客戶單擊“登錄”按鈕,發(fā)送登錄請求到服務(wù)器;3、服務(wù)器執(zhí)行“驗(yàn)證用戶”用例,將登錄請求中的信息發(fā)送給數(shù)據(jù)庫;4、數(shù)據(jù)庫將