■ 汪騰 王壽菊 李金剛 張彪/中國航發(fā)研究院
方法工具的信息化實(shí)現(xiàn)是將研發(fā)過程中使用的各種方法工具進(jìn)行抽象、封裝與集成,提供統(tǒng)一的、可靈活調(diào)用且簡(jiǎn)單易用的工具模板、文檔模板和集成軟件。
在航空發(fā)動(dòng)機(jī)研制過程中,各單位積累了大量的研發(fā)方法工具,但都具有個(gè)性化強(qiáng)、非標(biāo)準(zhǔn)化、孤立程度高以及專業(yè)程度高等特點(diǎn),主要表現(xiàn)在:方法工具信息化建設(shè)和應(yīng)用缺乏體系化的軟件開發(fā)原則、使用要求、封裝規(guī)范與指引;不同的方法工具存在數(shù)據(jù)孤立程度高、數(shù)據(jù)格式不統(tǒng)一、數(shù)據(jù)不貫通;商業(yè)軟件使用門檻高、使用人員培養(yǎng)困難、軟件應(yīng)用不便捷。因此亟需開展方法工具要素的信息化實(shí)現(xiàn)技術(shù)研究,對(duì)已積累的方法工具進(jìn)行封裝,形成研發(fā)工具模板,加強(qiáng)研發(fā)工具的統(tǒng)一。
圖1 方法工具要素信息化實(shí)現(xiàn)技術(shù)架構(gòu)
方法工具信息化實(shí)現(xiàn)的運(yùn)行邏輯是基于集成工作環(huán)境中的組件庫和圖形化的流程定制工具,進(jìn)行研發(fā)工具的封裝。首先,結(jié)合方法工具信息化業(yè)務(wù)需求與現(xiàn)有的方法工具的功能和特點(diǎn),在遵循模型、視圖和控制器(MVC)軟件設(shè)計(jì)模式和軟件使用要求的同時(shí),制定方法工具信息化開發(fā)應(yīng)遵循的程序開發(fā)要求和圖形用戶界面(GUI)設(shè)計(jì)規(guī)范,使集成后的方法工具能滿足在國產(chǎn)化軟硬件環(huán)境中規(guī)范化、定制化和易遷移的組件模塊化高效部署需求;其次,通過組件技術(shù)、腳本技術(shù)和動(dòng)態(tài)鏈接庫(DLL)等信息化技術(shù),根據(jù)具體研發(fā)活動(dòng)所涉及的方法工具功能和特點(diǎn),選擇相適應(yīng)的信息化技術(shù)進(jìn)行封裝;最后,將實(shí)際業(yè)務(wù)需求與選取的信息化技術(shù)結(jié)合,進(jìn)一步完善包括商業(yè)軟件封裝和自研程序在內(nèi)的方法工具的封裝,完成面向發(fā)動(dòng)機(jī)總體、壓氣機(jī)、燃燒室、渦輪、傳動(dòng)系統(tǒng)和控制系統(tǒng)等不同專業(yè)領(lǐng)域工具模板、文檔模板的封裝和研發(fā)軟件的集成。
方法工具集成工作環(huán)境包括組件庫和圖形化的流程定制工具。
工程設(shè)計(jì)過程中往往包含一系列的基礎(chǔ)性、普遍性操作,這些操作構(gòu)成了各種設(shè)計(jì)、分析工作的最小單元,即組件。以數(shù)據(jù)處理組件為例,對(duì)流程中數(shù)據(jù)相關(guān)的內(nèi)容進(jìn)行集成封裝,支持從定義好的Word、Excel等文件中抽取結(jié)構(gòu)化的數(shù)據(jù)或?qū)⑵脚_(tái)數(shù)據(jù)寫入定義好的Word、Excel文件中。
圖形化的流程定制工具涉及控制流、數(shù)據(jù)流等內(nèi)容??刂屏魇侵赴匆欢ǖ捻樞蚺帕醒邪l(fā)過程的方法工具,以此控制方法工具的執(zhí)行的順序,如圖2所示。數(shù)據(jù)流是指在定義了研發(fā)活動(dòng)流程的節(jié)點(diǎn)上,方法工具之間的數(shù)據(jù)傳遞關(guān)系,如圖3所示。
圖2 控制流
圖3 數(shù)據(jù)流
航空發(fā)動(dòng)機(jī)研發(fā)過程涉及大量的研發(fā)方法和工具,其封裝主要包括方法工具封裝規(guī)范、方法工具封裝技術(shù)和方法工具封裝設(shè)計(jì)。
為了保證方法工具有效地集成到工作環(huán)境中,其編寫、封裝和開發(fā)需要滿足一定的規(guī)范和要求。常用的規(guī)范和要求為MVC設(shè)計(jì)模式,即把軟件系統(tǒng)分為模型(M)、視圖(V)和控制器(C)3個(gè)基本部分,如圖4所示。MVC模式的目的是實(shí)現(xiàn)一種動(dòng)態(tài)的研發(fā)方法工具設(shè)計(jì),簡(jiǎn)化后續(xù)對(duì)研發(fā)方法工具的修改和擴(kuò)展,使研發(fā)方法工具程序某一部分的重復(fù)利用成為可能。
圖4 軟件MVC設(shè)計(jì)模式
一些方法工具專業(yè)軟件在研發(fā)過程中,使用商業(yè)軟件或在商業(yè)軟件基礎(chǔ)上進(jìn)行二次開發(fā)時(shí),應(yīng)遵循以下要求:當(dāng)采用商業(yè)軟件支持專業(yè)軟件開發(fā)時(shí),須進(jìn)行商業(yè)軟件的使用說明;所選擇的商業(yè)軟件的運(yùn)行不能影響研發(fā)平臺(tái)和其他專業(yè)軟件的運(yùn)行。
方法工具封裝技術(shù)涵蓋了航空發(fā)動(dòng)機(jī)研制過程中使用的方法、工具和程序的封裝,其使用的技術(shù)包括組件技術(shù)、腳本技術(shù)和動(dòng)態(tài)鏈接庫等。
組件是對(duì)方法、工具和數(shù)據(jù)的簡(jiǎn)單封裝。組件技術(shù)是指將復(fù)雜的應(yīng)用軟件拆分成一系列軟件單元,即組件,這些組件具有通用性強(qiáng)、易于開發(fā)、理解和調(diào)整等特征,應(yīng)用程序則由可重用的組件來構(gòu)造。
腳本是使用一種特定的描述性語言,依據(jù)一定的格式編寫的可執(zhí)行文件,用來控制軟件應(yīng)用程序,腳本通常是以文本保存,只在被調(diào)用時(shí)進(jìn)行解釋或者編譯。在開發(fā)工具模板的過程中,有時(shí)候會(huì)遇到用集成開發(fā)環(huán)境難以實(shí)現(xiàn)的功能,如動(dòng)態(tài)解析、生成文件等,此時(shí)需要通過腳本文件來幫助實(shí)現(xiàn)。此外,在進(jìn)行腳本文件編寫過程中需遵循腳本文件編寫規(guī)范。
動(dòng)態(tài)鏈接庫是實(shí)現(xiàn)共享函數(shù)庫概念的一種方式。Windows系統(tǒng)中,DLL多數(shù)情況下是帶有“.dll”擴(kuò)展名的文件,但也可能是“.ocx”或其他擴(kuò)展名;Linux系統(tǒng)中常常是“.so”的文件。程序可根據(jù)DLL文件中的指令打開、啟用、查詢、禁用和關(guān)閉驅(qū)動(dòng)程序。
航空發(fā)動(dòng)機(jī)研發(fā)過程中的方法、工具、程序和軟件等通過有效的封裝和集成,可形成一系列標(biāo)準(zhǔn)化的、可重用的方法工具模板。通過組件技術(shù)對(duì)計(jì)算機(jī)輔助設(shè)計(jì)(CAD)功能進(jìn)行封裝,可實(shí)現(xiàn)建模、替換、編輯、加載、裝配等功能。自研程序的封裝包括但不限于封裝基于Windows、DOS、Linux、Unix等系統(tǒng)環(huán)境的自研程序,同時(shí)還需支持國產(chǎn)化軟件工具,形成工程設(shè)計(jì)模板。
基于以上方法工具信息化實(shí)現(xiàn)架構(gòu)的研究,結(jié)合產(chǎn)品研發(fā)信息化平臺(tái)建設(shè)情況,以航空發(fā)動(dòng)機(jī)研發(fā)過程中涉及的工具模板、文檔模板的封裝和研發(fā)軟件的集成進(jìn)行方法工具封裝與集成的應(yīng)用驗(yàn)證。
通過系統(tǒng)提供的配置功能,可以方便地把設(shè)計(jì)分析模板、設(shè)計(jì)分析流程配置成專業(yè)軟件包的功能模塊,以及配置專業(yè)軟件包的界面、菜單等,實(shí)現(xiàn)個(gè)性化的定制和面向?qū)I(yè)的集成應(yīng)用環(huán)境。
研發(fā)工具模板是按照航空發(fā)動(dòng)機(jī)的類別管理發(fā)動(dòng)機(jī)研發(fā)的工具模板,可以實(shí)現(xiàn)版本與權(quán)限管理,研發(fā)工具模板也可直接在任務(wù)中進(jìn)行應(yīng)用和實(shí)例化,可以將研制過程中的方法、工具、經(jīng)驗(yàn)封裝到工具模板中。研發(fā)工具模板庫可用于創(chuàng)建包括但不限于封裝總體、壓氣機(jī)、燃燒室、渦輪、傳動(dòng)系統(tǒng)、控制系統(tǒng)等航空發(fā)動(dòng)機(jī)各主要部件的研發(fā)工具模板。典型的基于UG組件的發(fā)動(dòng)機(jī)設(shè)計(jì)如圖5所示。
圖5 基于UG組件的發(fā)動(dòng)機(jī)設(shè)計(jì)
以航空發(fā)動(dòng)機(jī)的系統(tǒng)設(shè)計(jì)為例,各專業(yè)所封裝的工具模板及對(duì)應(yīng)的工具軟件與模板類型清單見表1。
表1 按專業(yè)分類的工具模板封裝部分示例
方法工具信息化實(shí)現(xiàn)技術(shù)為航空發(fā)動(dòng)機(jī)研發(fā)過程的信息化平臺(tái)建設(shè)提供了可行的、有效的支持,在一定程度上解決了不同方法工具所產(chǎn)生數(shù)據(jù)格式不統(tǒng)一、數(shù)據(jù)交互不暢的問題,降低了軟件使用難度,提高了研發(fā)人員的工作效率。