董楊浩
(中國(guó)電子科技集團(tuán)公司第二十研究所,陜西 西安710000)
本系統(tǒng)基于WEB技術(shù)實(shí)現(xiàn)了用戶隨時(shí)隨地進(jìn)行項(xiàng)目管理的需求,尤其是智能手機(jī)和平板電腦的普及,使用戶不再局限于傳統(tǒng)PC機(jī)上的操作,提高了項(xiàng)目執(zhí)行和管理的效率。基于WEB的項(xiàng)目管理系統(tǒng)與傳統(tǒng)的管理模式相比,其優(yōu)勢(shì)主要體現(xiàn)在以下幾個(gè)方面:
(1)強(qiáng)大的資源集成能力。通過(guò)網(wǎng)絡(luò)管理平臺(tái)上的數(shù)據(jù),讓人員通過(guò)統(tǒng)一的平臺(tái)進(jìn)行通信,并通過(guò)接口與系統(tǒng)的其他信息交互,實(shí)現(xiàn)資源集成的工作模式。
(2)良好的可操作性。此系統(tǒng)的操作主要通過(guò)收集數(shù)據(jù)和存儲(chǔ)數(shù)據(jù)進(jìn)行,基于數(shù)據(jù)存儲(chǔ)系統(tǒng)的廣泛性和準(zhǔn)確性,調(diào)查研究更為客觀。
(3)降低成本。在經(jīng)濟(jì)性方面,本系統(tǒng)投入的經(jīng)濟(jì)費(fèi)用較少,投入產(chǎn)出比符合預(yù)期。
微服務(wù)的核心概念是應(yīng)用復(fù)雜的應(yīng)用程序以執(zhí)行服務(wù)分段,即以獨(dú)立的業(yè)務(wù)部門的形式將單個(gè)應(yīng)用程序系統(tǒng)拆分為多個(gè)服務(wù),每個(gè)服務(wù)都可以選擇合適的技術(shù)來(lái)實(shí)現(xiàn)特定的業(yè)務(wù)功能,在一個(gè)獨(dú)立的過(guò)程中運(yùn)行并進(jìn)行部署。微服務(wù)之間的功能界限很明確,并且使用輕量級(jí)的通信機(jī)制實(shí)現(xiàn)完整的應(yīng)用程序。
微服務(wù)的本質(zhì)是一個(gè)分散系統(tǒng),該系統(tǒng)由一組可以獨(dú)立交付的微服務(wù)業(yè)務(wù)部門組成。
(1)可控制的復(fù)雜性:微服務(wù)將復(fù)雜的應(yīng)用程序系統(tǒng)分解為具有單一功能且能夠根據(jù)業(yè)務(wù)功能進(jìn)行管理的多個(gè)服務(wù);
(2)靈活的架構(gòu):分布式架構(gòu)部署多個(gè)服務(wù),提升了性能;
(3)技術(shù)眾多:每個(gè)微服務(wù)可以選擇不同的開發(fā)技術(shù)進(jìn)行開發(fā),靈活性增強(qiáng);
(4)輕松擴(kuò)展:微服務(wù)之間相互獨(dú)立,可擴(kuò)展性較強(qiáng);
(5)獨(dú)立的自主權(quán):每個(gè)微服務(wù)獨(dú)立開發(fā)、運(yùn)行、部署。
項(xiàng)目管理平臺(tái)需要滿足以下功能要求:
(1)人們使用平臺(tái)有兩種情況。由高校人事部門管理的人員或者校外人員,如評(píng)審專家等。
(2)用戶的權(quán)限是每個(gè)功能的詳細(xì)信息,例如,財(cái)務(wù)人員只能使用與財(cái)務(wù)相關(guān)的功能。
(3)可以添加、查詢、修改和刪除每個(gè)項(xiàng)目,實(shí)施過(guò)程和完成的項(xiàng)目無(wú)法刪除。
(4)在項(xiàng)目實(shí)施時(shí),可以設(shè)置部門、人員和任務(wù)。
(5)圖表的形式直觀地顯示了項(xiàng)目的進(jìn)度以及相關(guān)的信息、文檔等。
(6)項(xiàng)目資金由財(cái)務(wù)管理。
(7)項(xiàng)目的統(tǒng)計(jì)信息以圖表的形式展示。
除了功能的需求之外,在系統(tǒng)的需求當(dāng)中還包括了系統(tǒng)的非功能需求。
系統(tǒng)的效率指的是系統(tǒng)的響應(yīng)速度,通常來(lái)說(shuō)系統(tǒng)的響應(yīng)時(shí)間需要在3 s內(nèi)。系統(tǒng)的實(shí)用性指的是用戶的操作比較的簡(jiǎn)便??删S護(hù)性指的是在系統(tǒng)運(yùn)行中若發(fā)生了異常的情況,要能夠及時(shí)地排查及解決將系統(tǒng)的影響降到最低??衫斫庑灾傅氖窍到y(tǒng)給出的提示信息要能夠簡(jiǎn)而化之,用戶看到提示信息之后就能夠知道問(wèn)題的所在。可擴(kuò)展性指的是當(dāng)業(yè)務(wù)不斷地發(fā)生變化時(shí),系統(tǒng)要有良好的可擴(kuò)展性來(lái)適應(yīng)新增的業(yè)務(wù)需求。
系統(tǒng)的設(shè)計(jì)需要遵循分層的原則,本系統(tǒng)通過(guò)MVC的模式進(jìn)行開發(fā),層與層之間相互獨(dú)立偶合性降低[2],開發(fā)人員只需要專注自己的業(yè)務(wù)邏輯即可。系統(tǒng)的分層原則降低了服務(wù)人員的開發(fā)門檻,能夠在短時(shí)間內(nèi)進(jìn)行業(yè)務(wù)的開發(fā)。
系統(tǒng)設(shè)計(jì)應(yīng)該以客戶需求為主要實(shí)施原則,注重滿足不同客戶的差異性需求,以及大多數(shù)用戶對(duì)于使用習(xí)慣的共同體驗(yàn),再根據(jù)這一原則做好相關(guān)技術(shù)設(shè)置上的程序編排。在具體操作中,依據(jù)具體客戶的需求進(jìn)行架構(gòu)選擇和設(shè)計(jì),選擇一個(gè)合理的設(shè)計(jì)架構(gòu)關(guān)系著系統(tǒng)的使用壽命和開發(fā)難度[3]。系統(tǒng)框架圖如圖1所示。
圖1 系統(tǒng)體系框架圖
3.3.1 系統(tǒng)管理
系統(tǒng)管理包括日志管理、用戶(組)管理、角色管理、權(quán)限管理等功能。如圖2所示。
圖2 系統(tǒng)管理需求結(jié)構(gòu)圖
(1)日志管理
日志管理是系統(tǒng)的必要功能。系統(tǒng)日志分為兩種類型:系統(tǒng)日志和操作與維護(hù)日志。
(2)用戶(組)管理
項(xiàng)目管理平臺(tái)的用戶(組)的管理,主要是對(duì)用戶組進(jìn)行維護(hù)。
(3)角色管理
角色管理功能是對(duì)用戶的角色信息進(jìn)行維護(hù)。
(4)權(quán)限管理
權(quán)限管理主要涉及用戶權(quán)限管理及項(xiàng)目權(quán)限管理。
3.3.2 項(xiàng)目管理
項(xiàng)目管理功能如圖3所示。
圖3 項(xiàng)目管理功能結(jié)構(gòu)圖
(1)可行性管理
1)用戶對(duì)可行性報(bào)告進(jìn)行維護(hù)。
2)報(bào)告審批。
(2)項(xiàng)目文件管理
1)文檔模板管理:模板維護(hù)。
2)用戶文檔管理:用戶登錄后即可上傳與項(xiàng)目相關(guān)的文檔,并對(duì)文檔進(jìn)行維護(hù)。
3)項(xiàng)目負(fù)責(zé)人文檔管理:項(xiàng)目負(fù)責(zé)人對(duì)文檔的維護(hù)。
4)提供表格的在線下載和打印。
(3)項(xiàng)目進(jìn)度管理
1)項(xiàng)目負(fù)責(zé)人上傳項(xiàng)目進(jìn)度表。
2)用戶可以查看項(xiàng)目進(jìn)度表和項(xiàng)目的實(shí)施狀態(tài),在進(jìn)度表中的相應(yīng)節(jié)點(diǎn)上標(biāo)記和管理自己的提醒點(diǎn)。
3)項(xiàng)目主管審查并管理項(xiàng)目負(fù)責(zé)人提交的項(xiàng)目進(jìn)度文件和項(xiàng)目進(jìn)度。
(4)子項(xiàng)目設(shè)置
許多項(xiàng)目將被劃分為多個(gè)子項(xiàng)目,每個(gè)子項(xiàng)目都可以作為一個(gè)普通項(xiàng)目進(jìn)行管理,最終項(xiàng)目進(jìn)行整體協(xié)調(diào)。
(5)項(xiàng)目人員管理
1)項(xiàng)目管理部門負(fù)責(zé)設(shè)置可以使用該平臺(tái)的相關(guān)人員信息。
2)項(xiàng)目管理部門負(fù)責(zé)設(shè)置項(xiàng)目負(fù)責(zé)人。
3)項(xiàng)目負(fù)責(zé)人負(fù)責(zé)選擇項(xiàng)目參與者、項(xiàng)目專家和項(xiàng)目主管。
(6)項(xiàng)目設(shè)施設(shè)備管理
項(xiàng)目設(shè)施和設(shè)備管理是對(duì)項(xiàng)目、設(shè)備、負(fù)責(zé)人、用戶和使用時(shí)間等信息的維護(hù)。
(7)項(xiàng)目資金管理
1)項(xiàng)目負(fù)責(zé)人在線索賠。
2)項(xiàng)目管理機(jī)構(gòu)對(duì)網(wǎng)上進(jìn)行索賠并經(jīng)審查后對(duì)財(cái)務(wù)部門進(jìn)行審查。
3)對(duì)賬審核。
(8)項(xiàng)目狀態(tài)設(shè)置
項(xiàng)目狀態(tài)設(shè)置用于管理項(xiàng)目的運(yùn)行狀態(tài),當(dāng)項(xiàng)目處于暫停狀態(tài)時(shí),無(wú)法管理該項(xiàng)目;項(xiàng)目已在終止?fàn)顟B(tài)下停止執(zhí)行,并且不會(huì)繼續(xù)。
(9)子項(xiàng)目管理
對(duì)于某些大型項(xiàng)目,它將細(xì)分為較小的子項(xiàng)目進(jìn)行管理,從而提高了項(xiàng)目管理和執(zhí)行的效率。
(10)項(xiàng)目結(jié)題管理
在項(xiàng)目最終完成之后,項(xiàng)目負(fù)責(zé)人提交申請(qǐng)以結(jié)束項(xiàng)目,并通過(guò)指定的專家審查來(lái)演示項(xiàng)目過(guò)程、文件、成就等。其他必需的系統(tǒng)可以通過(guò)相應(yīng)的界面調(diào)用在整個(gè)生命周期中獲得的成就。
3.3.3 項(xiàng)目評(píng)審
項(xiàng)目評(píng)審詳細(xì)需求的結(jié)構(gòu)圖如圖4所示。主要包括:
(1)專家個(gè)人信息維護(hù)。
(2)專家個(gè)人意見管理。
(3)評(píng)審文件管理主要是文檔權(quán)限的管理。
3.3.4 項(xiàng)目監(jiān)理
項(xiàng)目監(jiān)理的結(jié)構(gòu)圖如圖5所示。主要包括:
(1)監(jiān)督人信息管理
(2)監(jiān)督文檔管理
圖4項(xiàng)目評(píng)審需求結(jié)構(gòu)圖
圖5項(xiàng)目監(jiān)督需求結(jié)構(gòu)圖
系統(tǒng)的安全證書使用SpringSecurity安全框架來(lái)管理權(quán)限。在系統(tǒng)中,安全部分主要基于用戶的相應(yīng)角色,而該角色對(duì)應(yīng)于系統(tǒng)權(quán)限。在該系統(tǒng)中,權(quán)限的控制分為菜單級(jí)和請(qǐng)求級(jí)。對(duì)于菜單級(jí)別的權(quán)限控制,用戶只需要將菜單分配給相應(yīng)的角色[4]。
對(duì)于內(nèi)部接口的安全認(rèn)證,具體過(guò)程為:
用戶登錄系統(tǒng)后,系統(tǒng)將驗(yàn)證用戶的身份并在通過(guò)后進(jìn)入系統(tǒng)。權(quán)限信息,將獲取的權(quán)限信息移交給SpringSecurity上下文,以維護(hù)和保存用戶的權(quán)限信息。當(dāng)用戶訪問(wèn)系統(tǒng)的內(nèi)部接口時(shí),SpringSecurity框架將根據(jù)上下文信息驗(yàn)證當(dāng)前用戶是否有權(quán)訪問(wèn)該接口,如果允許,則放手;相反,將提示未授權(quán)用戶訪問(wèn)。
該系統(tǒng)的權(quán)限是動(dòng)態(tài)管理的。在權(quán)限管理中,建立權(quán)限信息,保存數(shù)據(jù)庫(kù),并將權(quán)限分配給角色。該角色具有分配的權(quán)限,并且在內(nèi)部接口中設(shè)置了相應(yīng)的權(quán)限訪問(wèn)控制。如下:
@PreAuthorize("hasAuthority('member_manage')")
此設(shè)置的含義是,當(dāng)前登錄的用戶必須具有權(quán)限“member_manage”才能訪問(wèn)此接口,以實(shí)現(xiàn)權(quán)限控制的目的。