中國市政工程華北設計研究總院有限公司 馬文新 龔美 張慶維
隨著企業發展規模的擴大,傳統管理方式難以協調有限資源與項目之間的矛盾,引入現代化企業綜合管理系統是有效的解決手段,也是企業數字化轉型的方向。本文從企業項目管理問題出發,詳細闡述了于MVC模式的企業綜合管理系統的設計與實現思路。同時針對系統各類用戶分別進行需求分析后,對系統進行了功能設計。實際應用效果表明該系統的引入對于重塑企業管理模式、降低企業成本、提高員工工作效率起到非常重要的作用。
現階段,傳統的企業管理經常會面臨項目作業流程銜接不緊、項目過程監管不到位、員工職責劃分不清晰等難題。尤其在企業項目工期既定的情況下,直接導致項目進度、質量、成本三者的關系失去平衡,嚴重影響項目質量[1]。因此,建立一套多維度、全方位、全過程的綜合性系統解決方案,幫助企業重塑管理模式,實現管理流程透明化、業務流程自動化至關重要。
本文介紹的基于MVC模式建立的企業綜合管理系統正是這種創新型系統解決方案的具體呈現形式。該系統集在線化、標準化、數字化于一體,推動項目全生命周期管理。此外,為滿足企業除項目之外的其他方面的管理需求,系統還增設多個功能模塊以實現企業的全方位管理。該系統所采用的技術都嚴格遵循國內外技術標準,以保證系統在較長的時間范圍內能穩定運行,全面適應企業業務管理和技術的發展,對企業的信息化建設有很好的指導意義。
企業綜合管理系統整體采用B/S結構實現。該系統具有較強的兼容性,能適應大多數當前主流的瀏覽器,如Chrome、Firefox等。服務器端主要部署在Windows操作系統環境下,采用MVC(model-view-Controller:模型-視圖-控制器)設計模式實現。
MVC模式是一種軟件設計典范[2],一種業務邏輯,數據,界面顯示分離的方法組織代碼,將業務邏輯聚集到一個部件里,在改進和個性化定制界面以及用戶交互的同時,不需要重新編寫業務邏輯,進而實現表現UI和表現邏輯的分離,使得他們之間更靈活,并且自治視圖。MVC模式將表現層分為三類:Model是視圖展現數據;View是用戶交互界面;Controller是將用戶輸入轉化為中間層操作。三者之間的關系如圖1所示。

圖1 MVC模式關系圖Fig.1 MVC pattern diagram
該系統服務端選用ThinkPHP作為基礎開發框架。ThinkPHP是一種用PHP語言實現的MVC模式Web框架,具有較強的兼容性,能夠很好的簡化開發、提高效率,適合敏捷開發項目[3]。
(1)普通用戶需求分析。普通用戶是指系統中除領導和管理員角色以外的其他角色,包括項目申報人。使用系統的主要目的是查看相關在手工作、公司制度、信息公告以及其他任何與員工自身相關的信息。(2)管理員需求分析。管理員是指系統中負責維護各個功能模塊的角色,該角色在實際工作中主要承擔人員管理、制度發布、活動組織等相關的綜合類工作,在管理系統中主要負責各模塊相應內容的增刪改查類工作。(3)領導用戶分析。領導用戶在系統中具有最高權限的角色,該角色在實際工作中主要負責宏觀把控。因此,其更希望通過系統獲取統計型數據,進而全面掌握各部門體系運行情況。
基于上述針對企業不同工作類型的員工的實際需求,現將企業項目管理系統的設計分為10個子功能模塊,分別是個人主頁、部門職責、待辦事項、項目管理、人員管理、制度管理、信息公告、日志總覽、績效考核、建議反饋,該系統整合了內部管理工作的業務流程,精確到管理工作的細節之處,以全面覆蓋企業的多種工作管理需求。
系統構架、采用技術均具有較好的開放性、先進性、前瞻性和擴展性,能與其他多家優秀的產品進行集成,共同構成一個開放的、易擴充的、穩定的系統。前面相關技術章節已經提到,系統整體設計采用MVC設計模式,大大提高了程序的可維護性、可移植性、可擴展性與可重用性,降低了程序的開發難度。完整的系統架構圖如圖2所示。

圖2 系統架構圖Fig.2 System architecture diagram
系統數據庫的設計主要從數據要求、處理要求以及安全性與完整性要求三個方面來考慮,同時遵循關于數據庫設計的基本原則,即一致性原則、完整性原則、安全性原則、可伸縮性與可擴展性原則、規范性原則。基于以上考慮,結合本系統的實際功能需要,共設計了包括用戶信息表、人員角色表、功能模塊表、申請項目表、項目任務表、人員日志表等在內的41張表。
該系統采用B/S模式,相較C/S模式避免了用戶安裝應用程序等問題,經過測試驗證,該系統B/S模式的具體性能指標如:(1)單一條件數據查詢平均響應時間小于3秒;(2)組合條件數據查詢和一般統計平均響應時間小于10秒;(3)復雜統計匯總平均響應時間小于60秒;(4)平均頁面處理時間不超過10秒;(5)系統支持至少100位用戶同時在線。
本章以該系統的核心模塊—項目管理為例,簡述系統的開發實現過程。
項目管理模塊的主要功能是幫助用戶完成項目的全生命周期管理工作,主要包含項目創建、項目變更、項目周報與日志、任務評分、項目統計等功能。項目管理流程可以歸納為兩條業務主線,分別是項目創建和項目變更,兩項業務均由項目負責人發起申請,經領導審批后方可通過,項目創建和項目變更的業務流程如圖3所示。

圖3 項目管理業務流程Fig.3 Project management business process
本節主要簡述MVC模式在項目管理模塊的具體應用:(1)Model(模型)。Model代表程序要操作的數據,在本系統所采用的ThinkPHP5框架中,Model表示為PHP模型類,與項目管理模塊設計的數據表一一對應,模型類通常需要完成實際業務邏輯和數據的封裝。項目管理模塊中,Project模型對應于數據庫中Project數據表,Project模型中除了定義一些基礎關聯配置外,還可封裝一些通用的業務邏輯,如更新項目已完成工時接口,當項目中有任務完成時,調用該接口,可更新Project數據表中的已完成工時字段。(2)View(視圖)。View代表模型數據的可視化,本項目中指代系統提供給用戶的界面。Controller(控制器)調用Model(模型)后,返回的數據需要通過View(視圖)輸出給用戶。以項目管理首頁為例,當用戶點擊項目管理頁面鏈接時,會觸發Project控制器中對應的接口,接口根據用戶身份信息調用對應Model查詢相應數據,經模板引擎渲染后,將在View中呈現給用戶。(3)Controller(控制器)。Controller代表控制器,作用于Model(模型)和View(視圖)之間,它負責操縱模型完成數據的增刪改查,將操作結果返回并渲染到View(視圖)上。以Project控制器中的項目查詢接口為例,當后端接收到項目數據查詢請求時,該接口負責操縱Project模型,從Project數據表中,查詢出滿足條件的項目數據,將結果返回到前端界面(View)的項目列表中,供用戶查看。
(1)項目創建:普通用戶角色登陸系統后,在【項目管理】模塊,點擊“申請創建項目”按鈕,根據頁面提示按步驟填寫項目、任務信息后,提交創建項目申請:(2)項目審核:領導角色登陸系統后,在【待辦事項】模塊可以看到待審核的項目申請,點擊“查看詳情”按鈕,打開申請頁面,經審查后可選擇通過或者退回,同時備注審核意見。(3)項目變更:如圖4所示,項目負責人在【項目管理】模塊的負責項目分類中找到要變更的項目,點擊“變更”按鈕,在變更項目頁面中按步驟填寫項目變更申請,提交給領導審核。(4)項目申請:普通用戶在【項目管理】模塊的申請列表分類中,可以查看提交過的所有項目申請,包含創建申請和變更申請。此外普通用戶在申請項目時,未提交申請前,項目信息和任務信息處于保存狀態,后續可到【項目管理】模塊的申請列表中繼續填寫。所有項目申請在領導審核通過前都可以修改、刪除,這項功能增加了系統的靈活度。

圖4 負責項目Fig.4 Responsible for the project
基于MVC模式建立的企業綜合管理系統以項目管理模塊為核心,將傳統分散式的人員管理、制度發布等工作內容集中到該系統進行統一管理,全方面優化了企業管理模式,大大降低了企業管理成本。系統開發過程中,以提供更加便捷、高效的管理方式為目標,實際應用表明,該系統在項目管理模塊和非項目管理模塊的應用上均取得了顯著的成效:
(1)項目管理模塊,作為企業管理中最為重要的一項管理內容,該模塊的設計解決了傳統項目管理中存在的項目進度管控難、項目知識共享難、項目協作效率低等問題。便于項目負責人實時把握項目整體推進速度,項目成員合理安排個人工作計劃,使項目管理工作更加直觀化、精細化。(2)非項目管理模塊,作為輔助企業經營必不可少的組成內容,此類模塊的設計大大提高了綜合辦公室等非項目管理類工作人員的日常工作效率,使管理的系統化、智能化、標準化程度進一步加深,日常管理更加嚴謹、便捷、高效。