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