馬 莉,王建國,韋勇宇,閆建鵬,寧文學(xué)
(北方自動(dòng)控制技術(shù)研究所,太原 030006)
基于圖元的火控系統(tǒng)人機(jī)交互界面的實(shí)現(xiàn)
馬 莉,王建國,韋勇宇,閆建鵬,寧文學(xué)
(北方自動(dòng)控制技術(shù)研究所,太原 030006)
本文提出基于圖元的火控系統(tǒng)人機(jī)交互界面,在客戶端/服務(wù)器信息處理與顯示模式下,根據(jù)火控系統(tǒng)人機(jī)交互界面的實(shí)際需求,設(shè)計(jì)出所需的圖元庫。然后,利用圖元庫設(shè)計(jì)出部分UI界面,完成UI界面的注冊(cè)過程以及相應(yīng)的控制文件的編寫設(shè)計(jì),將用戶操作同界面數(shù)據(jù)進(jìn)行關(guān)聯(lián)。最后,設(shè)計(jì)并搭建顯控服務(wù)和圖元終端,采用DDS通信協(xié)議,實(shí)現(xiàn)服務(wù)器端和客戶端的數(shù)據(jù)傳輸。該設(shè)計(jì)過程將界面顯示與應(yīng)用程序、邏輯處理、業(yè)務(wù)過程相分離。這種設(shè)計(jì)思想符合模塊化、系列化發(fā)展思路,與模塊化火控設(shè)計(jì)思想一致。
圖元,人機(jī)交互界面,模塊化火控系統(tǒng),C/S架構(gòu),DDS
當(dāng)前壓制武器火控系統(tǒng)發(fā)展主要隨型號(hào)分立研制,一型武器研制一型火控系統(tǒng)。由于缺乏頂層設(shè)計(jì),未建立層次分明、靈活配置的統(tǒng)一體系架構(gòu),火控系統(tǒng)升級(jí)改造往往“牽一發(fā)而動(dòng)全身”,局部功能的升級(jí)有時(shí)需要通過系統(tǒng)改動(dòng)來實(shí)現(xiàn)。導(dǎo)致通用性差、模塊化程度低、接口繁雜、保障復(fù)雜,軟件耦合度高、升級(jí)維護(hù)困難,對(duì)武器平臺(tái)性能提升和功能拓展形成了制約。而模塊化火控系統(tǒng)采用系列化、模塊化、跨平臺(tái)的系統(tǒng)架構(gòu),建立壓制武器火控的模塊化技術(shù)體制,是壓制武器平臺(tái)化發(fā)展、裝備高效化發(fā)展和快速形成戰(zhàn)斗力的必然需求。此外,模塊化火控系統(tǒng)可以形成通用的功能分區(qū)、標(biāo)準(zhǔn)的基礎(chǔ)流程和風(fēng)格一致的人機(jī)交互模式,有利于部隊(duì)訓(xùn)練使用和快速掌握。因此,模塊化火控系統(tǒng)的產(chǎn)生有其必要性和重要性。而基于圖元的火控系統(tǒng)人機(jī)交互界面符合模塊化、系列化發(fā)展思路,與模塊化火控設(shè)計(jì)思想一致。
傳統(tǒng)的火控系統(tǒng)人機(jī)界面是基于“嵌入”方式進(jìn)行的,應(yīng)用程序設(shè)計(jì)人員在設(shè)計(jì)軟件時(shí),是按照功能及界面兩方面要求混合編寫用戶界面和應(yīng)用功能兩部分程序。在這種傳統(tǒng)的設(shè)計(jì)模式下,設(shè)計(jì)人員必須同時(shí)兼顧圖形表現(xiàn)的設(shè)計(jì)及其邏輯功能設(shè)計(jì),這大大增加其設(shè)計(jì)負(fù)擔(dān),更重要的是,用戶界面只要稍有變動(dòng),應(yīng)用程序就需要作出相應(yīng)修改且需要重新編譯,對(duì)于不同的顯示界面需要不同的應(yīng)用程序。這樣不僅增加了工作量,而且不易于操作和維護(hù)。
而基于圖元的火控系統(tǒng)人機(jī)交互界面在設(shè)計(jì)時(shí)將界面顯示與應(yīng)用處理相分離,保證服務(wù)器端軟件的升級(jí)不會(huì)影響客戶端軟件的運(yùn)行狀態(tài)。另外,采用客戶端/服務(wù)器信息處理與顯示模式,實(shí)現(xiàn)信息集中處理、分布顯示,提高武器系統(tǒng)信息共享程度,顯示終端可以在不更改服務(wù)器端應(yīng)用程序的前提下根據(jù)作戰(zhàn)需求進(jìn)行靈活配置。這種界面圖元化設(shè)計(jì)方法能夠提高火控系統(tǒng)軟件復(fù)用性和設(shè)計(jì)效率,增強(qiáng)軟件可擴(kuò)展性,對(duì)火控系統(tǒng)人機(jī)交互界面的設(shè)計(jì)和開發(fā)具有重大意義。
圖1 圖元化界面顯示示意圖
圖元化界面顯示過程由圖元顯示控制服務(wù)、圖元引擎、圖元庫、圖元文件和圖元顯示5部分支撐。如圖1所示,其中圖元顯示控制服務(wù)負(fù)責(zé)針對(duì)界面切換任務(wù),選擇對(duì)應(yīng)的圖元文件作為界面顯示描述文件;負(fù)責(zé)解析當(dāng)前運(yùn)行狀態(tài),把需要顯示的圖元類型和圖元屬性信息發(fā)送至客戶端??蛻舳藞D元引擎負(fù)責(zé)解析接收到的顯示內(nèi)容,在圖元庫中查找對(duì)應(yīng)圖元;負(fù)責(zé)將用戶操作發(fā)送至圖元顯示控制服務(wù),以觸發(fā)任務(wù)流程。客戶端圖元顯示負(fù)責(zé)根據(jù)圖元文件和圖元庫中的圖元進(jìn)行界面組裝和顯示,并捕獲用戶操作。
圖元化界面實(shí)現(xiàn)過程:用戶對(duì)界面中具有交互功能的圖元進(jìn)行操作后,圖元引擎負(fù)責(zé)解析動(dòng)作,把當(dāng)前動(dòng)作發(fā)送至圖元顯示控制服務(wù),圖元顯示控制服務(wù)根據(jù)當(dāng)前所在圖元界面和動(dòng)作類型,完成對(duì)應(yīng)邏輯功能,并向圖元引擎返回新生成的圖元描述內(nèi)容,圖元引擎根據(jù)描述內(nèi)容對(duì)圖元顯示界面進(jìn)行更新。
這種界面圖元化設(shè)計(jì)方法主要側(cè)重于減輕開發(fā)設(shè)計(jì)人員的負(fù)擔(dān),并且有利于后續(xù)的擴(kuò)展和復(fù)用。所設(shè)計(jì)的呈現(xiàn)給用戶的界面在一定程度上可以與舊的界面有一樣的感觀效果和操作體驗(yàn),但正是由于這樣,新的開發(fā)方式設(shè)計(jì)出的界面,用戶更加容易接受,無需另外培訓(xùn)。同時(shí),還能提高火控系統(tǒng)軟件復(fù)用性和設(shè)計(jì)效率,增強(qiáng)軟件可擴(kuò)展性。
炮長終端、操控終端和任務(wù)服務(wù)模塊采用客戶端/服務(wù)器架構(gòu)。如圖2所示,其中的任務(wù)服務(wù)軟件由信息接口模塊、任務(wù)服務(wù)模塊和數(shù)據(jù)庫模塊組成。任務(wù)服務(wù)模塊與炮長終端和操控終端軟件之間在以太網(wǎng)基礎(chǔ)上采用DDS中間件進(jìn)行信息交互。炮長終端和操控終端作為客戶端,完成輸入輸出控制;任務(wù)服務(wù)模塊作為服務(wù)器,完成信息獲取、處理和數(shù)據(jù)存儲(chǔ)??蛻舳伺c服務(wù)器采用統(tǒng)一的通信服務(wù)完成客戶端軟件與對(duì)應(yīng)服務(wù)的信息傳遞。
圖2 火控系統(tǒng)通信原理圖
下頁圖3為火控系統(tǒng)組成框圖。其中,人機(jī)交互單元由炮長終端和操控終端組成,終端的人機(jī)交互界面均采用圖元化界面顯示過程設(shè)計(jì)。
圖3 火控系統(tǒng)組成框圖
本文最初先確定火控系統(tǒng)顯示界面,然后分解提取圖元,并進(jìn)行接口封裝。然后,在Qt平臺(tái)下利用圖元進(jìn)行圖元化界面設(shè)計(jì)過程并產(chǎn)生相應(yīng)的UI界面文件。與此同時(shí),編寫服務(wù)器端的顯示控制服務(wù)程序,進(jìn)而完成客戶端/服務(wù)器架構(gòu)的搭建。最終通過DDS進(jìn)行終端與服務(wù)器的通信。該軟件通過將界面顯示與應(yīng)用處理相分離來保證服務(wù)器端軟件的升級(jí)不會(huì)影響客戶端軟件的運(yùn)行狀態(tài),從而驗(yàn)證圖元化界面設(shè)計(jì)的優(yōu)越性。
如前所述,本文提出基于圖元的火控系統(tǒng)人機(jī)交互界面,在客戶端/服務(wù)器信息處理與顯示模式下,通過分解火控系統(tǒng)人機(jī)界面的圖元符號(hào),經(jīng)過設(shè)計(jì),形成標(biāo)準(zhǔn)的圖元庫。采用界面圖元化思想開發(fā)設(shè)計(jì)人機(jī)交互操作界面,實(shí)現(xiàn)信息集中處理、分布顯示,提高武器系統(tǒng)信息共享程度,顯示終端可以在不更改服務(wù)器端應(yīng)用程序的前提下根據(jù)作戰(zhàn)需求進(jìn)行靈活配置。具體設(shè)計(jì)思路可分為以下幾點(diǎn):
①對(duì)圖元化人機(jī)交互界面架構(gòu)設(shè)計(jì)原理進(jìn)行深入研究;
②根據(jù)火控系統(tǒng)人機(jī)交互界面的實(shí)際需求,設(shè)計(jì)出所需的圖元庫;
③利用圖元設(shè)計(jì)部分UI界面,并編寫相應(yīng)的控制文件,實(shí)現(xiàn)用戶操作同界面數(shù)據(jù)的關(guān)聯(lián);
④設(shè)計(jì)并搭建顯控服務(wù)和圖元終端,采用DDS通信協(xié)議,實(shí)現(xiàn)服務(wù)器端xiangkongfuwu和客戶端tuyuan的數(shù)據(jù)傳輸;
⑤對(duì)軟件的實(shí)現(xiàn)效果進(jìn)行演示驗(yàn)證。
在實(shí)際設(shè)計(jì)中,在Linux環(huán)境下使用Qt創(chuàng)建兩個(gè)項(xiàng)目,分別為服務(wù)器端的xiangkongfuwu和客戶端的tuyuan,項(xiàng)目xiangkongfuwu模擬火控系統(tǒng)的任務(wù)服務(wù)模塊中的顯示控制服務(wù)部分,而項(xiàng)目tuyuan模擬顯示終端。二者采用DDS中間件進(jìn)行通信,DDS應(yīng)用開發(fā)接口與底層硬件完全分離,上次應(yīng)用無需關(guān)注底層硬件情況,應(yīng)用程序只需調(diào)用發(fā)送或接受函數(shù)傳輸數(shù)據(jù)。DDS利用QoS對(duì)不同類型報(bào)文設(shè)置傳輸策略,保證數(shù)據(jù)傳輸及時(shí)性和可靠性;通過調(diào)用DDS通信模塊的接口函數(shù)實(shí)現(xiàn)通信,部分接口函數(shù)詳見表1:
表1 DDS通信模塊的接口函數(shù)
3.1 圖元庫中部分圖元的設(shè)計(jì)分析
圖元主要根據(jù)火控系統(tǒng)顯示界面的具體需求來制定。為使火控顯示系統(tǒng)的人機(jī)圖形交互界面更加豐富,使應(yīng)用程序開發(fā)更加簡(jiǎn)單方便,開發(fā)周期更加簡(jiǎn)短,使圖形顯示更具有繼承性和標(biāo)準(zhǔn)化,需開發(fā)一套火控系統(tǒng)顯示界面所需的具有標(biāo)準(zhǔn)圖形界面的圖元庫。
基于Qt的圖形圖元擴(kuò)展庫能夠基本滿足開發(fā)人機(jī)圖形交互界面的需求。圖元庫具有可視化功能,即所見即所得,便于開發(fā)者進(jìn)行人機(jī)圖形界面的開發(fā)。該圖元庫提供基本的圖形API交互接口,便于用戶應(yīng)用程序的二次開發(fā)。開發(fā)的最終形式為可應(yīng)用于在Linux環(huán)境下QT Designer的.so擴(kuò)展插件。
實(shí)際設(shè)計(jì)中,采用了一個(gè)圖元對(duì)應(yīng)一個(gè)圖元類,所有圖元類都繼承自同一父類的設(shè)計(jì)方式。該父類名為QWidget,包括了圖元所有通用屬性和操作的設(shè)計(jì),所有圖元的通用屬性類別大致相同,屬性值因具體圖元而異。每一個(gè)圖元類的屬性參數(shù)包括圖元狀態(tài)參數(shù)、風(fēng)格設(shè)置參數(shù)、位置尺寸參數(shù)和各自特有參數(shù),也就是說,每個(gè)圖元類都包含了繼承自QWidget的通用屬性和各自封裝的特有屬性。
例如,圖元Button是火控系統(tǒng)人機(jī)交互界面中最常見和使用最頻繁的圖元插件。Button類除繼承自QWidget類的通用屬性外,Button類有自己封裝的屬性,即圖元Button的特有屬性。圖元Button與Qt設(shè)計(jì)器Qt Designer中Widget Box里自帶的按鈕部件不同,它封裝了自己的特有屬性,例如形狀、顏色、大小、樣式以及鼠標(biāo)點(diǎn)擊和鼠標(biāo)釋放時(shí)顯示不同的視覺效果等。圖元Button的繪制過程如圖4所示。
圖4 圖元Button的繪制過程流程圖
圖元庫中的圖元對(duì)后期界面的設(shè)計(jì)很重要,是界面設(shè)計(jì)的基本單元和重要組成部分。為界面設(shè)計(jì)打下良好的基礎(chǔ),所以創(chuàng)建圖元庫是火控系統(tǒng)人機(jī)交互界面的核心。此外,隨著人機(jī)交互界面的不斷發(fā)展以及定制個(gè)性化圖元的需求,圖元庫還需要繼續(xù)擴(kuò)充,不斷完善。
3.2 火控系統(tǒng)人機(jī)交互界面的設(shè)計(jì)
本文提出將界面圖元化思想應(yīng)用到火控系統(tǒng)人機(jī)交互界面設(shè)計(jì)過程中,根據(jù)火控系統(tǒng)的實(shí)際需求,進(jìn)行終端界面的設(shè)計(jì)。火控系統(tǒng)人機(jī)交互界面在具體設(shè)計(jì)時(shí)按功能可以分為報(bào)文(報(bào)文顯示和上報(bào)編輯)、導(dǎo)航(地圖指示)、技術(shù)陣地(系統(tǒng)巡檢、慣導(dǎo)尋北等)、發(fā)射(發(fā)射控制、發(fā)射狀態(tài)監(jiān)控等)、系統(tǒng)管理(權(quán)限設(shè)置、IP設(shè)置等)等界面。火控系統(tǒng)人機(jī)交互界面設(shè)計(jì)框圖如圖5所示。界面設(shè)計(jì)過程的示意圖如圖6所示。
圖5 火控系統(tǒng)人機(jī)交互界面設(shè)計(jì)框圖
圖6 界面示意圖
UI界面直觀描述了界面上顯示的所有信息。在上一章建立的圖元庫基礎(chǔ)上,本課題通過Qt集成環(huán)境自帶的Qt設(shè)計(jì)師所見即所得,可直接設(shè)計(jì)出所需UI界面,然后在服務(wù)器端進(jìn)行注冊(cè)并進(jìn)行相應(yīng)的邏輯處理。在Qt Designer,即Qt設(shè)計(jì)師環(huán)境下,根據(jù)火控系統(tǒng)人機(jī)交互界面的實(shí)際需求完成所需UI界面文件(.ui文件)和對(duì)應(yīng)控制文件(.ctrl文件)的設(shè)計(jì),所有界面文件和控制文件組成定義文件(DFiles)存儲(chǔ)在圖元終端存儲(chǔ)器中供其調(diào)用,圖元終端根據(jù)所得路徑加載不同的ui文件,并顯示界面;同時(shí)加載控制文件,將用戶操作動(dòng)作與數(shù)據(jù)獲取。
圖7 圖元終端顯示原理圖
圖7中顯示窗口內(nèi)可顯示多個(gè)不同的UI界面,各UI界面由結(jié)構(gòu)化的圖元組成,且同一個(gè)圖元可應(yīng)用于不同UI界面,這里把每一個(gè)UI界面看做一層,每一層在服務(wù)器端的xiangkongfuwu中均注冊(cè)為UI類,所有UI類繼承自同一父類,即基礎(chǔ)類UiBase,基礎(chǔ)類中定義了所有類的共有函數(shù),如初始化函數(shù)、事件處理函數(shù)以及界面切換函數(shù)等,這一共有父類的定義更有利于所有界面類的統(tǒng)一調(diào)配。在注冊(cè)之后可直接通過類名對(duì)相應(yīng)界面進(jìn)行邏輯處理。這種對(duì)圖元終端顯示界面進(jìn)行層次劃分并實(shí)現(xiàn)分層管理的方式可以大大提高其設(shè)計(jì)模塊的可移植性,能夠滿足未來定制化火控系統(tǒng)人機(jī)交互界面的發(fā)展需求,設(shè)計(jì)人員只需按操作員的操作習(xí)慣規(guī)劃各層的顯示內(nèi)容及功能即可。
3.3 圖元化界面性能分析
為了驗(yàn)證圖元化人機(jī)交互界面開發(fā)設(shè)計(jì)方法較傳統(tǒng)界面開發(fā)方法的優(yōu)勢(shì),本節(jié)將就兩種界面開發(fā)方式進(jìn)行如下比較。
選擇一個(gè)典型的火控系統(tǒng)功能:彈種擴(kuò)充功能。設(shè)計(jì)時(shí)需要增加新彈的顯示和選擇功能,而且要增加針對(duì)新彈的操作流程界面。操作流程界面包括“衛(wèi)星對(duì)時(shí)”,“裝定參數(shù)”,“傳遞對(duì)準(zhǔn)”,“狀態(tài)查詢”等操作流程界面。
使用圖元化人機(jī)交互界面的開發(fā)方式,在客戶端利用圖元插件直接設(shè)計(jì)出所需界面文件,完成了新彈種操作流程界面的描述。同時(shí),加入了相應(yīng)的界面控制文件,實(shí)現(xiàn)了彈種的選擇和顯示功能。在服務(wù)器端增加了彈種流程中各功能的業(yè)務(wù)邏輯處理代碼。開發(fā)耗時(shí)1個(gè)工作日,調(diào)試耗時(shí)0.5個(gè)工作日。調(diào)試過程中共發(fā)現(xiàn)4個(gè)軟件問題,但很快定位,問題得到解決。
使用傳統(tǒng)的界面開發(fā)方式,不能直接使用圖元庫中現(xiàn)有的圖元插件,彈種擴(kuò)充后需要增加的“衛(wèi)星對(duì)時(shí)”,“裝定參數(shù)”,“傳遞對(duì)準(zhǔn)”,“狀態(tài)查詢”等操作流程界面均需要重新開發(fā)設(shè)計(jì),在對(duì)業(yè)務(wù)非常熟悉的前提下,經(jīng)過實(shí)際編寫設(shè)計(jì),開發(fā)耗時(shí)3.5個(gè)工作日,調(diào)試耗時(shí)2.5個(gè)工作日。調(diào)試過程中共發(fā)現(xiàn)12個(gè)問題,業(yè)務(wù)邏輯代碼和界面顯示代碼緊耦合,難以定位,問題雖得到解決,但耗時(shí)較長。
通過親測(cè)對(duì)比得到結(jié)果,如表2為兩種人機(jī)界面開發(fā)方式的開發(fā)效率對(duì)比表,表3所示為兩種人機(jī)界面開發(fā)方式下出現(xiàn)的軟件問題對(duì)比表。
通過以上對(duì)比分析,在客戶端/服務(wù)器信息處理與顯示模式下,圖元化界面設(shè)計(jì)方法將在業(yè)務(wù)邏輯處理與界面顯示相分離,并利用圖元庫中現(xiàn)有的圖元插件進(jìn)行界面開發(fā),與傳統(tǒng)人機(jī)界面設(shè)計(jì)方法相比,開發(fā)效率更高,調(diào)試周期更短,軟件問題更少。因此,圖元化人機(jī)交互界面開發(fā)設(shè)計(jì)方法較傳統(tǒng)人機(jī)界面設(shè)計(jì)方法更具有優(yōu)勢(shì)。采用圖元化界面設(shè)計(jì)方法能夠提高火控系統(tǒng)軟件復(fù)用性和設(shè)計(jì)效率,增強(qiáng)軟件可擴(kuò)展性,對(duì)火控系統(tǒng)人機(jī)交互界面的設(shè)計(jì)和開發(fā)具有重要的意義。
表2 開發(fā)效率對(duì)比表
表3 軟件問題對(duì)比表
本文對(duì)基于圖元的火控系統(tǒng)人機(jī)交互界面設(shè)計(jì)過程進(jìn)行了較為深入的研究與開發(fā),實(shí)現(xiàn)了預(yù)期的功能,并對(duì)軟件的實(shí)現(xiàn)效果進(jìn)行演示驗(yàn)證。由于其特有的優(yōu)勢(shì),界面圖元化的思想在火控系統(tǒng)中乃至兵器領(lǐng)域會(huì)有很好的應(yīng)用前景。具體來講,后續(xù)的研究工作主要按照下述方面展開:首先,由于時(shí)間關(guān)系和個(gè)人應(yīng)用經(jīng)驗(yàn)不足,本文不能將火控系統(tǒng)所需各類界面都涉及到,以便形成一個(gè)更系統(tǒng),更完善的軟件界面集合,所以在以后的工作中,還需進(jìn)一步對(duì)軟件界面進(jìn)行添加完善并優(yōu)化設(shè)計(jì);其次,現(xiàn)有顯示終端所使用到的圖元有一定的局限性,能夠滿足簡(jiǎn)單畫面的顯示需求。然而,隨著火控系統(tǒng)人機(jī)交互界面的需求變化,或者是應(yīng)用到更多其他的顯示設(shè)備上,則要提供更多圖元部件的支持。因此,后期需要加入更多的圖元部件,在現(xiàn)有圖元庫的基礎(chǔ)上,進(jìn)一步維護(hù)、擴(kuò)充和完善圖元庫,相應(yīng)的研究與設(shè)計(jì)任務(wù)還比較重。
[1]陳春甫.基于DDS的數(shù)據(jù)分發(fā)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].上海:復(fù)旦大學(xué)信息科學(xué)與工程學(xué)院,2008:13-25.
[2]Pardo-Castellote.DDS spec outfits publish-subscriber technology for the GIG[J].COTS,2005,30(4):50-55.
[3]李艷民.基于Qt跨平臺(tái)的人機(jī)交互界面的研究和應(yīng)用[D].重慶:重慶大學(xué),2007:14-18.
[4]方志剛.人機(jī)交互技術(shù)綜述[J].人類工效學(xué),1998,4(9):64-66.
Realization of the Human-computer Interaction Interface of Fire Control System Based on Graphic Element
MA Li,WANG Jian-guo,WEI Yong-yu,YAN Jian-peng,NING Wen-xue
(North Automatic Control Technology Institute,Taiyuan 030006,China)
In this paper,an interactive interface of fire control system based on graphic elements is proposed,in the client/server information processing and display mode,according to the actual requirements of the fire control system of man-machine interface design,a graphics element library required is designed.Then,a part of the UI interface is designed by using the graphic element library,the registration process of the UI interface and the design of the corresponding control files are completed,and the user operation is related to the data of the interface.Finally a display and control service and graphic element terminal is designed and built by using DDS communication protocol.By this way,the data transmission of the server and client is realized.At the same time,the interface display is separated from application program,logic processing and business process.This design can meet the modular and serialized development ideas,and be consistent with the idea of modular fire control system.
graphics element,human-computer interaction interface,modular fire control system,C/S architecture,DDS
E92;TJ02
A
10.3969/j.issn.1002-0640.2017.07.037
1002-0640(2017)07-0170-05
2016-05-05
2016-06-17
馬 莉(1989- ),女,山西霍州人,碩士研究生。研究方向:系統(tǒng)工程。