国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

用UML模型實現(xiàn)大型實時監(jiān)控應(yīng)用軟件(1)

2019-11-17 04:57:48
字體:
供稿:網(wǎng)友
1、概述實時監(jiān)控應(yīng)用軟件(CTS)開發(fā)過去采用的是結(jié)構(gòu)化方法,采用的編程語言也是匯編語言、FortranAda等結(jié)構(gòu)化編程語言。也曾有過分析和設(shè)計階段采用結(jié)構(gòu)化方法,編程實現(xiàn)采用面向?qū)ο笳Z言的嘗試。

采用面向?qū)ο蠓椒ǎ║ML)完整的實現(xiàn)監(jiān)控實時應(yīng)用軟件是首次嘗試,收到了較好的成效。UML(統(tǒng)一建模語言)是美國Rational公司創(chuàng)造的面向?qū)ο箝_發(fā)中一種通用的、統(tǒng)一的圖形化模型語言。它于1997年11月被美國OMG小組批準(zhǔn)成為面向?qū)ο箝_發(fā)的行業(yè)標(biāo)準(zhǔn)語言。UML標(biāo)準(zhǔn)的樹立統(tǒng)一了面向?qū)ο蟮慕7椒ǎ藢ο蠼2顒e。Rational公司的旗艦產(chǎn)品之一Rational Rose提供了對這一行業(yè)標(biāo)準(zhǔn)語言的充分支持。

Rose是一個面向?qū)ο蟮能浖治鲈O(shè)計建模工具,可以創(chuàng)建基于UML標(biāo)準(zhǔn)的模型,圖形化地對軟件系統(tǒng)結(jié)構(gòu)加以描述和定義,并且通過建立的模型直接生成代碼框架。同時,還可以從開發(fā)者編的應(yīng)用系統(tǒng)中直接逆向生成模型。下面將就實時監(jiān)控應(yīng)用軟件的分析設(shè)計是如何使用Rational Rose來實現(xiàn)的作一簡要介紹。

2、UML模型CTS是監(jiān)控系統(tǒng)的中心,它主要用來控制測量設(shè)備實時跟蹤和測量飛行目標(biāo),實時處理測量結(jié)果,并兼有顯示、打印、記錄等功能。它和測量設(shè)備的關(guān)系如圖1所示。用UML模型實現(xiàn)大型實時監(jiān)控應(yīng)用軟件(1)(圖一)實時應(yīng)用軟件通過數(shù)據(jù)包和測量設(shè)備交換信息。軟件實時性要求較高,在每個采樣周期內(nèi),必須完成該周期的數(shù)據(jù)處理工作,也要有一定的人工干預(yù)能力。 實時應(yīng)用軟件模型用來描述軟件各層次的各個方面,它包括Use Case圖、類圖、序列圖、狀態(tài)圖、分布圖和組件圖。

2.1 Use Case圖Use Case 也稱為用例、使用情況,它是系統(tǒng)分析人員從用戶使用的觀點來看系統(tǒng)功能、功能之間的關(guān)系以及用戶與功能之間的關(guān)系。它是系統(tǒng)功能以及用戶與功能之間的關(guān)聯(lián),利用 Use Case系統(tǒng)分析人員對系統(tǒng)的功能和行為加以描述。CTS的Use Case圖如圖2所示。CCP為前端通信處理機,Operator為操作員,Interrupt為操作臺命令產(chǎn)生的中斷。Simulation 模擬狀態(tài),用于軟件調(diào)試和操作員練習(xí)。 Task:實戰(zhàn)狀態(tài),用于實戰(zhàn)任務(wù)。 Abnomity :異常處理,應(yīng)急狀態(tài)。 SimpleServer:打印、記盤等服務(wù)。CommuniciatePRocess:從CCP接收測量設(shè)備傳來的數(shù)據(jù)包之后解包,然后按要求將多幀數(shù)據(jù)重新組織成一幀轉(zhuǎn)發(fā)到CCPDataProcess:將CommuniciateProcess接收的數(shù)據(jù)依據(jù)處理要求進行挑點處理,利用 CommuniciateProcess解包后的數(shù)據(jù)計算軌道、平滑外推和預(yù)告等。DisplayProcess:將挑點后的數(shù)據(jù)按指定的要求在不同的顯示服務(wù)器上以文字、數(shù)字或圖象形式顯示。將 DataProcess的處理結(jié)果在指定的顯示服務(wù)器顯示。所有Use Case的工作都必須在指定的時間周期內(nèi)完成。2.2 類圖用UML模型實現(xiàn)大型實時監(jiān)控應(yīng)用軟件(1)(圖二)類圖是系統(tǒng)的邏輯結(jié)構(gòu),是模型的核心部分。它描述了系統(tǒng)中的類及類之間的關(guān)系,類圖描述系統(tǒng)的靜態(tài)結(jié)構(gòu)。類包是子系統(tǒng)中相關(guān)類的集合,包類似于 Peter/Coord 方法中的主題詞( subject )。圖 3 描述了 CTS 的類包。用UML模型實現(xiàn)大型實時監(jiān)控應(yīng)用軟件(1)(圖三)類包 DisplayProcess 、 DataProcess 、 CAbnormity 和 CommunicateProcess 是我們自己開發(fā)的,是系統(tǒng)的核心,其余的類包是由 Microsoft 提供的。 DisplayProcess 類包包含了顯示所需要的所有和 MFC 有關(guān)的類, DisplayProcess 類包中的類都是從 MFC 派生的,一般都增加了 CTS 系統(tǒng)所需要的特性。 DisplayProcess 類包中的類及類之間的關(guān)系如圖 4 所示。用UML模型實現(xiàn)大型實時監(jiān)控應(yīng)用軟件(1)(圖四)

 圖4 DisplayProcess 類包中的類及類之間的關(guān)系 QQread.com 推出各大專業(yè)服務(wù)器評測 linux服務(wù)器的安全性能 SUN服務(wù)器 HP服務(wù)器 DELL服務(wù)器 IBM服務(wù)器 聯(lián)想服務(wù)器 浪潮服務(wù)器 曙光服務(wù)器 同方服務(wù)器 華碩服務(wù)器 寶德服務(wù)器
  CommunicateProcess 類包包含了通信處理所需要的類及類之間的關(guān)系,如圖 5 所示。圖中 CFrameFormat 類為數(shù)據(jù)幀格式類是所有幀格式類的父類,它有兩個子類: CRecvFrameFormat 和 CSendFrameFormat 。 CRecvFrame- Format 類(從 CCP 接收的幀格式)是 CRecvHead 類(接收幀頭)和 CDevice- Format 類(設(shè)備數(shù)據(jù)格式)的聚集。 CSendFrameFormat 類(向 CCP 發(fā)送的幀格式)的數(shù)據(jù)區(qū)包括 Device1 ~ Device3 幀格式中的內(nèi)容。 CReceive 類為接收類, CSendTo 類為向 CCP 發(fā)送數(shù)據(jù)類。用UML模型實現(xiàn)大型實時監(jiān)控應(yīng)用軟件(1)(圖五)

圖5 CommunicateProcess類包中的類及類之間的關(guān)系
DataProcess 類包是 CTS 類包中的核心部分包括了數(shù)據(jù)處理所需的所有類,這個類包較復(fù)雜這里只給出部分類圖,如圖 6 所示。 CGdFeature 類是數(shù)據(jù)處理部分的類它有兩個最主要的操作:軌道積分和坐標(biāo)轉(zhuǎn)換, CTheoryGd (理論軌道), CPracticeGd (實際軌道), CCoordinatePoint (軌道坐標(biāo)), CRate (目標(biāo)速度)。

6 DataProcess類包中的部分類及其關(guān)系,CAbnormity類包包含異常處理以及操作臺應(yīng)急處理所需要的類,類圖略。用UML模型實現(xiàn)大型實時監(jiān)控應(yīng)用軟件(1)(圖六)2.3 序列圖

CTS 的動態(tài)特性用序列圖表示,序列圖用來描述一個軟件的運作順序(場景),一個 Use Case 包含多個軟件的運作場景。序列圖用來刻畫 Use Case 圖,一個 Use Case 可以有多個序列圖,每個場景用一個序列圖刻畫。合作圖與序列圖等價,可以由序列圖轉(zhuǎn)化得到,兩者各有優(yōu)缺點。序列圖對于實時系統(tǒng)的時間要求刻畫的很好,但結(jié)構(gòu)不明顯;合作圖的對象間關(guān)系明顯但它用消息順序號表示時間,時間表示不清楚,不太適用于實時系統(tǒng)。 CommuniciateProcess 的序列圖如圖 7 所示。用UML模型實現(xiàn)大型實時監(jiān)控應(yīng)用軟件(1)(圖七)

圖 7 CommuniciateProcess 的序列圖2.4 狀態(tài)圖CTS 的動態(tài)結(jié)構(gòu)主要用來描述活類的動態(tài)特性,使用 Rational Rose 的狀態(tài)圖 StateDiagram 來描述。行為導(dǎo)致了狀態(tài)的遷移,狀態(tài)圖用來顯示一個給定類、給定事件的狀態(tài)。每個狀態(tài)圖都與一個類或一個 Use Case 相關(guān)聯(lián)。狀態(tài)圖刻畫軟件系統(tǒng)的行為視點,它基于有窮狀態(tài)自動機的圖示機制。一個狀態(tài)圖包括一個類在生命周期內(nèi)的狀態(tài)轉(zhuǎn)換和描述。限于篇幅只給出 CTS 的 CGdFeature 類的狀態(tài)圖。2.5 組件圖

邏輯模型表示了系統(tǒng)的邏輯結(jié)構(gòu),每個邏輯模型都應(yīng)有一個或多個到物理實現(xiàn)-組件圖的映射。組件圖顯示了物理上組件(主程序、包和任務(wù))之間的依靠關(guān)系以及和邏輯模型之間的映射關(guān)系。組件的設(shè)計和系統(tǒng)的運行環(huán)境以及邏輯模型的結(jié)構(gòu)有關(guān)。假如是分階段開發(fā)的話,組件設(shè)計應(yīng)屬于具體設(shè)計。2.6 軟件分布圖

軟件系統(tǒng)需要和硬件環(huán)境一起工作,軟件分布圖也表示了硬件設(shè)備和它們的界面,以及硬、軟件的協(xié)同工作。 CTS 的軟件分布圖表示了執(zhí)行程序、計算機節(jié)點以及設(shè)備的布局。 CTS 的分布圖。圖中 Main 和 Backup 分別表示主用和備用計算機,只有主用計算機向 CCP 輸出,但主備機均接收 CCP 來的數(shù)據(jù)。3 實現(xiàn)

在系統(tǒng)的邏輯設(shè)計(模型)和組件設(shè)計(模型)完成之后,便可以進入編程。 CTS 的編程實現(xiàn)采用 Microsoft 的 VC 語言, Rational Rose C 對 VC 有專門的支持。編程實現(xiàn)主要是利用 Rose 的生成和反向生成工具根據(jù)系統(tǒng)的設(shè)計模型來完成的。它包括三大步驟,每個步驟又包括多個過程。3.1 系統(tǒng)設(shè)置

系統(tǒng)設(shè)置主要用來設(shè)置 Rose 的特性和目錄,它包括四步,這里就不詳述了。3.2 開始一個新的VC 項目在開始 VC 編程時,首先創(chuàng)建 VC 應(yīng)用程序,此時應(yīng)遵循以下步驟:

使用VC 的application Wizards 為應(yīng)用生成框架

創(chuàng)建Rose 分析器Analyzer 下的項目,加入VC 創(chuàng)建的文件

定位頭文件,關(guān)閉不含類也不能由分析器生成和反向重新生成的文件的Regenerate 屬性,并向Rose 輸出初始模型。

在 Rose 下打開 .red 文件

反向生成的模型不帶特性,選rosevcpp.pty 文件作為新的特性文件,最后把模型保存為 .mdl 文件。3.3 增加類、數(shù)據(jù)成員和成員函數(shù)把 Rose 模型中的類增加到 VC 應(yīng)用程序中可分為兩種情況:一種是不使用 VC 的 Class Wizard 支持機制的類(如信息映射),一種是使用此機制的類。前一種情況比較簡單,它正是在 Rose 中生成代碼,然后把這些文件加入 VC 項目中即可。對于后一種情況,其步驟大致如下:在 VC 中創(chuàng)建新類,然后將新類的文件加入 Rose 的 Analyzer 對應(yīng) 的項目中。

在分析器Analyzer 中進行特性設(shè)置以反映項目當(dāng)前的變化。

在分析器Analyzer 中輸出文件。 向已經(jīng)存在的文件中添加數(shù)據(jù)成員和成員函數(shù)的方法與添加類的方法相同。4、結(jié)束語從應(yīng)用的結(jié)果看,總的來說,使用 UML 進行監(jiān)控實時應(yīng)用軟件開發(fā)取得了比較好的效果,與以前使用的結(jié)構(gòu)法方法相比有明顯的優(yōu)勢。我們體會,這主要表現(xiàn)在以下幾個方面:1.Use Case 是系統(tǒng)分析人員從用戶的視角出發(fā)、從功能邊界描述目標(biāo)軟件系統(tǒng),這從模型上規(guī)范了對需求的描述,也能夠和后面的設(shè)計較好地銜接,比以前純粹的文字描述要好一些。用

2. 邏輯設(shè)計代替功能模塊設(shè)計和實體-關(guān)系設(shè)計,解決了以前的功能和數(shù)據(jù)分離的問題,以及模塊中數(shù)據(jù)的組織問題。

3. 用狀態(tài)圖在較高的層次上描述了系統(tǒng)的動態(tài)結(jié)構(gòu)。

4. 由于同時使用了文檔生成工具,使得系統(tǒng)設(shè)計和文檔、程序代碼保持一致,較好的解決了極易造成的文檔和實現(xiàn)不一致的現(xiàn)象。這一點非常重要。(責(zé)任編輯:銘銘)

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 庆安县| 东兴市| 邹城市| 遂平县| 济南市| 若羌县| 宁武县| 乐陵市| 揭阳市| 襄樊市| 佛坪县| 望谟县| 鄂伦春自治旗| 康马县| 禄丰县| 呼和浩特市| 乐清市| 共和县| 天津市| 安义县| 黄陵县| 香河县| 仁怀市| 淳化县| 咸阳市| 定南县| 大邑县| 海原县| 塘沽区| 札达县| 三门县| 集安市| 韩城市| 汝城县| 哈尔滨市| 黄冈市| 嫩江县| 灵川县| 新乡县| 吉安县| 太保市|