基于B/S的高校智能排课系统

2018-04-03 07:11:05安徽财经大学管理科学与工程学院张胜宝
电子世界 2018年5期
关键词:课表数据流手工

安徽财经大学管理科学与工程学院 刘 涛 张胜宝

0 引言

随着国家高等教育的普及程度越来越广,各大高校的扩招规模越来越大,专业划分门类也日趋增多,这就给高等学校的课程安排工作带来了极大的挑战。安徽财经大学是一所以经济学、管理学、法学为主,跨文学、理学、工学、史学七大学科门类的多科性高等财经院校,拥有62个本科专业,在校普通本科生21783人。这就使得排课任务更加复杂、繁琐,如何通过有效、科学地排课,编排出既能满足日常教学活动要求,又高效省时的课表,这是学校相关部门需要面对的一个重大难题。本文在参考众多与排课系统有关的文献期刊的基础之上,通过对安徽财经大学的师资力量及教学资源进行详细的调查,确定了智能排课系统的功能需求,并设计、实现了智能排课系统的各项功能。

正文:本软件使用c#语言进行编写。主要使用Microsoft visio studio2012和 SqlServer 2012软件。任何一个数据库应用系统都应该由数据库和实际应用程序两个方面构成,数据库独立与应用程序,这种设计可以增强数据的重用性与独立性。智能排课系统的分析、设计、实施过程复杂,本文将通过可行性分析、系统流程分析、数据流程及数据库设计等四个方面论述:

1 系统流程分析

考虑到自动排课与手工排课各有优势,因此本系统采用将两者相结合的方式来进行排课工作。首先,先根据学校各专业课程及各业余选修课程教学计划情况进行系统的自动排课,将预排课结果存储在相应的数据表里,这样就完成排课工作的大部分任务;其次,再针对一些由于约束条件过高而无法使用自动排课来完成的课程进行单独的手工排课,这同样也是十分重要的一个环节,手工排课只考虑教室是否可用两种情况,选取可用教室的可用时间段进行安排即可,排课时一般都遵循人数多的课程班优先安排在大课室上课的原则。经过手工排课的排课结果也要存放在相应的数据库中保存。其基本流程如图1所示。

由于实际情况下,一所高校往往拥有不同的校区,为了达到多校区来往方便的目的,本文论述的排课系统并不是全部都是对全部课程进行安排,而是在小规模的课程范围与教室范围内进行手工或自动排课活动。考虑到全校范围内教室数量有限,因此,在排课过程中,我们对同种课程进行了整合,将未排课学生安排到已排课但教室仍有空位置的课程中,以此来节约教育资源。

根据需求,本排课系统需采用自动排课和手动排课相结合,在自动预排课中,先根据课程优先级从高到低建立一个课程链表,同时教室也按有好到差建立一个教室链表。初始化这两个链表以后,根据已经制定好的教学计划预排课,有上课时间的确定上课的教室,没有上课时间的确定上课时间和教室。然后,需要调整时间与地点的课程班,在调课管理或手工排课中调整上课时间和地点,需要合班上课的进行合班操作,检验是否冲突,形成最终排课,最后保存排课结果,选择不同方式打印课表。

2 数据流程

数据流图(DFD)是描述信息流和数据从输入移动到输出时被应用的变换的图形化技术。

图1 排课系统的系统流程图

考虑到一层数据流图难以详细地说明数据流的流动情况,因此,本文采用两层数据流图来对系统中数据的流动进行描述。

2.1 第0层数据流图

在排课活动进行之前,负责教务工作的相关人员需要提前将准备工作做好:获取本学期教学安排计划并输入系统、获得本学期所有教授课程信息、全校可供教学使用的教室信息和其他排课约束条件等。为了降低系统数据库的耦合度,我们考虑将不同的信息放置在不同的数据库表中来单独保存。然后进行排课,最终的排课结果,我们将其单独存放在对应的数据库表中,使用数据库查询语言可以方便快捷地从系统数据库中查询出经过合理安排的课表,并根据查询人的查询要求将结果按类别分组并输出给用户。

图2 第0层数据流图

2.2 第1层数据流图

由于第0层数据流图不能较为清晰地描述出数据的处理过程,我们在此基础上再进一步细化加工,构造更为详细的排课流程,即第1层数据流图,在此之前,我们已经进行了需求分析,在此基础上我们又可以将排排课系统进一步细分为7大模块,如图3所示的:

图3 第1层数据流图

3 数据库设计

数据库设计(Database Design)是系统设计中的重中之重,它指的是在一个特定的应用环境下,通过分析构造出一个最佳的数据库模式,在此基础上建立数据库和数据表,确保数据库存储数据的高效性,满足各种各样的应用需求。本系统通过对数据流程的分析,并对系统数据进行了规范化处理之后,确定按照系统中所需的实体设计6个数据表:教室表、教师表、学生表、排课规则表、自动排课表、排课结果表,并在数据库建立过程中,建立适当数量的存储过程与触发器,以此来简化代码设计过程中的设计难度。

4 总结

本系统基于当下现状,利用目前比较流行的B/S设计模式,流行的关系型数据库SqlServer以及应用非常普遍的asp.net技术,对本次高校智能排课系统进行设计与实现。本系统将采用mvc设计模式,使系统表现层后数据层分离,方便系统操作人员管理。

B/S架构的全称为Browser/Server,即浏览器/服务器结构。我们使用B/S模式其优势首先在于它具有分布性的特点,可以随时进行查询、浏览课表等信息,方便管理人员进行课表管理。其次,使用该基于B/S架构设计出来的系统具有业务拓展方便、维护简单方便的特点。只需要在链接到国际互联网的浏览器端登陆进行数据更改,便可以实现服务器端用户数据的同步更新,这大大减少了维护成本。B/S模式也具备开发简单、共享性强、成本低的特点,这将大大减少开发难度,有效增大项目成功率。并且它的数据可以永久存储在云端而不必担心数据的丢失。

[1]李帅,黄克敏,杨义,张天然,王倩.高校学生选课系统的研究与设计[J].电脑知识与技术,2017,13(09):99-100.

[2]曾伟洪,周军城.基于C#的学生选课系统[J].信息记录材料,2016,17(03):7-8.

[3]马晓倩,吴瑕,郑修颖.基于ASP.NET的学生选课系统设计与实现[J].民营科技,2016(04):47.

[4]张悦,杨学全.决策树算法在学生选课系统中的应用[J].科技经济市场,2014(07):185.

[5]曹风华.基于B/S的学生选课系统的设计与实现[J].中国管理信息化,2011,14(23):65-66.

猜你喜欢
课表数据流手工
学生出招解决”日课牌“问题
科教新报(2022年17期)2022-05-24 13:01:09
如果我是校长
汽车维修数据流基础(下)
做手工
运用VBA自动生成子课程表
电子测试(2018年21期)2018-11-08 03:09:36
超萌的羊毛毡手工
快乐语文(2018年12期)2018-06-15 09:11:10
一种提高TCP与UDP数据流公平性的拥塞控制机制
手工
儿童绘本(2017年10期)2017-07-05 18:44:29
手工DIY
基于数据流聚类的多目标跟踪算法