CakePHP的項(xiàng)目管理路徑

時(shí)間:2022-01-18 08:29:08

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

CakePHP的項(xiàng)目管理路徑

1論述

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

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

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

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

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

2結(jié)束語

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

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