(海軍工程大學(xué)船舶與動力學(xué)院 武漢 430033)
艦船動力裝置數(shù)字化設(shè)計是指在計算機技術(shù)、網(wǎng)絡(luò)通信技術(shù)、并行工程技術(shù)、數(shù)字仿真技術(shù)及虛擬樣機技術(shù)等相關(guān)支撐技術(shù)的支持下,對艦船動力裝置設(shè)計全過程進行數(shù)字化描述,以建立的動力裝置的數(shù)字化模型為基礎(chǔ),面向艦船動力裝置生命周期進行動力裝置設(shè)計的仿真與優(yōu)化、信息融合與過程的集成管理,最終實現(xiàn)艦船動力裝置設(shè)計及開發(fā)全過程的數(shù)字化[1-2],其關(guān)鍵技術(shù)主要包括硬件支撐平臺技術(shù)、現(xiàn)代設(shè)計工具/平臺技術(shù)、協(xié)同仿真技術(shù)、虛擬樣機技術(shù)、多學(xué)科優(yōu)化技術(shù)、協(xié)同設(shè)計/應(yīng)用軟件技術(shù)、數(shù)字化設(shè)計標(biāo)準(zhǔn)及規(guī)范技術(shù)、支撐平臺技術(shù)等內(nèi)容[3-4].本文以艦船動力裝置數(shù)字化設(shè)計系統(tǒng)的底層支撐平臺及核心功能模塊,開展艦船動力裝置數(shù)字化設(shè)計系統(tǒng)支撐環(huán)境研究,將為進一步推進艦船動力裝置數(shù)字化設(shè)計進程,同時也將為艦船動力裝置設(shè)計水平的提高提供一定的支撐.
根據(jù)支撐環(huán)境的功能需求,本文研究設(shè)計了如圖1所示的支撐平臺系統(tǒng)層次結(jié)構(gòu).系統(tǒng)從整體上采用3層結(jié)構(gòu):數(shù)據(jù)層、功能層和表示層.其中數(shù)據(jù)層主要用于動力裝置設(shè)計過程中的各種數(shù)據(jù),功能層主要實現(xiàn)支撐平臺的各類核心功能,表示層為瀏覽器.另外針對各客戶端所需要的專業(yè)性較強且功能復(fù)雜的各類應(yīng)用軟件,可以針對該部門比如設(shè)計部門,以設(shè)計部門內(nèi)部的局域網(wǎng)為基礎(chǔ),開發(fā)專門的基于C/S模式的控制管理模塊,以實現(xiàn)對設(shè)計部門所需要的各類設(shè)計應(yīng)用軟件的集成、支持和協(xié)同.
類是包含了方法、屬性、數(shù)據(jù)成員的代碼模塊,通過類可以高效的完成特定對象的復(fù)雜操作,為了提高代碼的封裝性和處理系統(tǒng)中大量近似的對象[5],根據(jù)系統(tǒng)功能模塊的劃分,本文針對支撐平臺的開發(fā)設(shè)計了如圖2所示的系統(tǒng)類圖.
1)DataAccess類 負責(zé)實現(xiàn)業(yè)務(wù)層的應(yīng)用程序?qū)?shù)據(jù)庫的連接、訪問和斷開等操作,其他實現(xiàn)類通過調(diào)用該類中的GetConnection和Runsql方法實現(xiàn)對數(shù)據(jù)庫的訪問.
2)ProjManager類 負責(zé)實現(xiàn)設(shè)計項目的創(chuàng)建、編輯、分解和查看等操作.
圖1 支撐環(huán)境層次結(jié)構(gòu)
圖2 系統(tǒng)類圖
3)SysManager類 負責(zé)實現(xiàn)用戶、角色的創(chuàng)建、編輯、刪除以及權(quán)限的分配和管理等操作.
4)DocManager類 負責(zé)實現(xiàn)文檔的上傳、下載、查詢以及在線瀏覽等功能.
5)ProdManager類 負責(zé)實現(xiàn)動力裝置設(shè)備可視化模型及其相關(guān)文檔的創(chuàng)建、刪除和查看.
6)FlowManager類 負責(zé)方案設(shè)計流程的創(chuàng)建、更新、刪除和查看等操作.
由于支撐平臺需要支持?jǐn)?shù)據(jù)及文檔管理、工作流程管理、項目管理、可視化配置管理、權(quán)限管理等方面的功能,且各個模塊之間關(guān)系較為緊密,如權(quán)限管理在數(shù)據(jù)及文檔管理中需要為系統(tǒng)用戶指定相應(yīng)的對文檔的操作權(quán)限,如上傳、下載、修改;工作流程管理中需要為系統(tǒng)用戶指定相應(yīng)的提交及審批權(quán)限等,因此在進行系統(tǒng)開發(fā)之前需要綜合考慮各方面的因素,合理設(shè)計系統(tǒng)數(shù)據(jù)庫的結(jié)構(gòu),主要包括用戶數(shù)據(jù)、權(quán)限數(shù)據(jù)、項目數(shù)據(jù)、動力系統(tǒng)設(shè)備數(shù)據(jù)、文檔數(shù)據(jù)、流程數(shù)據(jù)等內(nèi)容.為了說明各個類對數(shù)據(jù)庫的訪問,下面以Proj-Manager類中g(shù)etProj方法對數(shù)據(jù)庫的訪問過程為例,說明通過ADO.NET實現(xiàn)對數(shù)據(jù)庫的訪問方法.
艦船動力裝置數(shù)字化設(shè)計系統(tǒng)的數(shù)據(jù)類型主要有3類:具體的項目數(shù)據(jù)、過程數(shù)據(jù)以及元數(shù)據(jù).為了實現(xiàn)對這些數(shù)據(jù)的安全、有序的管理,在數(shù)據(jù)庫設(shè)計的過程中將數(shù)據(jù)分為2類,一類是以電子倉庫的形式存儲,一類以結(jié)構(gòu)化形式直接存儲在數(shù)據(jù)庫中.?dāng)?shù)據(jù)及文檔管理主要實現(xiàn)了如下幾個方面的功能:文檔檢入、文檔下載、文檔查詢、站內(nèi)查詢、修改刪除、瀏覽圈閱及版本管理.
1)關(guān)于文檔的狀態(tài)變化 由于在設(shè)計過程中的文檔處于動態(tài)變化狀態(tài),為了防止對文檔的非法訪問或者未經(jīng)授權(quán)的操作,把文檔的狀態(tài)分為提交、審核、修改、歸檔四種狀態(tài)[6],與之相關(guān)的操作包括檢入、審批(通過,不通過)、歸檔等,文檔操作以及狀態(tài)變遷如圖3所示.
圖3 文檔狀態(tài)變遷
根據(jù)文檔的狀態(tài)變遷模型,在進行數(shù)據(jù)庫設(shè)計的過程中,需要按照文檔的不同狀態(tài),分別在數(shù)據(jù)庫中建立文檔的提交、審核、修改、歸檔4種狀態(tài),在數(shù)據(jù)庫中,通過ListItem控件的Value屬性通過“1”,“2”,“3”,“4”分別代表文檔的4種狀態(tài).
2)文檔版本管理 動力裝置各類數(shù)據(jù)文檔在設(shè)計過程中可能要經(jīng)過不斷地修改、完善,直到最終定型,各種資料每經(jīng)過一次修改,就會產(chǎn)生新的版本.為了避免版本混亂,需要對經(jīng)過修改的文件給出版本的標(biāo)識信息,用來唯一地標(biāo)識這個文件地某一版本,這種表示信息就是版本號.本文主要研究通過樹狀編排的方式進行版本編號[7],見圖4.
圖4 文檔的版本結(jié)構(gòu)
3)文檔的檢入 按照文檔的狀態(tài)變遷模型和文檔的版本結(jié)構(gòu),在文檔檢入的過程中,設(shè)計人員不僅需要輸入項目名稱、文件的版本號,同時還要選定上傳文檔的類型以及文檔所處的狀態(tài),然后再選擇需要上傳的文檔,將文檔上傳到設(shè)定的文檔存儲區(qū),同時在數(shù)據(jù)庫表中將存儲上傳文檔的版本號以及文檔所處的狀態(tài),以實現(xiàn)文檔的有序管理.
4)關(guān)于瀏覽圈閱的考慮 通過文檔查詢功能在完成文檔的檢索后,具有相應(yīng)權(quán)限的用戶能夠?qū)z索文檔進行詳細信息查詢,同時還能對文檔進行在線瀏覽圈閱和下載,因此需要將一些通用文檔及圖形軟件集成到支撐平臺中,如PDF閱讀器,AUTOCAD,3dxml Player等常用軟件以實現(xiàn)對輕量級文檔的在線瀏覽圈閱.
支撐平臺的產(chǎn)品可視化配置模塊主要考慮將配置求解結(jié)果(一般包括設(shè)備模型、基本信息和BOM表)通過瀏覽器以可視化的方式顯示給系統(tǒng)用戶,即主要實現(xiàn)動力裝置設(shè)備配置結(jié)果的描述、配置結(jié)果的可視化顯示和在線瀏覽等功能,其中對于配置結(jié)果,需要從設(shè)備模型及設(shè)備模型之間的關(guān)系、設(shè)備模型信息、配置結(jié)果的可視化3個方面進行描述[8-9].
1)關(guān)于設(shè)備模型及設(shè)備模型之間的關(guān)系本文所研究的關(guān)于建模的部分均在CATIA平臺上進行,CATIA中建模的過程中,是按照產(chǎn)品結(jié)構(gòu)樹的方式組織零部件和裝配件之間的關(guān)系,而且CATIA在輸出模型時能夠?qū)a(chǎn)品結(jié)構(gòu)樹附加到模型中一同輸出.因此,在支撐平臺中,可以按照型號、設(shè)備、設(shè)備零部件的方式模擬CATIA中的產(chǎn)品結(jié)構(gòu)樹,從而形成完整的設(shè)備模型本身及設(shè)備模型之間的關(guān)系結(jié)構(gòu).
2)設(shè)備模型信息 設(shè)備模型信息主要包括模型的基本信息(如功能、重量、尺寸等)和模型的物料清單表(bill of material,BOM),具體實現(xiàn)方法為在數(shù)據(jù)庫中建立產(chǎn)品結(jié)構(gòu)樹的節(jié)點與模型、模型信息及相關(guān)文檔的關(guān)聯(lián)表.另外與設(shè)備相關(guān)的設(shè)計文檔如計算書、圖紙文件、表格文件等,也可在數(shù)據(jù)庫中與設(shè)備模型建立關(guān)聯(lián)指針,以便用戶能夠從配置結(jié)果中方便的調(diào)用該設(shè)備的相關(guān)文檔.其中BOM表可由CATIA自動生成,在CATIA中建立設(shè)備的模型之后,能夠?qū)⒛P偷腂OM表以Excel的方式進行輸出,并在可視化配置模塊中實現(xiàn)對CATIA中輸出的BOM表中信息的讀取.
3)結(jié)構(gòu)配置結(jié)果可視化及在線瀏覽 本系統(tǒng)是在CATIA環(huán)境下進行動力裝置設(shè)備的三維建模,由于需要在瀏覽器環(huán)境下進行在線瀏覽,因此需要對模型進行輕量化處理,并利用CATIA的3DXML Player控件,在ASP.NET環(huán)境下調(diào)用該控件,實現(xiàn)對該控件的集成.
工作流程管理主要包括定義工作流、監(jiān)控工作流及任務(wù)管理.
1)工作流定義 工作流定義是實施工作流管理的起點,在定義好工作流程之后,需要指派每個節(jié)點任務(wù)的執(zhí)行者以及完成時限等,然后將根據(jù)定義好的任務(wù)時限以及審閱人通知設(shè)計人員,設(shè)計人員完成后將文件提交到下一個任務(wù)執(zhí)行者處,并通知相應(yīng)的審批人員進行審批,如此直到整個流程完成.
2)工作流程監(jiān)控 工作流監(jiān)控模塊一方面可以提醒相關(guān)設(shè)計人員完成任務(wù),例如,如果一個工作流啟動后,某一任務(wù)沒有在規(guī)定的時間內(nèi)完成,則可通過站內(nèi)短信或E-mail提示相關(guān)設(shè)計人員.另一方面當(dāng)設(shè)計人員將不同狀態(tài)的設(shè)計文檔上傳到系統(tǒng)后,需要通過站內(nèi)短信或者E-mail通知相關(guān)工作組人員,從而實現(xiàn)工作流程的變更管理功能.
3)任務(wù)管理器 在進行工作流程建模的過程中,動態(tài)的向相關(guān)設(shè)計人員配置了資源和指派了任務(wù),任務(wù)執(zhí)行人員打開任務(wù)管理器可以接受任務(wù)、下載任務(wù)說明書和下載相關(guān)的文檔以及完成任務(wù)后提交任務(wù).
項目管理是指在一定的約束條件下(時間、成本、資源等),以高效率地完成項目既定的任務(wù)為目的,按照項目內(nèi)在的邏輯規(guī)律進行有效的計劃、組織、協(xié)調(diào)、控制的系統(tǒng)管理活動[10-11].通過項目管理,可為動力裝置設(shè)計提供一套計劃、執(zhí)行和控制管理的手段,主要包括項目基本信息管理、項目計劃建模和分解及項目運行任務(wù)管理,見圖5.
圖5 項目管理功能結(jié)構(gòu)
系統(tǒng)權(quán)限管理模塊主要實現(xiàn)了如下幾個方面的功能:身份認證、用戶管理、角色管理、職位管理和授權(quán)管理.其中身份認證主要對用戶的身份進行驗證,用戶必須通過身份認證才能進入系統(tǒng);用戶管理主要實現(xiàn)用戶的增加、刪除和修改以及用戶帳號的啟用和停止;角色管理主要包括角色的添加;職位管理主要包括對職位的添加、刪除、修改以及將職位分配給用戶等;授權(quán)管理主要對角色或職位授予或取消相應(yīng)的權(quán)限.
1)權(quán)限管理模型 基于角色訪問控制(role based access control,RBAC)是當(dāng)前信息系統(tǒng)資源訪問控制公認的有效方法,其強調(diào)用戶的權(quán)限不是由用戶名而是由用戶在組織中的角色決定的,通過角色間接的訪問系統(tǒng)資源;在權(quán)限管理中,角色作為中間橋梁把用戶和權(quán)限聯(lián)系起來;用戶和角色,角色和權(quán)限之間是多對多的關(guān)系[12-13].因此,本文結(jié)合RBAC模型,對其權(quán)限控制方法進行改進,通過讀取用戶在數(shù)據(jù)庫中存儲的授權(quán)信息,動態(tài)生成用戶界面的方法來實現(xiàn)權(quán)限管理,管理員可以通過職位授權(quán)和角色授權(quán)兩種方法對用戶授權(quán).
2)用戶操作權(quán)限 在系統(tǒng)中用戶的基本操作有:瀏覽節(jié)點、檢入文件、發(fā)布文件、刪除文件、下載文件、審批文件、人員管理、管理權(quán)限、管理版塊、發(fā)布公告等.在針對不同的職位或者角色進行授權(quán)的過程中,需要根據(jù)系統(tǒng)中不同的模塊進行相應(yīng)該模塊內(nèi)相應(yīng)權(quán)限的授予或者取消.
按照本文的方案設(shè)計及各個模塊的實現(xiàn)原理,以ASP.NET 2005為開發(fā)平臺,編程語言采用C#,以SQL SERVER2005為數(shù)據(jù)庫平臺,以IIS為Web服務(wù)器,開發(fā)了艦船動力裝置數(shù)字化設(shè)計系統(tǒng)支撐平臺(MPPDDSSP).為了驗證所實現(xiàn)的功能,將數(shù)據(jù)服務(wù)器、應(yīng)用服務(wù)器和 Web服務(wù)器部署在一臺HP XW8000Workstation上,以8臺HP Dx6100為客戶端,對系統(tǒng)功能進行測試.經(jīng)測試表明,系統(tǒng)能夠?qū)崿F(xiàn)數(shù)據(jù)及文檔管理、工作流程管理、項目管理、可視化配置管理、權(quán)限管理、協(xié)同工作及系統(tǒng)用戶個人信息管理的功能,同時系統(tǒng)運行穩(wěn)定、使用便利,能夠滿足艦船動力裝置數(shù)字化設(shè)計系統(tǒng)支撐環(huán)境的需求.
1)針對艦船動力裝置數(shù)字化設(shè)計系統(tǒng)的需求,分析了MPPDDSSP的功能需求,在此基礎(chǔ)上研究了MPPDDSSP的功能結(jié)構(gòu).
2)在充分研究PDM/PLM技術(shù)發(fā)展現(xiàn)狀的基礎(chǔ)上,結(jié)合MPPDDSSP的特點,提出采用通用編程語言進行MPPDDSSP的開發(fā),并設(shè)計了支撐平臺的層次結(jié)構(gòu).
3)對MPPDDSSP的系統(tǒng)類設(shè)計、數(shù)據(jù)庫設(shè)計及各個功能模塊的實現(xiàn)原理等開發(fā)過程中的相關(guān)問題進行了深入研究,為MPPDDSSP奠定了技術(shù)基礎(chǔ).
4)開發(fā)了MPPDDSSP,該系統(tǒng)具有實現(xiàn)數(shù)據(jù)及文檔管理、工作流程管理、項目管理、可視化配置管理、權(quán)限管理、協(xié)同工作及系統(tǒng)用戶個人信息管理的功能,能夠為艦船動力裝置數(shù)字化設(shè)計系統(tǒng)提供較好的支持,同時也能為艦船數(shù)字化設(shè)計乃至數(shù)字化造船提供一定的參考.
[1]曹玉姣.我國數(shù)字化造船發(fā)展現(xiàn)狀[J].船舶工程,2008,30(3):6-9.
[2]喬 珊.艦船數(shù)字化設(shè)計應(yīng)用研究[J].中國艦船研究,2007,2(4):20-25.
[3]LIU Jinlin,ZENG Fanming,WU Jiaming.Research on digital design of the marine power plant[C]//Wang Jinkuang,Wang Bin.Proceedings of 2010International Conference on Computer Design and Applications.Qinhuangdao:Institute of Electrical and Electronics Engineers,2010:615-618.
[4]劉金林,曾凡明,巫 影,等.艦船動力裝置虛擬設(shè)計與仿真系統(tǒng)的研究與開發(fā)[J].武漢理工大學(xué)學(xué)報:交通科技與工程版,2009,33(1):149-152.
[5]張 立.C#2.0寶典[M].北京:電子工業(yè)出版社,2007.
[6]彭 華.支持并行產(chǎn)品開發(fā)的產(chǎn)品數(shù)據(jù)管理系統(tǒng)研究與應(yīng)用[D].武漢:武漢理工大學(xué),2002.
[7]PELTONEN H,PITKABNEN O.Process-based view of product data management[J].Computer in Industry,1996,31:195-203.
[8]CHOI I,BAE S.An architecture for active product configuration management in industrial virtual enterprise[J].The International Journal of Advanced Manufacturing Technology,2001,18(2):133-139.
[9]吳志成,薛善良,高長偉.基于J2EE的船舶傳動裝置結(jié)構(gòu)管理[J].機械與電子,2009(1):50-53.
[10]郭進濤,李俊華,程 嵐.基于工作流的艦船設(shè)計流程管理研究[J].中國艦船研究,2007,12(1):42-45.
[11]馬少峰,李 原,張 杰,等.基于 Web服務(wù)的航空項目管理與PDM系統(tǒng)集成[J].計算機工程,2008,34(19):35-38.
[12]林尤舜,鐘 聲.基于RBAC的權(quán)限管理系統(tǒng)的設(shè)計與實現(xiàn)[J].計算機應(yīng)用,2009(3):59-60.
[13]RAVI S S,EEWARCL J C,HAIL F ,et al.Rolebased access control models[J].IEEE Computer,1996,29(2):38-47.