第23卷第3期 2010年O5月 唐山学院学报 Journal of Tangshan College V01.23 NO.3 May。2010 教研项目网络自动化管理系统的研究与实现 高 磊 (唐山学院网络教育中心,河北唐山063000) 摘要:通过对教研管理工作的业务流程和需求特点进行分析,提出教研管理系统的目标模型,并对系 统的整体框架结构以及各部分功能进行设计,采用B/S模式进行系统实现并对应用结果进行分析。 实际应用表明:系统符合教研管理要求,在具有相似业务需求和管理特点的领域具有推广和借鉴价值。 关键词:教研项目;信息管理系统;浏览器/月艮务器 中图分类号:TP311.52 文献标识码:A文章编号:1672—349X(2010)03~0054—05 Research and Realization of Network Automatic Management System for Teaching Research Proj ects GA0 Lei (Network Education Center Tangshan College,Tangshan 063000,China) Abstract:With the analysis of the operation procedures and requirements of teaching research manage— ment,the paper puts forward target model of teaching research management system,providing the design of the unitary frame and functions of each part,realizes the system with B/S mode truss system and ana— lyses the results.The practical application shows that the system satisfies the requirements of teaching research management and is of value to be popularized and used for reference in other similar fields. Key Words:teaching research project;information management system;browser/server O 引言 随着科学技术和社会经济的发展,以及高校规模的不断 作为系统服务器,使用MYSQL数据库、PHP为开发语言, 构建了本教研项目管理系统。 扩大,办学竞争日趋激烈,学校越来越注意到提高办事效率、 规范学校管理的重要性。传统的信息处理技术与决策方法 和手段己不能适应现代社会发展的需要,建立起一种开放 1 B/s模式和LAMP平台介绍 在MIS设计中,系统结构的选择是首先要考虑的问题。 目前的国内市场上较为成熟的MIS系统结构大致可分为两 的、网络化的、高效的办公、教学、科研新环境,以一套完善的 大类:传统的c/s结构和后来居上的B/S结构。传统的c/s 支持群体协作、流程控制、信息查询及管理功能的信息系统, 为学校管理交流提供基本信息的传递、处理渠道的自动化管 结构客户方软件一般由应用程序及相应的数据库连接程序 组成,服务器方软件一般是某种数据库系统。这种结构在取 理系统是高校管理工作的一项重要任务。信息管理系统 (MIS)应运而生,目前很多正规高校都开发或使用教研项目 管理系统,我院的教研项目管理还停留在人工工作阶段,因 此开发一套教研项目管理系统是十分必要的。 在本系统的研究过程中,参与人员讨论了信息管理系统 得成功的同时也暴露出其缺陷。二是基于“瘦客户机”B/S 结构软件。B/S结构简化了客户端软件,只需装上浏览器作 为客户端应用的运行平台,而将所有的开发、维护和升级工 作集中在服务器端。B/S结构以其使用简便、信息资料共享 程度高,逐步得到广泛的应用[1】。 的概念、内涵以及MIS的发展情况和特点,分析了高校MIS 的应用及发展现状,讨论了网络环境下MIs的技术特点以 在服务器端。B/S结构以其使用简便、信息资料共享程 度高,逐步得到广泛的应用,如图1。 基于以上两种系统结构的比较,笔者在开发高校教研项 目管理系统的过程中采用了B/S结构。 LAMP是Linux+Apache+MysQL+PHP的标准缩 及国内MIS的发展现状和发展趋势。在此基础上结合我校 的特点和应用需求,提出了建立唐山学院教研管理系统的功 能性需求、设计目标、系统框架和设计原则,对面向对象技 术、Internet/Web开发等技术进行了深入研究。并在此基础 上.采用三层B,/S结构、Linux系统作为服务器平台、apache 写,是当今最受欢迎的开放式源代码(OpenSource)网站开发 平台。操作系统平台一Linux,具有高性能、操作系统低占用 收藕日期:2o10—04—18 作者简介:高磊(1981_-),男,助理实验师,主要从事网络及信息系统的研究和工作。 第3期 高 磊:教研项目网络自动化管理系统的研究与实现 ・ 55 ・ 登陆,动虑下裁、运千亍卜一客户1 I 应用服务嚣客户认证 软件 l权限管理 操作日志 系统监控 任务管理 客户2 —_. 与其他网络 数据交拽 业务逻辑部件 W|b服务器 客户3 — 图1 B/S模式 率、可移植性、开放性标准的特点;Web服务器~Apache,A— pache是全世界市场占有率最高的网站服务器。除提供基本 的http通讯协议外,对于虚拟主机、网络安全传输协议SSL 及PHP等扩充功能都提供支持。稳定性高,与IAnux操作 系统的兼容性好,与PHP是“完美组合”。 数据库软件——MysQI ,快捷、高效,应用方便,适合中 小型动态系统;动态脚本语言一PHP,数据库连接,面向对象 编程,开发速度快,成本低廉,适合中小型动态系统l_2]。 2基于B/s模式的高校教研管理系统 2.1功能性需求 高校教研管理系统需要规模相对较小,但其在功能上的 需求却是全面的。要求全面涵盖教研部门日常的管理工作特 别是教研项目申报的整个流程。教研项目申报工作主要由申 报、审核、立项、评定等部分组成。力求使得项目申报、管理人 员能够方便快捷地共享信息、交流信息,高效地协同工作,既 兼顾教研部门办公效率的提高,又可以实现群体系统工作。 2.2 系统功能模块 本管理系统由项目申报管理、项目审核管理、项目评定 管理、项目人员管理4个子系统组成,每个子系统又由权限 模块、基础数据管理模块、用户服务模块、报表模块、帮助模 块等模块组成,如图2。 信息发稚模块I掇限划分模块I用户管理模块I f搜索模块 II项目管理模块 雏 图2系统功能模块圈 2.2.1项目申报管理 用户申报:填写在项目信息表中,通过user—id和prog— id连接。 管理员审批:通过对prog—stat表的修改。表明项目申报 是否合法,并通过修改prog—stat表中的相应选项进行标注, 系统申报界面如图3所示。 /IN断项目号是否重复,不允许重复申报 ¥sql一”select*from prog info”; ¥sq1.一”where progid= ’.¥progid.” ’; —20∞ I2月∞a■ 日 曩目■■ 嚣 f f・ 二二二==] 哑堕堕E1 捂日 匦堕二]4目号 ==] : 广] 目Ⅲt F :广—]。 : 二二=] Nft: 曩 ・々∞ l 幅 l l ■ li目_ ●■曩日¥● 主●^t曩 ●量日一●■●■*羹● l∞∞e J_・d口I’瞄 —f月 茸膏÷0∞∞啪l∞∞∞ ” l口∞*Ⅱ 啪 黼 兰 ■ i狂,糍∞09口∞l 啪∞ 101001l 并^ 矗啊工 _r曩 t.LI曩●嘱∞∞∞M 2ooo∞ 图3项目申报界面 ¥DB一>query(¥sq1); //增加新的项目 ¥sql”insert proginfo(progname,userid,”; ———¥sq1.一”progdate,progcate—_id,”; ¥sq1.一”prog—introduction,prog—in—date,prog—stat) values”; ¥res==¥DB~>getrows——array(); 2.2.2项目审核管理 管理员审核:在项目进行过程中,通过对prog—stat表相应 选项的修改监督项目的开展,可对项目状态进行修改和删除。 if(¥一P0ST)//如果进行某种操作 { ¥prst—id=¥一POST[ prst—id'-]; ¥prst—name ̄trim(¥POST ̄’prst—name']); ¥url=”./prog—state_manage.php?tree—id=3”; if(¥一POST[-”subadd”])//添力日 { ¥sql一”insert prog—state(prststate)values( ¥prst state')”; —¥DB一>query(¥sq1); redirect—once(¥ur1); ) if(¥一POST[-”sub—edit”])//修改 { ¥sql=”update prog—state set prst—state一 ’.¥prst state.…;’ ¥sq1.=”where prst-id=”.¥prstid; ¥DB一>query(¥sq1); redirectonce(¥ur1); } if(¥一POST[”sub—del”])//删除 { 、 ¥sql=”delete from progstate where prstid一”. ——¥prst—id; ¥DB一>query(¥sq1); redirectonce(¥ur1); } } 2.2.3项目评定管理 管理员评定:通过管理员帐号,对已完成项目的级别进 ・ 56 ・ 行评定。 if(¥POST)//如果进行某种操作 一唐山学院学报 第23卷 ¥truename=trim(¥POST['oper_true—name']); —一 ¥url=”./opermanage.php?treeid=5”;——{ -”subediif(¥POST[t”])//修改真实姓名 一—¥prstid=¥POST[ prst—i ]; —一{ ¥prstleveI—trim(¥一POST[: prst—level']); —¥sql=”update operator set oper_true—name一 . ¥true name.” ’; ¥sq1.一”where operid=”.¥operid; __¥ur!=”./prog—state—manage.php?tree—id=3”; if(¥POST[”SUb_edit”])//修改 一{ ¥DB一>query(¥sq1); ¥sql=”update progstate set prststate= 。._¥prst redirectonce(¥ur1); _state.…; —¥sq1.一”where prst—id=”.¥prst—id; ¥DB一>query(¥sq1); redirect once(¥ur1); 2.2.4项目人员管理 用户注册:用户通过初试账号、密码登陆之后,修改密码 和完善个人信息。 管理人员信息:对用户的信息进行管理。 if(¥一POST)//如果提交 { //获取输入值 ¥read name—trim(¥POST[:”user name”]); ¥readkind——id=¥POST[-’!readkind——id”]; ¥read_pwd=trim(¥POST[:”user_pwd”]); ¥read—depa—id=¥一POST[”user_depa—id”]; ¥read—in—date:trim(¥一POST[:”user—in—date”]); ¥sql一”insert user(user name,user kind id,user —pwd,”; ¥sqt.一”user depa—id,user—in—date)”; ¥sq1.=”values( ’.¥username.” ”,.—¥userkind—— id.”"tt: ¥sq1.:¥userpwd.” ,”.¥user—depa—id.“, ’.¥user— _indate.” )”; _■ ¥DB一>query(¥sq1); warn( 添加成功! 9-user—add.php?tree—id=10; ) 2.2.5权限模块 超级管理员:具有所有功能的操作权限,包括“操作员管 理”的权限。 管理员:具有除“操作员管理”之外的所有权限。 用户:仅具有针对于本账号的个人信息以及在符合期限 的前提下的本账号项目信息的修改权限。 if(¥一SESSION['oper name']一一 admin' ̄//当前为超级 管理员 { init—page(); if(¥一POST)//如果进行某种操作 f ¥oper id=¥一POST['oper_id']; ¥opername=trim(¥一POSTE oper_name']); } else if(¥一POST[”sub—del”3)//删除 ( if(¥oper~name=一”admin”) warn(”admin不能删除”,¥ur1); } else { ¥sql一”delete from operator where oper—id ”一.¥oper id; ¥DB一>query(¥sq1); redirect—once(¥ur1); } } else//重置密码 { ¥sql=”update operator set opername”; _pwdh=oper_¥DB一>query(¥sq1); redirect once(¥ur1); } } ¥page—new SmartTemplate(”./oper_manage.html”); ¥sq1一”SELECT*FROM operator”; ¥DB一>query(¥sq1); ¥oper—list=¥DB一>Get—Rows—Array(); ¥page-->assign(”op'er—list”,¥oper~list); ¥page-->output(); end—page(); , else//当前操作员不是超级管理员 { warn(”您不具有该功能的操作权限”,”../.html/manage index.php”); 2.2.6基础数据管理模块 在项目、部门、用户管理中对于同一内容可以得到统一 的数据,并且提供~种方便的操作方式。例如在部门管理模 块维护所有部门信息,在添加、编辑用户信息时,用户部门直 接由下拉列表中选择,而不能随意人为指定。这样能保证系 统中同一部门名称统一,并且操作方便。 if(¥一POST)// ̄n果进行某种操作 第3期 高 磊:教研项百棚络自动化管理系统的研究与实现 ・ 57 ・ { ¥sq1.一”where P.progid=prog—id”; ¥depai- depaid'-]; foreach(¥POST as¥k一>¥v) —d=¥POST[¥depaname—trim(¥一{—POST[ depa—name]); ¥url=”./depa—manage.php?tree—id=3”; //如果不是prog_id,则使用like关键字添加查询条件 if(¥POST[”sub—add”])//添力Ⅱ if(¥k!一”prog—id”) { { ¥sql一”insert department(depa—name)values( ¥sq1.一”and¥k like'%”.¥v.” ’; ¥depanam ̄)”; } ¥DB一>query(¥sq1); else redirect once(¥ur1); { } if(¥v!一”一1”) if(¥一POST[-”sub¥sq1.一”and prog—id=¥v”; —edit”1)//修改 { } ¥sql一”update department set depa—name一 ’. ) . ¥depaname.” ’; ¥sq1.一”order by progid”; ¥sq1.一”where depaid=”.¥depaid; ——¥DB一>query(¥sq1); ¥DB一>query(¥sq1); ¥progg g g —list=¥DB一>get—rowsarray(); 一 redirect雌一 一—once(¥ur1); } } 3数据库设计 ~ if(¥POST[-”sub—del”])//删除 数据库事务在建立业务过程模型时极其有用,因为它们 { 有助于去报信息的完整性。如果谨慎地使用数据库事务,它 ¥sq1一”delete from department where depaid=”. 们就是构建数据库驱动应用程序的一个重要法宝嘲。系统 ¥depa—id; 中使用MySQL提供的API函数库对数据库进行操作,通过 ¥DB一>query(¥sq1); API函数完成数据库管理、维护以及数据检验等各种操 redirect—once(¥ur1); 作t- ,并设计数据表1。 } 表1数据库各表说明 } 表明 说明 2.2.7用户服务模块 项目信息表 提供用户项目,进行检索服务和消息提醒服务。 项目状态表 if(¥一POST)//查询 项目类别 { . 院系/部门表 ¥sql一”select P.*,”; e, %Y m%d )as 操作员表 ¥sq1.=”dateformat(P.prog—dat—用户表 prog—date,”; 系统设置参数表 ¥sq1.一”P.progname as program”; —¥sq1.一”fr。m progjnf。p,publisher p”; 具体各表表项如表2—8所示。 表2 prog_info表结构 言: 。58‘ 唐山学院学报 第23卷 4 结语 技术与应用11M].北京:清华大学出版社,5—6. 本文介绍的教研管理系统,对于具有数据提交汇总和单 E2] 邹天思,孙鹏.PHP从入门到精通I-M].北京:清华大学 据报表流程审批等需求的系统同样具有借鉴和参考价值。项 出版社,43. 目申报只是项目管理中立项前的一个工作阶段,之后的合同 [3] w.Jason Gilmore.PHP与MySQL程序设计:第3版 签定、经费核拨、项目跟踪、结题验收等工作完全可在本系统 1M].朱涛江,译.北京:人民邮电出版社,37. 的基础上进行扩展,从而形成一个全过程的项目管理系统。 [4] 陈争航.PHP5+MySQL5 Web应用开发宝典11M].北 京:电子工业出版社,101. 参考文献: (责任编校:李聪明) i113阮征,徐晓昕,邹晨.Web 2.0动态网站开发一一PHP