中國船舶重工集團公司第七二六研究所 張馨元
隨著技術的不斷革新,基于移動終端的互聯網+早已融入人們的生產生活。針對軍工企業信息化建設進程,目前已存在的大多數智能信息化管理系統還是基于傳統的臺式電腦形式,模式簡單,不方便攜帶,不方便管理人員及時獲取管理信息和做出決策。
考慮到軍工企業的保密性要求[1],涉密內容須嚴格控制,與外網隔離,而企業對人員信息狀態的獲取又更講求便攜性和及時性,因此信息化建設對企業HR提出更高要求。本文討論的移動管理系統是在控制中心PC端基礎上的延伸,并在移動終端上繼續深化,單位管理層與關鍵運行崗位可通過手機等移動設備,在PC端之外及時掌握企業人員日常人事信息。
本文根據軟件工程實現的一般要求,提出如下三個需求,即業務性需求、用戶側需求、功能和非功能性需求。
(1)業務性需求
本文是面向管理決策層和HR們的移動端設計,管理層不僅是企業生產生活的一部分,更是企業管理的指揮者和決策者,在完成日常人事工作的同時,還需實時觀測人事數據的匯總和分析,以便決策需要。
(2)用戶側需求
軍工企業人力資源移動管理系統是一款企業級定制應用,根據具體的企業文化、運行環境等設計開發。系統中大部分的用戶屬于中間用戶層,介于新手和專業人員之間,通常采用常規UI設計模式展示界面。同時考慮將企業Logo的幾種顏色和字體作為UI設計的基本色調,以突出企業文化。
(3)功能、非功能性需求
功能性需求是根據業務性需求和用戶側需求的歸納總結;非功能性需求則關系到軟件的使用背景、限制因素、故障處理情況以及開發環境和工具等。具體要求如表1所示。
該移動管理系統按數據類型進行模塊實現,如圖1所示,下文將詳細介紹。
(1)賬戶管理
用戶設置:包括密碼設置、服務器參數設置。其中,密碼設置包括用戶權限綁定;服務器參數設置包括:所在城市、端口以及Web服務器的IP地址等。
登錄模塊一般包括安全認證和常規認證兩種方式,在此不再詳細闡述。
(2)數據管理
實時數據加載:數據有3種類型,分別是XML列表數據、GPS全景圖及各類圖元分析報告。三種數據涵蓋了整個企業的人事工作情況分析,供軍工企業高層及HR手持移動端即可對企業的人事工作情況一覽無余。數據加載模塊負責對這三種數據進行下載,并存儲到對應的數據庫中。
數據顯示:考勤、工資等人事數據以及KPI分析報告以列表及各類綜合圖元的方式展示,如柱狀圖、曲線圖、餅圖等,此外還有地理全景圖等均以SVG矢量圖為支撐顯示。
數據查詢:包括告警信息查詢、各種人事歷史數據查詢,其中,有一周、一個月或者任意時間三種時間段;按內容查找有兩種方式:部門和姓名。

表1 軍工企業人力資源移動管理系統功能和非功能性需求

圖1 軍工企業人力資源移動管理系統架構
(3)軟件管理
自動升級:本移動端自動監測系統是否定時更新,并以小圖標的方式提示用戶,用戶自行選擇是否升級。這比強制升級或彈框提示更具友好性。
軟件保護:為了加強知識產權保護,本移動端可采用代碼混淆等方法,對相關代碼進行加密保護,有效提高系統安全性。
該系統軟件架構采用MVC模式,整個系統核心內容為,前臺界面展示,即視圖層;前后臺交互通道和后臺業務邏輯,即控制層;數據抽象層,即模型層。
在數據層,硬盤數據庫安裝Oracle[3],用于存儲系統登陸用戶名、用戶權限配置、以及其他需要物理存儲的信息;內存數據庫安裝Timesten[4],用于存儲對讀取要求比較高的數據,如考勤實時數據,也用于臨時存儲用于與前臺快速交互的數據,提供與Oracle一樣的連接、操作方式,支持標準Sql[5]語句。
后臺業務邏輯層中的接口服務程序處理與其他系統的數據接口。本文通過JDBC[6]與數據庫交互數據。系統將數據以XML流的方式發送給Web服務器或Android移動端進行解析和顯示。考慮到軍工單位的保密特性,在模塊訪問涉密系統數據庫時,須通過接口服務程序先對涉密數據庫進行訪問權限設置,并設置訪問間隔,控制數據更新速度,對此信息化系統已具備技術層面支持[7],筆者后續對其技術層面進行可行性探討。而對于將移動端產生的考勤數據導入涉密系統,目前可采用人工導入方式,進行非密外轉內操作。
該系統以手機為主要硬件設備,終端APP應用展示系統。硬件架構如圖2所示,包括Android移動端模塊、Web服務器模塊等。

圖2 移動管理系統硬件架構
移動端共分為6個模塊,分別為:AttendanceStudio(考勤工作室)、SalaryStudio(在線工資單)、EduStudio(教育培訓工作室)、ProfessionStudio(職稱評定工作室)、PersonalRecords(人事檔案)、RecruitmentStudio(招聘工作室),結構如圖3所示。

圖3 Android客戶端結構圖
系統由Android移動端發送請求查看某工作室圖元分析報告的SVG實時圖形信號給Web服務器,Web服務器獲取到相應的SVG文件之后,通過SAX以字符流的形式標準化SVG文件,解析整個SVG文件并進行封裝,使其成為JSP文件,同時給Android客戶端返回一個URL路徑??蛻舳烁鶕摲祷豒RL的路徑對相應Fragment界面上的Web-View控件初始化,同時對WebView進行相關設置,再用loadUrl()方法加載JSP頁面,依據同樣是Web服務器端返回的URL路徑。Android客戶端每間隔1分鐘發新的指令,Web服務器從后臺數據庫中實時獲取最新的數據信息,并對相應數據進行更新,數據包括SVG文件中的具體數量、時間、名稱等等。加載后,具體的SVG實時圖形可以進行放大或縮小、可以橫屏查看,也可以豎屏查看。但加載SVG文件本身比較耗費系統資源,關于相關優化方案本課題在此不多加闡述。
Web服務器基于JavaEE平臺進行構建,主要功能如下:
(1)從Oracle數據庫調用相關數據,并將數據轉換成標準格式,以便在Android操作系統中進行顯示。
(2)對用戶通過Android移動端發送過來的請求命令進行相關處理,并返回處理結果。
Android移動端向Web服務器發送HTTP請求,服務器接收后在RequestServlet中對請求指令進行類型判別,根據不同類型分配到不同的Servlet進行處理,具體類型包括:
1)用戶登錄的相關信息,包括用戶名、密碼以及具體權限等。2)處理GPS定位打卡功能,將服務器處理得到的相應考勤數據存儲在考勤數據庫中。
3)請求系統實時指標數據及KPI指標數據等SVG圖形文件。針對査看指令,Web服務器通過轉換服務進程,把系統PC端的圖形g文件轉換成移動終端上可顯示的SVG文件,并把以圖形g文件形式存在的設備信息,以元數據的方式進行保存,具體以svg文件實現,以便Android操作系統顯示。例如:在Android系統中任意縮小或放大功能通常以標準的SVG英文標簽名替換不正規的SVG中文標簽名實現,或通過更改
4)請求告警、歷史數據查看等信息。服務器調取的告警數據一般存儲在相應的告警數據庫中,比如:出勤率告警存儲在absence_event,合同到期告警存儲在deadline_event中。KPI指標告警則需要服務器通過調取歷史數據,將當前數據曲線和昨日曲線以及原始最高值、原始最低值進行比對,判斷當前是否處于告警狀態。
本文為數據處理技術在移動端的實現。該移動管理系統的設計方便管理人員及時掌握和傳達人員信息,避免傳統人事工作的操作冗雜,有效促進企業現代化人力資源建設,從而為企業的高效穩定運行提供支撐。最后,希望本文能為軍工企業管理信息化建設提供輔助意見。