陈凌平
摘要:用网络化、自动化的离校系统来改进传统离校方式中存在的问题,是毕业生离校工作的迫切需要。文章在分析毕业生离校流程和功能需求的基础上,重点介绍了建设成都师范学院离校信息管理系统的技术路线和数据库设计,其中以图书馆离校业务办理为例,详细描述了其接口和模块设计。最后,通过对离校统计数据的对比,说明了离校系统的良好应用效果。
关键词:离校信息管理系统;数据库物理模型;server接口;Action类
中图分类号:TP315 文献标识码:A 文章编号:1009-3044(2015)31-0045-04
1 建设离校信息管理系统的必要性和总体目标
学院原来传统的离校流程是先给毕业生发放纸质离校程序单,然后毕业生按照离校流程到相应的部门办理相关手续,办完后方可离校。这种离校方式的缺点显而易见:1)毕业生无论是否符合离校条件,都需要到相关业务部门盖章,浪费时间和人力;2)各业务部门手工操作离校业务,工作效率低,工作量大,持续时间长;3)各部门的离校数据相互独立,每年都会出现各部门离校数据不准确、不一致的情况;查询历史信息困难,生成统计报表工作量较大[4]。为改进上述存在的问题,将传统的离校办理业务放在网络化和数据高度共享的信息系统上来处理就成为十分迫切的需要。
离校信息管理系统涉及毕业生离校各个环节,是离校业务信息化的主要载体。离校业务办理信息化的总体目标是:1)通过离校信息化,创新工作理念。离校办理时间紧,工作量大,需要通过信息技术来改变凭纸质办理离校手续的传统模式,将跨部门离校业务网络化和自动化,实现各部门的业务信息自动流转和数据共享,基本消除手工操作。2)以此为抓手提高学院管理水平和工作效率,方便毕业生办理离校手续。
2 需求分析
2.1 离校流程需求分析
离校业务共规划了毕业生离校的17个待办事项,分别由教务处、图书馆、网管中心等3个职能部门审核,由招就处、保卫处、团委3个职能部门进行业务登记,由各系审核公寓公物情况并发放毕业证书。其中,各业务系统(教务系统、学工系统等)通过数据交换平台将毕业生学籍、学分、学生违纪受限、图书借阅、学费缴纳、寝室电费等数据共享给离校系统;教务处负责审核毕业生学籍注册、成绩、考试/出勤违纪、学费结算等8项,如果全部合格则将毕业证发给各系;图书馆审核图书借阅及归还情况;网管中心审核学生公寓电费缴费情况;保卫处作户口迁移业务标记;团委作团组织关系转出业务标记。在此基础上,各系结合学生公寓公物清查情况,将毕业证发放给学生,离校流程结束。上述审核项中除公寓公物外,由系统根据后台数据自动计算,当数据符合标准,该生离校状态自动为“办理通过”。毕业生只用到相应部门办理未审核通过的项目,完成后相关数据会实时同步到离校系统中更新离校数据,离校业务处理流程如图1所示。
图1 业务流程分析
2.2 功能需求分析
根据对离校业务部门的调研和离校业务的分析,得到离校系统功能需求如图2所示。离校系统按功能应分为三大模块,如图3所示:
图2 离校业务模块
图3 离校功能模块
1)业务管理模块主要包括离校管理和离校手续办理。离校数据管理同步相关业务数据到离校系统(若为EXCEl格式数据,则手动导入);启动离校将所选择班级内的所有学生信息作为离校工作的操作数据;内容管理提供离校相关信息发布和编辑的功能,信息填写以后,能够直观的反应到各个视图中。离校引擎管理实现离校工作管理元可配置,根据学校的实际离校业务情况,灵活的配置学校的离校办理部门、顺序,以及每个部门的办理的方式、数据的来源等内容,并且可以配置离校的结束点。离校手续办理对离校待办事项中受限环节进行系统自动审核,同时也提供手工办理功能;对非受限业务作状态标记。
2)门户展示离校状态和离校工作指导等相关信息;对毕业生离校情况进行统计查询。
3)系统管理包含用户管理、角色管理和权限管理。
3 离校信息管理系统的设计实现
3.1 离校系统总体框架
数据集成平台DCI和共享数据中心为离校系统提供数据支撑,对离校数据进行清洗和整合,保证数据的一致性、完整性和共享。考虑到离校数据来源的多样性,离校数据采集主要采用两种方式,一种是整合业务系统的数据,一种是提供Excel格式的数据导入功能。离校系统能够对功能和流程进行配置,可实现对视图的变化的灵活支持,为学校的离校业务变迁提供有力支持。离校系统的整体框架如图4所示。
图4 离校系统整体架构
3.2 数据库设计
离校系统的数据库是整个系统的核心,该系统的所有操作都是在数据库的基础上进行的[3]。本系统采用的是Oracle 10g 数据库,数据库设计参照了《成都师范学院信息标准》提供的表字段参考标准以及接口文件,保证了数据的统一、规范,能够使相关数据更加有序流通,避免新的信息孤岛的产生,发挥信息资源的综合效益。数据库物理模型如图5所示。
图5 数据库模型
离校系统直接使用共享数据中心库的离校基础数据,离校数据库则主要包含学生离校办理和状态相关的数据表,比如学生表、学生步骤状态表和科目表等。他们的结构分别如下所示:
1)学生表(lx_studentExtend)记录每位学生的学号、离校业务流编号、离校状态和离校业务流实例启动/结束时间等信息,如表1所示。
2)学生步骤状态表(lx_studentStepStatus)记录学生的步骤编号、对应步骤状态、操作方式是否自动、操作人和催办信息等,如表2所示。
3)科目表(lx_step)记录步骤编号、步骤对应业务部门编号、步骤处理方法、步骤描述和办理时间等信息,如表3所示。
表1 学生表(lx_studentExtend)
[字段名\&数据类型\&备注\&extUserId\&NUMBER\&学生编号,主键\&bmpInstanceId\&VARCHAR(128,0)\&离校业务流实例编号\&leaveStatus\&NUMBER(1,0)\&离校状态\&startDate\&DATE\&离校业务流实例启动时间\&endDate\&DATE\&离校业务流实例结束时间\&barCodeKey\&VARCHAR2(128,0)\&二维码识别密钥\&barCode\&VARCHAR2(128,0)\&二维码\&schoolYear\&VARCHAR2(8,0)\&学年\&createDate\&DATE\&创建日期\&studentID\&NUMBER\&学生学号\&]
表2 学生步骤状态表(lx_studentStepStatus)
[字段名\&数据类型\&备注\&stuStepID\&NUMBER(9,0)\&学生步骤编号\&stepID\&NUMBER(5,0)\&步骤编号\&extUserId\&NUMBER\&学生编号\&stepStatus\&NUMBER(1,0)\&步骤状态\&stepData\&VARCHAR2(1024)\&数据\&extend1\&VARCHAR2(32)\&扩展数据1\&extend2\&VARCHAR2(32)\&扩展数据2\&extend3\&VARCHAR2(32)\&扩展数据3\&extend4\&VARCHAR2(32)\&扩展数据4\&extend5\&VARCHAR2(32)\&扩展数据5\&updateDate\&DATE\&操作时间\&mode_\&NUMBER(1,0)\&操作方式\&userId\&VARCHAR2(64)\&操作人\&callMsg\&VARCHAR2(256)\&催办信息\&callMsgStatus\&NUMBER(1)\&催办信息状态\&remark\&VARCHAR2(256)\&备注\&]
表3 科目表(lx_step)
[字段名\&数据类型\&备注\&stepID\&NUMBER(5,0)\&步骤编号\&departmentId\&NUMBER\&部门编号\&taskDefKey\&VARCHAR2(64)\&任务定义编码\&stepName\&VARCHAR2(128)\&步骤名称\&stepAlias\&VARCHAR2(32)\&步骤简称\&stepJavaService\&VARCHAR2(256)\&步骤处理方法\&remark\&VARCHAR2(256)\&步骤描述\&dataMeta\&VARCHAR2(256)\&业务数据描述\&order_\&NUMBER(4,0)\&科目排序\&companionTime\&VARCHAR2(128)\&办理时间\&companionAddres\&VARCHAR2(128)\&办理地点\&serviceTel\&VARCHAR2(32)\&咨询电话\&companionMsg\&CLOB\&注意事项\&]
3.3 软件系统实现
离校系统从逻辑上分为Web 层、业务逻辑层和数据访问层。Web层给用户展现应用,业务逻辑层封装对具体数据业务逻辑的处理,数据访问层所做事务直接操作数据库,是针对数据的增添、删除、修改、更新、查找等。在三层架构基础上,采用MVC( Model-View-Controller)模式和Struts+Spring+Hibernate框架技术,Struts基于MVC模式,负责封装前台表单和页面跳转; Hibernate是对象关系映射框架,对JDBC进行轻量级的对象封装,将关系数据库映射为对象数据库,完成数据的持久化;Spring用于降低层与层间耦合度,用来帮助管理类以及实现一些业务无关功能。[1,5]这样可以实现各层之间的松耦合,从而做到服务和业务流程可配置和可重构。开发采用Eclipse集成可视化开发环境,集分析、设计、构造( 开发/编译/测试/打包) 、部署、测试等于一体,从需求分析、设计到代码自动生成,均在统一的开发环境中完成,实现了开发过程的自动化、规范化、标准化,保证了从需求到实现的一致性和可追踪性。[2]
3.3.1 基本接口设计
1)处理离校业务的基本server接口为LeaveSchoolBasicManager,如图6所示,其他server接口必须继承于它。
图6 LeaveSchoolBasicManager接口图
其中autoApproval在离校启动时,调用各个部门的自动审批;参数isSystem表是否是系统办理;studIds为需要审批的学生id拼接的字符串,格式为(id1,id2,…)。
leaveSchool实现根据学生id集合,办理离校业务;参数ids为办理离校的学生Id集合;account为办理员账号。cancelLeaveSchool根据学生id集合,取消离校业务。
getLeaveSchoolStatus获取学生在部门办理状态;参数stuId为学生Id;返回值为学生的审核状态。
synAutoApproval进行数据的同步,在部门为自动审批并且数据来源为共享中心时才执行。
2)处理离校业务的Action基类为LeaveSchoolBasicAction,其类图如图7所示。处理离校业务的Action必须继承于LeaveSchoolBasicAction。
图7 LeaveSchoolBasicAction类图
其中方法execute实现获取当前登录用户账号,并存放在session中;调用数据同步方法,保证用户看到的最新的数据;捕获异常,记录日志,并显示到前台。
方法leaveSchool实现获取页面传入的办理学生id集合,并拼装成list对象;调用对应部门的离校办理方法,具体业务由注入的实现类实现;捕获异常,记录日志,并显示到前台。方法cancelLeaveSchool调用对应部门的取消离校办理方法。
3.3.2 模块设计
离校系统根据功能及具体业务流程需求按模块来进行设计。以图书馆模块为例,图书馆离校业务办理具有以下主要功能:
1)图书馆办理员可以根据院专业、班级、学号、姓名及身份证号码等作为检索条件进行数据检索。
2)图书管理员可以选中一个或者多个学生办理离校,或者取消离校。
3)离校系统能够和图书管理系统中的相关数据进行同步。图书馆办理员可以通过Excel的方式导入需要办理离校手续的学生数据,默认导入的学生都需要到图书馆办理离校手续。
4)支持图书馆Excel模板的下载。
5)图书馆办理员可以在页面上编辑学生信息。处理流程如图8所示。
图8 图书馆处理流程
实现上述功能的类继承关系如图9所示。
图9 实现类继承关系图
其中方法autoApproval实现审批传入的待审批学生集合,把没有欠书或者欠书数为0的学生图书馆离校状态值修改为1;在离校表中,为当前审批的学生新增或者更新审批记录;抛出异常。参数isSystem表是否是系统办理;studIds为需要审批的学生id拼接的字符串,格式为(id1,id2,…)。
leaveSchool实现修改学生的在图书馆离校状态值为1(如果欠书,则不允许修改);更新或者新增学生在离校表中的审批记录,包括审批时间,审批人账号,办理方式等。参数ids为办理离校的学生Id集合;account为办理员账号。cancelLeaveSchool修改学生的在图书馆离校状态值为0。
getLeaveSchoolStatus获取学生在图书馆部门办理离校业务状态值。参数stuId为学生Id;返回true表通过。
synAutoApproval更新不欠书或者欠书数为0的学生状态值。
importData导入欠书的学生名单,修改导入的学生在图书馆离校业务状态值0。参数excelFile为导入的Excel文件。
4 结束语
成都师范学院离校系统于2013年5月首次上线使用。每年平均为学校4000多毕业生和8个业务部门提供离校手续的办理和查询服务。以2014年离校过程为例,4463名毕业生在每个部门自动办理环节耗时0.0072天,与传统离校需3天办理时间比,时间节省了400多倍。离校办理中除毕业证领取和公寓公物检查外,全校总共累计为414毕业生手工办理了相关手续,与传统离校所有部门要手工办理35000多人次比,效率提高了约86倍。可以看到,使用离校平台完成离校流程的处理,实现了多个业务系统的数据共享和流转,自动分析、处理和审核毕业生离校过程中必须审核的十余项业务,优化了离校管理审核,提高了处理速度,缩短了办理时间,工作效率和效果都得到了很大改善,让广大师生真正体验到了“一站式”、“一条龙”、“悄无声息”的离校管理服务。
参考文献:
[1] JAVA三大框架SSH和MVC[EB/OL]. (2014-08-23). http://www.thinksaas.cn/group/topic/102171/.
[2] 孙秋瑞, 卢小清. 电子离校系统在高校信息化建设中的实施[J]. 广西大学学报: 自然科学版, 2011, 36(S1): 289-292.
[3] 董梁. 基于Asp.net的高校离校系统设计与实现[J]. 电脑知识与技术, 2010, 6(24): 6757-6758.
[4] 胡洪新. 数字校园的离校系统建设[J]. 苏州市职业大学学报, 2011, 4(22): 26-28.
[5] 朱亚莉, 刘亚彬. 毕业生离校事务协同处理系统的设计与实现[J]. 软件导刊, 2011, 5(10): 36-38.