楊錦山 王輝
(中國電子科學研究院 北京市 100041)
隨著企業規模和業務領域的不斷擴大,企業承接和研制的項目數量不斷增長,如何高效地管理項目成了急需解決的問題。為了更好地解決該問題,必須通過開發一套可靠、便利的、信息可視化的項目信息管理系統來提高管理效率[1]。
項目信息管理系統應該能夠滿足部門領導、項目管理人員、項目參與人員的使用需求,能夠客觀反映企業承接和研制項目的情況,包括項目成員、軟件配置項、接口協議等信息。同時應該能夠反映人員的復用情況,為優化項目和人員管理提供依據。
SpringBoot 是一種全新的Web 架構,由Pivotal 團隊提供,設計的宗旨是簡化Spring 應用的搭建和開發過程。SpringBoot 通過“習慣優于配置”的思想實現Web 項目的快速搭建,從而避免開發人員定義樣板化的配置[2]。
Maven 是Apache 下的一個純Java 開發的開源項目。基于項目對象模型(POM)概念,Maven 利用一個中央信息片斷來管理一個項目的構建、報告和文檔等步驟。Maven 是一個項目管理工具,可以對Java 項目進行構建、依賴管理。Maven 也可被用于構建和管理C#、Ruby、Scala 等語言編寫的項目[3]。
Thymeleaf 是一種用于Web 和獨立環境的現代服務器端的Java模板引擎,Thymeleaf 的主要目標在于提供一種可被瀏覽器正確顯示的、格式良好的模板創建方式,因此也可以用作靜態建模。它能夠處理XML、HTML、JavaScript、CSS 甚至純文本[4]。
項目信息管理系統主要實現項目相關信息的管理,由項目管理組件、成員管理組件、軟件配置項管理組件、協議管理組件、日志管理組件組成。如圖1所示。
項目管理組件:負責實現項目的增加、刪除、修改、查詢功能和項目相關信息(名稱、標識、主管部門、負責人、項目成員、軟件配置項、協議)的維護。
成員管理組件:負責實現項目成員的增加、刪除、修改、查詢功能和成員信息(姓名、項目角色、聯系方式、單位名稱、所在部門)的維護。
軟件配置項管理組件:負責實現軟件配置項的增加、刪除、修改、查詢功能和軟件配置項信息(名稱、標識、主要功能、代碼規模、相關的協議)的維護。
協議管理組件:負責實現各軟件配置項之間協議的增加、刪除、修改、查詢功能和協議信息(字段名稱、字段類型)的維護。
日志管理組件:負責實現用戶的登錄和數據修改操作的管理。

圖1:系統結構圖

圖2

圖3

圖4
由于項目信息相關的數據均為結構化數據,因此本系統使用Mysql 數據庫。根據系統的總體設計,需要設計項目表(project_info)、成員表(user_info)軟件配置項表(csci_info)、協議表(protocol_info)、日志表(log_info)5 張數據表。
在開發過程中,如果需要使用第三方jar 包提供的類庫,通過在pom.xml 文件中加入該jar 包的依賴。以添加spring-boot 為例,需在pom.xml 中添加如圖2 代碼。
本系統涉及的業務模塊包括項目管理、成員管理、軟件配置項管理、協議管理、日志管理五個模塊,代碼結構類似,只是各模塊的數據結構和業務邏輯不同下面以成員管理模塊為例說明具體實現。SpringBoot 項目的基礎結構共三個文件:如圖3所示。
|java 目錄下包括以下內容:

圖5

圖6

圖7

圖8
Application.java 在根目錄下,主要用于做一些架構配置,@SpringBootApplication 是SpringBoot 項目的核心注解,主要目的是開啟自動配置,主要代碼如圖4。
domain 目錄主要用于實體(Entity)與數據訪問層(Repository),實體(Entity)代碼如圖5 和圖6。
數據訪問層(Repository)主要代碼如圖7。
service 目錄主要是業務類代碼;
controller 負責頁面訪問控制,通過@PostMapping、@DeleteMapping、@PutMapping、@GetMapping 注解來實現頁面對數據的增加、刪除、修改、查詢操作,主要接口如圖8。
本文采用目前流行的SpringBoot 和Thymeleaf 框架設計了B/S架構的項目信息管理系統。本文設計的項目信息管理系統既能夠對通過可視化的方式展示各項目相關的信息,同時能夠顯示項目人員的復用情況,為企業合理、有效地管理項目和人員提供了有利支撐。