1. 引言
人才培养是高校的核心职能,在人才培养过程中,二级学院以教研室为单位承担着主要的教学活动,采用信息化管理系统对这些活动进行有效地管理对保证教学质量、提高工作效率具有重要意义。唐文利 [1] 对高校教务管理信息化中存在的问题进行研究,指出构建科学完善的教务管理信息系统的必要性。龚日朝等人 [2] 采用以培养方案为中心的系统研发理念,实现教学管理中过程与结果、管理与服务、精细化和信息化的相互融合,具备重要的参考价值。虽然应用于高校的信息化管理系统越来越多,但针对于院系日常教学工作的管理系统依旧较少。此外,由于不同高校、院系的工作模式和工作流程可能有区别,因此这类系统大多是针对自身的情况对工作流程进行控制,不能直接移植到其他高校实现自动化管理。
黄淼等人 [3] 结合学校实际情况,针对教务评教系统设计了专门的信息化系统用以方便教学评教工作的实施和管理。李晓林等人 [4] 结合所遇到的大型仪器设备管理现状分析并开发了网上预约管理系统,提高了管理工作效率和设备利用率。张肖如等人 [5] 为改善学校毕业审核需求与工作流程的不匹配采用RoR框架实现了新的毕业资格审核系统,从而提高了工作效率。以上系统都结合实际需求进行设计开发以满足应用需求,当遇到新的需求时仍有必要结合需求开发新的系统。对于计算机学院来讲,自主研发一套适合院系日常教学工作的自动化管理系统,以此来进一步规范工作流程并提升管理工作效率成为一种经济的、针对性强的选择。
2. 需求分析
计算机学院设有五个教研室,每个学期内各教研室都要完成制定学期计划、上报每周的工作主题、进行三次教学检查、分配考试任务并进行审核等工作。其中所涉及的角色主要有三类:院系管理者、教研室主任和普通教师,其中院系管理者负责发布活动通知、审核并批复来自教研室的方案或材料;教研室主任根据活动通知有两类行为,有可能是制定方案并上报院系等待批复,有可能是组织普通教师完成活动并上报相关材料;普通教师主要是查看院系领导和教研室主任下发的通知或任务,并根据要求上传相关材料。其中,担任院系管理者或教研室主任角色的用户也可能同时具备普通教师角色。
系统以教研室的教学管理工作为核心,以学期为单位,以实际工作内容和流程为基础进行抽象和设计,所涉及的活动主要有的学期计划、周工作主题、教学检查和考试任务分配等,具体分析如下。
2.1. 学期计划活动分析
学期计划的主要参与者是院系管理者和教研室主任,主要工作是上报本学期的计划。学期初,教研室根据教务处的教学运行表,制定针对本学期的学期计划并形成规范材料,并上报院系管理者,院系者审核通过后流程结束。若未通过审核则指定修改时间,在修改时间内教研室可多次继续上报并得到反馈结果;若修改时间内未能上报并通过审核,则在系统中标记为管理异常事件。
2.2. 周工作主题活动分析
周工作主题的主要参与者是院系管理者和教研室主任,由教研室主任在学期初制订本学期内每一周的工作重点(比如集中讨论听课情况、讨论人才培养方案修订稿等等),并上报院系管理者。院系管理者收到上报的材料后进行审阅并回馈意见。
2.3. 教学检查活动分析
教学检查活动涉及的参与者有院系管理者、教研室主任和普通教师。先由院系管理者发布检查通知,教研室主任收到通知后发布具体的检查要求和材料提交的截止时间。普通教师可以查看通知和检查要求,并根据检查要求准备相关的材料,在截止时间到达前上传自己的检查材料。教研室主任在截止时间到达后可以对材料进行检查并由系统进行统计,最终把检查情况提交给院系管理者,院系管理者批复后流程结束。每个学期有三次教学检查,流程都一样,检查的材料稍有不同。
2.4. 考试任务分配活动分析
考试任务分配的主要参与者是教研室主任和普通教师,由教研室主任设计并发布考试任务分配方案,普通教师查看自己分到的任务,随后根据任务准备相关材料。因为涉及保密,所以考试材料的收取不在系统里上传,还是传统的通过U盘现场交到办公室。考试任务分配活动的主要目标就是发布考试任务的分配情况,并通知相关教师。
2.5. 重要事件提醒及分析
重要事件提醒功能本身并不是一项活动,但却是一个很有实用价值的功能,通过对重要的工作(如某个周工作主题或者其他自定义的事件)进行标记,系统可以在标记截止时间到达前两天进行提示,避免因遗忘重要事件带来的后果。
以周工作主题为例,经过与相关角色的沟通,得出该活动的活动图,如图1所示。

Figure 1. The activity diagram for the weekly work theme
图1. 周工作主题的活动图
3. 架构设计
需求分析中主要关注需要什么功能,而不必考虑如设实现。在设计阶段则需加上必要的数据管理。结合以上分析,系统的功能架构包括基础信息、工作计划和教学检查三类,其功能结构如图2所示。其中,基础信息模块下细分为院系信息管理和个人信息管理,用于维护系统中其他模块共用的基本数据;工作计划模块包含学期计划、周工作主题管理、重要事件管理和考试任务管理功能,用于完成教学管理中不同的业务要求;教学检查模块分为教学检查管理和教学检查执行两个组成部分,用于全面支持教学检查工作的方方面面。
系统的技术架构选择多层架构,这是在MVC三层架构的基础上,继续分层而形成的。通过进一步分层,各层的职责更加明确,系统执行流程更加清晰。多层架构广泛应用于名类系统的开发,如整合WCF技术的多层架构 [6] 、基于JavaEE的多层架构 [7] [8] [9] 。本系统采用5层架构进行设计,具体包括视图层、控制层、业务对象层、持久化层和系统服务层,视图层以JSP技术为主,控制层以Struts2为主,业务对象层是JavaBean,持久化层采用Hibernate框架,系统服务层借助Java和Spring进行解耦,系统整体架构如图3所示。最上层是视图层,主要采用JSP、HTML、层叠样式表CSS和JavaScript技术,用于以网页的形式向用户展示教学管理系统的界面并接收用户的交互信息,例如用户进入系统后看到的主页面、管理页面和查询页面等等;接下来是控制层,主要采用Struts2技术,通过该框架转发用户在教务管理系统中提交的交互信息、调用业务逻辑层代码进行处理并根据处理结果向用户返回相应的界面,例如用户在新增周工作主题页面中输入了信息并点击提交后,用户输入的周工作主题信息将由控制层分派给周工作主题服务,最后根据服务结果决定给出操作失败提示还是跳转到周工作主题列表页面;再接下来是系统服务层,主要采用Java和Spring技术,用于处理系统需求中与业务相关的操作(如学期计划业务、教学检查业务、周工作主题业务等等),例如周工作主题服务中将根据业务需求对周工作主题的有效性进行检查、从学期计划中查询候选的周工作主题等等;再往下是业务对象层,采用JavaBean技术,用于定义各功能模块中的实体或概念,由其他各层根据需要创建和使用,例如周工作主题模块中根据需求分析设计出周工作主题对象用来存储周工作主题数据;最后一层是持久化层,主要采用Hibernate框架和DAO技术,用于把系统数据存入数据库或从数据库中读取所需的系统数据,例如周工作主题模块的持久化

Figure 2. The functional structure diagram of teaching management system
图2. 教学管理系统功能结构图

Figure 3. Diagram of multi-tier structure of teaching management system
图3. 教学管理系统多层架构图示
层能够把用户提交的周工作主题存入数据库,也能够从数据库中查询出用户某学期的所有周工作主题。系统按照上述五层架构,分别建立用户界面UI层、Action层、Service层、实体层和Dao层与之对应。
4. 数据库设计
数据库采用SQL Server 2008,由需求分析得到学期、课程、教研室等十五个实体,通过对这些实体间的关系模式进行分析,抽取出10个关系模式,形成学期、课程、教研室、学期计划等25张数据表。其中基础数据涉及8张表,学期计划功能涉及3张表,周工作主题涉及2张表,教学检查涉及6张表,考试任务分配涉及4张表,重要事件提醒涉及2张表。以教学检查为例,其中的2张数据表如下。其中,教学检查表(EduCheck)用于记录教研室提交的总结,包含教学检查编号、截止时间、完成情况、检查材料文件名、院系的审批内容、所属教研室和所在学期等信息,如表1所示;检查详情表(CheckDetail)用于记录某位教师检查的总体情况,包含编号、备注、检查结果是否合格、所属的教学检查、被检查人和所在学期等信息,如表2所示。
5. 详细设计
系统主要模块的功能设计如下。
1) 基础信息管理模块。用于管理系统中的各类基础信息,一方面对数据进行增删改查,能够对学期、周次、课程、教研室、各类用户、任课情况等信息进行统一的管理;另一方面对系统流程进行管理,能够开启新的学期,当新学期开启后,之前学期的资料也将封存,不能再进行修改。
2) 学期计划模块。用于管理各教研室整个学期的活动计划,确保教研室活动的正常开展。教研室主任身份能够对学期计划进行录入、删除、修改,院系管理者能够进行审核,可以选择通过审核或返回修改。一旦计划制订完成就不可更改,在学期中若需要变动则需通过周工作主题模块进行调整。
3) 周工作主题模块。用于设定和执行每周的主题活动,通过这些活动实现学期计划任务。教研室主

Table 1. The logic structure of the table EduCheck
表1. 教学检查表逻辑结构

Table 2. The logic structure of the table CheckDetail
表2. 检查详情表逻辑结构
任身份能够管理周工作主题,从学期计划或模板中导入周工作主题,也可临时设定新的活动作为下一周的主题。院系管理者可以进行审核并通知审核结果。周工作主题须在前一周制订完成,从而确保周工作的正常开展。
4) 教学检查模块。用于规范化教学检查过程,督促教学检查工作的顺利进行。院系管理者能够下发检查通知、审核教研室的检查结果并进行批复;教研室能够通知所辖教师按时按要求提交检查材料、获取教师提交材料的统计信息并下载查看材料、向院系上报检查结果并获得反馈;普通教师能够查看检查通知和要求、根据系统的提示上传和提交检查材料和查看反馈结果。
5) 考试任务分配模块。用于辅助教研室为每位教师分配出卷或考试材料准备任务。系统根据人才培养方案和教师的授课信息向教研室展示需要安排考试任务的课程和教师;教研室对系统展示出的课程和教师进行关联从而分配考试任务;任务分配完成并发布后,普通教师能够查看任务分配结果。
6) 重要事件提醒模块。用于在用户登录系统时提醒用户有重要的任务待完成,尽量避免用户因一时大意错过任务截止时间。所有用户均可添加自定义重要事件,能够查询、录入、修改和删除重要事件,也能够浏览和删除重要事件历史。可以设置提前1天、3天、1周或2周进行提醒。
以周工作主题模块为例,用户在周工作主题管理页面点击“新增主题”按钮,视图层接收到交互信息并显示出新增页面,用户输入信息后提交给控制层,控制层调用系统服务层完成信息的添加,最终跳转回周工作主题管理页面并显示最新的周工作主题列表。周工作主题新增的具体过程如图4所示,整体分为获取可选计划项、存储周工作主题和获取所有周工作主题这三个阶段,各阶段的调用流程相似。其中,控制层、系统服务层和持久化层在处理同一个交互请求时虽然方法的内容不同,但使用的方法名相同,这样不需要花额外的时间去区分业务内容,从而有利于系统的实现。以存储周工作主题阶段为例,用户通过在UI层点击“录入”按钮向Action层(此处为WeekPlanAction)发送addWeekPlan()消息,Action层接收到该消息时先将用户输入的数据封装为业务对象(此处为周工作主题WeekPlan),然后调用Service层(此处为WeekPlanService)的addWeekPlan()方法执行业务过程。在WeekPlanService执行过程中,首先需检查WeekPlan的有效性,通过检查后调用持久化层(此处为WeekPlanDao)的addWeekPlan()方法进行存储。WeekPlanDao在执行过程中,通过Hibernate框架将WeekPlan存入数据库。系统中活动的流程控制通过视图层的操作顺序实现。系统界面及周工作主题管理效果图如图5所示,其中右下方的内容区域为周工作主题管理。
系统最终部署在拥有8G内存的联想工作站上,供全院师生使用,经过一个学期的试运行,系统能够支持500人的使用且表现稳定,能够以预期的响应速度提供各项功能服务。同时,系统应兼容IE9及以上版本、火狐浏览器和360浏览器等常用环境,通过测试及试运行的验证,发现系统符合兼容性要求。

Figure 4. The sequence diagram of weekly work theme activity
图4. 周工作主题活动序列图

Figure 5. System interface and weekly work theme management rendering
图5. 系统界面及周工作主题管理效果图
6. 结束语
当前越来越多的结合实际应用需求的系统被投入使用,逐步提升着社会的信息化程度。计算机学院教学管理系统的建模为有相同需求的部门提供一个参考,该系统既能促进工作的信息化程度,提升工作效率,更能把工作流程以系统的形式确立下来,为学院提供一个规范的管理平台,进一步提升工作的规范化程度。
基金项目
河南省科技攻关项目(项目编号:172102210428)。