基于ThinkPHP+DWZ架构的高校科研管理系统的设计与实现

时间:2022-08-17 02:33:59

基于ThinkPHP+DWZ架构的高校科研管理系统的设计与实现

摘要:该文提出了一种基于以THINKPHP+DWZ为框架的高校科研管理系统的设计与实现。该系统方便用户使用,降低了科研管理的复杂性,增强了科研信息的实时性与互动性,提高了查询、分析的准确性。

关键词:科研管理;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

随着我国高等教育的快速发展,高校在提高办学规模和办学质量的同时,科研意识逐步加强,高校的科研工作不论在数量还是质量上都得到了较大提高。[1]然而我校过去依赖的传统的工或者借助Excel,E-mail等办公软件所进行的科研管理模式已经不能满足科研管理工作的需要。随着互联网技术的不断发展与普及,利用学校已经建立的与Internet相连接的较为完善的校园网络和计算机资源,[4]结合我校科研工作的具体情况,利用现代信息技术和优秀的软件开发工具,提高科研管理效率和水平,使科研管理更规范化、科学化,更好地服务于本校广大教职科研工作人员,提出了建立本校的科研管理系统的需求。

1系统需求分析

1.1系统需求分析

根据科研处提供的需求,分析得出科研信息管理系统的需求主要分为3个方面:

1)科研成果管理:科研处人员通过本系统来进行成果、论文、著作、专利等信息管理,记录科研人员出版的著作、刊物论文、专利申请与专利授权情况、科研项目鉴定成果。

2)科研经费管理:科研处人员通过本系统进行经费管理。科研处人员通过本系统进行科研数据的查询统计并生成各种报表。3)科研项目管理:提供对包括纵向项目与横向项目在内的网上申报、评审及项目状态查询等主要功能。

1.2系统功能模块结构

科研管理系统采用模块化结构,系统包括四大模块:审核管理、机构管理、成果管理和系统维护。系统功能模块结构如图1所示。

2开发工具简介

2.1 ThinkPHP概述

ThinkPHP是一个开源的PHP框架,是为了简化企业级应用开发和敏捷WEB应用开发而诞生的。最早诞生于2006年初,原名FCS,2007年元旦正式更名为ThinkPHP,并且遵循Apache2开源协议。早期的思想架构来源于Struts,后来经过不断改进和完善,同时也借鉴了国外很多优秀的框架和模式,使用面向对象的开发结构和MVC模式,融合了Struts的Action和Dao思想和JSP的TagLib(标签库)、RoR的ORM映射和ActiveRecord模式,封装了CURD和一些常用操作,单一入口模式等,在模版引擎、缓存机制、认证机制和扩展性方面均有独特的表现。

2.2 DWZ框架

DWZ富客户端框架(jQuery RIA framework),是中国人自己开发的基于jQuery实现的Ajax RIA开源框架。DWZ富客户端框架设计目标是简单实用、扩展方便、快速开发、RIA思路、轻量级。使用DWZ框架可以自动邦定JavaScript效果,不需要开发人员去关心JavaScript怎么写,只要写标准HTML就可以了。DWZ简单扩展了HTML标准,给HTML定义了一些特别的class和attribute。DWZ框架会找到当前请求结果中的那些特别的class和attribute,并自动关联上相应的js处理事件和效果。DWZ基于jQuery,可以非常方便的定制特定需求的UI组件,并以jQuery插件的形式出来,如有需要也可做定制化开发。

3系统设计与实现

系统采用ThinkPHP + DWZ架构进行开发,较好地提高了开发效率。与本项目类似的系统开发一般来讲需要写大量的javas? cript才能达到满意的效果。程序员对javascript的熟悉程度直接影响开发速度。使用DWZ框架能够自动邦定javascript效果,不需要去关心javascript怎么写,只要写标准html就可以了。DWZ简单扩展了html标准,给HTML定义了一些特别的class和attribute。DWZ框架会找到当前请求结果中的那些特别的class和attribute,并自动关联上相应的js处理事件和效果。同时CSS和js代码彻底分离,修改样式方便,仍然保留了html的页面布局方式,完全开源,源码没有做任何混淆处理,方便扩展,支持HTML扩展方式调用UI组件,提高了系统的通用性和界面的一致性。以图2的简单对话框为了说明。

图2确认删除对话框

其主要代码为:

删除

或者删除

系统功能采用ThinkPHP+DWZ方案开发,服务器端采用ThinkPHP实现,客户端利用DWZ框架实现,运用DWZ框架能够快速实现Ajax应用,充分发挥了DWZ框架的资源优势,提高了系统的通用性和界面的一致性。

3.1系统审核模块

审核模块如图3所示:分为院级管理员审核、院长审核、科研处审核三级审核,不同的角色拥有不同的审核权限,所有的成果项目都需经过三级审核之后才能入库进并行统计。

其核心代码如下:

function edit(){

//人员的一些关联表数据

$type=new Model(’department’);

$tlist=$typefield(’d_id,d_name’)select();

。。。

$data=$_REQUEST[’data’];

$name=$_REQUEST[’action’];

。。。

$thisdisplay($data);

3.2系统成果管理模块

成果管理模块如图4所示。包括科研项目、专利成果、论文、论著、成果奖励、成果鉴定和成果检索等基本信息管理。科研人员通过自己的账号登录系统可随时输入、查询其科研成果,在审核人员确认之前还可进行编辑。系统还能依据要管理的科研成果类别进行管理,按年度、摘录的论文名称、作者等显示出结果,并且统计导出结果视图。其核心代码如下:

function _search() {

//生成查询条件

$name=$_POST[’q_year’];

$_SESSION[’year’] = $_POST[’q_year’];

。。。

$elist=$awardwhere(’a_year=’.$name.’ and p_id =’.$id.’ and a_audit =3’)select();

$thisassign(’vo4’,$elist);

}

图4成果管理页面

3.3机构管理模块

由管理员对学院和部门进行管理,可以增加、删除和修改机构名称,对机构人员实现增加、删除和修改功能。

其核心代码如下:

function insert() {

$name=$thisgetActionName();

。。。

if (false === $modelcreate ()) {

$thiserror ( $modelgetError () );

} //保存当前数据对象

$list=$modeladd ();

if ($list!==false) { //保存成功

$thisassign ( ’jumpUrl’, Cookie::get ( ’_currentUrl_’ ) );

$thissuccess (’新增成功!’);

} else { //失败提示

$thiserror ($modelgetDbError());

}

}

通过$name=$thisgetActionName()获取对应控制器名字,实现例化对应表,从而对表进行增删改查,因此可以统一封装了对表的增删改查,所有的控制器只需要继承Commom,各个模块就能进行增删改查,无需再对每个模块写代码,使得系统的通用性大大提高,减少了大量重复的代码,提高了系统的执行效率。

3.4系统数据维护模块

主要对各个代码表进行维护以及对数据库进行备份与还原,rbac等操作,如图5所示。其核心代码如下:

public function module()

{

$groupId = $_GET[’groupId’];

。。。

//读取系统组列表

$list=$groupfield(’id,name’)findAll();

。。。

//读取系统组的授权项目列表

。。。

//读取当前项目的模块列表

。。。}

//获取当前项目的授权模块信息

。。。}

4结束语

本项目是面向高校的科研管理系统,充分利用现代信息技术、网络资源和优秀开发工具实现科研管理的实时性与互动性、提高科研管理工作的效率和水平;便于管理人员及时掌握科研动态,实现科研审核管理、项目、成果管理、科研结构管理与系统维护管理等。系统采用了目前比较先进和流行的ThinkPHP+DWZ技术,提高了开发效率,同时系统具有较强的跨系统性、扩展性,给后期系统的扩展、升级带来方便。

参考文献:

[1]台德艺,王昆仑,郭昌键.高校科研信息管理系统的设计与实现[J].计算机工程与设计,2009,30(9):2339-2342.

[2]李斌.高职院校科研管理信息系统的设计与实现[J].计算机工程与设计,2007,28(13):3283-3284.

[3]李清波.基于PHP和AJAX的高校科研管理系统设计与实现[D].北京:北京邮电大学,2010.

[4]王喜媛,张平平,叶明,等.用C/S和B/S模型构建高校科研管理信息系统的网络平台[J].科研管理,2005,25(2):42-44.

上一篇:利用EXCEL开发电大考务信息管理软件 下一篇:基于TMS320DM368的高清显微镜系统设计