董楊浩
(中國電子科技集團公司第二十研究所,陜西 西安710000)
本系統基于WEB技術實現了用戶隨時隨地進行項目管理的需求,尤其是智能手機和平板電腦的普及,使用戶不再局限于傳統PC機上的操作,提高了項目執行和管理的效率?;赪EB的項目管理系統與傳統的管理模式相比,其優勢主要體現在以下幾個方面:
(1)強大的資源集成能力。通過網絡管理平臺上的數據,讓人員通過統一的平臺進行通信,并通過接口與系統的其他信息交互,實現資源集成的工作模式。
(2)良好的可操作性。此系統的操作主要通過收集數據和存儲數據進行,基于數據存儲系統的廣泛性和準確性,調查研究更為客觀。
(3)降低成本。在經濟性方面,本系統投入的經濟費用較少,投入產出比符合預期。
微服務的核心概念是應用復雜的應用程序以執行服務分段,即以獨立的業務部門的形式將單個應用程序系統拆分為多個服務,每個服務都可以選擇合適的技術來實現特定的業務功能,在一個獨立的過程中運行并進行部署。微服務之間的功能界限很明確,并且使用輕量級的通信機制實現完整的應用程序。
微服務的本質是一個分散系統,該系統由一組可以獨立交付的微服務業務部門組成。
(1)可控制的復雜性:微服務將復雜的應用程序系統分解為具有單一功能且能夠根據業務功能進行管理的多個服務;
(2)靈活的架構:分布式架構部署多個服務,提升了性能;
(3)技術眾多:每個微服務可以選擇不同的開發技術進行開發,靈活性增強;
(4)輕松擴展:微服務之間相互獨立,可擴展性較強;
(5)獨立的自主權:每個微服務獨立開發、運行、部署。
項目管理平臺需要滿足以下功能要求:
(1)人們使用平臺有兩種情況。由高校人事部門管理的人員或者校外人員,如評審專家等。
(2)用戶的權限是每個功能的詳細信息,例如,財務人員只能使用與財務相關的功能。
(3)可以添加、查詢、修改和刪除每個項目,實施過程和完成的項目無法刪除。
(4)在項目實施時,可以設置部門、人員和任務。
(5)圖表的形式直觀地顯示了項目的進度以及相關的信息、文檔等。
(6)項目資金由財務管理。
(7)項目的統計信息以圖表的形式展示。
除了功能的需求之外,在系統的需求當中還包括了系統的非功能需求。
系統的效率指的是系統的響應速度,通常來說系統的響應時間需要在3 s內。系統的實用性指的是用戶的操作比較的簡便。可維護性指的是在系統運行中若發生了異常的情況,要能夠及時地排查及解決將系統的影響降到最低??衫斫庑灾傅氖窍到y給出的提示信息要能夠簡而化之,用戶看到提示信息之后就能夠知道問題的所在??蓴U展性指的是當業務不斷地發生變化時,系統要有良好的可擴展性來適應新增的業務需求。
系統的設計需要遵循分層的原則,本系統通過MVC的模式進行開發,層與層之間相互獨立偶合性降低[2],開發人員只需要專注自己的業務邏輯即可。系統的分層原則降低了服務人員的開發門檻,能夠在短時間內進行業務的開發。
系統設計應該以客戶需求為主要實施原則,注重滿足不同客戶的差異性需求,以及大多數用戶對于使用習慣的共同體驗,再根據這一原則做好相關技術設置上的程序編排。在具體操作中,依據具體客戶的需求進行架構選擇和設計,選擇一個合理的設計架構關系著系統的使用壽命和開發難度[3]。系統框架圖如圖1所示。

圖1 系統體系框架圖
3.3.1 系統管理
系統管理包括日志管理、用戶(組)管理、角色管理、權限管理等功能。如圖2所示。

圖2 系統管理需求結構圖
(1)日志管理
日志管理是系統的必要功能。系統日志分為兩種類型:系統日志和操作與維護日志。
(2)用戶(組)管理
項目管理平臺的用戶(組)的管理,主要是對用戶組進行維護。
(3)角色管理
角色管理功能是對用戶的角色信息進行維護。
(4)權限管理
權限管理主要涉及用戶權限管理及項目權限管理。
3.3.2 項目管理
項目管理功能如圖3所示。

圖3 項目管理功能結構圖
(1)可行性管理
1)用戶對可行性報告進行維護。
2)報告審批。
(2)項目文件管理
1)文檔模板管理:模板維護。
2)用戶文檔管理:用戶登錄后即可上傳與項目相關的文檔,并對文檔進行維護。
3)項目負責人文檔管理:項目負責人對文檔的維護。
4)提供表格的在線下載和打印。
(3)項目進度管理
1)項目負責人上傳項目進度表。
2)用戶可以查看項目進度表和項目的實施狀態,在進度表中的相應節點上標記和管理自己的提醒點。
3)項目主管審查并管理項目負責人提交的項目進度文件和項目進度。
(4)子項目設置
許多項目將被劃分為多個子項目,每個子項目都可以作為一個普通項目進行管理,最終項目進行整體協調。
(5)項目人員管理
1)項目管理部門負責設置可以使用該平臺的相關人員信息。
2)項目管理部門負責設置項目負責人。
3)項目負責人負責選擇項目參與者、項目專家和項目主管。
(6)項目設施設備管理
項目設施和設備管理是對項目、設備、負責人、用戶和使用時間等信息的維護。
(7)項目資金管理
1)項目負責人在線索賠。
2)項目管理機構對網上進行索賠并經審查后對財務部門進行審查。
3)對賬審核。
(8)項目狀態設置
項目狀態設置用于管理項目的運行狀態,當項目處于暫停狀態時,無法管理該項目;項目已在終止狀態下停止執行,并且不會繼續。
(9)子項目管理
對于某些大型項目,它將細分為較小的子項目進行管理,從而提高了項目管理和執行的效率。
(10)項目結題管理
在項目最終完成之后,項目負責人提交申請以結束項目,并通過指定的專家審查來演示項目過程、文件、成就等。其他必需的系統可以通過相應的界面調用在整個生命周期中獲得的成就。
3.3.3 項目評審
項目評審詳細需求的結構圖如圖4所示。主要包括:
(1)專家個人信息維護。
(2)專家個人意見管理。
(3)評審文件管理主要是文檔權限的管理。
3.3.4 項目監理
項目監理的結構圖如圖5所示。主要包括:
(1)監督人信息管理
(2)監督文檔管理

圖4項目評審需求結構圖

圖5項目監督需求結構圖
系統的安全證書使用SpringSecurity安全框架來管理權限。在系統中,安全部分主要基于用戶的相應角色,而該角色對應于系統權限。在該系統中,權限的控制分為菜單級和請求級。對于菜單級別的權限控制,用戶只需要將菜單分配給相應的角色[4]。
對于內部接口的安全認證,具體過程為:
用戶登錄系統后,系統將驗證用戶的身份并在通過后進入系統。權限信息,將獲取的權限信息移交給SpringSecurity上下文,以維護和保存用戶的權限信息。當用戶訪問系統的內部接口時,SpringSecurity框架將根據上下文信息驗證當前用戶是否有權訪問該接口,如果允許,則放手;相反,將提示未授權用戶訪問。
該系統的權限是動態管理的。在權限管理中,建立權限信息,保存數據庫,并將權限分配給角色。該角色具有分配的權限,并且在內部接口中設置了相應的權限訪問控制。如下:
@PreAuthorize("hasAuthority('member_manage')")
此設置的含義是,當前登錄的用戶必須具有權限“member_manage”才能訪問此接口,以實現權限控制的目的。