朱亞興 盧淑萍 李灝毅
摘要:該文提出了一種基于以THINKPHP+DWZ為框架的高??蒲泄芾硐到y(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)。該系統(tǒng)方便用戶(hù)使用,降低了科研管理的復(fù)雜性,增強(qiáng)了科研信息的實(shí)時(shí)性與互動(dòng)性,提高了查詢(xún)、分析的準(zhǔn)確性。
關(guān)鍵詞:科研管理;PHP;ThinkPHP;DWZ框架
中圖分類(lèi)號(hào):TP315文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2012)23-5625-04
Design and Implementation of Scientific Research Management System Based on the ThinkPHP + DWZ Architecture
ZHU Ya-xing, LU Shu-ping, LI Hao-yi
(Guangdong Vocational Institute of Science and Technology, Zhuhai 519010, China)
Abstract: This paper presents the Design and Implementation of Scientific Research Management system based on the ThinkPHP + DWZ architecture. The system is user-friendly, reducing the complexity of research management, enhancing the real-time and interactive scientific information, improving the query accuracy of the analysis.
Key words: scientific research management; PHP; ThinkPHP; DWZ architecture
隨著我國(guó)高等教育的快速發(fā)展,高校在提高辦學(xué)規(guī)模和辦學(xué)質(zhì)量的同時(shí),科研意識(shí)逐步加強(qiáng),高校的科研工作不論在數(shù)量還是質(zhì)量上都得到了較大提高。[1]然而我校過(guò)去依賴(lài)的傳統(tǒng)的工或者借助Excel,E-mail等辦公軟件所進(jìn)行的科研管理模式已經(jīng)不能滿足科研管理工作的需要。隨著互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展與普及,利用學(xué)校已經(jīng)建立的與Internet相連接的較為完善的校園網(wǎng)絡(luò)和計(jì)算機(jī)資源,[4]結(jié)合我校科研工作的具體情況,利用現(xiàn)代信息技術(shù)和優(yōu)秀的軟件開(kāi)發(fā)工具,提高科研管理效率和水平,使科研管理更規(guī)范化、科學(xué)化,更好地服務(wù)于本校廣大教職科研工作人員,提出了建立本校的科研管理系統(tǒng)的需求。
1系統(tǒng)需求分析
1.1系統(tǒng)需求分析
根據(jù)科研處提供的需求,分析得出科研信息管理系統(tǒng)的需求主要分為3個(gè)方面:
1)科研成果管理:科研處人員通過(guò)本系統(tǒng)來(lái)進(jìn)行成果、論文、著作、專(zhuān)利等信息管理,記錄科研人員出版的著作、刊物論文、專(zhuān)利申請(qǐng)與專(zhuān)利授權(quán)情況、科研項(xiàng)目鑒定成果。
2)科研經(jīng)費(fèi)管理:科研處人員通過(guò)本系統(tǒng)進(jìn)行經(jīng)費(fèi)管理??蒲刑幦藛T通過(guò)本系統(tǒng)進(jìn)行科研數(shù)據(jù)的查詢(xún)統(tǒng)計(jì)并生成各種報(bào)表。3)科研項(xiàng)目管理:提供對(duì)包括縱向項(xiàng)目與橫向項(xiàng)目在內(nèi)的網(wǎng)上申報(bào)、評(píng)審及項(xiàng)目狀態(tài)查詢(xún)等主要功能。
1.2系統(tǒng)功能模塊結(jié)構(gòu)
科研管理系統(tǒng)采用模塊化結(jié)構(gòu),系統(tǒng)包括四大模塊:審核管理、機(jī)構(gòu)管理、成果管理和系統(tǒng)維護(hù)。系統(tǒng)功能模塊結(jié)構(gòu)如圖1所示。
2開(kāi)發(fā)工具簡(jiǎn)介
2.1 ThinkPHP概述
ThinkPHP是一個(gè)開(kāi)源的PHP框架,是為了簡(jiǎn)化企業(yè)級(jí)應(yīng)用開(kāi)發(fā)和敏捷WEB應(yīng)用開(kāi)發(fā)而誕生的。最早誕生于2006年初,原名FCS,2007年元旦正式更名為T(mén)hinkPHP,并且遵循Apache2開(kāi)源協(xié)議發(fā)布。早期的思想架構(gòu)來(lái)源于Struts,后來(lái)經(jīng)過(guò)不斷改進(jìn)和完善,同時(shí)也借鑒了國(guó)外很多優(yōu)秀的框架和模式,使用面向?qū)ο蟮拈_(kāi)發(fā)結(jié)構(gòu)和MVC模式,融合了Struts的Action和Dao思想和JSP的TagLib(標(biāo)簽庫(kù))、RoR的ORM映射和ActiveRecord模式,封裝了CURD和一些常用操作,單一入口模式等,在模版引擎、緩存機(jī)制、認(rèn)證機(jī)制和擴(kuò)展性方面均有獨(dú)特的表現(xiàn)。
2.2 DWZ框架
DWZ富客戶(hù)端框架(jQuery RIA framework),是中國(guó)人自己開(kāi)發(fā)的基于jQuery實(shí)現(xiàn)的Ajax RIA開(kāi)源框架。DWZ富客戶(hù)端框架設(shè)計(jì)目標(biāo)是簡(jiǎn)單實(shí)用、擴(kuò)展方便、快速開(kāi)發(fā)、RIA思路、輕量級(jí)。使用DWZ框架可以自動(dòng)邦定JavaScript效果,不需要開(kāi)發(fā)人員去關(guān)心JavaScript怎么寫(xiě),只要寫(xiě)標(biāo)準(zhǔn)HTML就可以了。DWZ簡(jiǎn)單擴(kuò)展了HTML標(biāo)準(zhǔn),給HTML定義了一些特別的class和attribute。DWZ框架會(huì)找到當(dāng)前請(qǐng)求結(jié)果中的那些特別的class和attribute,并自動(dòng)關(guān)聯(lián)上相應(yīng)的js處理事件和效果。DWZ基于jQuery,可以非常方便的定制特定需求的UI組件,并以jQuery插件的形式發(fā)布出來(lái),如有需要也可做定制化開(kāi)發(fā)。
3系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
圖2確認(rèn)刪除對(duì)話框
其主要代碼為:
或者刪除
系統(tǒng)功能采用ThinkPHP+DWZ方案開(kāi)發(fā),服務(wù)器端采用ThinkPHP實(shí)現(xiàn),客戶(hù)端利用DWZ框架實(shí)現(xiàn),運(yùn)用DWZ框架能夠快速實(shí)現(xiàn)Ajax應(yīng)用,充分發(fā)揮了DWZ框架的資源優(yōu)勢(shì),提高了系統(tǒng)的通用性和界面的一致性。
3.1系統(tǒng)審核模塊
審核模塊如圖3所示:分為院級(jí)管理員審核、院長(zhǎng)審核、科研處審核三級(jí)審核,不同的角色擁有不同的審核權(quán)限,所有的成果項(xiàng)目都需經(jīng)過(guò)三級(jí)審核之后才能入庫(kù)進(jìn)并行統(tǒng)計(jì)。
其核心代碼如下:
function edit(){
//人員的一些關(guān)聯(lián)表數(shù)據(jù)
$type=new Model(department);
$tlist=$type→field(d_id,d_name)→select();
。。。
$data=$_REQUEST[data];
$name=$_REQUEST[action];
。。。
$this→display($data);
3.2系統(tǒng)成果管理模塊
成果管理模塊如圖4所示。包括科研項(xiàng)目、專(zhuān)利成果、論文、論著、成果獎(jiǎng)勵(lì)、成果鑒定和成果檢索等基本信息管理。科研人員通過(guò)自己的賬號(hào)登錄系統(tǒng)可隨時(shí)輸入、查詢(xún)其科研成果,在審核人員確認(rèn)之前還可進(jìn)行編輯。系統(tǒng)還能依據(jù)要管理的科研成果類(lèi)別進(jìn)行管理,按年度、摘錄的論文名稱(chēng)、作者等顯示出結(jié)果,并且統(tǒng)計(jì)導(dǎo)出結(jié)果視圖。其核心代碼如下:
function _search() {
//生成查詢(xún)條件
$name=$_POST[q_year];
$_SESSION[year] = $_POST[q_year];
。。。
$elist=$award→where(a_year=.$name. and p_id =.$id. and a_audit =3)→select();
$this→assign(vo4,$elist);
}
圖4成果管理頁(yè)面
3.3機(jī)構(gòu)管理模塊
由管理員對(duì)學(xué)院和部門(mén)進(jìn)行管理,可以增加、刪除和修改機(jī)構(gòu)名稱(chēng),對(duì)機(jī)構(gòu)人員實(shí)現(xiàn)增加、刪除和修改功能。
其核心代碼如下:
function insert() {
$name=$this→getActionName();
。。。
if (false === $model→create ()) {
$this→error ( $model→getError () );
} //保存當(dāng)前數(shù)據(jù)對(duì)象
$list=$model→add ();
if ($list!==false) { //保存成功
$this→assign ( jumpUrl, Cookie::get ( _currentUrl_ ) );
$this→success (新增成功!);
} else { //失敗提示
$this→error ($model→getDbError());
}
}
通過(guò)$name=$this→getActionName()獲取對(duì)應(yīng)控制器名字,實(shí)現(xiàn)例化對(duì)應(yīng)表,從而對(duì)表進(jìn)行增刪改查,因此可以統(tǒng)一封裝了對(duì)表的增刪改查,所有的控制器只需要繼承Commom,各個(gè)模塊就能進(jìn)行增刪改查,無(wú)需再對(duì)每個(gè)模塊寫(xiě)代碼,使得系統(tǒng)的通用性大大提高,減少了大量重復(fù)的代碼,提高了系統(tǒng)的執(zhí)行效率。
3.4系統(tǒng)數(shù)據(jù)維護(hù)模塊
主要對(duì)各個(gè)代碼表進(jìn)行維護(hù)以及對(duì)數(shù)據(jù)庫(kù)進(jìn)行備份與還原,rbac等操作,如圖5所示。其核心代碼如下:
public function module()
{
$groupId = $_GET[groupId];
。。。
//讀取系統(tǒng)組列表
$list=$group→field(id,name)→findAll();
。。。
//讀取系統(tǒng)組的授權(quán)項(xiàng)目列表
。。。
//讀取當(dāng)前項(xiàng)目的模塊列表
。。。}
//獲取當(dāng)前項(xiàng)目的授權(quán)模塊信息
。。。}
4結(jié)束語(yǔ)
本項(xiàng)目是面向高校的科研管理系統(tǒng),充分利用現(xiàn)代信息技術(shù)、網(wǎng)絡(luò)資源和優(yōu)秀開(kāi)發(fā)工具實(shí)現(xiàn)科研管理的實(shí)時(shí)性與互動(dòng)性、提高科研管理工作的效率和水平;便于管理人員及時(shí)掌握科研動(dòng)態(tài),實(shí)現(xiàn)科研審核管理、項(xiàng)目、成果管理、科研結(jié)構(gòu)管理與系統(tǒng)維護(hù)管理等。系統(tǒng)采用了目前比較先進(jìn)和流行的ThinkPHP+DWZ技術(shù),提高了開(kāi)發(fā)效率,同時(shí)系統(tǒng)具有較強(qiáng)的跨系統(tǒng)性、擴(kuò)展性,給后期系統(tǒng)的擴(kuò)展、升級(jí)帶來(lái)方便。
參考文獻(xiàn):
[1]臺(tái)德藝,王昆侖,郭昌鍵.高??蒲行畔⒐芾硐到y(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與設(shè)計(jì),2009,30(9):2339-2342.
[2]李斌.高職院??蒲泄芾硇畔⑾到y(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與設(shè)計(jì),2007,28(13):3283-3284.
[3]李清波.基于PHP和AJAX的高??蒲泄芾硐到y(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].北京:北京郵電大學(xué),2010.
[4]王喜媛,張平平,葉明,等.用C/S和B/S模型構(gòu)建高校科研管理信息系統(tǒng)的網(wǎng)絡(luò)平臺(tái)[J].科研管理,2005,25(2):42-44.