科技項目管理系統(tǒng)領(lǐng)域框架研究
2019-11-21
來源:《電子科技》 作者:杭州電子科技大學(xué) 計算機(jī)學(xué)院 陳帥,徐小良
等,這樣就可對申請書實體各部分類所對應(yīng)頁面的表單元素組成及顯示情況進(jìn)行個性化的配置。
圖3基于組合的設(shè)計方式
2. 2權(quán)限管理組件
權(quán)限管理幾乎是所有管理信息系統(tǒng)均會涉及的問題。框架基于角色網(wǎng)絡(luò)模型來實現(xiàn)科技項目管理系統(tǒng)中各類操作員的權(quán)限劃分。圖4為框架的權(quán)限管理模型,該 模 型 由 功 能(action)、角 色(group)、用 戶(master)3部分組成。人員可分屬多個角色,角色是對職責(zé)的抽象,一個角色代表了一組系統(tǒng)功能,而功能是系統(tǒng)可進(jìn)行的操作,同時可進(jìn)一步劃分為用戶組或功能組[1],這樣就可實現(xiàn)粒度可控的權(quán)限分配策略,每個功能在執(zhí)行之前必須從權(quán)限類中獲取當(dāng)前用戶的角色類型,以判斷當(dāng)前的操作是否合法。經(jīng)上述分析,各類操作員在各業(yè)務(wù)環(huán)節(jié)上所做的操作以及操作之后業(yè)務(wù)流程的狀態(tài)遷移便是用戶權(quán)限的管理和業(yè)務(wù)狀態(tài)的管理[6]。
圖4權(quán)限管理模型
2. 3安全訪問策略
安全性訪問是網(wǎng)絡(luò)評審的一個重要內(nèi)容,框架設(shè)計充分考慮到了系統(tǒng)的安全性。
對于用戶身份的驗證,傳統(tǒng)的用戶驗證采用MD5加密客戶端用戶信息并發(fā)送到服務(wù)端進(jìn)行匹配的方式,但存在傳輸過程中被非法獲取的可能,若采用Ajax技術(shù)異步申請臨時驗證碼,隨機(jī)生成一張模糊的圖片,這不僅避免了非法獲取,還可防止入侵者使用自動登錄服務(wù)器后暴力破解。
SQL注入式攻擊一般是指系統(tǒng)沒有對用戶輸入的數(shù)據(jù)進(jìn)行判斷,攻擊者在輸入框或URL中輸入SQL語句,繞過驗證程序,非法獲取用戶的訪問權(quán),進(jìn)行非法入侵,框架采用數(shù)據(jù)庫管理系統(tǒng)的存儲過程方式予以解決。
為防止用戶會話超時后其他用戶的非法操作,設(shè)計中對所有請求進(jìn)行攔截過濾,若 會 話 過 期,則 返 回script腳本在前端進(jìn)行窗口提示,要求用戶重新登錄。
3、系統(tǒng)實現(xiàn)
3. 1系統(tǒng)架構(gòu)方案
JavaEE為各類管理信息系統(tǒng)的搭建提供了一整套內(nèi)容豐富的機(jī)制,基于組件和平臺無關(guān)性的特點(diǎn)使軟件架構(gòu)具有更好的伸縮性、靈活性和易維護(hù)性,其涵蓋了應(yīng)用業(yè)務(wù)邏輯的高效開發(fā)、異構(gòu)環(huán)境的可移植開發(fā)部署、管理信息系統(tǒng)交互界面的快速生成等方面,同時各類開源的開發(fā)框架為Java EE技術(shù)注入了新的活力[7]。本文系統(tǒng)借 鑒Java EE的 分 層 架 構(gòu)、面 向 接 口編程、控制反轉(zhuǎn)、切面編程等重要思想,構(gòu)建了一個可擴(kuò)展、易維護(hù)、松耦合的輕量級架構(gòu)[8],如圖5所示,其主要 分 為 表 現(xiàn) 層、業(yè)務(wù)邏輯層和持久化層。采 用Spring MVC無縫集成多種視圖形成一個基于MVC模式的Web層,F(xiàn)reeMarker開源模版引擎獲取數(shù)據(jù)模型以生成標(biāo)準(zhǔn) 輸 出,Spring IoC容 器 對Service和Dao的各服務(wù)組件進(jìn)行管理,根據(jù)配置文件動態(tài)注入,組合各服務(wù)組件滿足應(yīng)用需求,數(shù)據(jù)持久層采用Hibernate框架實現(xiàn)對象關(guān)系映射,解決了底層數(shù)據(jù)庫的兼容性問題,并采用標(biāo)準(zhǔn)的HQL語言以面向?qū)ο缶幊痰姆绞絹聿倏v 數(shù) 據(jù) 庫,同時還采用開源JQuery框 架 改 善 用 戶體驗。
圖5系統(tǒng)體系結(jié)構(gòu)圖
3. 2自定義標(biāo)簽庫
采用自定義標(biāo)簽可使系統(tǒng)在不更改后端邏輯的基礎(chǔ)上,輕易的改造前端邏輯,讓網(wǎng)頁變得簡潔且易于維護(hù)[9]。本系統(tǒng)基于FreeMarker模版引擎將常見的頁面UI標(biāo)簽進(jìn)行自定義的擴(kuò)展和封裝,形成針對科技項目領(lǐng)域的一套自定義標(biāo)簽庫。如項目申請書包括項目基本情況、項目人員、項目合作單位、項目計劃進(jìn)度、附件等內(nèi)容,利用自定義標(biāo)簽可根據(jù)后臺數(shù)據(jù)模型分別得到申請書各部分內(nèi)容的標(biāo)準(zhǔn)輸出,使表單和報表編寫得 以 簡 化。自定義分頁標(biāo)簽< @ p. table > < / @p. table >,使開發(fā)人員省去了大量分頁和腳本代碼的編寫,降低了不同開發(fā)人員的個性化代碼所帶來的各種潛在問題,提高了系統(tǒng)的可維護(hù)性。
4、系統(tǒng)應(yīng)用
按照上述對系統(tǒng)和框架的設(shè)計與實現(xiàn),解決了系統(tǒng)的安全訪問及人員角色的合理分配,并實現(xiàn)了科技計劃項目的全生命周期跟蹤管理。管理員在新增一個計劃類型時,無需手工編碼來重寫表單和報表,只需新增一組模 型 配 置 如 圖6所 示,以及模型字段配置如圖7所示,即可滿足表單或報表多變的需求,配置后新計劃類型所對應(yīng)的表單如圖8所示。
圖6計劃申請模型配置
圖7計劃申請模型字段配置
圖8配置后自動生成的表單界面
5、結(jié)束語
本文運(yùn)用領(lǐng)域分析方法提出了科技項目全生命周期管理模型,同時采用對象動態(tài)組合的思想對科技計劃項目領(lǐng)域系統(tǒng)的核心實體進(jìn)行復(fù)用性的設(shè)計,規(guī)避了傳統(tǒng)基于實體抽取技術(shù)的繼承設(shè)計方式所帶來的弊端,令多個計劃類別的申報流轉(zhuǎn)實現(xiàn)統(tǒng)一管理,且避免了系統(tǒng)的重復(fù)實現(xiàn)。此外,對系統(tǒng)的權(quán)限管理組件和安全訪問策略進(jìn)行了 分 析 設(shè) 計,最 終 基 于Java EE分層架構(gòu)技術(shù)以及自定義標(biāo)簽庫機(jī)制開發(fā)實現(xiàn)了一個可擴(kuò)展、易維護(hù)、松耦合、跨平臺的科技項目管理系統(tǒng)領(lǐng)域框架,確保各
免責(zé)聲明:
1、項目管理信息化網(wǎng)發(fā)布的所有資訊與文章是出于為業(yè)界傳遞更多信息之目的,并不意味著贊同其觀點(diǎn)或證實其描述。其原創(chuàng)性以及文中陳述文字和內(nèi)容未經(jīng)本站證實,對本文以及其中全部或者部分內(nèi)容、文字的真實性、完整性、及時性本站不作任何保證或承諾,請瀏覽者僅作參考,并請自行核實相關(guān)內(nèi)容。
2、本站部分內(nèi)容轉(zhuǎn)載于其他網(wǎng)站和媒體,版權(quán)歸原作者或原發(fā)布媒體所有。如文章涉及版權(quán)等問題,請聯(lián)系本站,我們將在兩個工作日內(nèi)進(jìn)行刪除或修改處理。敬請諒解!
-
延伸閱讀:
-