實(shí)例解析 用UML模型實(shí)現(xiàn)大型實(shí)時(shí)監(jiān)控應(yīng)用軟件
本文和大家重點(diǎn)討論一下UML模型的應(yīng)用問(wèn)題,以實(shí)現(xiàn)大型實(shí)時(shí)監(jiān)控應(yīng)用軟件為例向大家介紹UML模型的應(yīng)用,CTS是監(jiān)控系統(tǒng)的中心,它主要用來(lái)控制測(cè)量設(shè)備實(shí)時(shí)跟蹤和測(cè)量飛行目標(biāo),實(shí)時(shí)處理測(cè)量結(jié)果,并兼有顯示、打印、記錄等功能。
1、概述
實(shí)時(shí)監(jiān)控應(yīng)用軟件(CTS)開(kāi)發(fā)過(guò)去采用的是結(jié)構(gòu)化方法,采用的編程語(yǔ)言也是匯編語(yǔ)言、FortranAda等結(jié)構(gòu)化編程語(yǔ)言。也曾有過(guò)分析和設(shè)計(jì)階段采用結(jié)構(gòu)化方法,編程實(shí)現(xiàn)采用面向?qū)ο笳Z(yǔ)言的嘗試。
采用面向?qū)ο蠓椒ǎ║ML)完整的實(shí)現(xiàn)監(jiān)控實(shí)時(shí)應(yīng)用軟件是首次嘗試,收到了較好的成效。UML(統(tǒng)一建模語(yǔ)言)是美國(guó)Rational公司創(chuàng)造的面向?qū)ο箝_(kāi)發(fā)中一種通用的、統(tǒng)一的圖形化模型語(yǔ)言。它于1997年11月被美國(guó)OMG小組批準(zhǔn)成為面向?qū)ο箝_(kāi)發(fā)的行業(yè)標(biāo)準(zhǔn)語(yǔ)言。UML標(biāo)準(zhǔn)的樹(shù)立統(tǒng)一了面向?qū)ο蟮慕7椒ǎ藢?duì)象建模差別。Rational公司的旗艦產(chǎn)品之一RationalRose提供了對(duì)這一行業(yè)標(biāo)準(zhǔn)語(yǔ)言的充分支持。
Rose是一個(gè)面向?qū)ο蟮能浖治鲈O(shè)計(jì)建模工具,可以創(chuàng)建基于UML標(biāo)準(zhǔn)的模型,圖形化地對(duì)軟件系統(tǒng)結(jié)構(gòu)加以描述和定義,并且通過(guò)建立的模型直接生成代碼框架。同時(shí),還可以從開(kāi)發(fā)者編的應(yīng)用系統(tǒng)中直接逆向生成模型。下面將就實(shí)時(shí)監(jiān)控應(yīng)用軟件的分析設(shè)計(jì)是如何使用RationalRose來(lái)實(shí)現(xiàn)的作一簡(jiǎn)要介紹。
2、UML模型
CTS是監(jiān)控系統(tǒng)的中心,它主要用來(lái)控制測(cè)量設(shè)備實(shí)時(shí)跟蹤和測(cè)量飛行目標(biāo),實(shí)時(shí)處理測(cè)量結(jié)果,并兼有顯示、打印、記錄等功能。它和測(cè)量設(shè)備的關(guān)系如圖1所示。
實(shí)時(shí)應(yīng)用軟件通過(guò)數(shù)據(jù)包和測(cè)量設(shè)備交換信息。軟件實(shí)時(shí)性要求較高,在每個(gè)采樣周期內(nèi),必須完成該周期的數(shù)據(jù)處理工作,也要有一定的人工干預(yù)能力。實(shí)時(shí)應(yīng)用軟件模型用來(lái)描述軟件各層次的各個(gè)方面,它包括UseCase圖、類圖、序列圖、狀態(tài)圖、分布圖和組件圖。
2.1UseCase圖
UML模型中UseCase也稱為用例、使用情況,它是系統(tǒng)分析人員從用戶使用的觀點(diǎn)來(lái)看系統(tǒng)功能、功能之間的關(guān)系以及用戶與功能之間的關(guān)系。它是系統(tǒng)功能以及用戶與功能之間的關(guān)聯(lián),利用UseCase系統(tǒng)分析人員對(duì)系統(tǒng)的功能和行為加以描述。CTS的UseCase圖如圖2所示。CCP為前端通信處理機(jī),Operator為操作員,Interrupt為操作臺(tái)命令產(chǎn)生的中斷。Simulation模擬狀態(tài),用于軟件調(diào)試和操作員訓(xùn)練。Task:實(shí)戰(zhàn)狀態(tài),用于實(shí)戰(zhàn)任務(wù)。Abnomity:異常處理,應(yīng)急狀態(tài)。SimpleServer:打印、記盤等服務(wù)。CommuniciateProcess:從CCP接收測(cè)量設(shè)備傳來(lái)的數(shù)據(jù)包之后解包,然后按要求將多幀數(shù)據(jù)重新組織成一幀轉(zhuǎn)發(fā)到CCPDataProcess:將CommuniciateProcess接收的數(shù)據(jù)依據(jù)處理要求進(jìn)行挑點(diǎn)處理,利用CommuniciateProcess解包后的數(shù)據(jù)計(jì)算軌道、平滑外推和預(yù)報(bào)等。DisplayProcess:將挑點(diǎn)后的數(shù)據(jù)按指定的要求在不同的顯示服務(wù)器上以文字、數(shù)字或圖象形式顯示。將DataProcess的處理結(jié)果在指定的顯示服務(wù)器顯示。所有UseCase的工作都必須在指定的時(shí)間周期內(nèi)完成。
2.2類圖
類圖是系統(tǒng)的邏輯結(jié)構(gòu),是模型的核心部分。它描述了系統(tǒng)中的類及類之間的關(guān)系,類圖描述系統(tǒng)的靜態(tài)結(jié)構(gòu)。UML模型中類包是子系統(tǒng)中相關(guān)類的集合,包類似于Peter/Coord方法中的主題詞(subject)。圖3描述了CTS的類包。
UML模型中類包DisplayProcess、DataProcess、CAbnormity和CommunicateProcess是我們自己開(kāi)發(fā)的,是系統(tǒng)的核心,其余的類包是由Microsoft提供的。DisplayProcess類包包含了顯示所需要的所有和MFC有關(guān)的類,DisplayProcess類包中的類都是從MFC派生的,一般都增加了CTS系統(tǒng)所需要的特性。DisplayProcess類包中的類及類之間的關(guān)系如圖4所示。
 圖4DisplayProcess類包中的類及類之間的關(guān)系
 
【編輯推薦】
- 學(xué)習(xí)筆記 UML模型圖及其功能
 - UML基礎(chǔ) 解析動(dòng)態(tài)UML模型圖
 - 深入剖析靜態(tài)UML模型圖
 - 解析UML中五類UML模型圖
 - 用UML模型實(shí)現(xiàn)大型實(shí)時(shí)監(jiān)控應(yīng)用軟件
 



















 
 
 
 
 
 
 