隨著CAD/CAM技術(shù)的推廣與應(yīng)用,目前國(guó)內(nèi)大多數(shù)制造企業(yè)已經(jīng)實(shí)現(xiàn)了產(chǎn)品設(shè)計(jì)的數(shù)字化,計(jì)算機(jī)出圖率達(dá)到了100%,機(jī)械圖文檔成了制造企業(yè)生產(chǎn)活動(dòng)的重要技術(shù)資料。但很多企業(yè)的信息化程度還比較低,對(duì)于大量的圖文檔和數(shù)據(jù)資料,沒(méi)有進(jìn)行有效的集中控制和管理,造成了文檔查詢不便、共享度低、保密性差、文檔易流失等問(wèn)題,間接的影響了企業(yè)的效益。因此,開發(fā)機(jī)械圖文檔管理系統(tǒng),有效地組織管理產(chǎn)品項(xiàng)目過(guò)程中所產(chǎn)生的各類圖文檔與數(shù)據(jù),是加強(qiáng)產(chǎn)品設(shè)計(jì)制造流程控制提高產(chǎn)品開發(fā)效率的重要途徑。
傳統(tǒng)的圖文檔管理軟件主要偏重于與CAD系統(tǒng)的集成,因而大多數(shù)采用C/S架構(gòu)。由于C/S架構(gòu)模式的軟件存在系統(tǒng)訪問(wèn)不夠方便、維護(hù)成本高等問(wèn)題,隨著Web技術(shù)的發(fā)展,采用B/S架構(gòu)開發(fā)圖文檔管理系統(tǒng)正日益成為研究熱點(diǎn)和企業(yè)的首選。
1 系統(tǒng)架構(gòu)
本文采用J2EE技術(shù)架構(gòu)作為系統(tǒng)開發(fā)的技術(shù)標(biāo)準(zhǔn)。J2EE是美國(guó)Sun公司推出的一種Web應(yīng)用程序模型,它提供了一種基于組件的方法對(duì)企業(yè)級(jí)應(yīng)用系統(tǒng)進(jìn)行設(shè)計(jì)、開發(fā)、裝配和部署。本系統(tǒng)采用J2EE的多層Web應(yīng)用程序結(jié)構(gòu),如圖1所示,并結(jié)合MVC模式,將表示邏輯、控制邏輯與業(yè)務(wù)邏輯分離。
圖1 多層Web應(yīng)用程序結(jié)構(gòu)
2 系統(tǒng)分析設(shè)計(jì)
2.1 系統(tǒng)功能需求分析
機(jī)械圖文檔管理系統(tǒng)的用戶有三類:系統(tǒng)管理員、項(xiàng)目經(jīng)理、項(xiàng)目成員。系統(tǒng)管理員維護(hù)整個(gè)系統(tǒng)信息,進(jìn)行系統(tǒng)初始化、項(xiàng)目經(jīng)理帳號(hào)分配、日常數(shù)據(jù)備份等。項(xiàng)目經(jīng)理負(fù)責(zé)項(xiàng)目信息和成員的配置,并創(chuàng)建項(xiàng)目流程和進(jìn)行任務(wù)分配。項(xiàng)目成員通過(guò)與系統(tǒng)的交互,根據(jù)項(xiàng)目經(jīng)理或流程上一步操作者分配或傳達(dá)的任務(wù)進(jìn)行工作,創(chuàng)建、修訂或?qū)徍讼鄳?yīng)的圖文檔。
項(xiàng)目流程每個(gè)環(huán)節(jié)的處理及文檔的操作都受帳號(hào)權(quán)限的控制,項(xiàng)目成員只能查詢和操作自己任務(wù)所涉及的圖文檔。項(xiàng)目經(jīng)理具有訪問(wèn)其項(xiàng)目所有文檔和數(shù)據(jù)信息的權(quán)限,此外,還可以創(chuàng)建、刪除、修改、查詢、關(guān)閉項(xiàng)目、配置項(xiàng)目成員及對(duì)圖文檔的操作進(jìn)行授權(quán)。項(xiàng)目一旦完成被關(guān)閉,其所有的圖文檔也一起被關(guān)閉,項(xiàng)目成員不能再創(chuàng)建和修改該項(xiàng)目的圖文檔,但項(xiàng)目經(jīng)理可以訪問(wèn)并可以授權(quán)成員訪問(wèn),以便文檔資源的重用共享。
2.2 系統(tǒng)設(shè)計(jì)
2.2.1 代碼方案設(shè)計(jì)
代碼是表征客觀存在的實(shí)體或?qū)傩缘囊粋(gè)計(jì)算機(jī)可識(shí)別和處理的符號(hào)。本系統(tǒng)涉及的對(duì)象有項(xiàng)目、用戶、流程、流程節(jié)點(diǎn)、任務(wù)、圖文檔等。數(shù)據(jù)具有分類多并量大等特點(diǎn),為了能在計(jì)算機(jī)系統(tǒng)中有效的標(biāo)識(shí)和管理它們,好的代碼設(shè)計(jì)方案是系統(tǒng)實(shí)現(xiàn)的關(guān)鍵。根據(jù)代碼設(shè)計(jì)的唯一化、規(guī)范化、系統(tǒng)化等原則,同時(shí),考慮數(shù)據(jù)查詢效率及編程方便,設(shè)計(jì)了項(xiàng)目、用戶、流程、流程節(jié)點(diǎn)、任務(wù)、圖文檔等對(duì)象的代碼。以圖文檔代碼為例,其采用區(qū)間碼,設(shè)計(jì)如下:
圖文檔代碼=所屬項(xiàng)目編號(hào)+圖文檔類型+順序碼+版本號(hào)。如P0001D020001A,表示P0001項(xiàng)目下,文件類型為02(.dwg文件)的第0001文檔,版本號(hào)為A,其中,版本號(hào)=[A1B1CI…1Z]。
2.2.2 系統(tǒng)模塊結(jié)構(gòu)設(shè)計(jì)
根據(jù)系統(tǒng)功能需求,將系統(tǒng)模塊結(jié)構(gòu)組織為:系統(tǒng)管理、項(xiàng)目管理、項(xiàng)目成員管理、流程管理、任務(wù)管理和圖文檔管理。其中,系統(tǒng)管理包括系統(tǒng)初始化、項(xiàng)目經(jīng)理帳號(hào)配置、數(shù)據(jù)備份、系統(tǒng)登錄模塊。項(xiàng)目管理包括項(xiàng)目創(chuàng)建、查詢、修改和關(guān)閉模塊。項(xiàng)目成員管理包括成員創(chuàng)建、配置、刪除、角色配置、授權(quán)模塊。流程管理實(shí)現(xiàn)項(xiàng)目工作流配置和控制,包括流程創(chuàng)建、節(jié)點(diǎn)配置、啟動(dòng)、變更、關(guān)閉等模塊。任務(wù)管理實(shí)現(xiàn)項(xiàng)目工作流程上各環(huán)節(jié)任務(wù)的分配和控制,以個(gè)人任務(wù)箱的方式實(shí)現(xiàn),包括任務(wù)配置、通知、狀態(tài)查看、提醒、提交等模塊。圖文檔管理包括文檔的上傳、下載、修改、刪除、查詢及訪問(wèn)控制等模塊。
2.2.3 數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)
本系統(tǒng)設(shè)計(jì)的關(guān)系模式符合3NF規(guī)范,合理的存儲(chǔ)了系統(tǒng)涉及的數(shù)據(jù)信息。包括:User(帳號(hào)信息)、Role(角色信息)、Project(項(xiàng)目信息)、Flow(流程信息)、FlowNode(流程節(jié)點(diǎn)信息)、Document(文檔信息)、Assignment(任務(wù)信息)。
3 系統(tǒng)實(shí)現(xiàn)
系統(tǒng)采用J2EE的多層Web應(yīng)用程序結(jié)構(gòu),表示邏輯和控制邏輯實(shí)現(xiàn)于JSP頁(yè)面,業(yè)務(wù)邏輯封裝成JavaBean組件,實(shí)現(xiàn)邏輯的分離,便于系統(tǒng)的開發(fā)和維護(hù)。系統(tǒng)用Dreamweaver、Photoshop進(jìn)行Web頁(yè)面的界面設(shè)計(jì)和圖像處理,實(shí)現(xiàn)表示邏輯,用Sun公司的NetBeans集成開發(fā)工具進(jìn)行負(fù)責(zé)控制邏輯的JSP程序編寫和JavaBean組件開發(fā),將頁(yè)面和組件部署到Tomcat服務(wù)器中,數(shù)據(jù)庫(kù)服務(wù)器使用SQL Server。用戶在客戶端使用瀏覽器訪問(wèn)系統(tǒng)。
3.1 表示邏輯層實(shí)現(xiàn)
表示邏輯層實(shí)現(xiàn)了用戶界面及用戶與系統(tǒng)的交互,本系統(tǒng)的表示邏輯體現(xiàn)為Web頁(yè)面,如輸入表單的顯示,動(dòng)態(tài)內(nèi)容的輸出,頁(yè)面靜態(tài)信息的顯示等。對(duì)于一些輸入判斷,如登錄密碼長(zhǎng)度,日期格式,必選項(xiàng)是否已選等,使用JavaScript進(jìn)行客戶端編程實(shí)現(xiàn)。
3.2 控制邏輯層實(shí)現(xiàn)
系統(tǒng)的控制邏輯主要由JSP程序?qū)崿F(xiàn),負(fù)責(zé)表示邏輯層和業(yè)務(wù)邏輯層之間的控制關(guān)系。它接收表示邏輯層的客戶請(qǐng)求或處理要求,調(diào)用業(yè)務(wù)邏輯層的JavaBean完成具體的事務(wù)處理,將結(jié)果反饋給客戶。以下以配置項(xiàng)目成員為例,闡述其控制邏輯的實(shí)現(xiàn)。
項(xiàng)目經(jīng)理即用戶登錄,從自己所負(fù)責(zé)的項(xiàng)目列表中選擇要配置成員的項(xiàng)目,進(jìn)入項(xiàng)目成員配置ProMemberconfig.jsp頁(yè)面,如圖2所示。該頁(yè)面的控制邏輯利用request.getParameter(“Pid”)方法獲取上一頁(yè)面中用戶所選擇的項(xiàng)目信息,調(diào)用名為Project的JavaBean的MemberQuery方法,從數(shù)據(jù)庫(kù)中查詢得到該項(xiàng)目已有的成員信息,輸出到頁(yè)面的“現(xiàn)有項(xiàng)目成員”列表框中。并調(diào)用名為User的JavaBean的Querr方法,獲取整個(gè)系統(tǒng)所有的用戶信息,剔除當(dāng)前已加入該項(xiàng)目的用戶,將這些用戶信息輸出到頁(yè)面的“可供添加人員”列表框中。如果系統(tǒng)沒(méi)有建立要配置的用戶信息,則用戶可點(diǎn)擊“添加項(xiàng)目成員”進(jìn)入U(xiǎn)serAdd.jsp頁(yè)面,創(chuàng)建新用戶。用戶從該頁(yè)面列表框中添加或刪除項(xiàng)目成員,由頁(yè)面的JavaScript程序在客戶端實(shí)現(xiàn)。用戶選擇好成員后,點(diǎn)擊確定按鈕,由ProMemberConfigRsp.jsp進(jìn)行相應(yīng)處理,調(diào)用名為Project的JavaBean的MemberAdd方法,將項(xiàng)目成員信息存儲(chǔ)到數(shù)據(jù)庫(kù),并使用respons.sendRedirect(“ProMemberConfig.jsp”)重定向到項(xiàng)目成員配置頁(yè)面,顯示當(dāng)前項(xiàng)目成員信息。
圖2 項(xiàng)目成員配置頁(yè)面
3.3 業(yè)務(wù)邏輯層實(shí)現(xiàn)
采用面向?qū)ο蟮姆椒,將系統(tǒng)問(wèn)題域中的對(duì)象抽象成類,設(shè)計(jì)成JavaBean,將對(duì)象的操作和服務(wù)封裝在JavaBean中,為控制邏輯層調(diào)用。本系統(tǒng)從問(wèn)題域?qū)ο蟮慕嵌瘸橄笤O(shè)計(jì)的JavaBean有User、Project、Flow、FlowNode、Document、Assignment。此外,還增加了封裝數(shù)據(jù)庫(kù)操作的DataBase JavaBean,以及下載和重用了第三方提供的一些開源JavaBean,如實(shí)現(xiàn)加密算法的md5組件,和實(shí)現(xiàn)文件上傳的SmartUplOAd組件。
4 結(jié)束語(yǔ)
本系統(tǒng)采用J2EE的多層Web應(yīng)用程序結(jié)構(gòu),將表示邏輯、控制邏輯和業(yè)務(wù)邏輯分離,有利于系統(tǒng)的開發(fā)、維護(hù)及代碼的共享重用。該系統(tǒng)對(duì)中小制造業(yè)企業(yè)普遍適用,企業(yè)能根據(jù)自身產(chǎn)品開發(fā)的特點(diǎn)定制項(xiàng)目流程和流程節(jié)點(diǎn),對(duì)項(xiàng)目過(guò)程的圖文檔和數(shù)據(jù)進(jìn)行管理。使用該系統(tǒng)有利于提高企業(yè)產(chǎn)品圖文檔及數(shù)據(jù)管理效率,對(duì)產(chǎn)品項(xiàng)目開發(fā)過(guò)程進(jìn)行全面控制與管理,為產(chǎn)品開發(fā)人員提供初步的協(xié)同設(shè)計(jì)環(huán)境。
核心關(guān)注:拓步ERP系統(tǒng)平臺(tái)是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應(yīng)用,蘊(yùn)涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務(wù)管理理念,功能涉及供應(yīng)鏈、成本、制造、CRM、HR等眾多業(yè)務(wù)領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設(shè)首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請(qǐng)注明出處:拓步ERP資訊網(wǎng)http://www.ezxoed.cn/
本文標(biāo)題:基于J2EE的機(jī)械圖文檔管理系統(tǒng)的研究與實(shí)現(xiàn)