【摘要】随着高校信息化建设的推进,校园信息管理系统也在逐步完善。然而,目前软件工程专业考勤管理仍然停留在人工操作阶段,急需一套完善的学生考勤管理解决方案。针对这一问题,设计并实现了一套高校学生考勤管理系统,该系统基于.Net架构,采用SQLServer2010后台数据库,实现了报表生成、考勤数据管理等功能。
【关键词】考勤;管理;设计
软件工程现有本科生900多人,传统的考勤统计方法已经无法满足大量增加的学生数的管理需求。本项目瞄准目前考勤管理工作中出现的“统计不及时、信息不准确、工作效率低”等难点问题,设计并逐步开发一套以软件学院需求为背景的,集成多种信息化技术的学生考勤管理系统,包括考勤记录、考勤统计、在线请假等功能模块,督促学生按时出勤,进一步加强学风建设。本项目根据不同需求选用B/S和C/S两种架构进行程序开发。使用Visual Studio 2010作为IDE,数据库管理系统使用SQL Server 2010,采用.Net Framework 3.5/4.0作为开发平台。该系统按教师、学生和管理员三个角色分别实现了如下具体功能:教师:实现了点名、答到识别、数据记录、数据上传/下载、请假申请管理、统计报表、密码管理等。学生:实现了请假申请查看/提交/修改/撤销、密码管理等。管理员:实现了数据导入、课程分配、统计报表、考勤管理、用户管理等。共包括以下几个模块设计:
程序界面和考勤数据可视化设计:数据的呈现方式非常重要,是用户体验的重要考察部分。依照数据的逻辑结构,程序被设计为以树形结构显示管理单位,以列表结构显示考勤数据,并可通过窗口文本框检索数据并自动定位、高亮显示,支持模糊搜索。树形结构显示教授课程和各课程的授课班和课程的简要信息,列表部分显示图形化数据。根据学生的考勤情况定义了红色、黄色、绿色3种图形表示统计的数据。列表各列均可以进行排序,并高亮显示排序列,用户可以通过双击某个单元格修改考勤数据。
考勤数据交互文件设计:为了使教师能够以离线的方式完成课上点名和数据统计等操作,学生考勤管理系统教师离线考勤管理程序使用自定的文件格式进行数据存储和交互,文件结构总体分为三个部分,分别存储文件信息、教师信息和课程信息,载入考勤数据时,程序通过若干循环将数据存储至结构体,并在内存中执行数据的修改操作。文件内容通过基于位运算的算法进行加密存储,并支持密码验证。
语音点名和语音识别答到设计:语音点名和语音识别答到使用了GDI+、TTS、语音识别和多线程技术,分别实现了绘制全屏点名界面,自动播报学生姓名,学生答到语音识别等功能。为了使程序能够更加稳定和高效地运行,这里引入了多线程技术,单独创建3个线程分别用于语音播报、语音识别和全屏画面绘制。利用线程中断的方法实现了暂停点名并等待用户操作的功能,如自动延时点名、控制点名速度、终止点名确认和多种答到确认方式。通过手动资源管理,不仅增强了用户体验,还大幅度降低了系统资源占用率。
全屏点名界面设计:主体部分为名单列表显示位置,全屏点名界面支持自适应分辨率。首先,计算各行文字最佳的大小和位置,并显示出来,这样可以适应不同的分辨率,而不会造成图像的模糊;然后,在捕获用户操作后绘制相应的图形以展示考勤情况;之后,程序记录考勤结果,并重新绘制图像以实现滚动字幕效果,对于已记录考勤的行,则一同绘制相应的图形。点名完成后,程序会自动返回主窗口,并即时显示考勤记录数据。点名完成后,用户可以点击“保存”按钮保存文件,此时,进行过点名的课程,课时进度会自动增加。
考勤数据统计该模块和报表生成模块的设计:统计各门课程各个班级的每个课时的到课率,并以柱形图的形式显示出来,并提供统计图表图片编辑和保存功能。支持饼状图、折线图和柱形图的渲染,并提供了多项扩展属性,包括标题文字、图形样式、颜色搭配和坐标轴样式等项目。通过分析绑定的类的实例得到每个单位的大小、位置、X坐标轴、Y坐标轴和图例,按照用户选定的预定义样式,利用GDI+技术绘制图像(包括形状、颜色渐变、阴影和注释等)并将其显示出来,并支持图像输出。考勤报表生成设计这个模块使用到了Microsoft Office 2007/2010提供的COM组件,.Net Framework对其进行了封装,在命名空间中提供了对Word操作的支持。可以生成如Word文档。该模块不仅能够生成某门课某个班的考勤表,还可以根据用户选择的树节点,生成属于该节点的所有课程及班级的考勤表,并且无需用户考虑如何合并它们,生成的结果即为合并后的结果。
教师Web考勤管理程序模块的设计:教师登录Web系统后,会默认转到课程信息页面,教师在这里可以查看自己的授课列表,通过选择学期可以过滤指定学期的课程,若单击课程名,则会转到请假管理页面,并显示所选课程的请假信息。用户可以通过学期、课程、班级所属专业进行请假信息的筛选,列表默认以请假申请时间为排序列,按倒序排列,用户可以点击操作进行全部课程的请假管理。教师可以点击查看具体的请假申请,并进行审批。请假申请单支持打印功能。请假管理模块结合了业务流程和权限控制,教师同意和拒绝请假申请的权限,对于已审批的请假申请只具备查看和打印的权限,只有学院级管理员具有撤销请假申请的权限(该功能由管理员客户端程序提供)。这样设计的目的是为了规范请假申请的流程,防止徇私舞弊、弄虚作假的情况发生。若请假申请被拒绝,则该生无法修改该课程课时的详细信息。
考勤管理模块的设计:考勤管理模块的作用是实现离线考勤数据文件的更新过程和考勤成绩的自动生成功能,减少教师在期末考试期间考勤成绩核对的工作量。设想一种情况,某个学生提交了某門课程的请假申请,并且得到了教师或班主任的批准,当天教师上课期间进行了点名,该生由于未出勤被程序记为旷课,教师回家后登陆该系统,并向系统提交考勤数据文件,系统经过数据库信息的比对和整合后,将最新的带有请假数据的考勤数据文件提供给教师下载,下次上课点名时,该生不会计入旷课次数。设想另一种情况,期末考试之后,教师需要获得考勤成绩,以计入期末总成绩,此时,教师可以登录该系统,设置考勤总分和已批准请假的得分比例,并向系统提交考勤数据文件,系统经过数据库信息的比对和整合后,将考勤成绩表提供给教师下载。
本系统也支持对管理员用户的添加、编辑和删除,包括权限定义和适用范围的定义和修改。同时还可查看各管理员的登录时间和地点,及时发现可疑用户。
本项目以VisualStudio为开发环境,以.NetFramework为平台,运用C#语言和SQLServer数据库,分别使用WinForm和NET完成了一套较为完整的学生考勤管理系统。系统设计基本预期是能实现考勤管理的各项功能,并在测试和实践改进后得以顺利运行。该项目虽然预期能实现较为完善的功能和管理体系,但是仍属框架式结构,扩展性很强,将来随着移动终端和无线覆盖的普及,在本项目全部功能开发完善后,再开发相应接口,与移动智能终端相链接,使老师和同学能方便的查询和进行考勤管理工作。
基金项目:天津师范大学校教育资金52XJ1203资助项目。
作者简介:于宝海(1979—),男,助理研究员,主要研究计算机应用、教育管理。