在《UML系列內容之二:UML通用知識》中重點介紹了UML中的事物、關系和UML中公共機制。
這篇文章將繼續來介紹UML中的視圖和圖。
我們可以從多個角度來審視一個系統,一個視圖就是表達系統某一方面特征的建模元素的集合。視圖的劃分并沒有嚴格的標準,因此有很多種分法。這篇文章沿襲了J.Rumbaugh在《UML參考手冊》中的分法。
在每一類視圖中使用1~2種特定的圖可視化的表示視圖中的相關概念及關系。
UML中的視圖及使用的各種圖可以如下圖所示:
拋開視圖的概念,UML中的圖可以分為兩大類:結構圖和行為圖。
結構圖用于描述系統的靜態結構模型,行為圖用于描述系統的動態行為模型。
結構模型捕獲事物及事物之間的靜態關系,而行為模型則捕獲事物如何交互以產生軟件系統所需的行為。
當然上圖中給出的僅是UML1.x中的圖,在UML2.x中又新增了一些圖,如結構圖中的包圖、組合結構圖等。
靜態視圖用于對問題域中的概念進行建模。因為這種圖僅描述結構事物之間的關系,不涉及與時間有關的系統行為。而行為要在其它視圖中進行描述。
靜態視圖主要包括類、接口等以及他們之間的關系。
用例圖是參與者從系統外部能觀察到的系統功能的模型圖。用例是系統中的一個功能單元,可以描述為參與者與系統之間的一次交互。
用例圖即是描述出系統的參與者以及參與者可以執行的系統用例。
交互視圖描述系統的各個角色之間傳遞消息的順序關系,它顯示了跨越多個對象的系統控制流程。
交互視圖包括兩種圖:序列圖和協作圖。
序列圖又稱順序圖,它是對象之間基于時間順序的動態交互,它顯示了隨時間的變化對象之間傳送消息的先后順序。其用途之一是詳細地描述用例表達的需求。當參與者執行一個用例行為時,序列圖中的每條消息對應了一個類操作或狀態機中引發狀態轉換的觸發事件。
上面這個就是一個序列圖,描述了一個還書過程,當然這個序列圖并沒有完整的描述還書過程。
協作圖對在一次交互中有意義的對象和對象間的鏈進行建模。其用途可以描述一個類操作的實現。
協作圖與4.1中的序列圖都用來描述對象間的交互,但它們的側重點不同。序列圖表示了時間消息的序列,但沒有表示靜態對象關系,它用于描述系統的順序行為。而協作圖用于表示一個協同中對象之間的關系和消息,以及描述一個操作或分類符的實現。
狀態機視圖是用于描述一個類的對象可能經歷的所有歷程的模型圖。狀態機由對象的各個狀態和連接這些狀態的轉換組成。每個狀態對一個對象在其生命期中滿足某種條件的一個時間段建模。當一個事件發生時,它會觸發一個狀態轉換為另外一個狀態。
活動視圖使用活動圖來體現。
活動圖是狀態機的一個變體,用于描述執行算法的工作流程中涉及的活動?;顒訝顟B代表了一個活動:一個工作流步驟或一個操作的執行。活動圖描述了一組順序的或并發的活動。
物理視圖主要關注系統的非功能性需求,描述軟件至硬件的映射。物理視圖包含兩種視圖,分別是實現視圖和部署視圖。
實現視圖主要是構件圖。部署視圖主要是部署圖。
構件圖描述組成系統各個構件的接口及依賴關系。
部署圖描述位于節點實例上運行構件實例的安排。節點是一組運行資源,如計算機、打印機、掃描槍、存儲器等。
以上講解了UML中的視圖及各視圖中使用的具體的圖。
本站將在今后的文章中繼續講解各種圖建模的步驟與方法。敬請關注。
新聞熱點
疑難解答