劉毅
摘 要:隨著高??蒲许?xiàng)目的增多,對科研項(xiàng)目的管理也提出了更高的要求,如何利用信息技術(shù)使項(xiàng)目管理工作更加規(guī)范化、科學(xué)化,提高工作效率及管理水平,值得探究。在分析科研項(xiàng)目從申報(bào)到結(jié)題管理流程的基礎(chǔ)上,充分利用管理學(xué)和軟件工程方法,設(shè)計(jì)并實(shí)現(xiàn)了一款項(xiàng)目管理系統(tǒng),試運(yùn)行表明該系統(tǒng)基本滿足設(shè)計(jì)需求。
關(guān)鍵詞關(guān)鍵詞:B/S模式;科研項(xiàng)目;項(xiàng)目管理系統(tǒng);數(shù)據(jù)庫設(shè)計(jì);智慧校園
DOIDOI:10.11907/rjdk.161865
中圖分類號:TP319
文獻(xiàn)標(biāo)識碼:A 文章編號:1672-7800(2016)008-0119-03
0 引言
在計(jì)算機(jī)日益普及的今天,科技高速發(fā)展,高校對科技項(xiàng)目的研究也越來越重視,每年都有很多項(xiàng)目要上報(bào)學(xué)院、教育廳、教育部,紙制的項(xiàng)目申報(bào)報(bào)告審批浪費(fèi)了大量的人力、物力、財(cái)力等,也不便于再次管理。為了適應(yīng)社會發(fā)展需求,使學(xué)校所有的項(xiàng)目申報(bào)及其信息統(tǒng)計(jì)工作更加科學(xué)、規(guī)范、高效、簡便,本文設(shè)計(jì)并開發(fā)了一款項(xiàng)目管理系統(tǒng)。該系統(tǒng)是為方便教師申報(bào)項(xiàng)目,理清項(xiàng)目管理與評審順序,增強(qiáng)申報(bào)負(fù)責(zé)人與科研管理部門間的信息溝通與反饋,促進(jìn)科研管理部門了解各項(xiàng)目建設(shè)進(jìn)度及存在的問題,幫助學(xué)院領(lǐng)導(dǎo)從宏觀上協(xié)調(diào)安排前期工作,進(jìn)行資金統(tǒng)籌管理和項(xiàng)目進(jìn)度匯總而設(shè)計(jì)開發(fā)的應(yīng)用軟件系統(tǒng)。
1 系統(tǒng)開發(fā)主要需求
一般而言,學(xué)校科研項(xiàng)目從申報(bào)、多級審核、項(xiàng)目實(shí)施、采購支付到項(xiàng)目結(jié)題,需要經(jīng)歷一個(gè)漫長的過程。對于高校而言,每年都可以申報(bào)省市區(qū)、教育廳、科技局、環(huán)保廳等不同級別不同名義的項(xiàng)目,而且經(jīng)常各項(xiàng)目的申報(bào)時(shí)間都很緊迫,如何組織專家快速、公平、合理地從眾多申報(bào)項(xiàng)目中篩選出符合當(dāng)前政策導(dǎo)向和時(shí)代需求,并且既有創(chuàng)新性,又能為社會創(chuàng)造效益的項(xiàng)目成為各級科研管理部門共同關(guān)心的問題。
通過調(diào)研收集用戶(學(xué)院領(lǐng)導(dǎo)、科研管理人員、學(xué)科帶頭人和普通教師)需求,分析學(xué)院近5年來各類項(xiàng)目管理情況,本系統(tǒng)將用信息化的手段支持從項(xiàng)目申報(bào)到項(xiàng)目結(jié)題的整個(gè)過程,主要需求點(diǎn)如下:①規(guī)范管理——規(guī)范項(xiàng)目申報(bào)、審核及后續(xù)管理業(yè)務(wù)流程,理清各崗位職責(zé);②打通關(guān)鍵控制環(huán)節(jié)——完善預(yù)算指導(dǎo)計(jì)劃,計(jì)劃控制實(shí)際發(fā)生的管控機(jī)制;③多級審批——分配多重功能角色,系部、學(xué)院領(lǐng)導(dǎo)、評審專家、財(cái)務(wù)人員、采購管理人員可以及時(shí)審核更新;④理清業(yè)務(wù)帳——項(xiàng)目管理部門可以隨時(shí)查看每個(gè)項(xiàng)目的歷史業(yè)務(wù)帳;⑤項(xiàng)目資金輔助分析——通過系統(tǒng)數(shù)據(jù)可以支撐學(xué)院領(lǐng)導(dǎo)對所有科研經(jīng)費(fèi)的預(yù)算進(jìn)行分析,支持對資金使用狀況的即時(shí)掌控;⑥提升管理人員水平——通過管理軟件的使用,提升管理人員的計(jì)算機(jī)操作水平和業(yè)務(wù)能力,提升效率;⑦各種文檔的集中有效管理——系統(tǒng)收集的各種申報(bào)文件可以方便查閱,項(xiàng)目開展過程中的各種項(xiàng)目資料可以集中管理歸檔,防止文件丟失給學(xué)院帶來的潛在損失;⑧建設(shè)項(xiàng)目池——系部各階段都可以進(jìn)行項(xiàng)目資料的填寫,對于審核沒通過的項(xiàng)目自動進(jìn)入項(xiàng)目池,下次申報(bào)項(xiàng)目可以直接從項(xiàng)目池選擇。
2 項(xiàng)目管理系統(tǒng)設(shè)計(jì)
2.1 整體架構(gòu)和關(guān)鍵技術(shù)
為提供更好的系統(tǒng)性能,操作系統(tǒng)采用Linux,數(shù)據(jù)庫服務(wù)器采用MySQL,綜合考慮系統(tǒng)的業(yè)務(wù)和技術(shù)需求,Web服務(wù)器采用Nginx。PHP+MySQL是目前最為成熟、穩(wěn)定、安全的企業(yè)級Web開發(fā)技術(shù),同時(shí)也是最節(jié)省系統(tǒng)資源和經(jīng)濟(jì)成本的開發(fā)技術(shù),不管是中小企業(yè),還是超大型站點(diǎn),都能完美支持,其成熟的架構(gòu)、穩(wěn)定的性能、嵌入式開發(fā)方式、簡潔的語法,使得系統(tǒng)能快速進(jìn)行迭代開發(fā),同時(shí)PHP+MySQL可跨UNIX、Linux、Windows等平臺運(yùn)行,跨平臺移植、無附加成本。
系統(tǒng)設(shè)計(jì)采用B/S架構(gòu),基于Yii開源框架加以實(shí)現(xiàn),從MVC、DAO/ActiveRecord、Widgets、Caching、等級式RBAC、Web服務(wù),到主題化、I18N和L10N,Yii提供了目前Web 2.0應(yīng)用開發(fā)所需要的幾乎一切功能。Yii開源框架是純粹的面向?qū)ο罂蚣埽⒕哂懈叨瓤蓴U(kuò)展性,能利用PHP的一些更高級功能,同時(shí)該框架使用簡化的安全方案,很大程度上縮短開發(fā)時(shí)間,系統(tǒng)功能模塊的實(shí)現(xiàn)無須關(guān)注底層數(shù)據(jù)庫的查詢、添加、修改、刪除方法實(shí)現(xiàn),只需要對前面業(yè)務(wù)功能進(jìn)行實(shí)現(xiàn)即可,Yii開源框架的MVC架構(gòu)如圖1所示[1]。
2.2 業(yè)務(wù)流程設(shè)計(jì)
為適應(yīng)多用戶角色和不斷變化的項(xiàng)目需求,通過分解項(xiàng)目的評審流程,對各信息流向進(jìn)行合理角色分配,通過定義不同的角色明確權(quán)限功能,相比傳統(tǒng)紙質(zhì)申報(bào)評審大幅度減少了信息傳遞時(shí)間和滯留時(shí)間[2]。設(shè)計(jì)思路以人為中心,以項(xiàng)目庫建設(shè)為導(dǎo)向,實(shí)現(xiàn)復(fù)雜的項(xiàng)目管理業(yè)務(wù)流程。項(xiàng)目整體業(yè)務(wù)流程如圖2所示。
2.3 系統(tǒng)模塊設(shè)計(jì)
經(jīng)過充分的論證和調(diào)研,為滿足高校項(xiàng)目管理需求,系統(tǒng)主要包括項(xiàng)目申報(bào)、項(xiàng)目采購管理、項(xiàng)目經(jīng)費(fèi)管理、用戶管理、系統(tǒng)管理5個(gè)功能模塊。
(1)項(xiàng)目管理模塊。本模塊是系統(tǒng)的核心功能模塊,主要實(shí)現(xiàn)申報(bào)資料提交、附件上傳,對于更高權(quán)限的用戶,該模塊包括項(xiàng)目多級審核、專家評審打分及資金分配等功能;可以通過系統(tǒng)多條件組合查詢和模糊查詢方法,查詢、預(yù)覽或者打印所需信息;項(xiàng)目統(tǒng)計(jì)可以實(shí)現(xiàn)對不同年度、不同單位項(xiàng)目立項(xiàng)結(jié)題數(shù)量和經(jīng)費(fèi)總額等信息的分析統(tǒng)計(jì);項(xiàng)目預(yù)警提示可以提示項(xiàng)目負(fù)責(zé)人使用經(jīng)費(fèi)或項(xiàng)目是否達(dá)到結(jié)題時(shí)間。
(2)項(xiàng)目采購管理模塊。本模塊主要為采購管理人員實(shí)現(xiàn)流程化、標(biāo)準(zhǔn)化的采購管理和運(yùn)作,實(shí)現(xiàn)采購計(jì)劃通知發(fā)布,更新采購進(jìn)度,并更新項(xiàng)目驗(yàn)收情況。
(3)項(xiàng)目經(jīng)費(fèi)管理模塊。本模塊主要實(shí)現(xiàn)財(cái)務(wù)管理人員對各項(xiàng)目經(jīng)費(fèi)劃撥和使用情況的管理,也可用于學(xué)校管理部門對經(jīng)費(fèi)的年終統(tǒng)計(jì)。
(4)用戶管理模塊。本模塊包括用戶注冊、用戶登錄、密碼修改和角色權(quán)限分配管理,其中用戶角色根據(jù)功能區(qū)分為普通教師、系部管理員、學(xué)院管理員、職能部門管理員、評審專家、財(cái)務(wù)管理員、采購管理員。
(5)系統(tǒng)管理。本模塊包括項(xiàng)目年度管理、項(xiàng)目資金來源管理、項(xiàng)目附件類型管理、系部管理、系統(tǒng)操作日志管理、數(shù)據(jù)庫的維護(hù)和管理等功能。其中,項(xiàng)目年度管理可以自由選擇項(xiàng)目類型及附件類型,實(shí)現(xiàn)自由組合,滿足不同項(xiàng)目申報(bào)內(nèi)容的要求。系統(tǒng)管理員可以按年度對已完成的項(xiàng)目進(jìn)行數(shù)據(jù)導(dǎo)出,將產(chǎn)生的各類項(xiàng)目資料進(jìn)行備份,并做好統(tǒng)一管理。同時(shí),用戶根據(jù)不同權(quán)限實(shí)現(xiàn)項(xiàng)目資料的查看和下載等,系統(tǒng)發(fā)布一些項(xiàng)目申報(bào)、項(xiàng)目審核的動態(tài)新聞,方便廣大教師及時(shí)了解信息[3]。
2.4 數(shù)據(jù)庫設(shè)計(jì)
數(shù)據(jù)庫設(shè)計(jì)是在對業(yè)務(wù)需求和實(shí)體模型進(jìn)行詳細(xì)分析的基礎(chǔ)上,通過建立數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)數(shù)據(jù)存儲、查詢的過程。作為高校科研項(xiàng)目管理系統(tǒng),要求數(shù)據(jù)庫的訪問是高效、安全的,采用 B/S 結(jié)構(gòu)模式,用戶并行訪問數(shù)據(jù)庫概率大,選用MySQL十分合適。系統(tǒng)中所有表的創(chuàng)建都依據(jù)數(shù)據(jù)庫設(shè)計(jì)的原則進(jìn)行,主要包括了系統(tǒng)用戶信息表(t_admin)、角色表(t_role)、操作日志表(t_log)、項(xiàng)目類型表(t_project_type)、項(xiàng)目信息表(t_project)、項(xiàng)目評審表(t_audit)、項(xiàng)目采購狀態(tài)表(t_caigou)、項(xiàng)目支付情況表(t_caiwu)、系部表(t_department)、新聞表(t_news)等。其中,系統(tǒng)用戶信息表數(shù)據(jù)庫設(shè)計(jì)如表1所示。
3 項(xiàng)目管理系統(tǒng)實(shí)現(xiàn)
利用Yii進(jìn)行項(xiàng)目開發(fā)過程中,Yii能很方便地實(shí)現(xiàn)CRUD后端內(nèi)容,前端主要是在HTML、JavaScript、CSS上進(jìn)行開發(fā),其中前端可以通過引入Bootstrap擴(kuò)展的形式,統(tǒng)一頁面元素風(fēng)格,加快開發(fā)速度。本文僅對在Controller中的關(guān)鍵代碼實(shí)現(xiàn)進(jìn)行舉例介紹。
(1)項(xiàng)目列表根據(jù)當(dāng)前登錄用戶ID只顯示所管理的項(xiàng)目,避免非法操作,項(xiàng)目列表實(shí)現(xiàn)關(guān)鍵代碼如下:
public function actionAdmin() {
$adminid = Yii::app()->admin->getState('admin_id');//獲取當(dāng)前登錄用戶的session信息
$this->setUnionTitle('項(xiàng)目列表');
$criteria = new CDbCriteria;//定義數(shù)據(jù)查詢條件
$criteria->order = 'rank desc,school_id asc ,created desc';
$criteria->addCondition('status<>3');//根據(jù)項(xiàng)目狀態(tài)顯示數(shù)據(jù)
$criteria->addCondition('admin_id=' . $adminid);
$count = Application::model()->count($criteria);
$page = new CPagination($count);
$offset = $page->getOffset();
$limit = $page->getLimit();
$page->applyLimit($criteria); //分頁查詢
$data = Application::model()->findAll($criteria);
$this->render('admin', array( 'data' => $data,'pages' => $page ));
}
(2)用戶角色權(quán)限實(shí)現(xiàn)。用戶角色具有什么功能權(quán)限可以進(jìn)行靈活定制,將所有賦予權(quán)限的Action方法名稱通過序列化的方法存入acl_desc字段,用戶在登錄后對通過Session載入所具有的權(quán)限進(jìn)行比對,由此控制不同的功能操作權(quán)限及視圖顯示。用戶角色權(quán)限實(shí)現(xiàn)關(guān)鍵代碼如下:
protected function getAllowActions()
{
$acl= Yii::app()->admin->getState('allowActions');//獲取session
if ($acl) {
$roleAcl= $acl;
} else {
$roleId= AdminhtmlAdmin::model()->loadRoleIdByAccount(Yii::app()->admin->name);
$roleAcl= AdminhtmlRole::model()->getOneAclArray($roleId);//獲取用戶所具有的操作功能集
Yii::app()->admin->setState('allowActions', $roleAcl);//寫入session
}
….
}
(3)用戶登錄實(shí)現(xiàn)。通過判斷輸入的用戶名和密碼是否合法,提交數(shù)據(jù)庫登錄前需要進(jìn)行數(shù)據(jù)Validate合法性驗(yàn)證,禁止提交非法字符,登錄成功可跳到登錄前的頁面。詳細(xì)實(shí)現(xiàn)代碼如下:
public function actionLogin()
{
…
if(isset($_POST['AdminhtmlLoginForm'])) {
$model->attributes=$_POST['AdminhtmlLoginForm'];
if($model->validate() && $model->login()) {//提交數(shù)據(jù)庫登錄前,需要進(jìn)行數(shù)據(jù)validate驗(yàn)證,禁止提交非法字符
...
}
…
}
4 結(jié)語
系統(tǒng)開發(fā)后,在廣東環(huán)境保護(hù)工程職業(yè)學(xué)院試運(yùn)行,結(jié)果表明該系統(tǒng)基本滿足設(shè)計(jì)需求,具有角色功能科學(xué)合理、簡單易用、安全性和系統(tǒng)使用流暢等特點(diǎn),可以實(shí)現(xiàn)對各種類型的項(xiàng)目進(jìn)行有效管理。本系統(tǒng)的優(yōu)勢是建立在B/S基礎(chǔ)上,利用開源框架技術(shù),由學(xué)院自主開發(fā),不依賴于供應(yīng)商,實(shí)現(xiàn)迭代進(jìn)化式開發(fā)。由于筆者所在的高職院校建院時(shí)間較短,各種信息系統(tǒng)的開發(fā)和使用都還處于初級階段,缺乏統(tǒng)一的門戶管理平臺,項(xiàng)目的信息建設(shè)主要還是記錄課題和經(jīng)費(fèi)等靜態(tài)信息。因此,本系統(tǒng)的未來升級設(shè)計(jì)必須考慮跟人事、財(cái)務(wù)、設(shè)備等業(yè)務(wù)系統(tǒng)的數(shù)據(jù)流通,并實(shí)現(xiàn)項(xiàng)目動態(tài)過程化管理,即以項(xiàng)目為中心,對項(xiàng)目申報(bào)、項(xiàng)目推進(jìn)、經(jīng)費(fèi)使用的動態(tài)走向進(jìn)行跟蹤和監(jiān)督,并自動體現(xiàn)在學(xué)院的其它業(yè)務(wù)系統(tǒng)上,避免“信息孤島”,通過數(shù)據(jù)資源共享促進(jìn)實(shí)現(xiàn)智慧校園。
參考文獻(xiàn):
[1]深入理解Yii2.0[EB/OL].http://www.digpage.com/mvc.html,2016-5-20.
[2]張強(qiáng)偉.基于工作流的項(xiàng)目申報(bào)管理信息系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].成都:西南交通大學(xué),2010.
[3]張志強(qiáng).基于Web環(huán)境的高??蒲泄芾硐到y(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].成都:電子科技大學(xué),2006.
(責(zé)任編輯:孫 娟)