多校区排课系统的设计研究

2019-09-10 10:40戴阳阳
科学导报·科学工程与电力 2019年1期
关键词:约束

【摘 要】随着我国教育事业的发展,为贯彻《国家中长期教育改革和发展规划纲要(2010-2020年)》的精神和目标,各学校加快了教育信息化进程,实施数字化校园工程。但同时也随着学校或培训机构的不断兼并与扩张,对教学管理的要求不断提高。

本文对目前国内市场主流教学管理系统进行了研究,深入分析多校区管理模式下的教学管理需求。系统采用了基于B/S、C/S混合模式下的三层架构,充分利用两种模式的优势,实现了数据的安全性和高交互性,同时又体现了师生教学服务的窗口。系统紧紧围绕多校区集中式管理,体现了严谨又灵活的设计思想。本文主要以苏州网络大学园教学管理系统为例,重点分析了排课系统的设计,经过验证系统实用有效,并成功推广到周边及所高校使用。

【关键词】多校区;排课;约束;C/S

1.背景与技术分析

1.1 教学管理系统的应用现状

目前数字化校园平台已广泛应用于各大高等学校,中小学建设水平相对落后。其中,教学管理系统是数字化校园的核心模块。系统掌握着学校几乎所有的基础数据,如学生、专业、课程、教室、教师信息等。同时,教学管理系统也是数字化校园中其他业务系统的应用基础,是学校数字化校园实现的关键。国内教务系统与21世纪初出现产品化系统,经过多年的发展,目前国内主流的教学管理系统产品厂商主要有三家。杭州正方、清华优软、湖南青果。他们在国内的市场占有率在不断提高。在开发技术上都采用目前成熟、先进的技术,并且在系统应用架构上基本都采用B/S、C/S的混合模式。

国外高校使用的教务管理系统大部分是自主研发的产品,或实用开源代码经过二次研发实现的系统。它们都遵行“Open Design”的设计理念,在功能应用中,系统只提供一个框架,在使用前需要做较大的基础数据输入及条件设置工作,不具有通用性。另外,国外高校的教学管理机构的职能、教学模式与国内高校也存在较大的区别。

1.2應用技术分析

.NET Framework(.NET框架)是一款由微软公司开发,致力于敏捷软件开发(Agile softwaredevelopment)、快速应用开发(Rapidapplication development)、平台无关性和网络透明化的软件开发平台。它提供了一个跨语言的统一编程环境。.NET框架主要包含三个组成部分:公共语言运行库(CLR:Common Language Runtime)、服务框架(Services Framework)和上层的两类应用模板,包含传统的Windows应用程序模板(Win Forms)和基于ASP NET的面向Web的网络应用程序模板(Web Forms和Web Services)。有了这些功能用户不必迷惑于 Win32API和COM,避免了DLL的版本和更新问题(常称为DLL地狱),从而大大简化了应用程序的发布和升级。

Web服务(Web Service)是一种全新的Web应用程序分支,Web服务是自包含、自描述、模块化的应用,可以发布、定位、通过Web调用。其实Web service 就是一个应用程序,它向外界暴露出一个能够通过Web进行调用的API。Web Service有两部分组成SOAP与WSDL。

SOAP[ ](Simple Object Access Protocol,简单对象访问协议)是由包括Microsoft、IBM、DevelopMentor、UserlandSoftware在内的多家公司共同提出的技术规范,目的是实现大量异构程序和平台之间的互操作性,从而使存在的应用程序能够被广泛的用户访问。

B/S模式的易操作维护性,已经成为我们开发管理系统的首先方案,但C/S 模式也有其特定的应用需求,像国内的财务ERP系统大部分都是此模式。综合两种模式的优劣之处,本文选用了 C/S 与 B/S的 混合模式架构,它们分别体现了管理与服务的概念。但有些特殊模块不仅是管理类模块,同时也是服务类模块,它们需要两种模式的结合才能实现。例如:选课、成绩管理模块,管理员需要先在后台设置后基础数据再将选课、成绩录入功能开放给广大师生。采用C/S与B/S混合模式的教务管理系统,充分发挥了C/S模式与B/S模式的优势[ 10]。

2 系统分析与设计

2.1应用需求分析

排课是所有教学管理中最为复杂、繁琐、也是容易出错的业务,课表的合理性更是影响到能否充分合理的利用全部资源,达到最佳教学效果。从宏观管理角度来看,我们可以把教师、教室、课程都看作为学校开展教学的必要资源。如何充分利用现有教学资源来合理、科学的进行教学安排是教学管理的核心业务。本系统实现的排课功能包含初始化排课数据、自动排课、手工修改、课表打印、排课数据回传等功能。另外,初始化排课数据是实施排课重要级,整个过程涉及到多张数据表及多个操作步骤,包括排课约束设置、优先级设置等。

2.2 系统架构设计

本系统基于.Net Framework平台开发,采用了Winform和Web两种界面方式来分别实现C/S端和B/S端的功能。设计上采用标准的三层架构,包括表示层、业务逻辑层和数据访问层。

1、表示层:C/S端表示层使用Winform和Web Service实现,在编码上采用C#和VB.net。Winform的实现中使用Web Service调用,并通过App.config来配置Web Service的发布。B/S端表示层使用Aspx和部分Html实现,在页面编码上选择C#、js和css相结合的方式实现;并使用Web.config来配置Web服务器及数据库服务器的连接。

2、业务逻辑层:该层有四个模块组成,业务处理模块(TeachingBLL)、公共类库模块(Common)、系统管理模块(System)、业务实体模块(Model);大多采用C#实现。

3、数据访问层:用于实现与数据库的交互和访问,从数据库获取数据或保存数据到数据库。该类实现了对ADO.NET的封装,封装了一些常用的重复的数据库操作,该层主要以C#和存储过程实现。

2.3功能设计

排课问题实际上是一个在时间、学生、教师和教室的四维空间中,以教学任务和各种约束条件为基础,在解决四个实体之间冲突的前提下找到最优时空解。整个排课过程分为排课前准备工作,自动排课及课表修改和打印工作,业务流程复杂,需要设计全面的功能模塊来完成,具体功能模块见图1排课系统功能图。

排课约束条件众多,本文将各种排课约束条件划分为三类。强制约束、特殊约束及优化约束。

1、强制约束:系统必须实现的约束条件,优先等级最高。

1)同一时间,同一教室只能排一门课。

2)同一时间,同一班级只能排一门课。

3)同一时间,同一教师只能排一门课。

2、特殊约束:系统必须实现的约束条件,优先级次之。

1)排课时间限制,用于限制某一时间段不能排课。

2)教师时间限制,用于设置教师只能排课的时间或不能排课的时间。

3)教室时间限制,用于设置教室只能排课的时间或不能排课的时间。

3、优化约束:系统不一定要实现的约束条件,目的是为了使课表编排的更合理,优先级最低。

1)课程时间块设置,用于设置同一课程上课间隔的优先级,比如同一门课程上课时间间隔两天优先间隔一天。

2)课程排课设置,用于设置课程安排的优先级,可以根据学院、专业、课程类别设置。

二、排课算法设计

系统采用基于多校区的遗传算法,本文中不做详细描述。

三、分课表的设计

由于课表的使用对象不同,我们需要设计不同类型的课表,而且为了便于课务管理系统设计了多种中课表。本文设计的子课表有班级课表、教师任务书、班级总课表、教师总课表、教室总课表。

此系统的特点是功能全面、细节到位、适应性强。系统在整个需求分析、设计、开发过程中紧紧围绕多校区集中式管理的思想,以适应高校在多校区管理模式下的资源节约与整体调配。此外,系统需求进一步开发,完善各功能模块。如排课模块中的版块课程安排、调课等功能;教师管理模块中的教师工作量统计等功能。同时做好排课系统的接口预留,实现与管理单位其他系统的对接。

参考文献:

[1] 李尚勇.基于.NET架构的高职院校调排课系统的设计与实现[硕士学位论文].电子科技大学,2006.

[2] 程广平.基于.net 架构的高校教务管理信息系统的设计与实践[J].中国现代教育装备,2007(11).

[3] 谢星星,沈鼓卓.UML基础与Rose建模实用教程.北京:清华大学出版社

作者简介:

戴阳阳(1981.01-),女,汉族,江苏张家港人,讲师,硕士,主要从事云计算、金融大数据教学研究

(作者单位:苏州工业园区职业技术学院)

猜你喜欢
约束
创新投入、政府补助与融资约束
战略激进度与融资约束
自我约束讲诚信
变系数部分线性模型的加权随机约束s-K估计
审计师声誉与企业融资约束
审计师声誉与企业融资约束
马和骑师
约束自己是为了走得更远
当没有人看到
CAE软件操作小百科(11)