UML是由著名軟件技術專家G.Booch、J.Rumbaugh和I.Jcobson倡導,并在Booch表示法、00SE表示法以及OMT方法的基礎上,融合眾家之長而形成的,1997年底被國際OMG組織采納為基于對象技術的標準建模語言。它融入了軟件工程領域的新思想、新方法和新技術,不僅支持面向對象的分析和設計,還支持從需求開始的軟件開發(fā)過程,是近十年來最具有劃時代意義的軟件技術之一。
UML標準建模語言并不是針對硬件設計而產生的,但是由于其表達的可視化,支持面向對象的分析和設計,支持從需求開始的軟件開發(fā)全過程,并且有9種從軟件開發(fā)的不同階段、不同視角和不同層次對所開發(fā)的項目進行描述的模型,因此雖然目前尚未看到將UML建模用于基于EDA技術的應用開發(fā)設計實例,但作者認為:UML的9種模型,有的可以直接應用于EDA開發(fā)設計的建模,有的可以稍做改動即可應用于EDA開發(fā)設計的建模,因此對UML標準建模語言進行適當?shù)男薷?,并增加一些易于表達硬件設計的內容,完全有可能將UML標準建模語言移植到EDA設計中,解決現(xiàn)行的EDA開發(fā)設計中建模難的問題,并可能成為一種全新的EDA應用開發(fā)設計建模工具。
下面簡單地介紹—下UML的9種模型以及UML建模的設計思想,詳細情況請讀者閱讀UML建模的有關書籍和資料。
UML為軟件系統(tǒng)的設計與開發(fā)提供了豐富的、功能強大的9種模型:用例圖(Use CaseDiagram)、對象類圖(C1ass Diagram)、對象圖(Object Diagram)、順序圖(Sequence Diagram)、協(xié)同圖(Co11aboration Diagram)、狀態(tài)圖(State Diagram)、活動圖(Activity Diagram)、組件圖(Component Diagram)、配置圖(Dep1oyment Diagram)。這些模型可以從軟件開發(fā)的不同階段、不同視角和不同層次對所開發(fā)的項目進行描述。
(1)用例圖(Use Case Diagram):它是一種描述Use Case的可視化工具,它用簡單的圖形元素表示出系統(tǒng)的活動者(Actor,是用戶作用于系統(tǒng)的一個角色,它可以是人,也可以是作用于系統(tǒng)的外部系統(tǒng))、Use Case以及它們之間的聯(lián)系,準確地表達了活動者與系統(tǒng)的交互情況和系統(tǒng)所能提供的服務。
(2)對象類圖(C1ass Diagram):對象類(C1ass)簡稱類,是面向對象模型的最基本的模型元素。對象類圖表達一組對象和它們的聯(lián)系。在對象類圖中,一方面描述各個對象類本身的組成,即類的屬性、操作和對象的約束;另一方面描述系統(tǒng)中對象類之間的各種靜態(tài)模型的聯(lián)系。對象類圖是一種靜態(tài)結構圖,它描述的是系統(tǒng)的靜態(tài)結構,而不是系統(tǒng)的行為。
(3)對象圖(Object Diagram):它表示一組對象以及它們之間的聯(lián)系。對象圖實質上是對象類圖的實例,或者是交互圖靜態(tài)部分的實例。對象圖的模型元素有對象和鏈接(Link)。從圖形的角度看,對象圖是由節(jié)點(對象)和?。ㄦ溄樱嫵傻膱D。
(4)順序圖(Sequence Diagram):它是一種交互圖,順序圖的重點是完成某個行為的對象類和這些對象類之間所傳遞的消息和時間順序。順序圖是一個二維圖形。在順序圖中水平方向為對象維,沿水平方向排列參與交互的對象類角色;豎向為時間維,沿垂直向下方向按時間遞增順序列出了各對象類角色所發(fā)出和接收的消息。
(5)協(xié)同圖(Co11aboration Diagram):它包含一組對象和以消息交換為紐帶的關聯(lián),用于描述系統(tǒng)的行為是如何由系統(tǒng)的成分合作實現(xiàn)的。所謂協(xié)同,是一種靜態(tài)結構,它是一個系統(tǒng)對實現(xiàn)某些服務所涉及的對象及其交互的投影。一個協(xié)同定義了一組對某些服務有意義的參加者和它們的聯(lián)系,這些參加者定義了交互中的對象所扮演的角色。協(xié)同圖就是協(xié)同的圖形表示。
(6)狀態(tài)圖(State Diagram):它表現(xiàn)了一個對象(或模型元素)的生存史,顯示觸發(fā)狀態(tài)轉移的事件和因狀態(tài)而導致的動作。狀態(tài)圖由表示狀態(tài)的節(jié)點和表示狀態(tài)之間的轉移的弧組成。在狀態(tài)圖中,若干個狀態(tài)節(jié)點由一條或多條轉移弧連接,狀態(tài)的轉移由事件觸發(fā)。模型元素的行為模型化為在狀態(tài)圖中的一個周游,在此周游中狀態(tài)機執(zhí)行一系列的動作。
(7)活動圖(Activity Diagram):它是系統(tǒng)的一種行為視圖,它描述參與行為的對象類的活動的順序,包括依賴于條件的行為和并發(fā)行為?;顒訄D實質上也是一種流程圖,只不過表示的是從一個活動到另一個活動的控制流。活動圖描述活動的序列,并且支持對帶條件的行為和并發(fā)行為的表達。
(8)組件圖(Component Diagram):它由組件(是系統(tǒng)物理的可替換單位)、接口和組件之間的聯(lián)系構成,其中的組件可以是源碼、二進制碼或可執(zhí)行程序。組件圖表示系統(tǒng)中的不同物理部件及其聯(lián)系,它表達的是系統(tǒng)本身代碼的結構。
(9)配置圖(Dep1oyment Diagram):它由節(jié)點(存在于運動期間的系統(tǒng)的物理元素,節(jié)點代表計算機資源,通常為處理器或其他設備)和節(jié)點之間的聯(lián)系構成,用于表示一個分布式系統(tǒng)的運動的結構。
UML建模過程的基本特征是“用例驅動(Use Case Driven)、以結構為中心(Architecture-Centric)、迭代增量(Iterative and Incrementa1)”?!坝美寗印本褪窃赨ML中,使用用例描述系統(tǒng)的功能需求,亦即系統(tǒng)從分析、設計、實現(xiàn)到測試都以用例作為最終目標?!耙越Y構為中心”就是強調一種以結構為中心的開發(fā)方式,以用例圖為中心點,通過建立一個易于擴充、可重用的結構,來實現(xiàn)迭代式開發(fā)和增量式提交?!暗隽俊本褪窃诿總€周期內完成
對系統(tǒng)部分功能的開發(fā)、測試,并在每一次迭代的最后提交一個增加了部分新功能的系統(tǒng),使系統(tǒng)進一步完善,即“迭代式開發(fā),增量式提交”?;赨ML的系統(tǒng)開發(fā)過程,從管理人員角度看,在系統(tǒng)開發(fā)的每次迭代過程中,主要包括四個階段:決策階段、計劃階段、構造階段、提交階段;從技術實現(xiàn)的角度來看,系統(tǒng)開發(fā)的每次迭代過程中亦包括四個階段:分析、設計、實現(xiàn)和測試。在這四個階段中,使用UML建立不同的模型來達到不同的目的。
對于軟件開發(fā)的UML建模,我們可以使用UML建模的工具Rationa1 Rose來進行。Rationa1 Rose是美國Rational軟件公司在軟件工程專家Boodh、Jacobson、Rumbaugh等人的主持下研制的面向對象的CASE產品,是目前最為流行的、先進的可視化軟件開發(fā)工具之一。
來源:ks990次