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