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