CakePHP的項目管理路徑

時間:2022-01-18 08:29:08

導語:CakePHP的項目管理路徑一文來源于網(wǎng)友上傳,不代表本站觀點,若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。

CakePHP的項目管理路徑

1論述

1.1系統(tǒng)總體設計項目管理系統(tǒng)是對項目的生命周期進行監(jiān)控、流轉和執(zhí)行的軟件系統(tǒng)??蒲杏媱濏椖可陥蠊芾硐到y(tǒng)的開發(fā),通過運用現(xiàn)代計算機及網(wǎng)絡技術,實現(xiàn)科研項目申報及管理,規(guī)范科研項目的管理工作,對于減少申報單位的工作量,提高項目申報的效率,促進科技管理工作內(nèi)部信息化程度,形成規(guī)范管理、運轉協(xié)調(diào)、公正透明、廉潔高效的行政管理體制有著重要意義。本文探討基于cakephp項目管理系統(tǒng),主要是針對大學生創(chuàng)新創(chuàng)業(yè)訓練計劃,實現(xiàn)項目申報、項目評審、項目(實施)管理、項目監(jiān)控、技術交流等功能,并力圖通過該項目的實施服務全校師生,促進創(chuàng)新創(chuàng)業(yè)思維、方法、模式的改進,推動學校在創(chuàng)新創(chuàng)業(yè)方面的各項事業(yè)全面發(fā)展。本系統(tǒng)生命周期從項目開始,經(jīng)歷申報、評審、立項、進度評審、驗收與結題等環(huán)節(jié)。根據(jù)各環(huán)節(jié)的特性,我們將項目管理系統(tǒng)的所有流程環(huán)節(jié)歸為申報、評審、監(jiān)控、管理四大功能模塊。PHP語言因為其開源,跨平臺等優(yōu)勢,在Tiobe開發(fā)語言市場占有率中近年來一直都排名前六位。Alexa中文網(wǎng)站排名前500的公司,有394家都使用PHP語言。作為最流行的PHP開發(fā)框架之一,CakePHP運用了諸如ActiveRecord、AssociationDataMapping、FrontController和MVC等著名設計模式的快速開發(fā)框架,除可以有效減少開發(fā)成本外,還可以幫助開發(fā)人員解決繁瑣的代碼編號問題,提高開發(fā)速度;同時其具有較強的靈活性、擴展性以及兼容性。因此本項目采用CakePHP框架進行開發(fā)。

1.2項目申報模塊本模塊主要用于大學生創(chuàng)新創(chuàng)業(yè)訓練計劃的申報管理。申報管理模塊是整個系統(tǒng)的核心功能模塊之一,主要包括申報模板設置、申報入口開放、項目申報、項目評審等內(nèi)容。項目申報具體流程。在項目時,需要設置項目進行過程中所用到的參數(shù),要使這些參數(shù)生效,必須在項目各個環(huán)節(jié)使用規(guī)則控制。在典型的MVC框架的系統(tǒng)中,一般采用控制層攔截器的形式,在請求的操作執(zhí)行之前讀取預設參數(shù),判斷當前操作是否符合項目規(guī)則的方式實現(xiàn)此功能。此外,申請環(huán)節(jié)提交的數(shù)據(jù)按照項目類型分組可以提高查詢效率,通常使用動態(tài)創(chuàng)建文件目錄的方式保存上傳文件,例如按照索引編號每100個存儲于同一文件夾下,數(shù)據(jù)庫中則根據(jù)項目屆次分數(shù)據(jù)表存儲申報數(shù)據(jù)。當用戶在申報環(huán)節(jié)提交申報數(shù)據(jù)后,系統(tǒng)后臺需要檢驗用戶是否具有申報權限,對數(shù)據(jù)的合法性進行校驗,從數(shù)據(jù)庫中讀取項目規(guī)則信息,完成以上工作后才真正保存數(shù)據(jù)信息。要保存的數(shù)據(jù)信息包括數(shù)據(jù)庫數(shù)據(jù)和相關文檔,保存這兩種信息的操作在時間上互斥,邏輯上必須保證全部成功,否則兩種操作一并無效。這時就需要系統(tǒng)支持事務管理功能,事務管理是指對包含多步操作的事務進行捆綁式操作,在事務執(zhí)行過程中如果拋出異常,系統(tǒng)就會自動還原之前的所有操作。目前主流的應用程序框架,如Spring、ZendFrameWork,都提供了事務管理功能,利用此功能可以大幅提高系統(tǒng)的健壯性。而對于純數(shù)據(jù)庫操作,也可使用存儲過程來替代事務管理的功能,數(shù)據(jù)庫存儲過程的實質就是部署在數(shù)據(jù)庫端的一組定義代碼以及SQL。將常用的或很復雜的工作,預先用SQL語句寫好并用一個指定的名稱存儲起來,那么以后要使用相同的功能服務時,只需調(diào)用execute即可自動完成命令。這種越接近底層的操作,執(zhí)行效率越高。

1.3項目評審模塊項目申報提交之后需要對申報內(nèi)容進行審核,評估項目可行性,只有通過審核的申報才能在線建立項目組。審核通常是采用多人評審打分的方式,根據(jù)計分規(guī)則計算最終得分,篩選出預選名額前若干名或者達到分數(shù)線的項目申報。因為這種篩選主要是為了提高審核效率、規(guī)范制度,所以得出的結果往往只是參考依據(jù)或者最低標準,因而最終的立項權限應當交付給管理員或者評審專家代表。除了項目申報評審,項目周期中的重要環(huán)節(jié)都應當提供評審功能,從而提高項目的質量,體現(xiàn)管理系統(tǒng)的規(guī)范性。譬如,實現(xiàn)中期評審和結題評審,控制項目的整體進度,必要時可對進度較慢的項目進行提醒或及時淘汰掉不合格的項目。評審專家?guī)斓慕⒑凸芾硎瞧渲幸豁椫饕墓δ?,本系統(tǒng)可以在線逐條錄入專家信息;同時提供Excel導入功能,指定Excel格式的文件可以批量導入專家信息;也可以在線刪除(可批量刪除)、修改專家信息。在項目評審的具體細節(jié)方面,項目組成員提交的周報、月報也必須經(jīng)由項目負責人或項目指導教師審核后生效。在項目的各評審環(huán)節(jié)中,需要管理員、評審專家、項目成員的共同配合,為了實現(xiàn)根據(jù)預設規(guī)則環(huán)節(jié)自動流轉、任務委派功能,本項目引入工作流的概念,并采用開源的CuteFlow作為工作流引擎,較好地滿足了系統(tǒng)的靈活性和可擴展性。

1.4項目監(jiān)控模塊項目監(jiān)控模塊是項目管理系統(tǒng)體現(xiàn)其效率性、智能性的關鍵點,好的監(jiān)控模塊應該擁有高效的數(shù)據(jù)統(tǒng)計、簡潔明了的數(shù)據(jù)呈現(xiàn)和優(yōu)秀的數(shù)據(jù)分析功能。監(jiān)控的主要目的是把數(shù)據(jù)信息集中展示給用戶。在項目管理系統(tǒng)中,管理員需要查看項目的申報、評審、進度統(tǒng)計信息,項目負責人則需要本項目組的進度、任務、報表相關數(shù)據(jù),同時還要擁有實用的拓展功能,在“大學生創(chuàng)新創(chuàng)業(yè)項目申報管理系統(tǒng)”的監(jiān)控模塊中提供了可定義的統(tǒng)計選項、數(shù)據(jù)警戒線、統(tǒng)計信息導出、站內(nèi)信提醒等功能。為了直觀地展示監(jiān)控數(shù)據(jù),系統(tǒng)的前端界面采用了JQuery框架,并集成JPlot插件以圖表的形式展示監(jiān)控數(shù)據(jù);系統(tǒng)中提供了餅狀圖、折線圖、統(tǒng)計圖等多種圖表以及圖標縮放、事件響應、定時刷新等交互功能。復雜監(jiān)控功能的實現(xiàn)依賴于數(shù)據(jù)的采集,項目管理系統(tǒng)的數(shù)據(jù)來源主要是項目、進度狀態(tài)數(shù)據(jù),申報、評審日志和數(shù)據(jù)庫統(tǒng)計。項目、進度、任務等實體類都擁有狀態(tài)標識字段,監(jiān)控模塊通過讀取數(shù)據(jù)庫中的相關字段可以快速顯示具體的項目信息;人員變動、報表上傳、進度變更等事件都可以通過日志的形式記錄下來,并過濾、提取有用的信息;而數(shù)據(jù)庫統(tǒng)計則通過SQL數(shù)據(jù)庫的查詢功能與程序控制實現(xiàn)。日志系統(tǒng)的應用集中在項目組管理功能上。項目組的項目成員、周報月報、進度任務、共享文檔等數(shù)據(jù)均需要進行日志記錄,記錄內(nèi)容包括操作人、日期、操作對象、補充信息等部分,在控制層的相關操作的代碼部分調(diào)用日志保存功能,存儲操作記錄。數(shù)據(jù)庫統(tǒng)計則使用SQL語言自帶的查詢功能,實際系統(tǒng)開發(fā)中直接使用字符串拼接的SQL語句進行查詢,容易受到SQL注入式攻擊。本系統(tǒng)所用的CakePHP框架,將數(shù)據(jù)庫對象封裝成類,而該類提供了SQL查詢接口,這種查詢接口會過濾掉輸入的危險字符串并拼接成安全的SQL語句,提高了系統(tǒng)安全性,同時避免了開發(fā)過程中重復編寫查詢語句的問題。

1.5項目管理模塊本模塊是項目管理系統(tǒng)的核心,主要用于項目負責人和指導教師對大學生創(chuàng)新創(chuàng)業(yè)訓練計劃已立項項目的管理。項目負責人可以在線編輯項目計劃、進度安排,可以進行任務分配;項目組成員可以在線填寫個人項目計劃、進度安排、個人項目實施日報、周報、月報;項目負責人可以查閱、審批匯總后的項目組成員日報、周報、月報,并根據(jù)匯總后的項目組成員周報、月報形成項目組周報、月報;指導教師進行項目組周報、月報的查閱、審批;項目負責人進行項目中期匯報、結題申請等。上傳文件管理是很重要但又容易被疏忽的部分,根據(jù)實際情況的不同,項目管理系統(tǒng)中文件的組織方式也對應發(fā)生變化。申報書、評審報告書等文檔可以存檔、匯總,同時可以導出XLS文檔,但是一般不能輕易公開。為確保數(shù)據(jù)的安全性,本系統(tǒng)使用了文件內(nèi)容與文件信息分離保存的方式,保證除了經(jīng)系統(tǒng)允許的操作外很難獲取完整的項目資料,同時為每份上傳的文件進行MD5驗證,避免文件被篡改或者損壞。同時,為了解決可能出現(xiàn)的意外情況而導致文件丟失或者數(shù)據(jù)讀寫高峰期出現(xiàn)數(shù)據(jù)重復提交、臟讀取等問題,系統(tǒng)還提供了數(shù)據(jù)冗余性檢測功能,方便管理員維護上傳文件。

2結束語

本文所實現(xiàn)的大學生創(chuàng)新創(chuàng)業(yè)訓練計劃項目申報管理系統(tǒng)面向大學生科技團體和個人,針對性強、適用面廣,不僅擁有項目申報的功能,還能進行項目的管理以及項目的監(jiān)控;在線項目申報和評審有利于計劃實施的公平公開,項目管理能夠協(xié)助大學生科研團體進行項目控制和實施管理,項目監(jiān)控能夠在計劃實施中盡早發(fā)現(xiàn)風險問題,避免因為大學生進度控制經(jīng)驗的缺乏而導致項目的最終失敗。本系統(tǒng)的應用對于保障和提升大學生創(chuàng)新創(chuàng)業(yè)訓練計劃的實施效果具有十分重要的意義,因此具有良好的推廣前景。由于大學生科研項目具有學科門類多的特點,不同學科在管理流程上不盡相同,接下來將考慮本系統(tǒng)應用工作流程建模的技術來滿足不同學科的個性化管理需求。

作者:陳翔宇葉巖明陳臨強余日泰單位:杭州電子科技大學軟件工程學院