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