999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于XML的代碼自動生成技術在軟件開發中的應用

2017-06-27 08:14:18武建亮辛長平
無線電通信技術 2017年4期

武建亮,辛長平,楊 寧

(1.中國電子科技集團第五十四研究所,河北 石家莊 050081;2.河北遠東通信系統工程有限公司,河北 石家莊 050081;3. 中國人民解放軍63615部隊,新疆 庫爾勒 841001)

基于XML的代碼自動生成技術在軟件開發中的應用

武建亮1,辛長平2,楊 寧3

(1.中國電子科技集團第五十四研究所,河北 石家莊 050081;2.河北遠東通信系統工程有限公司,河北 石家莊 050081;3. 中國人民解放軍63615部隊,新疆 庫爾勒 841001)

針對航天測控工程監控軟件的功能及開發維護過程中遇到的通用性差、接口依賴型強、代碼復用率低、開發效率低等問題,提出了基于XML的數據關系描述技術和代碼自動生成技術。能夠自動生成針對各分機的數據結構類、數據處理類和分機界面。工程實踐證明,應用該技術可以實現軟件代碼的快速開發,具有開發周期短、適應性強、可靠性高的特點。

航天測控;XML;代碼自動生成

0 引言

目前航天測控工程中監控軟件作為測控系統的監控中心,擔負著整個系統設備的狀態監視、參數設置、任務配置等功能,同時負責調度系統設備執行各種自檢、測試、系統標校、目標捕獲以及測控任務的執行等功能。監控軟件通過網絡、串口等多種通信方式與系統內各分機或分系統進行信息交互。隨著測控系統設備的功能越來越全,設備越來越多,監控軟件的開發越來越復雜,需要花費大量人力、時間去進行接口的編碼、調試和測試,而且接口在發生變動時(經常發生),維護和修改也會耗費大量時間。由不同人員編寫的代碼質量不盡相同,導致目前航天測控工程監控軟件存在開發效率低、可維護性差、通用性差、接口依賴型強、代碼復用率低、功能模塊耦合度高等問題。

為了解決上述問題,本著統一、高效、快速、可靠的設計思想,提出了在監控軟件開發過程中使用基于XML[1-3]配置文件的代碼生成技術,應用此技術能自動生成針對各分機的數據結構類、數據處理類和分機界面,從而實現監控軟件的快速開發,同時提高軟件的可靠性,也使監控軟件代碼的通用性、可維護性大大增強。

1 設計思想

為了自動生成監控軟件針對各分機的數據結構類、數據處理類和分機管理界面,需要解決的主要問題包括:

① 采用可描述性語言對每個外部接口的數據幀格式、內外部接口數據元素、內外部接口數據元素格式轉換方式、參數執行結果等關系進行描述;

② 利用數據和函數代碼生成技術,將外部接口幀格式、外部接口命令幀、內外數據元素轉換、參數執行結果比對等關系轉換為數據類和函數體;

③ 利用窗體界面代碼生成技術,生成設備狀態監視窗體用于監視各分機設備工作參數和設備狀態;

④ 利用窗體界面代碼生成技術,生成設備參數設置和控制窗體用于進行分機設備控制。

采用基于XML的配置文件來對每個外部接口的數據幀格式、內外部接口數據元素、內外部接口數據元素格式轉換方式、參數執行結果等關系進行描述,同時利用配置文件中描述的分機接口信息生成對應的分機數據結構類、分機設備處理類、分機人機界面中的參數設置界面,實現監控軟件的高效快速開發。

2 XML配置文件設計

XML是萬維網聯盟(World Wide Web Consortium,W3C)發布的一種標準,是標準通用標記語言(Standard Generalized Markup Language,SGML)的一個簡化子集。XML遵循嚴格語法規范,實現了數據存儲格式結構化,具有擴展性好、數據共享與重用簡單和網絡傳輸方便等優點,已成為一種通用的數據交換標準[4-8]。

XML配置文件描述內容主要包括:

① 對分機外部接口數據元素及分機命令幀格式進行描述;

② 對分機處理類內部數據元素進行定義,并定義內部數據元素與外部接口數據元素之間的轉換關系;

③ 對分機下發參數和匯報參數比對關系進行描述。

接口的規范化描述如圖1所示。其中,圖1(a)為數據元素的規范化描述,將分機接口中每一個數據元素包含12個屬性,即序號(關鍵字,不能重復)、名稱、數據類型、量化單位、步進、最大值、最小值、默認值、單位、格式、描述、顯示選擇;圖1(b)為接口命令的規范描述,具體屬性包括命令名稱、命令標識、數據長度和命令內容(與接口數據元素對應);圖1(c)為接口轉換的規范化描述,屬性包括:主數據元素序號、名稱、子數據元素個數和子數據元素[9-10,15,16]。表1為XML配置文件列表。

(a)數據元素表

(b)命令組織關系表

表1 配置文件列表

序號配置文件名稱用途11.xml發數據元素集合22.xml收數據元素集合33.xml內部數據元素集合44.xml參數比對結果數據元素集合55.xml發命令與發數據元素對應表66.xml接命令與收數據元素對應表77.xml發枚舉數據元素枚舉項列舉88.xml收枚舉數據元素枚舉項列舉99.xml收發數據元素對應關系1010.xml收數據元素與內部數據元素轉換關系

3 代碼自動生成技術

3.1 生成數據結構類

利用配置文件中描述的分機接口信息生成對應的分機數據結構類代碼。生成數據結構類代碼的過程由SmcuMaker_Data類完成,SmcuMaker_Data類視圖如圖2所示。

圖2 SmcuMaker_Data類視圖

SmcuMaker_Data類實現的主要功能函數包括:

① Create_DataClass:根據生成數據結構類文件;

② Create_Macro:根據生成分機地址、命令字的宏定義;

③ Create_CmdData:根據每個命令生成對應的結構,包含初始化函數。

3.2 生成分機設備處理類

利用配置文件中描述的分機接口信息生成分機設備處理類,每一個外部分機生成一個對應的設備處理類。生成分機設備處理類代碼的過程由SmcuMaker_Dev類完成,SmcuMaker_Dev類視圖如圖3所示。

圖3 SmcuMaker_Dev類視圖

3.3 生成人機界面

利用配置文件中描述的分機接口信息生成分機人機界面中工作量最大的參數設置界面,每一個外部分機生成一個對應的監控界面。生成分機參數設置界面的過程由SmcuMaker_View類完成,SmcuMaker_View類視圖如圖4所示。

圖4 SmcuMaker_View類視圖

① Create_ViewClass:根據生成界面;

② Create_Attribute:界面類屬性定義,包括界面控件和命令數據對象,利用設置數據元素表和下發命令與數據元素對應關系表為每個單命令中的數據元素創建名稱控件(Label,用于顯示數據元素名稱)和輸入(顯示)控件,輸入(顯示)控件根據數據元素格式選擇,目前支持浮點輸入、十六進制輸入、文本輸入、枚舉輸入和十進制輸入;

③ Create_CmdData:根據為每個命令生成對應的結構,包含初始化函數;

④ 分機包含多個單元時,使用頁簽進行區分,并且為每個單元創建設置和更改按鈕。

4 仿真實驗對比

為驗證本文方法,統計了手動編碼與代碼自動生成兩種方式開發一個工程監控軟件中標準模式基帶分機管理模塊的工作量、時間、代碼質量并做統計比對。從表2可知編寫數據結構類的效率稍高,代碼錯誤率稍低,但從表3和表4可知編寫分機管理類和人機界面時,使用XML自動生成方式比手動編碼節省大約90人時的工作量,總工作量節省大約85人時,代碼錯誤率大幅降低。

手動編碼方式在軟件開發的各個階段都可能存在錯誤,而且由于編碼人員水平不同導致代碼質量也參差不齊,而使用代碼自動生成技術開發軟件時僅在前期開發和調試代碼生成器時投入較大工作量,一旦代碼生成器調試完成,軟件編碼工作可轉換為編寫配置文件。

通過實驗證明代碼自動生成技術可提高軟件的開發效率、可靠性和代碼的可維護性[11-14]。

表2 手動與代碼生成工程實驗對比-數據結構類

開發方式行數工作量(人時)代碼(XML)錯誤率/%可維護性手動編寫數據結構類4552452好編寫XML文件2265503好

表3 手動與代碼生成工程實驗對比-分機管理類

開發方式代碼行數工作量(人時)代碼(XML)錯誤率/%可維護性手動編碼55355618差代碼生成5561<13好

表4 手動與代碼生成工程實驗對比-人機界面類

開發方式代碼行數工作量(人時)代碼(XML)錯誤率/%可維護性手動編碼143753613差代碼生成18585<13好

5 結束語

提出通過XML配置文件的方式對監控軟件與各外部分機之間的接口進行描述,并使用代碼生成技術生成相應的數據結構類、設備分機處理類和人機界面。該方法較以往的接口開發流程在效率和正確率方面有顯著提高,可將傳統的代碼驗證變為生成規則驗證,只要規則正確,生產的代碼就完全正確,因此該方法可適用于多個領域的監控軟件開發。

[1] Meixner G,Seissler M,Breiner K.Model-Drieven Useware Engineering [J].Model-Driven Development of Advanced User Interface,2011,340:1-26.

[2] 王慶.XML約束在XML數據存儲、發布和轉換中的應用[D].上海:復旦大學,2004:15-17.

[3] 馬俊,王曉磊.XML技術在數據集成與共享中的應用[M].武漢:武漢華中科技大學出版社,2009.

[4] 張瓊,黃翩.基于XML的代碼自動生成工具[J].電子科技,2015,28(2):95-97.

[5] 趙軍. 基于模板的代碼生成器的研究與實現[J]. 長春師范學院學報,2011(12):28-34.

[6] 苗維杰,李天輝.基于XML代碼生成技術的應用研究[J]. 電子元器件應用,2009(10):75-78 .

[7] 楊皓,楊忠,吳愚.基于XML腳本的代碼生成技術及其應用[J].電腦知識與技術,2009(07):1712-1713.

[8] 范秋生.XML的代碼生成器的設計與實現[J].長江大學報(自然科學版)理工卷,2008(01):211-212.

[9] 王明,劉立新,張核銘,等.基于.NET平臺的生產管理系統設計與實現[J].無線電工程,2008,38(5):10-12.

[10]孫婧,劉瑩,孟景濤,等.基于XML的軟件通用程序框架[J].無線電工程,2015,45(6):25-27.

[11]狄彩云,張英,狄衛國,等.航天測控通信中指定源組播的技術研究[J].無線電工程,2014,44(9):5-7.

[12]孫偉杰,張曉欣,畢嘉鴻,等.C程序代碼結構審查算法的研究與實現[J].無線電工程,2013,39(3):89-92.

[13]張晶,黃小峰.基于業務模型和界面模型的代碼生成工具[J].電腦與信息技術,2016,24(5):2-15.

[14]孫偉杰,張曉欣,畢嘉鴻,等.C程序代碼結構審查算法的研究與實現[J].無線電工程,2013,39(3):89-92.

[15]接卉,蘭雨晴,駱 沛.一種關鍵字驅動的自動化測試框架[J]. 計算機應用研究,2009,26(3):927-929.

[16]戴建國,郭 理,曹傳東.JUnit框架剖析[J]. 計算機與數字工程,2008(08):43-45.

Application of XML-based Code Auto-generation Technique in Aerospace TT&C Software Development

WU Jian-liang1,XIN Chang-ping2,YANG Ning3

(1. The 54th Research Institute of CETC,Shijiazhuang Hebei 050081,China;2. Hebei Far-East Communication System Engineering Co.,Ltd,Shijiazhuang Hebei 050081,China;3. Unit 63615,PLA,Kuerle Xinjiang 841001,China)

In order to solve the problems such as the low generality,high dependence on interface,low code sharing rate and low development efficiency during the software development of aerospace TT&C system,this paper proposes a solution based on the technique of data relation description based on XML and code auto-generation. Through this solution,the classes of data structure,data processing and interface of sub-system for each sub-system can be automatically generated. The engineering practice has proven that by using the proposed technique,fast development of software code can be implemented,and advantages such as short development circle,good adaptability and high reliability can be achieved.

aerospace TT&C;XML;code auto-generation

10. 3969/j.issn. 1003-3114. 2017.04.24

武建亮,辛長平,楊寧.基于XML的代碼自動生成技術在軟件開發中的應用[J].無線電通信技術,2017,43(4):101-104.

[WU Jianliang,XIN Changping,YANG Ning. Application of XML-based Code Auto-generation Technique in Aerospace TT&C Software Development [J]. Radio Communications Technology,2017,43(4):101-104. ]

2017-03-20

國家高技術研究發展計劃(863計劃)項目(2013AA122904)

武建亮(1984—),男,工程師,主要研究方向:航天測控。辛長平(1983—),女,工程師,主要研究方向:信息系統開發。

TP311

A

1003-3114(2017)04-101-4

主站蜘蛛池模板: 精品国产亚洲人成在线| 亚洲国产精品一区二区第一页免| 98超碰在线观看| 人妻91无码色偷偷色噜噜噜| 亚洲一区二区在线无码| 福利一区三区| 亚洲国产精品一区二区高清无码久久| 久草视频精品| 波多野结衣久久高清免费| 亚洲va视频| 欧美翘臀一区二区三区| 亚洲AV无码精品无码久久蜜桃| 亚洲人成网站在线播放2019| 国产女同自拍视频| 久久黄色免费电影| 久久综合久久鬼| 欧美精品不卡| 国产欧美高清| 91在线一9|永久视频在线| 久久婷婷六月| 国产不卡一级毛片视频| 国产日韩精品欧美一区灰| 高清久久精品亚洲日韩Av| 91色在线观看| 欧美成人一区午夜福利在线| 国产一在线| 在线观看国产一区二区三区99| 国产精品片在线观看手机版| 久久伊人操| 亚洲无码高清视频在线观看| 毛片a级毛片免费观看免下载| 国产一级二级三级毛片| Aⅴ无码专区在线观看| 久久无码免费束人妻| 国产精品自在线拍国产电影| 国产精品无码AⅤ在线观看播放| 东京热一区二区三区无码视频| 欧美激情综合| 精品国产自在现线看久久| 人人看人人鲁狠狠高清| 在线中文字幕日韩| 成人在线天堂| 亚洲中文字幕97久久精品少妇| 精久久久久无码区中文字幕| 欧美日韩国产系列在线观看| 91福利免费视频| 麻豆国产在线不卡一区二区| 波多野吉衣一区二区三区av| 九九香蕉视频| 国产成人精品2021欧美日韩| 天天综合天天综合| 欧美有码在线| 亚洲中文无码av永久伊人| 欧美一级专区免费大片| 亚洲综合18p| 91精品国产自产91精品资源| 国产不卡在线看| 色爽网免费视频| 污网站在线观看视频| 自慰网址在线观看| 国产不卡网| 欧美成人午夜影院| 欧美成人国产| 2021精品国产自在现线看| 黄色a一级视频| 国产精品视频猛进猛出| 亚洲午夜福利在线| 久久99久久无码毛片一区二区 | 日韩少妇激情一区二区| 国产青青草视频| 成人免费视频一区| 日韩欧美一区在线观看| 亚洲国产综合自在线另类| 国产精品太粉嫩高中在线观看| 日本黄网在线观看| 黄色国产在线| 国产亚洲日韩av在线| 欧美精品成人| 欧美日韩中文国产va另类| 伊人天堂网| 国产最爽的乱婬视频国语对白| 理论片一区|