2016年3月9日 星期三

UML 裡各種圖形的使用時機

   從整體來看一個系統,系統有分靜態結構與動態行為二大構面。UML 提供的所有圖型,都是為了捕捉以及描述這二個構面。從建模的實際操作面來看,一個系統通常會因軟體發展生命週期的各個階段所要捕抓和描述的重點不同,而有不同的產出,這些產出可歸類為 UseCase View,Logical View,Component View   ,Process ViewDeployment View ,也就是所謂的四加一 觀點。每一個觀點可作為你製作 UML 各類圖型時思考的起點;另一方面又可作為你存放各類圖型的目錄。Rose 就拿它們來做為你建模時存放各階段所產的 UML 元素的目錄。Use Case View(使用案例觀點)一般又稱為功能觀點,通常一開始我們拿它來做為系統功能的說明,敘述使用者如何來使用系統,但它不會涉及如何建立系統的技術。雖然稱為使用案例觀點,但本目錄郤不是只能存放 Use Case Diagrams 的相關 UML 元素,他還是可以存放互動圖,活動圖,類別圖等 UML 元素,重點在於你想利用這些圖型來表達什麼樣的概念,如果是用來描述系統的功能並不涉及系統的實作技術,就該將它放在UseCase View 的觀點之下,管它是用 Use Case Diagram Class Diagram 或其它圖型。類別和動作實作出系統裡的使用案例,動作以互動圖和活動圖來詳加說明:如此,在系統功能觀點和動態觀點之間的連結就會存在。用在使用案類執行方面的類別,是以類別圖和狀態圖來描述  

狀態圖(State machine diagram/Statechar diagram)是描述系統行為時最常見的一種技術有助於描述某個物件橫跨幾個使用案例的行為
不過用它來描述幾個物件間的合作行為則不適合那是互動圖(interaction diagram)的責任。但也不要替每個類別畫出狀態圖,這種作法只是在浪費時間只用它來顯示內含某些有趣行為的類別或比較複雜而重要的類別,此時它可以幫助我們了解發生了什麼事情有些人特別用狀態圖來了解使用者介面與控制物件的某些行為
互動圖(interaction diagram)是用來描述數個物件在某個使用案例中的行為一般不會涉及特定的物件,只要點到高階流程就可以
活動圖(Activity diagram)適合用來展示數個物件在好幾個使用案例中的活動先後順序

互動圖與活動圖都是呈現物件間的訊息交流,因此當製作模型時,要使用那一種模型是依你當時想要展示那一方面的重點為考量
。到底是把發生在工作流程裡的一連串動作當成重點,還是把物件間的合作列為重點

沒有留言:

張貼留言