Web协同科教管理系统的设计与实现

2014-10-21 12:55张鹏
电子世界 2014年23期
关键词:工作流

张鹏

【摘要】协同工作是现代组织行为的基本形态,协同软件作为IT架构平台,能帮助高校内各部门步调一致的执行各项管理活动。根据科研及教学管理的具体流程,基于B/S模式设计,使用Struts框架并部署于Tomcat服务器设计并实现了Web协同科教管理系统。系统采用群件技术管理工作流,允许系统用户在线协作,将工作流管理模式由先工作再记录改进为边工作边记录,提高了管理效率。

【关键词】Web协同系统;科教管理;工作流

1.Web协同介绍

协同工作是现代组织行为的基本形态,单位对信息化进程的规划、切入点选择和价值追求越来越客观和务实,协同软件的特性符合这些客观需求。协同软件即协同管理系统(Collaborative Management System,CMS),已成为最基础的IT架构平台,各种应用软件越来越多的在平台上开发,从而成为高校应用的枢纽。协同泛指组织中多人共同完成同一或多个事务的行为方式和过程。协同软件是指能帮助高校各个职能部门各个员工,围绕统一的目标,步调一致的执行各项管理活动、完成各项管理任务,最终实现高校目标的管理软件系统。协同软件的特征和功能包括:基于统一的管理集成平台,涵盖高校管理的主要职能,至少包括目标计划任务管理、工作流程管理、人力资源管理、财务管理、客户管理、知识管理。应该可扩展,支持项目管理、客户关系管理、设备资产管理等;系统整体是以实现高校的目标为目标;拥有立体的网络化的沟通和互动系统;目标管理是系统的大脑,所有业务应用,比如人员考核、任务执行,项目管理,销售活动,成本管理,客户服务等均应围绕目标展开;工作流系统必须和业务系统融合在一起。工作流程是系统的神经,贯穿于业务系统的每一个末梢。工作流程驱动不同岗位、不同个体、不同部门、不同业务之间的协同,实现业务运行的自动化。

目前市场上的协同管理软件主要分为:(1)传统协同管理软件,在传统OA软件基礎上发展起来,关注人员的协同,如视频会议、在线聊天等。其作用只是提高人员的沟通效率,但是对高校的作业流程没有改变。(2)应用协同管理软件。融入了流程的概念,同时包含人力资源、客户管理、财务管理等等各个方面。优点是自成体系,模块间集成度高,而缺点则是开放度不够,不能充分利用高校已有软件的优势。(3)平台化协同管理软件。主要集中在工作流和应用集成,利用平台本身的优势,充分发挥现有专业软件的力量,利用现代化的移动办公设备扩展高校协同的空间。

高校各种应用系统之间缺乏有效的关联,并且传统软件大多专注于对单个或局部资源的管理,而缺乏有效的平台对高校的各种资源进行充分整合。而协同应用的重点在于提供一个统一的管理平台,其先进的IT应用系统成为单位所需的基础应用软件。

2.系统分析

(1)工作流管理

工作流(Workflow)管理针对日常工作中具有独立程序的活动而提出,其目的是通过将工作分解为定义良好的任务、角色、按照一定的规则和过程来执行这些任务并对它们进行监控,达到提高办事效率、降低工作成本、提高高校竞争力的目的。工作流管理是一类能够完全或者部分由计算机自动执行的业务过程,在此过程中,文档、信息或任务按照预定的规则传递,高校管理人员与应用软件之间相互协调,以实现高校业务流程所要达到的整体目标。工作流管理系统是一个软件系统,它完成工作流的定义和管理,并按照预先定义好的工作逻辑完成工作流实例的执行。协同系统是一项综合性科学技术,它涉及到系统科学,行为科学,信息科学等,是一门交叉性的综合学科。关键技术主要包括计算机网络技术,数据库与数据库管理技术,工作流技术,工作流技术是协同系统的核心技术。

(2)科教系统的工作流分析

针对科研工作流及教学工作流这两个主要的工作流进行设计,确定学生、教师和管理员3种角色的协同配合,实现基本意义上的协同系统。教学工作流如图1所示,科研工作流如图2所示。

图1 教学模块中的工作流

图2 科研工作流

图3 Web协同科教管理系统功能模块图

(3)科教系统的功能分析

科教管理系统按模块划分为:教学模块实现课程管理及日常作业管理;科研模块实现科研项目申报管理;管理模块实现用户管理及课程管理;论坛模块实现不同用户论坛交流;通信模块实现系统内用户信息传递及工作流群件技术。系统的用户分为学生、教师及管理员。学生可以选定课程、查看作业、提交作业、查看评分、论坛功能及站内通信。教师能够开设课程、发布作业、批改提交作业、录入学生成绩、申报科研项目、申报项目查看、复审项目(需管理员指定才有此功能)、论坛功能及站内通信。管理员则拥有用户管理、发布课程、发布科研项目、项目初审、项目终审、论坛管理及站内通信等功能。系统功能模块图如图3所示。

3.系统设计

(1)工作流管理模式

协同系统的核心技术就是工作流技术,几乎所有的业务流程都是工作流,每一项工作以流程的形式,由发起者发起流程,经过本部门及其他部门的处理,最终到达流程的终点。工作流的目标就是要协调组成工作流的四元素,即人员、资源、事件、状态,推动工作流的发生、发展、完成,实现全过程监控。工作流管理有3种实现模式,基于邮件、基于共享数据库和基于邮件和共享数据库结合模式(即群件模式)。基于邮件的工作流管理应用是通过邮件将数据表单从一个人邮箱传送到另一个人邮箱,形式简单却无法实行监控,不能随时掌握工作流的动态。基于共享数据库的工作流管理应用可以克服基于邮件方式的缺点,但缺乏信息通讯机制,无法主动通知有关人员进行下一步的工作。基于邮件和共享数据库结合模式(即群件模式)的工作流管理应用结合了上述二者的优点,通过数据库管理工作流信息、通过电子邮件推动工作流程,即所谓的“跟踪—通知”模型。通过系统设计,Web协同科教管理系统采用群件模式来管理工作流,采用系统内部站内信来代替邮件。

(2)技术实现方案

Web协同科教管理系统采用B/S(Browser/Server,浏览器/服务器端)模式、Java Web的Struts框架设计开发,数据库采用Microsoft SQL Server 2008,使用JDBC数据库连接技术,采用Apache Tomcat作为Web服务器,实现基于工作流管理的Web协同系统。Struts采用MVC(Model-View-Controller,模型—视图—控制器)设计模式,核心是一个弹性的控制层。Struts有一组相互协作的类(组件)、Serlvet以及JSP tag lib组成。Struts继承了MVC的各项特性,并根据J2EE的特点,做了相应的变化与扩展。

4.系统实现

(1)表现层的实现

系统采用B/S模式,网页担负了用户与系统交互的责任,用户接口由网页实现,对应MVC设计模式中View(视图)。系统前台网页主要采用JSP+HTML编写,结合使用Struts标签库中的、等标签及EL表达式实现。系统针对不同的三个用户将前台网页分为三个框架,其中框架采用Struts 标签实现。

(2)业务逻辑层的实现

系统所有的用户请求都由业务逻辑层响vv应、判断、并返回用户所需结果,它也是连接表现层和持久层的桥梁。位于中间的业务逻辑层对应着MVC模式的Controllor(控制器)。在Struts中,所有的表单数据由继承Struts中org.apache.struts.action.ActionForm类的ActionForm进行接收,并转向系统中负责各个逻辑判断转发的Action,最后由Action指定返回的页面,并传递用户所需数据。com.bysj.actionform包中是系统所有接收表达提交的Actionform类,com.bysj.struts.action包中是所有負责对用户请求进行判断的Action类,com.bysj.struts包是有关国际化文件,系统编码控制器及session监听器代码。登录模块由LoginActionForm负责对用户填写的登录表单进行数据收集,并提交给LoginAction对持久层用户数据表进行验证,若匹配则登录成功,否则失败。退出登录由LogoutAction实现,调用HttpSession中的invalidate()方法注销session所有信息。教学模块中所有表单数据均提交到CourseActionForm进行收集。教学模块的业务逻辑由两个Action实现,分别是CourseAction类及HomeWorkAction类负责业务逻辑的执行,并返回用户结果。CourseAction实现管理员发布课程,教师开设课程,学生选择课程这一业务流程,以及教师录入课程成绩,学生查看课程成绩业务流程。HomeWorkAction实现教师发布作业,学生查看并提交作业,教师批改作业,学生查看作业成绩这一业务流程。CourseAction、HomeWorkAction及后述各模块Action均继承Struts中DispatchAction类,可以实现对多个用户请求响应,执行业务逻辑,并进行转发。科研模块中所有表单数据均提交给ProjectActionForm进行收集,ProjectAction进行所有用户相关请求的处理。ProjectAction实现管理员发布科研项目,教师查看并申报科研项目,管理员初审项目并指派复审老师,复审老师进行复审并给出复审意见及评分,通过的申报由管理员进行终审,教师查看最终申报结果这一工作流程。管理模块主要实现管理员对系统中用户及课程发布进行管理。主要有学生教师用户记录查询,增加,修改,删除,并开设课程。管理模块中所有业务逻辑均由ManagerAction类实现。论坛模块是实现学生之间,学生与老师之间交流的模块,实现管理员针对课程发布讨论区,用户选择相应讨论区发布主题,并可回复关注主题。论坛模块主题,回复等表单内容提交后由FourmActionForm进行收集,业务逻辑功能由FourmAction完成。通信模块实现了系统内在线用户互相通信,也支持离线发送。并且该模块实现了工作流管理的邮件通知,工作流程中每发出一项活动系统均会自动发信至相关人员。通信模块页面表单数据提交至MessageActionForm进行收集,业务逻辑功能由MessageAction完成,实现用户发信,收信,系统发信等功能。

(3)持久层的实现

持久层把数据保存到可掉电式存储设备中供将来使用,数据持久化是将内存中的数据保存到磁盘上加以固化,过程大多通过各种关系数据库来完成。持久层对应MVC模式里的Model(模型),系统采用SQL Server 2008作为系统持久层。采用JDBC(Java Data Base Connectivity,Java数据库连接)创建关系数据库的统一访问接口,它由一组用Java语言编写的类和接口组成。持久层的实现是将数据库连接封装DataBaseConnection类中来定义数据库驱动信息,数据库连接地址、登录名及密码,并设计factory工厂类定义static GetInstence()方法,无需实例化即可返回对于数据源操作接口。系统数据源操作采用DAO设计模式,对每个数据表的操作创建了一个接口,接口中定义了系统中将会用到的所有事务方法。当需要和数据源进行交互的时候则使用这个接口,并且编写一个单独的类来实现这个接口在逻辑上对应这个特定的数据存储。

(4)触发器的实现

触发器(trigger)是个特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由某个事件来触发。触发器经常用于加强数据的完整性约束和业务规则等。触发器主要用于强制服从复杂的业务规则或要求,也可用于强制引用完整性,以便在多个表中添加、更新或删除行时,保留在这些表之间所定义的关系。系统中实现一些触发器用于实现数据库操作功能,以作业表触发器为例进行实现说明。作业表触发器用于实现作业表插入作业后,每个选课学生的作业提交表中插入相应记录。实现代码为:

create trigger hw_trig2 on scourse after insert as

begin

declare @stuid char(10)    declare @courseid char(5)    declare @hwid smallint

declare cur1 cursor for select stuid,courseid from inserted

open cur1    fetch next from cur1 into @stuid,@courseid

while @@fetch_status = 0

begin

declare cur2 cursor for select hwid from homework where courseid=@courseid

open cur2    fetch next from cur2 into @hwid

while @@fetch_status = 0

begin

insert into do_homework (hwid,courseid,stuid) values (@hwid,@courseid,@stuid)

fetch next from cur2 into @hwid

end

close cur2    deallocate cur2

fetch next from cur1 into @stuid,@courseid

end

close cur1    deallocate cur1

end;

5.結论

Web协同科教管理系统实现了协同软件的基本特征和功能要求,其设计由业务逻辑程、表现层和数据库层等3个层次构成,3个层次之间相互独立,利于以后的代码维护和功能扩展等工作。系统基于群件模式的工作流进行业务管理,实现了日常教学管理中的课程管理、作业管理及教师科研项目管理。系统在实现传统教学、科研管理系统的基本功能基础上,改进工作机制,实现了协同工作,加入论坛功能方便用户在线交流,站内通信功能使用户可以随时发送信息,系统可以及时发送系统信件通知工作流涉及用户。系统具有一定的实用性,可以服务于高校各个学院的科研和教学管理工作。

参考文献

[1]邹润榕.新型科研机构的协同创新机制研究[J].广东科技,2013(16):4-5.

[2]路凤英,张静.知识管理与信息服务流程协同研究[J].经济研究导刊,2013(7):223-224.

[3]成全,罗栋,张悦.基于Web2.0的网络协同科研平台构成及实例研究[J].河北大学学报(哲学社会科学版),2013,Vol.38 (05):126-129.

[4]陈继红,郑爱兵.高校科研系统协同特征及其演化机制研究[J].科技进步与对策,2012年(12):1-3.

[5]王德寿,诸咸斌,高友波.协同联动模块管理流程运转——安徽电大开放教育学院教学管理模式改革的研究与实践[J].安徽广播电视大学学报,2007(4):34-36.

[6]赵淑兰,李广仁.基于协同办公系统的二级教学管理模式研究[J].中国教育信息化,2012(9):25-26.

注:天津市科技发展战略研究计划项目资助(项目编号:13ZLZLZF07100)。

猜你喜欢
工作流
支持节点协同的工作流模型构建方法研究
基于工作流2.0的智慧教室设计与研究
工作流在电力生产管理信息系统中的设计和应用
“奔向共赢、做到最好”行业信息化研究方法论
工作流技术在医疗信息整合工程中的应用分析
基于工作流的水运应急信息管理平台设计 
办公自动化系统中公文管理模块的设计和实现
基于J2EE的电子政务系统研究与应用
基于J2EE的电子政务系统研究与应用
基于目录树的工作流引擎设计与实现