CakePHP的項目管理路徑
時間:2022-01-18 08:29:08
導語:CakePHP的項目管理路徑一文來源于網友上傳,不代表本站觀點,若需要原創文章可咨詢客服老師,歡迎參考。
1論述
1.1系統總體設計項目管理系統是對項目的生命周期進行監控、流轉和執行的軟件系統??蒲杏媱濏椖可陥蠊芾硐到y的開發,通過運用現代計算機及網絡技術,實現科研項目申報及管理,規范科研項目的管理工作,對于減少申報單位的工作量,提高項目申報的效率,促進科技管理工作內部信息化程度,形成規范管理、運轉協調、公正透明、廉潔高效的行政管理體制有著重要意義。本文探討基于cakephp的項目管理系統,主要是針對大學生創新創業訓練計劃,實現項目申報、項目評審、項目(實施)管理、項目監控、技術交流等功能,并力圖通過該項目的實施服務全校師生,促進創新創業思維、方法、模式的改進,推動學校在創新創業方面的各項事業全面發展。本系統生命周期從項目開始,經歷申報、評審、立項、進度評審、驗收與結題等環節。根據各環節的特性,我們將項目管理系統的所有流程環節歸為申報、評審、監控、管理四大功能模塊。PHP語言因為其開源,跨平臺等優勢,在Tiobe開發語言市場占有率中近年來一直都排名前六位。Alexa中文網站排名前500的公司,有394家都使用PHP語言。作為最流行的PHP開發框架之一,CakePHP運用了諸如ActiveRecord、AssociationDataMapping、FrontController和MVC等著名設計模式的快速開發框架,除可以有效減少開發成本外,還可以幫助開發人員解決繁瑣的代碼編號問題,提高開發速度;同時其具有較強的靈活性、擴展性以及兼容性。因此本項目采用CakePHP框架進行開發。
1.2項目申報模塊本模塊主要用于大學生創新創業訓練計劃的申報管理。申報管理模塊是整個系統的核心功能模塊之一,主要包括申報模板設置、申報入口開放、項目申報、項目評審等內容。項目申報具體流程。在項目時,需要設置項目進行過程中所用到的參數,要使這些參數生效,必須在項目各個環節使用規則控制。在典型的MVC框架的系統中,一般采用控制層攔截器的形式,在請求的操作執行之前讀取預設參數,判斷當前操作是否符合項目規則的方式實現此功能。此外,申請環節提交的數據按照項目類型分組可以提高查詢效率,通常使用動態創建文件目錄的方式保存上傳文件,例如按照索引編號每100個存儲于同一文件夾下,數據庫中則根據項目屆次分數據表存儲申報數據。當用戶在申報環節提交申報數據后,系統后臺需要檢驗用戶是否具有申報權限,對數據的合法性進行校驗,從數據庫中讀取項目規則信息,完成以上工作后才真正保存數據信息。要保存的數據信息包括數據庫數據和相關文檔,保存這兩種信息的操作在時間上互斥,邏輯上必須保證全部成功,否則兩種操作一并無效。這時就需要系統支持事務管理功能,事務管理是指對包含多步操作的事務進行捆綁式操作,在事務執行過程中如果拋出異常,系統就會自動還原之前的所有操作。目前主流的應用程序框架,如Spring、ZendFrameWork,都提供了事務管理功能,利用此功能可以大幅提高系統的健壯性。而對于純數據庫操作,也可使用存儲過程來替代事務管理的功能,數據庫存儲過程的實質就是部署在數據庫端的一組定義代碼以及SQL。將常用的或很復雜的工作,預先用SQL語句寫好并用一個指定的名稱存儲起來,那么以后要使用相同的功能服務時,只需調用execute即可自動完成命令。這種越接近底層的操作,執行效率越高。
1.3項目評審模塊項目申報提交之后需要對申報內容進行審核,評估項目可行性,只有通過審核的申報才能在線建立項目組。審核通常是采用多人評審打分的方式,根據計分規則計算最終得分,篩選出預選名額前若干名或者達到分數線的項目申報。因為這種篩選主要是為了提高審核效率、規范制度,所以得出的結果往往只是參考依據或者最低標準,因而最終的立項權限應當交付給管理員或者評審專家代表。除了項目申報評審,項目周期中的重要環節都應當提供評審功能,從而提高項目的質量,體現管理系統的規范性。譬如,實現中期評審和結題評審,控制項目的整體進度,必要時可對進度較慢的項目進行提醒或及時淘汰掉不合格的項目。評審專家庫的建立和管理是其中一項主要的功能,本系統可以在線逐條錄入專家信息;同時提供Excel導入功能,指定Excel格式的文件可以批量導入專家信息;也可以在線刪除(可批量刪除)、修改專家信息。在項目評審的具體細節方面,項目組成員提交的周報、月報也必須經由項目負責人或項目指導教師審核后生效。在項目的各評審環節中,需要管理員、評審專家、項目成員的共同配合,為了實現根據預設規則環節自動流轉、任務委派功能,本項目引入工作流的概念,并采用開源的CuteFlow作為工作流引擎,較好地滿足了系統的靈活性和可擴展性。
1.4項目監控模塊項目監控模塊是項目管理系統體現其效率性、智能性的關鍵點,好的監控模塊應該擁有高效的數據統計、簡潔明了的數據呈現和優秀的數據分析功能。監控的主要目的是把數據信息集中展示給用戶。在項目管理系統中,管理員需要查看項目的申報、評審、進度統計信息,項目負責人則需要本項目組的進度、任務、報表相關數據,同時還要擁有實用的拓展功能,在“大學生創新創業項目申報管理系統”的監控模塊中提供了可定義的統計選項、數據警戒線、統計信息導出、站內信提醒等功能。為了直觀地展示監控數據,系統的前端界面采用了JQuery框架,并集成JPlot插件以圖表的形式展示監控數據;系統中提供了餅狀圖、折線圖、統計圖等多種圖表以及圖標縮放、事件響應、定時刷新等交互功能。復雜監控功能的實現依賴于數據的采集,項目管理系統的數據來源主要是項目、進度狀態數據,申報、評審日志和數據庫統計。項目、進度、任務等實體類都擁有狀態標識字段,監控模塊通過讀取數據庫中的相關字段可以快速顯示具體的項目信息;人員變動、報表上傳、進度變更等事件都可以通過日志的形式記錄下來,并過濾、提取有用的信息;而數據庫統計則通過SQL數據庫的查詢功能與程序控制實現。日志系統的應用集中在項目組管理功能上。項目組的項目成員、周報月報、進度任務、共享文檔等數據均需要進行日志記錄,記錄內容包括操作人、日期、操作對象、補充信息等部分,在控制層的相關操作的代碼部分調用日志保存功能,存儲操作記錄。數據庫統計則使用SQL語言自帶的查詢功能,實際系統開發中直接使用字符串拼接的SQL語句進行查詢,容易受到SQL注入式攻擊。本系統所用的CakePHP框架,將數據庫對象封裝成類,而該類提供了SQL查詢接口,這種查詢接口會過濾掉輸入的危險字符串并拼接成安全的SQL語句,提高了系統安全性,同時避免了開發過程中重復編寫查詢語句的問題。
1.5項目管理模塊本模塊是項目管理系統的核心,主要用于項目負責人和指導教師對大學生創新創業訓練計劃已立項項目的管理。項目負責人可以在線編輯項目計劃、進度安排,可以進行任務分配;項目組成員可以在線填寫個人項目計劃、進度安排、個人項目實施日報、周報、月報;項目負責人可以查閱、審批匯總后的項目組成員日報、周報、月報,并根據匯總后的項目組成員周報、月報形成項目組周報、月報;指導教師進行項目組周報、月報的查閱、審批;項目負責人進行項目中期匯報、結題申請等。上傳文件管理是很重要但又容易被疏忽的部分,根據實際情況的不同,項目管理系統中文件的組織方式也對應發生變化。申報書、評審報告書等文檔可以存檔、匯總,同時可以導出XLS文檔,但是一般不能輕易公開。為確保數據的安全性,本系統使用了文件內容與文件信息分離保存的方式,保證除了經系統允許的操作外很難獲取完整的項目資料,同時為每份上傳的文件進行MD5驗證,避免文件被篡改或者損壞。同時,為了解決可能出現的意外情況而導致文件丟失或者數據讀寫高峰期出現數據重復提交、臟讀取等問題,系統還提供了數據冗余性檢測功能,方便管理員維護上傳文件。
2結束語
本文所實現的大學生創新創業訓練計劃項目申報管理系統面向大學生科技團體和個人,針對性強、適用面廣,不僅擁有項目申報的功能,還能進行項目的管理以及項目的監控;在線項目申報和評審有利于計劃實施的公平公開,項目管理能夠協助大學生科研團體進行項目控制和實施管理,項目監控能夠在計劃實施中盡早發現風險問題,避免因為大學生進度控制經驗的缺乏而導致項目的最終失敗。本系統的應用對于保障和提升大學生創新創業訓練計劃的實施效果具有十分重要的意義,因此具有良好的推廣前景。由于大學生科研項目具有學科門類多的特點,不同學科在管理流程上不盡相同,接下來將考慮本系統應用工作流程建模的技術來滿足不同學科的個性化管理需求。
作者:陳翔宇葉巖明陳臨強余日泰單位:杭州電子科技大學軟件工程學院
- 上一篇:商務局食品安全宣傳方案
- 下一篇:領導在財政黨風廉政建設會講話