關(guān)鍵詞 UML ,系統(tǒng)建模,參數(shù)監(jiān)控;
1. 引言
隨著工業(yè)生產(chǎn)規(guī)模日益擴(kuò)大,生產(chǎn)過程復(fù)雜度日益提高,機(jī)器人在汽車工業(yè)中得到了廣泛的應(yīng)用,采用工業(yè)機(jī)器人可以大大提高企業(yè)的生產(chǎn)效率和經(jīng)濟(jì)效益,然而對于多個(gè)機(jī)器人的生產(chǎn)線系統(tǒng),存在著諸如如何協(xié)調(diào)多臺(tái)機(jī)器人工作,減少故障排除時(shí)間,使得管理人員能夠及時(shí)了解生產(chǎn)線場運(yùn)行情況等問題。大量的工程實(shí)踐證明,對機(jī)器人生產(chǎn)線進(jìn)行監(jiān)控可以有效的解決或緩解上述問題。由于系統(tǒng)的結(jié)構(gòu)比較復(fù)雜,包括多個(gè)分系統(tǒng),為了保證系統(tǒng)結(jié)構(gòu)設(shè)計(jì)良好,同時(shí)也為了降低軟件開發(fā)的風(fēng)險(xiǎn),必須采用科學(xué)、高效的建模方法。統(tǒng)一建模語言 UML(Unified Modeling Language ,簡稱 UML) 是 OMG 組織確定的面向?qū)ο蟮臉?biāo)準(zhǔn)建模語言,它是一種可視化的建模語言,它能讓系統(tǒng)構(gòu)建者用標(biāo)準(zhǔn)的、易于理解的方式建立起能夠表達(dá)出他們想法的系統(tǒng)藍(lán)圖,并提供了一種機(jī)制,以便于不同的人之間有效地共享和交流設(shè)計(jì)成果。 UML 使用面向?qū)ο蟮母拍顏矸治、描述軟件系統(tǒng)并構(gòu)造系統(tǒng)模型,是一種在大型復(fù)雜系統(tǒng)的建模領(lǐng)域中得到普遍認(rèn)可的優(yōu)秀軟件工程方法 [1] 。因此,嘗試用 UML 來對監(jiān)控系統(tǒng)軟件進(jìn)行建模。 mda.com
2. 采用 UML 對軟件系統(tǒng)進(jìn)行建模的基本框架
UML 包括一些可以相互組合為圖標(biāo)的圖形元素, 通過提供不同形式的圖形來表述從軟件分析開始的軟件開發(fā)全過程的描述,一個(gè)圖就是系統(tǒng)架構(gòu)在某個(gè)側(cè)面的表示,所有的圖組成了系統(tǒng)的完整視圖。 UML 主要提供了以下五類
( 1 )第一類是用例圖( Use Case Diagram ),從用戶角度描述系統(tǒng)功能,并指出參與者 , 用例圖用來從用戶的角度收集系統(tǒng)的需求。
( 2 )第二類是靜態(tài)圖( Static Diagram ),包括類圖、對象圖和包圖。其中類圖描述系統(tǒng)中類的靜態(tài)結(jié)構(gòu)。對象圖是類圖的實(shí)例。包圖由包或類組成,表示包與包之間的關(guān)系。包圖用于描述系統(tǒng)的分層結(jié)構(gòu)。
( 3 )第三類是行為圖( Behavior Diagram ),描述系統(tǒng)的動(dòng)態(tài)模型和組成對象間的交互關(guān)系。其中狀態(tài)圖描述類的對象所有可能的狀態(tài)以及狀態(tài)之間的轉(zhuǎn)換,并給出狀態(tài)變化序列的起點(diǎn)和終點(diǎn)。而活動(dòng)圖描述滿足用例要求所要進(jìn)行的活動(dòng)以及活動(dòng)間的約束關(guān)系,有利于識別并行活動(dòng)。 mda.com
( 4 )第四類是交互圖( Interactive Diagram ),描述對象間的交互關(guān)系。其中順序圖顯示對象之間的動(dòng)態(tài)合作關(guān)系,它強(qiáng)調(diào)對象之間消息發(fā)送的順序,同時(shí)顯示對象之間的交互;協(xié)作圖描述對象間的協(xié)作關(guān)系,與順序圖相似,顯示對象間的動(dòng)態(tài)合作關(guān)系。除顯示信息交換外,協(xié)作圖還顯示對象以及它們之間的關(guān)系。
( 5 )第五類是實(shí)現(xiàn)圖( Implementation Diagram )。其中構(gòu)件圖描述代碼部件的物理結(jié)構(gòu)及各部件之間的依賴關(guān)系。它包含邏輯類或?qū)崿F(xiàn)類的有關(guān)信息。部署圖顯示了基于計(jì)算機(jī)系統(tǒng)的物理體系結(jié)構(gòu)。它可以描述計(jì)算機(jī),展示它們直接的連接,以及駐留在每臺(tái)機(jī)器中的軟件。每臺(tái)計(jì)算機(jī)用一個(gè)立方體表示,立方體之間的連線表示這些計(jì)算機(jī)之間的賴性。
這些基本圖示符號為系統(tǒng)的分析、設(shè)計(jì)建模提供了十分方便的可視化手段。采用 UML 對軟件系統(tǒng)進(jìn)行建模,就是用上述的五類圖將軟件開發(fā)過程中的各個(gè)步驟可視化地表現(xiàn)出來。由于 UML 僅僅是一種建模語言,而不是一個(gè)標(biāo)準(zhǔn)的開發(fā)過程,它完全獨(dú)立于開發(fā)過程,因而在實(shí)際的運(yùn)用過程中,必須要同一定的軟件開發(fā)過程結(jié)合起來。但僅從面向?qū)ο蠓治鲈O(shè)計(jì)的角度考慮,軟件建模的一般過程是首先描述需求,次之根據(jù)需求建立系統(tǒng)的靜態(tài)模型,以構(gòu)造系統(tǒng)的結(jié)構(gòu),第三步是建立動(dòng)態(tài)模型,描述系統(tǒng)的行為。 UML 分別提供不同的圖來實(shí)現(xiàn)上述建模需求,其建模的基本框架如圖 1 所示。
其中 UML 提供用例圖、類圖(包括包圖)、對象圖、構(gòu)件圖和配置圖等六種圖來描述系統(tǒng)的結(jié)構(gòu),這些圖構(gòu)成了標(biāo)準(zhǔn)建模語言 UML 的靜態(tài)建模機(jī)制。而順序圖、合作圖、狀態(tài)圖和活動(dòng)圖等四種圖則用于描述執(zhí)行時(shí)的時(shí)序狀態(tài)或交互關(guān)系,構(gòu)成了標(biāo)準(zhǔn)建模語言 UML 的動(dòng)態(tài)建模機(jī)制。
由圖 1 也可以看出,使用 UML 建模語言對系統(tǒng)建模也可以是一個(gè)反復(fù)迭代的過程,發(fā)現(xiàn)需求、靜態(tài)建模和動(dòng)態(tài)建模都是相互影響,相互作用的。初步的需求可以進(jìn)行靜態(tài)和動(dòng)態(tài)建模,在對系統(tǒng)進(jìn)行靜態(tài)和動(dòng)態(tài)建模時(shí),還可以進(jìn)一步捕獲需求,再進(jìn)行建模,如此迭代遞增。