UML交互圖繪制及其應(yīng)用說明
本節(jié)和大家一起學(xué)習(xí)一下交互和UML交互圖方面的知識,主要包括如何繪制UML交互圖和UML交互圖應(yīng)用說明,相信通過本節(jié)的介紹你對UML交互圖有深刻的理解。下面就是詳細(xì)介紹。
交互與UML交互圖
交互的概念
一次交互就是指在特定語境中,為了實現(xiàn)某一個目標(biāo),而在一組對象之間進(jìn)行交換的一組消息所表示的行為
消息
UML中的4種UML交互圖
順序圖:順序圖是一種強調(diào)消息時間順序的交互圖,為讀者提供了控制流隨著時間推移的清晰的可視化軌跡
通信圖:UML2.0中的通信圖實際上就是UML1中的協(xié)作圖,它強調(diào)的是參加交互的對象的組織,為讀者提供了在協(xié)作對象結(jié)構(gòu)組織的語境中觀察控制流的一個清晰的可視化軌跡
定時圖:采用了一種帶數(shù)字刻度的時間軸來精確地描述消息的順序
交互概述圖:是交互圖和活動圖的混合物
如何繪制UML交互圖
準(zhǔn)備工作
首先根據(jù)自己的喜好和實際的表現(xiàn)需要來選擇順序圖或通信圖。不過由于它們在語義上是等價的,因此可以繪制出一種,再通過建模工具來自動轉(zhuǎn)換成另一種圖
分析模型中的交互圖徹重于分析類的職責(zé)分配和交互流程,而設(shè)計模型中的交互圖則徹重于設(shè)計類的引入和實際方法的調(diào)用與流程控制
先確定參與交互的對象、對象之間的關(guān)系(通信圖),然后確定對象間的消息交互流程(用同步調(diào)用、異步消息、返回消息表示),并利用交互片斷(順序圖)或迭代標(biāo)記及監(jiān)護(hù)條件來表示循環(huán)和分支結(jié)構(gòu)
魯棒分析
魯棒圖可以很多的解決需求分析和架構(gòu)設(shè)計之間的差別。更詳細(xì)的說明請看***的解釋。
Robustness分析不是UML模型的一部分,它是一個強大的草圖工具,是介于分析和設(shè)計之間的一種有效工具
在Robustness分析中,將應(yīng)用邊界類、控制類和實體類,分別對應(yīng)MVC架構(gòu)的3個層
從一個用例中抽取三類對象的方法:
魯棒分析—尋找邊界對象
圖書管理員向系統(tǒng)發(fā)出“新增書籍信息”請求——主窗口、“新增書籍信息”按鈕
系統(tǒng)要求圖書管理員選擇要新增的書籍是計算機(jī)類還是非計算機(jī)類——書籍類別列表框。
圖書管理員做出選擇后,顯示相應(yīng)界面,讓圖書管理員輸入信息,并自動根據(jù)書號規(guī)則生成書號——“新書信息錄入”窗口及輔助的“提交”按鈕
UML交互圖應(yīng)用說明
分析階段的交互模型
工作方法:針對用例圖中的每個用例,并結(jié)合領(lǐng)域模型中的類,尋找分析類,并通過Robustness分析來理清業(yè)務(wù)邏輯流程,再用交互模型將其確定下來
注意:主要關(guān)注于區(qū)分出邊界對象、實體對象和控制對象,暫時不要考慮其具體的實現(xiàn)類
說明:對于較復(fù)雜的用例,可以按上述的流程逐漸地進(jìn)行分析、設(shè)計、實施;但對于比較簡單的用例而言,也是可以直接從用例描述中導(dǎo)出設(shè)計階段交互模型
分析階段的交互模型之后
引入基礎(chǔ)類:包括基礎(chǔ)框架、程序庫等
質(zhì)量評審:
--低耦合:耦合性是指兩個類之間的連接強度
--高內(nèi)聚:內(nèi)聚性是指一個類的屬性與方法高度集成
--效率:解決方案的執(zhí)行效率是否滿足系統(tǒng)的需求
--完整性:是指在任何環(huán)境下都可以重復(fù)使用
--簡單性:類越簡單,出錯的可能性越小,系統(tǒng)的靈活性和可維護(hù)性也越好
優(yōu)化類設(shè)計:閱讀《設(shè)計模式與重構(gòu)》
設(shè)計階段的交互模型&交互建模要點
在分析模型的基礎(chǔ)上引入基礎(chǔ)類、優(yōu)化類設(shè)計之后,必然會獲得新的類模型(類圖)(設(shè)計模型),因此就可能需要基于新引入的“設(shè)計類”來更新交互模型,以獲得與實際代碼相吻合的模型
給出一個能表達(dá)其目的的名稱;通過修改元素的布局,盡量避免交叉線的存在;可以通過注解和顏色作為可視化提示,以突出圖形中的重要特性;盡量少用分支,對于分支很多的場景,可以考慮用活動圖來補充
【編輯推薦】