基于.NET的学院机房信息化管理系统的研究
2015-03-01郑少兰
郑少兰
(福建水利电力职业技术学院,福建永安366000)
基于.NET的学院机房信息化管理系统的研究
郑少兰
(福建水利电力职业技术学院,福建永安366000)
【摘要】随着高校教学计算机应用的开展和普及,许多高校都建立了大量的计算机机房,为实验教学提供了良好的教学条件。然而,对计算机机房的教学上机及自由上机进行有效管理及减轻计算机机房排课工作量,提高现有的各种资源和设备的使用效率,仍然是值得讨论的问题。文章设计一个基于.NET的学院机房信息化管理系统。该系统利用计算机网络技术和信息管理技术提升实验室机房管理,提高实验室机房排课工作效率,简化实验室机房利用率统计,减轻实验人员的管理操作,使高校的实验室机房更好地为学校教学服务。
【关键词】机房管理;.NET;排课算法;上机统计
1 机房管理系统开发的背景及意义
目前高校实验机房的管理方式存在一些弊端。为提高机房利用率,实验室机房没有教学上机的机子允许其他学生自由上机,教学上机和自由上机导致实验员管理困难和期末统计实验室机房的利用率带来不便;随计算机网络技术快速发展,教学方式也跟随着转变,许多课程无论是理论课还是实践课都在实验室机房上课,实验室机房利用率得到大大提高,但实验室机房的管理和维护出现了新的挑战。实验室机房排课的过程中充满了矛盾和冲突,手工排课,费时费力[1];避免教学上机和自由上机发生冲突、统计机房的使用情况等都增加实验员的工作量。提高实验室机房的使用率,减轻机房上机统计工作量和排课工作量,对提升教学质量,便于教学统计,减轻实验员的工作强度,都具有十分重要的意义[2]。
2 系统的功能模块设计
根据要完成的主要功能将系统分成4个主要功能模块。
1)信息管理模块
包括各用户组信息管理及权限分配。系统允许系统管理员、实验员、任课教师和学生4类不同权限的用户登陆。根据登陆账户的权限,用户可以使用不同的模块。各用户添加、查询、修改、删除、以及权限分配由系统管理员管理。各用户可以对自己基本信息进行维护。
2)实验室管理模块
包括实验室信息管理和课程教学需求设置。实验室基本信息管理由相应的实验员负责。实验员可以办理任课教师提出的教学需求,如实验设备要求、软件安装要求等。
3)教学管理模块
包括校历设置、实验课程管理、课程项目管理、实验课程进度管理和课程需求、实验课程安排、教学上机管理和自由上机管理。由系统管理员初始化学校校历,并输入本学期所有实验课程和相应的授课班级及任课教师。系统管理员还要负责实验课程安排。课程项目管理、实验课程进度管理和课程需求由任课教师完成。教学上机管理可以安排教学上机并查看学生上机情况。自由上机管理可以控制并查看自由上机所使用实验设备的状态。
4)统计查询模块
按班级和课程查询实验课表、按实验室查询实验课表、按任课教师查询实验课表、按时间查询实验课表、按时间查询空闲实验室、按实验室对教学上机和自由上机使用情况的基本统计和汇总。
3 体系结构设计和开发工具
3.1体系结构设计
系统管理员、实验员以B/S模式完成常规的管理,通过C/S模式完成数据通信;教师通过B/S和C/S两种模式完成教学管理;学生通过C/S模式完成数据通信。
3.2设计平台和工具
使用Microsoft Visual Studio 2010为开发平台,采用Asp.Net作为编程框架,使用C#开发语言编写,数据库采用SQL Server 2000。
4 系统数据库设计
系统主要的数据库表如下:
权限(权限编号、权限组名称、权限设置、权限状态);
登陆记录(编号、登陆账号、登陆时间、登陆模式、IP地址、设备名称、MAC地址);
注销记录(编号、注销账号、注销时间、登陆模式、IP地址、设备名称、MAC地址);
学期(学年、学期、开学时间、结束时间);
开设课程(学年、学期、班级编号、课程编号、起始周、结束周、工号);
实验室资源表(资源编号、实验室编号、周次、节次、使用人数);
实验登记表(实验登记编号、工号、课程编号、班级数、班级1、班级2、班级3、班级人数/合班人数、实验学时、人机时数:实验总学时*人数);
实验安排表(实验登记编号、资源表编号、是否提交:0-正在排课,未提交;1-已提交);
课程教学需求表(编号、登陆人员姓名、登陆人员电话、登陆时间、要求内容)。
5 主要功能的实现
5.1账户权限
根据用户登陆账户所属的用户组分配相应的功能权限。用户组权限分配根据系统使用过程中的需要对用户组的系统功能能否使用进行设置。为每个用户组设置一个权限组权限位的二进制串,权限组权限位的二进制串的每一位对应一个具体的功能。通过设置对应的位置字符值确定该用户组是否拥有某一权限。设第i位控制该用户组是否拥有第i种功能权限,i位值为1表示拥有该权限,为0表示不拥有该权限。
5.2时间控制
每学期初都会发放校历安排,校历包含学年、学期、第一周开始上课时间和最后一周结束上课时间。根据学期的开学时间、结束时间和登陆时间可以得到周次、星期和节次。设每节课45分钟,每两节课为一个课程单元,可以将课程实验项目的进度确定到某一周星期几的某个课程单元。这样方便实验员安排实验室是处于教学上机时段还是自由上机时段,安排教学上机时段,设备只允许教学上机登陆;未安排教学上机时段,设备可以自由上机登陆。课程安排周次星期和节次的存储及实现也是使用对应串位置字符的值进行设定。
5.3排课
由于班级课程时间和老师己经是固定,只需要确定哪几次上课时间安排上实验课,上实验课的实验地点在哪。首先根据上课班级人数(自然班上课的按自然班上课人数计算,合班上课的就按合班上课人数计算)和实验课数多的划分优先级,然后利用矩阵的迭加匹配运算,将问题分层分类处理,最终筛选出符合条件可排课的实验室。
5.3.1确定课程优先级[3]
1)按上实验课班级人数多少给定一个权值,给人数较多的加一个较高的权值Ai。
2)按实验课数多少给定一个权值,给实验课数较多的加一个较高的权值Bi。
3)某个班上的某门课的权值等于Ai加上Bi。
4)按课程的优先级高低确定排课顺序,优先级高的先排。如果有特殊要求,如某门课必须在某实验室上,不按优先级排,用一个专门的数组存放指定实验室安排指定课程。如果出现多门课必须在某实验室上,必须先安排这几门课,根据这几门课的优先级确定先排哪门课,根据优先级高低确定数组的排放顺序。
5.3.2查空实验室
1)根据课程确定查询条件。
例如,现在需要安排的是CAD课程,上课班级是计算机1431和1432合班上课。
查询条件:承担这门课的教师是郑少兰,班级计算机1431和计算机1432,课程名称CAD课程。
查询结果:教师:郑少兰,课程:建筑CAD,实验学时数:30,起始周:1-18周
星期一:○1-2节,○3-4节,⊙5-6节(单周),○7-8节
星期二:○1-2节,○3-4节,○5-6节,○7-8节
星期三:○1-2节,⊙3-4节,○5-6节,○7-8节
星期四:○1-2节,○3-4节,○5-6节,○7-8节
星期五:○1-2节,○3-4节,⊙5-6节,○7-8节
说明:“⊙”表示该课程单元有安排上课。选择排课班级列中,如果两个班级同时选择“”表示合班上课一起排课(同时安排在一个实验),如果只选择一个班级表示分开排课(安排在不同实验室)。
2)调用算法查询符合条件空的实验室
查询条件:安排班级个数:2,计算机1431、计算机1432;总人数:70;实验学时数:30;人机时数:2100。查询结果如表1所示。
表1 查询结果
说明:提交后会显示提交结果,例如,已经排课:20学时/人机时数1400,还剩余:10学时/人机时数700。对于提交成功的,实验室课程单元由0改为1,表示该课程单元己经被占用,不能再安排其他课程。5.3.3算法思路
1)选择实验室
根据上课班级人数,选择一个能容纳且最接近上课班级人数的实验室安排,尽量避免实验室资源浪费。
2)编码
(1)实验室编码
设两节课为一个课程单元。用x表示周数,用y表示1周的课程单元总数用SYS[x,y]表示实验室的矩阵表,上午4节课2个课程单元,下午4节课2个课程单元,总共4个课程单元,一个星期5天,总共20个课程单元。设某学期共18周则,实验室矩阵表示如矩阵(1)所示。
0表示这个课程单元还没安排实验课,1表示这个课程单元不能安排实验课或己经安排了实验课。
(2)班级编码
用BJ[z,y]表示班级某门课的矩阵表。班级某门课的矩阵表示如矩阵(2)所示。
0表示这个课程单元该班级上某门课,1表示这个课程单元该班级不上某门课。
(3)实现查空
首先初始化符合条件的实验室的单元矩阵和上该门课程的班级的单元矩阵。然后按学生人数多少选择能容纳且最接近上课班级人数的实验室,并初始化该实验室,最后把两个矩阵表相加,得出一个新的矩阵表Δ[x,y],在这个新矩阵中,为0的均表示可排课。0的个数必须大于实验学时数。否则重新选择一个更大且较接近上课班级人数的实验室。
5.3.4课表差错处理
在排课过程中出现漏排、错排或者自动排课发生冲突无法进行的课程,需要对实验课表安排情况进行检查,检查出未排课、实验学时或者错排等不正确情况,将其导出,结合手工调整使课表变得更加完善、科学、合理化。
5.4上机时间统计
每个课程单元开始时,实验员需将学生机全部锁定。当学生上机登陆的时候解锁计算机,并且将此时的时间传到服务器,作为“开始上机时间”,当学生下机的时候锁定计算机,并且将此时的时间传到服务器,作为“结束上机时间”,学生“上机时间”等于“结束上机时间”减去“开始上机时间”。
有的学生上机登陆一台机子后没多久又换一台机子重新登陆;有的学生上机几分钟就离开机房;有的学生下课了作业没做完还会拖延几分钟等特殊情况。为方便上机统计,以课程单元为单位,在一个课程单元里,该学生上机时间累计超过25分钟,表示该学生上满一节课,上机时间累计超过60分钟,表示该学生上满两节课。
6 结束语
目前,该系统软件己调试成功。运行结果表明,系统性能良好,达到了规范实验排课管理工作流程,实现简化机房利用率统计,提高工作效率的目的,促进了实验教学管理的信息化建设。当然,系统目前仍存在诸多不足之处有待改进,比如为实验教学提供更多的功能、操作的简便性、查询的方便性等。总之,我们将继续在今后的技术实践中,不断地完善和扩展系统性能。
【参考文献】
[1]李丽,郭芸俊.实验实践课辅助排课系统的设计与实现[J].电脑知识与技术,2014 (5):965-969.
[2]董万归.基于.NET的大理学院机房管理系统的设计与实现[D].昆明:云南大学, 2013.
[3]陆静.华北科技学院计算机专业实验室排课系统的设计与实现[D].成都:电子科技大学, 2013.
[4]刘振华.基于ASP.NET高校机房监管系统的研究与实现[D].成都:电子科技大学, 2013.
Research on the information management system of college computer room based on .NET
ZHENG Shao-lan
(Fujian College of Water Conservancy and Electric Power, Yongan, Fujian, China 366000)
Abstract:With the development of the college teaching computer application and popularization, many colleges and universities have established a lot of computer rooms to provide good teaching conditions for experimental teaching. However, it is still worth discussing for the effective management of teaching computer use and free use, reducing workload of computer room arrangement and improving the use efficiency of existing resources and equipment. This paper designs an information management system of college computer room based on.NET. The system uses the computer network technology and information management technology to increase computer room management, improve the efficiency of curriculum arranging management, simplify the computer room utilization statistics, reduce the management operation of experiment personnel and make better service for the school teaching.
Keywords:computer room management; .NET; curriculum arrangement algorithm; computer practice statistics
[作者简介]郑少兰(1980-),女,福建漳平人,讲师,研究方向:数据库应用和图形图像应用。
[基金项目]福建省教育厅B类科技研究项目(JB14154)。
[收稿日期]2015-09-19
【中图分类号】TP311.52
【文献标识码】A
【文章编号】2095-7661(2015)04-0053-04
【doi:10.3969/j.issn.2095-7661.2015.04.013】