EA畫(huà)UML圖之如何實(shí)現(xiàn)關(guān)聯(lián)類

這篇文章主要介紹EA畫(huà)UML圖之如何實(shí)現(xiàn)關(guān)聯(lián)類,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

示例:

有一個(gè)溫度控制系統(tǒng),通過(guò)傳感器測(cè)量溫度。傳感器的輸出是1v到5v,對(duì)應(yīng)的溫度為0到100攝氏度。

控制器每0.1秒獲取一次溫度值,然后根據(jù)實(shí)際溫度和期望的溫度的偏差來(lái)決定輸出值,計(jì)算的周期為1秒,輸出值的范圍為0%到100%。這個(gè)輸出值發(fā)送給一臺(tái)加熱器來(lái)控制溫度。

加熱器的控制端在輸入1v時(shí)的輸出功率為0KW,輸入5v是輸出功率為10KW。

這個(gè)系統(tǒng)應(yīng)該如何建模呢?先來(lái)第一步,識(shí)別類和關(guān)聯(lián)。

EA畫(huà)UML圖之如何實(shí)現(xiàn)關(guān)聯(lián)類

接下來(lái)將全部信息都反映到模型上。

EA畫(huà)UML圖之如何實(shí)現(xiàn)關(guān)聯(lián)類

不要被滿篇的屬性嚇倒,耐心地,慢慢地讀下去,你會(huì)理解的。

傳感器Sensor

傳感器Sensor的功能其實(shí)就是將現(xiàn)實(shí)世界中的0度(m_tempLow)到100度(m_tempHigh)的溫度經(jīng)過(guò)線性變換轉(zhuǎn)換成1v(m_outputLow)到5v(m_outputHigh)的電壓信號(hào)。


控制器Controller

控制器每0.1秒(m_sampleCycle)獲取一次Sensor的電壓輸出,將這個(gè)電壓值從范圍[m_sensorOutoutLow,m_sensorOutputHigh]線性變換到[m_tempLow,m_tempHight]之間,然后由控制器根據(jù)實(shí)際溫度的和期望溫度之間的偏差來(lái)決定輸出值,計(jì)算的周期為1秒(m_controlCycle),輸出值的范圍為0%(m_controllerOutoutLow)到100%(m_controllerOutoutHigh)。這個(gè)輸出值再經(jīng)過(guò)線性變換變成一個(gè)[m_heaterInputLow,m_heaterInputHigh]之間的值,發(fā)送給加熱器來(lái)控制溫度。

加熱器Heater

加熱器的控制端接受到1v(m_intputLow)到5v(m_intputHigh)之間的電壓值以后經(jīng)過(guò)線性變換轉(zhuǎn)換成0KW(m_outoutLow)到10KW(m_outputHigh)之間的功率。

謝謝你堅(jiān)持讀到這里。回頭來(lái)審視一下模型,有沒(méi)有發(fā)現(xiàn)什么問(wèn)題?

是的,Controller類太大,功能也太多了。


這個(gè)問(wèn)題的解決方案就是本文的話題:關(guān)聯(lián)類。當(dāng)關(guān)聯(lián)足夠復(fù)雜,復(fù)雜到必須需要利用屬性來(lái)描述細(xì)節(jié),利用操作來(lái)定義動(dòng)作的時(shí)候就該關(guān)聯(lián)類出場(chǎng)了。

在本例中取得溫度值(GetTemperature),輸出(SetOutput)兩個(gè)關(guān)聯(lián),要進(jìn)行線性變換,各自需要四個(gè)屬性(實(shí)際上還應(yīng)該有操作),都可以定義為關(guān)聯(lián)類。就像下面這樣。

EA畫(huà)UML圖之如何實(shí)現(xiàn)關(guān)聯(lián)類

前面廢了那么多口舌,到主角的時(shí)候反而簡(jiǎn)單了。

如果要總結(jié)的話,關(guān)聯(lián)類的內(nèi)容就是補(bǔ)充描述關(guān)聯(lián)的那些信息。

以上是“EA畫(huà)UML圖之如何實(shí)現(xiàn)關(guān)聯(lián)類”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

網(wǎng)頁(yè)題目:EA畫(huà)UML圖之如何實(shí)現(xiàn)關(guān)聯(lián)類
文章轉(zhuǎn)載:http://bm7419.com/article8/jddpip.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計(jì)網(wǎng)頁(yè)設(shè)計(jì)公司App開(kāi)發(fā)、關(guān)鍵詞優(yōu)化移動(dòng)網(wǎng)站建設(shè)、網(wǎng)站維護(hù)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化