淮北师范大学
2011届学士学位论文
自 动 排 课 系 统
学院、专业 物理与电子信息学院
电子信息工程
研 究 方 向 计算机应用 学 生 姓 名 王 祥 学 号 20071342123
指导教师姓名 张亚萍 指导教师职称 讲 师
2011年5月7日
淮北师范大学2011届学士毕业论文 自动排课系统
自动排课系统
王祥
淮北师范大学物理与电子信息学院 235000
摘要 制定一个学校的排课计划是一项非常耗时且相当辛苦的工作,随着信息技术在管理上越来越深入而广泛的应用,自动排课系统的实施在技术上已逐步成熟。课程编排系统是一个学校不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以自动课程编排系统应该能够为用户提供充足的信息和快捷的查询手段。
本文介绍了在Visual Basic6.0环境下采用“自上而下地总体规划,自下而上地应用开发”的策略开发一个管理信息系统的过程。通过分析学校学生管理的不足,创建了一套行之有效的计算机管理的方案。本文采用VB和Access等软件为开发工具,以Windows XP为开发平台,设计出一个学校排课系统,对学生、教师的信息、学生的课程进行统一的安排,便于查询、修改和打印。本系统主要实现的功能模块有系统管理子系统、学生信课表子系统、教师课表子系统、班级课表子系统、课程子系统等。
本系统界面友好,操作简单,比较实用;本系统经过测试,运行稳定,可投入使用。
关键字 系统;排课管理;VB;Access
II
淮北师范大学2011届学士毕业论文 自动排课系统
The School Management System
Wang Yao
School of Physics and Electronic Information, HuaiBei Normal University, 235000
Abstract
As information technology in the management of the application of more
in-depth and extensive,the implementation of management information system technology has gradually matured . The management information system is a new developing subject, any one unit to survive and develop, to the internal activities efficiently organized organically, it must establish its own characteristics to adapt to the management information system.
This article describes the environment in Visual Basic6.0 a \"top-down master plan, application development from the bottom up\" strategy development process of a management information system. By analyzing the lack of student management, creating a set of effective computer management programs. In this paper, VB and Access and other software development tools to Windows XP as a development platform to design a school management system, students, staff information, student subject and performance unified arrangements to facilitate the query, modify and print. This system function modules implemented in a systematic management subsystem, student information management subsystem, employee information management subsystem, class information management subsystem, course information management subsystem, performance information management subsystem, integrated assessment subsystem, graduate management subsystem, such as library management subsystem,meanwhile, the system interface is friendly,
III
淮北师范大学2011届学士毕业论文 自动排课系统
simple operation, more practical.
Keyword system;manage;information management
IV
目 录
1 系统的理论与技术基础 ............................................................................................................. 1
1.1管理信息系统基础 ............................................................................................................. 1 1.2 软件工程理论的概述 ........................................................................................................ 1 1.3 软件工程理论对本系统的指导 ...................................................... 错误!未定义书签。 2 系统的开发工具及编程环境 ..................................................................................................... 2
2.1 开发工具的选择 ............................................................................................................... 2 2.2 Visual Basic 语言的特点及常用名词............................................................................. 2 2.3编程环境的选择 ............................................................................... 错误!未定义书签。 2.4 Windows下的Visual Basic 面对对象的编程 ................................................................. 3 3 系统分析及功能特点 ................................................................................................................. 4
3.1系统的需求分析 ................................................................................................................. 5 3.2系统的功能特点 ................................................................................................................. 5 4 系统的基本框架、总体结构、及各部分功能 ........................................................................... 7
4.1 系统的基本框架 ................................................................................................................ 7 4.2 系统的总体结构 .............................................................................. 错误!未定义书签。 4.3 系统的各部分功能 ........................................................................................................ 7 5 数据库(表)分析 ..................................................................................................................... 9
5.1数据库设计 ......................................................................................................................... 9 5.2数据库需求分析 ............................................................................... 错误!未定义书签。 5.3 部分数据E-R图 ............................................................................................................... 9 6 系统部分窗体界面 ..................................................................................................................... 10
6.1界面窗体(界面.frm) .................................................................................................... 10 6.2 用户登陆窗体(用户登陆.frm) ................................................. 错误!未定义书签。 6.3 班级浏览窗体(班级浏览.frm) ................................................. 错误!未定义书签。 6.4 学生成绩查询窗体(学生成绩.frm) ......................................... 错误!未定义书签。 6.5 学生成绩输入数据显示窗体(学生成绩输入数据显示.frm) . 错误!未定义书签。 6.7 毕业设计窗体(毕业设计.frm) ................................................. 错误!未定义书签。 6.8 综合测评窗体(综合测评.frm) ................................................. 错误!未定义书签。 总 结 ............................................................................................................................................ 22 参考文献......................................................................................................... 错误!未定义书签。 致 谢 ............................................................................................................................................ 24
淮北师范大学2011届学士毕业论文 自动排课系统
1 系统的理论与技术基础
1.1自动排课系统目的
排课,是给学校各专业的教学计划中设置的课程安排合适的时间和地点,也就是给每个班的课程安排时间和地点。排课工作在教学管理中很重要也很繁琐,计算机自动排课系统,可以降低排课人员的工作量,减少排课中的人为因素。自动课程编排系统是一个学校不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以自动课程编排系统应该能够为用户提供充足的信息和快捷的查询手段。
从系统开发的复杂程度来看,计算机辅助排课与选课是高校教务系统中的两个关键子系统,目前不少教务系统尚未很好地解决排课与选课问题。本文主要对高校教务管理系统中计算机课表编排与选课子系统的基本功能、设计思想、需求分析以及实现技术进行探讨。本设计的系统可以通过登陆界面对学生老师的功能权限进行分配,登陆后各自实施各自的功能。 1.2系统可行性分析
技术上可行:该系统所需硬件设备,市场上销售且价格较低,甚至可以使用原有的设备,软件上,操作系统采用Windows系列操作系统,数据库管理系统采用Visual Basic,这些软件在MIS开发中已被大量应用,技术上都比较成熟。因此在技术上是可行的。
经济上可行:由于学校急需采用计算机来进行排课的管理,因此对开发图书管理系统大力支持,开发经费没有问题。
综上所述,开发自动排课系统在技术上、经济上、都是可行的。
1
淮北师范大学2011届学士毕业论文 自动排课系统
2 系统的开发工具及编程环境
2.1 开发工具的选择
本系统的设计是在Windows XP简体中文版操作系统环境下,使用MS Visual Basic 6.0中文版开发成功的。数据库是MIS中的重要支持技术,在MIS开发过程中,如何选择数据库管理是一个重要的问题,目前,数据库产品较多,每种产品都具有各自的特点和适用范围,因此,在选择数据库时,应考虑数据库应用的特点及适用范围,本系统选用的数据库语言介绍如下:
Visual Basic 6.0是一种可视化的、面对对象和条用事件驱动方式的结构化高级程序设计,可用于开发Windows环境下的种类应用程序。它简单易学、效率高,且功能强大,可以与Windows的专业开发工具SDK相媲美,而且程序开发人员不必具有C/C++编程基础。在Visual Basic环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用Windows内部的应用程序接口(API)函数,以及动态链接库(DLL)、动态数据交换(DDE)、对象的链接与嵌入(OLE)、开放式数据访问(ODBC)等技术,可以高效、快速地开发出Windows环境下功能强大、图形界面丰富的应用软件系统。
2.2 Visual Basic 语言的特点及常用名词
Visual Basic 语言用其设计应用程序时具有两个基本特点,可视化设计WYSIWYG (what you see is what you get)和事件驱动编程。 Visual Basic 系统除了一般高级语言所具有的一些名词术语外,还有几个系统常用的名词。其基本含义如下:视窗(Form)、对象 (Object) 、属性 (Properties)、 事件 (Events) 、方法 (Method)、 过程 (Procedure) 和模块 (Module)。 (1)视窗(Form)
视窗是进行人机交互的界面或接口,也叫窗体。VB系统的人机交互界面或接口,无论是在设计时或是在运行时,都是Windows 系统的标准视窗。 (2)对象 (Object)
对象是VB系统内部提供给设计者可以直接使用的处理输出的控制工具。本程序所应用到的对象类型有标签框 (Label Box),文本框 (Text Box),命令按扭 (Command Button),网格 (Data Grid)等。当把这些工具放置到用户界面对应的窗体上时,被称为对象或控件。用户可以通过设置对象的“属性”和“方法”,便于对象适应自己所设计应用程序的输入输出内容,对象的生成过程及结构都被封装起来。正确使用对象可以减少程序和开发时间,提高程序设计者的工作效率。 (3)属性 (Properties)
属性是VB系统提供的有关对象的参数或数据接口。用户通过适当的设置或改变对象的属性来确定对象的外观及性能特征,从而有效地使用系统提供的对
2
淮北师范大学2011届学士毕业论文 自动排课系统
象。比如,对象的名称、在屏幕上显示的位置、大小、颜色、接收或容纳的数据内容及数据的表现格式等。 (4)事件 (Events)
事件是指用户或操作者对计算机进行的某一操作(如击键、单击或移动鼠标等)的行为或系统状态发生的变化。VB系统常用事件来引导计算机执行一段程序。程序所用的键盘事件有KeyPress(按键)事件,KeyDown事件和KeyUp事件;鼠标事件有Click(单击鼠标)事件,DbDlicd(双击鼠标)。 (5)方法 (Method)
方法主要是指对一个对象使用某种作用的过程。它是在程序执行的过程中要计算机执行的某种操作。其程序的方法有Show(显示)方法,Hide(隐藏)方法,Refresh(刷新)方法。 (6)过程 (Procedure)
过程是指经过定义或说明的,或基于某一对象对应的事件所引发的程序段。 (7)模块 (Module)
模块是指一些运算量或过程进行声明或定义的一个集合。系统程序大体可分成四个模块:数据输入、根据查询、数据打印和通讯。
2.3 Windows下的Visual Basic 面对对象的编程
面对对象的编程;面向对象的设计方法 (OOP, Objected Programming) 从应用领域内的问题着手,以直观自然的方式描述客观世界的实体。Visual Basic 作为一种面向对象的编程方法,把程序和数据封装起来作为一个对象,并为每个对象赋予相应的属性。在设计对象时,不必编写建立和描述每个对象的程序代码,而是用工具画在界面上,由 Visual Basic 自动生成对象的程序代码并封装起来。Visual Basic 应用程序基本的构建块是用户所创建的对象,每一个对象都具有一些特性和行为(属性、事件和方法)。开发人员可以最有效利用所创建的每一个对象。使用应用程序具有可通用性可说扩展性和强有力的功能。Visual Basic 应用由一系列对象组成,包括有函数、菜单、函数、结构和数据窗口、用户对象、用户事件等等,对象中又包含若干控件如命令按钮、单行编辑器等这些对象和控件都可在许多应用中重复使用。
首先是进入登陆界面,如图3.4所示,本窗体显示系统名称,密码校验等信息,本系统的用户分为三类:管理员,教师,学生。使用者可以在组合框中选择所要登录的用户的类型,并输入相应的用户名和密码,单击“确定”就会将输入提交给系统以验证用户、密码及身份。如果用户类型及密码正确,则会进入系统的MDI主窗体(MDIMain.frm).
本模块的流程图如下: 选择用户,输入密码
N
密码正确? Y
3 进入系统主界面 淮北师范大学2011届学士毕业论文 自动排课系统
图2-1流程图
2.4 ACCESS简介
数据库选用Microsoft公司的Access产品作为数据库应用程序。目前的Access 2000是Microsoft强大的桌面数据库平台的第六代产品,是3 2位Access的第三个版本。Access有以下一些基本定义:
(1)数据库是一个包含各种Access “对象”(表、查询、窗体、报表、宏和模块)的文件,Access中所有工作都是建立在此基础之上的。
(2)表是存放数据的容器,被设计成行和列的格式,就像电子表中的那样。每一列叫做一个“字段”,包含特定类型的信息,如姓名或学历。每一行称为一个“记录”,包含与单个实体有关的所有信息,如某个员工的姓名、性别、所在部门、学历等。对于像Access这样的关系数据库管理程序,一个数据库通常包含几个存放相关数据的不同表。
(3)查询是一个Access对象,它询问数据库中有关数据的问题。根据设计方法的不同,查询能够在数据库中检索并组合来自不同表的数据。例如,可以设计一个查询来告知在公司中工作超过1年的职员有多少。查询还可以对一组数据执行操作,如更新或删除某组记录。
(4)窗体是一个窗口,它提供一种很方便的途径来查看数据库中已有记录或向数据库中增添新记录。在Access中,可以创建一个窗体,用来同时查阅单个表或多个表中的数据,还可以打印和显示窗体。
(5)报表是一个Access对象,设计来显示数据,其作用类似于窗体,但主要是用于数据打印,不能输入数据。
(6)页是一种特殊类型的窗体,它使用户能够利用Web浏览器查看和编辑Access的表。
(7)宏用来保存Access中的一系列操作。可自动执行一些日常的任务,以便简化在Access中的工作。
(8)模块是用Visual Basic for Applications(VBA) 编写的过程,VBA是
4
淮北师范大学2011届学士毕业论文 自动排课系统
Access的基础程序设计语言。利用VBA可以编写程序代码来完成Access宏所不能完成的特定任务。
3 系统分析及功能特点
3.1系统的需求分析
一个功能齐全、简单易用的自动排课系统不但能有效地减轻学校各类工作人
员的工作负担,它的内容对于学校的决策者和管理者来说都至关重要。所以学校排课管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式存在着许多缺点,如:效率低、保密性差,人工的大量浪费;另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难。排课工作在教学管理中很重要也很繁琐,计算机自动排课系统,可以降低排课人员的工作量,减少排课中的人为因素。自动课程编排系统是一个学校不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以自动课程编排系统应该能够为用户提供充足的信息和快捷的查询手段。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着来越重要的作用。
作为计算机应用的一部分,使用计算机对学校的各类信息进行管理,具有手工管理所无法比拟的优点.例如:检索迅速、查询方便、效率高、可靠性好、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学校信息管理的效率,也是一个单位科学化、正规化管理,与世界接轨的重要条件。
因此,开发这样一套排课软件成为很有必要的事情,我通过自己的知识和大量书籍的翻阅、网站的查阅,在指导老师的帮助下开发了一个学校排课系统。
3.2系统的功能特点
排课系统是一个以计算机为工具,对学校管理信息进行处理的人—机系统,它能准确排列出教师和学生的课表,能从全局出发辅助学校各职能部门以及校长管理学校。可见,该系统首先必须具有强大的电子数据处理功能,能大大提高学校管理人员的工作效率,减轻劳动强度,同时,该系统应当采用管理模型,将仿
5
淮北师范大学2011届学士毕业论文 自动排课系统
真、优化等现代决策手段结合起来,为学校管理层的决策提供有效信息。本系统的用户类型可分为三种:管理员、普通用户
管理员:拥有一切权限,可管理用户,修改,删除数据。 普通用户:只能查看数据,不得修改删除数据。
整个系统,包括了学生信息管理、员工信息管理、班级信息管理、课程信息管理、成绩信息管理、综合测评、毕业管理等。基本符合学校管理的需求。
6
淮北师范大学2011届学士毕业论文 自动排课系统
4 系统的基本框架、总体结构、及各部分功能
4.1 系统的基本框架
自动课程编排系统需要满足来自三方面的需求,这三个方面分别是学生、教师和管理员。
学生的需求是查询院系的课程情况及学生信息的修改;
教师对选课系统自动排课情况进行操作,同时形成自动排课查看确认; 选课管理员的功能最为复杂,包括对学生、教师、选课进行管理和统计,及系统状态的查看、维护并生成选课报表。
学生可以直接查看选课情况,学生可以根据本人学号和密码登录系统,还可以进行本人信息的查询和维护部分。一般情况下,学生只应该查询和维护本人的个人信息,若查询和维护其他学生的选课信息,就要知道其他学生的学号和密码。这些是很难得到的,特别是密码,所以不但满足了学生的要求,还保护了学生的个人隐私。
学校管理人员有修改自动课程编排系统的权限,所以需对管理人员登陆本模块进行更多的考虑。在此系统中,学校管理人员可以记录学生登陆日志,并打印生成相应的报表给用户查看和确认院系管理人员功能的信息量大,数据安全性和保密性要求最高。本功能实现对排课信息、教师信息、总体情况信息的查询和统计、管理人员信息查看及维护。设计不同用户的操作权限和登陆方法,对所有用户开放的课程查询和个人部分信息维护,查看个人情况信息,维护个人密码。根据排课情况对数据库进行操作,并生成报表根据选课情况,维护管理员信息,维护教师信息,维护学生信息处理信息的完整性。
本系统主要实现教师信息管理、学生信息管理、课程信息管理和系信息管理,其中教师信息管理有教师姓名、教师工号、教师职称、教师所属系;学生信息管理有学生姓名、学生学号和学生所在系;课程信息管理有课程名称、上课地点、已选人数、课程性质、开课系、课程人数。
(1)学生信息模块完成学生的登陆,然后根据各位同学所在的系不同,调出相应的课程模块。其中学生登录模块的功能是验证登录人员确实是本院的学生,学生启动本系统后,系统提示输入学生学号码和密码,验证后进入主控操作界面。
7
淮北师范大学2011届学士毕业论文 自动排课系统
(2)教师信息模块完成教师的登陆,然后根据各位教师所在的系不同,教师所教的课程不同,调出要排课的课程。其中教师登陆模块的功能是验证登录人员确实是本院的教师,教师启动本系统后,系统提示输入教师工号和密码,验证后进入主控操作界面。
(3)课程信息管理包括必修课程和选修课程,学生必需先登陆才能进行对课程查询。
管理员可以通过超级用户身份登录,对系统进行全面的管理,对新用户的添加,删除,对信息进行管理。管理员可以对老师及同学的帐户进行管理,老师、学生不同身份的用户进入不同的界面,进行不同的操作。教师可以发布自己本学期所要教的课程。同学可以通过查询本学期所开设课程进行了解课程安排。 系统结构图如下所示: 排课系统 设 置 新建课程 教课教选选选设 师 表 室 择择择定 教教班学 师 室 级 时 课 班程 级
排 课 查 询 随机课表 协调检验 约束检验 班级课表 教师课表 教室课表 4.3 系统的各部分功能
8
淮北师范大学2011届学士毕业论文 自动排课系统
5 排课系统的数据库设计
5.1数据库设计
数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率以及实现的效果产生影响。合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致。
设计数据库系统时应该首先充分了解用户各个方面的需求,包括现有的以及将来可能增加的需求。
5.2 数据库逻辑结构分析。
1)教师信息表
2)班级信息表
3)教室信息表
9
淮北师范大学2011届学士毕业论文 自动排课系统
4课程信息表
年制 5.3 部分数据E-R图
6 系统部分窗体界面设置
6.1界面窗体设置
a、点击“课表设置”按钮进入课表样式设置(如图1) 每周上课天数的下拉框中可选值为0~7; 每天上午上课节数的下拉框中可选值为0~4; 每天下午上课节数的下拉框中可选值为0~4; 每天晚上上课节数的下拉框中可选值为0~4;
选定各项的值后,按确定按钮,系统将自动保存和生成课表样式。
10
淮北师范大学2011届学士毕业论文 自动排课系统
图1
课表样式设置模块代码:见附录1
private void button1_Click(object sender, System.EventArgs e) { long day,morning,afternoon,night; day=Int64.Parse(comboBox1.SelectedValue.ToString()); morning=Int64.Parse(comboBox2.SelectedValue.ToString()); afternoon=Int64.Parse(comboBox3.SelectedValue.ToString()); night=Int64.Parse(comboBox4.SelectedValue.ToString()); WindowsApplication5.Form2.ActiveForm.Close(); }
b、点击“添加/删除—班级”按钮进入班级设置(如图2)
在输入框中录入班级名,按添加按钮,班级名被录入班级库;删除班级,可以先选中要删除的班级名,按删除按钮即可,此处不支持复选,如要重新录入班级可按全部全部清空按钮即可;设置该班级的时间表,选定班级的时间,〉〉(添加)或〈〈(删除),设置并保存这个班级的时间表。
图2
11
淮北师范大学2011届学士毕业论文 自动排课系统
添加/删除—班级模块代码:见附录2
private void button1_Click(object sender, System.EventArgs e) { listBox1.Items.Add(textBox1.Text); class[n]=listBox1.Text; n=n+1; }
。
private void button2_Click(object sender, System.EventArgs e) { listBox1.Items.RemoveAt(listBox1.SelectedIndex); class[n]=null; n=n-1; }
private void button3_Click(object sender, System.EventArgs e) { listBox1.Items.Clear(); }
c、点击“添加/删除—教师”按钮进入教师设置(如图3)
在输入框中录入教师名,按添加按钮,教师名被录入教师库;删除教师,可以先选中要删除的教师名,按删除按钮即可,此处不支持复选,如要重新录入教师可按全部全部清空按钮即可;设置该教师的时间表,选定教师的时间,〉〉(添加)或〈〈(删除),设置并保存这个教师的时间表。
图3 添加/删除—教师模块代码:见附录3
12
淮北师范大学2011届学士毕业论文 自动排课系统
private void button2_Click(object sender, System.EventArgs e) { listBox1.Items.RemoveAt(listBox1.SelectedIndex); teacher[n]=null; n=n-1; } private void button3_Click(object sender, System.EventArgs e) {
listBox1.Items.Clear();
}
private void button1_Click(object sender, System.EventArgs e) { listBox1.Items.Add(textBox1.Text); teacher[n]=listBox1.Text; n=n+1; }
2、 新建课程
新建课程模块包括选择教师、选择教室、选择班级和设定学时四项。 a、 选择教师
按下新建课程进入选择教师模块。从下拉框中选择一门课程(下拉框中的课程从课程库中读入),按下添加/删除老师按钮,为该门课制定授课
13
淮北师范大学2011届学士毕业论文 自动排课系统
教师;按下添加/删除教师按钮,为该门课添加可以使用的教室。
14
淮北师范大学2011届学士毕业论文 自动排课系统
点击确定后回到选择老师界面,按下一步按钮进入XX课程,从下拉框中选择一个老师(从课程库中获取),设定学时数,选择所教班级,保存老师信息。
7 系统实现
15
淮北师范大学2011届学士毕业论文 自动排课系统
.7.1 本学期课程设置模块设计
本系统只提供最多十门的课程设置,用户可以根据自己的实际需要来编排里面的课程内容。
本模块界面如下所示:
主要代码如下所示:见附录4
Private Sub cn_Click(Index As Integer) 'On Error GoTo ex: Dim lcnt As Integer Dim strTxt As String
Select Case Index Case 0:
CanSave (True) Case 1:
con.Execute (\"delete * from subject\")
For lcnt = 0 To 9
strTxt = Trim$(LTrim$(Txt(lcnt).Text)) If Len(strTxt) > 0 Then rs.AddNew
rs!csjname = strTxt rs.Update End If Next lcnt
CanSave (False)
16
淮北师范大学2011届学士毕业论文 自动排课系统
Case 2:
For lcnt = 0 To 9
Txt(lcnt) = str(lcnt) Next lcnt
CanSave (False)
End Select
Exit Sub ex:
MsgBox \"database error\
End Sub
4.3 排课管理模块设计
在排课菜单里选择自动排课,就可以根据输入的班级、课程和教室等资料由计算机根据规定的算法来进行自动排课了。本模块可以安排一个星期五天的课程,教师可以根据实际情况制定课程表,并可安排任课老师的安排,课程的安排方便课程查询时需要。以便及时发现错误能及时修改。下面的年级班数,可以根据实际情况而定。
本模块界面如下图所示:
主要代码如下所示:见附录5
Private Sub cb_Click(Index As Integer)
17
淮北师范大学2011届学士毕业论文 自动排课系统
Me.MousePointer = 11
On Error GoTo errDeal Select Case Index Case 0:
ClassCode = Trim(Combo1(0).Text) & \".\" & Trim(Combo1(1).Text) If Len(Trim(Combo1(0).Text)) > 0 And Len(ClassCode) > 1 Then Call displayInfo cb(1).Enabled = True End If Case 1:
cb_Click (0)
EnableSave (True) cb(1).Enabled = False Case 2:
If TrChanged Then
strSql = \"delete * from trclass where cclasscode='\" & ClassCode & \"'\" conn.Execute strSql Dim strTrName As String For i = 0 To sjCnt - 1
strTrName = Trim(Combo2(i).Text) If Len(strTrName) > 0 Then
strSql = \"insert into trclass values('\" & ClassCode & \"' ,\" + \"'\" + Trim(Label2(i).Caption) + \"' ,\" + \"'\" + Trim(Combo2(i).Text) + \"' )\" 'me.caption = strSql conn.Execute strSql End If Next i
TrChanged = False rsTrAry.Requery
cb(1).Enabled = False
End If
If ClassChanged Then conn.Execute \"delete * from classarray where cclasscode='\" & ClassCode & \"'\" Dim X, Y As Integer
For i = 0 To 49
18
淮北师范大学2011届学士毕业论文 自动排课系统
Y = i Mod 5 + 1 X = Int(i / 5) + 1
If Len(Trim(Combo3(i).Text)) > 0 Then
strSql = \"insert into classarray values('\" & ClassCode & \"' ,\" & Y & \\ 'me.caption = strSql conn.Execute strSql End If Next i
ClassChanged = False rsClassAry.Requery End If
EnableSave (False) Case 3:
For i = 0 To sjCnt - 1
Combo2(i).Text = Combo2(i).Tag Next i
For i = 0 To 49
Combo3(i).Text = Combo3(i).Tag Next i
EnableSave (False) cb(1).Enabled = False
End Select
GoTo ok errDeal:
MsgBox \"Error Unknown\" ok:
Me.MousePointer = 0
End Sub
4.4 课程查询模块设计
按下查询全部课表,弹出查询课表界面(如图 )。据需要选择班级课程表、教室时间表、教师课程表。方法:根据所选的查询条件,分别从教师时间库、教室时间库、班级时间库中得到相应数据显示于指定区域,形成课程表。
19
淮北师范大学2011届学士毕业论文 自动排课系统
本模块主要是方便学生及教师能很快的查询,什么时间该上什么课,由哪个老师上等信息。
本模块界面图如下所示:
主要代码如下所示:见附录6
Private Sub Command1_Click() On Error GoTo bnEnd Me.MousePointer = 11
Dim sSql As String Dim dgUse As DataGet
'Select Case Index 'Case 0:
Call ClearCombo
strName = LTrim$(RTrim$(Combo1.Text)) If Len(strName) > 0 Then
sSql = strSql & \"'\" & strName & \"'\"
Set rs = conn.Execute(sSql)
20
淮北师范大学2011届学士毕业论文 自动排课系统
If Not rs.EOF Then
While Not rs.EOF
dgUse.class = rs.Fields(0) dgUse.Sjname = rs.Fields(1) dgUse.Tw = rs.Fields(2) dgUse.Tn = rs.Fields(3)
idx = (dgUse.Tn - 1) * 5 + dgUse.Tw - 1 Combo3(idx).Visible = True
Combo3(idx).AddItem (dgUse.class & \"班\") Combo3(idx).AddItem (dgUse.Sjname)
Combo3(idx).Text = Combo3(idx).List(value)
rs.MoveNext Wend Else
MsgBox \"没有得到相关数据,请检查\数据捕捉\"
End If
Dim lcnt As Integer For lcnt = 0 To 49
If Combo3(lcnt).ListCount > 2 Then
Combo3(lcnt).BackColor = RGB(200, 255, 255) Combo3(lcnt).AddItem (\"注意有重课\") End If Next lcnt Else
MsgBox \"请输入或选择一教职员姓名\查询输入\" End If
'End Select bnEnd:
Me.MousePointer = 0
End Sub
21
淮北师范大学2011届学士毕业论文 自动排课系统
总 结
本系统的开发过程中,由于本人是初次开发软件,在知识、经验方面都存在着不足。因为对学校排课的整个流程不够熟悉,在需求分析时未能做到满足学校的需求,在本次开发过程由于硬件的限制,未能实现网络功能,因此在以后的系统更新过程中可能会造成一些不必要的数据损失。在此期间本人阅读了大量VB及排课系统的教程,收获非浅,熟悉掌握了VB和Access。
因此,在本次的毕业设计中,为搞清控件的使用方法、编程的各个难点、掌握面向对象的编程思想,本人查过相关的教材、查询过相关的网站、请教过指导教师。在摸索中学习,在困惑中探索,终于探究了一套较好的学习面向对象的程序设计的方法。
但是由于毕业设计时间较短,所以该系统还有许多不尽如人意的地方,比如联机文档比较少,用户界面不够美观,出错处理不完善等多方面问题。这些都有待进一步改善。
本系统是针对学校开发的排课系统管理软件,实现对学校现代化信息管理。系统开发的总体任务是实现信息关系的系统化、规范化和自动化,力求使系统功能简洁明了,但功能齐全且易于操作。
22
淮北师范大学2011届学士毕业论文 自动排课系统
致 谢
紧张忙碌的毕业设计即将结束了,在这几个月的课程设计中,我从项目的规划、调研开始,到编码、测试,充分体会了一个软件产品的生产过程,也让我看到了我自身水平的不足。与此同时,同样让我感到了继续学习、更新自身知识、加强自身能力的必要性。大学四年的学习即将结束,我也即将走向新的起点。这段毕业设计的经历给了我克服困难的决心和解决问题的经验,它将对我今后的生活、学习起到很大的帮助。
经过两个多月的学习,我初步掌握了Visual Basic 6.0 的基本应用,基本达到了毕业设计的要求。最重要的是,毕业设计的经历增强了我自我学习的能力,做到了在不用老师手把手教授的情况下,完成了一个较为复杂的管理系统。同时,在课程设计的过程中,查阅了大量的资料,也增强了我进行资料收集、查找和对资料进行筛选的能力。
在整个毕业设计的实习过程中,我要衷心的感谢我的指导老师。他一直都在为我的毕业设计提供耐心的指导,并且帮助我解决了很多疑难问题,这样才有了我的这份毕业设计。我还要感谢我的同学们,他们也给了我许多支持。最后,也是最重要的,感谢所有这四年中传授我知识,给予我关怀和帮助的老师们!
23
淮北师范大学2011届学士毕业论文 自动排课系统
致 谢
在论文即将完成之际,回顾紧张但又充实的学习班和开发过程,本人在此向所有关心我的及帮助我的老师和同学们致以最真诚的感谢。
在本次毕业设计中,我从指导老师身上学到了很多东西她认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我收益匪浅。他无论在理论上还是在实践中,都给与我很大的帮助,使我得到很大的提高,这对于我以后的工作和学习都有一种巨大的帮助,在此感谢他耐心的辅导。在撰写论文阶段,指导老师几次审阅我的论文,提出了许多宝贵意见,没有他的指导,我们就不能较好的完成课题设计的任务。
另外,我还要感谢在这几年来对我有所教导的老师,他们孜孜不倦的教诲不但让我学到了很多知识,而且让我掌握了学习的方法,更教会了我做人处事的道理,在此表示感谢。同时,在系统开发过程中还有同学也给了我不少帮助,这里一并表示感谢。
24
淮北师范大学2011届学士毕业论文 自动排课系统
参考文献
[1] 刘萌周学明郭安源编著《Visual Basic 企业办公系统开发实例》人民邮电出版社2003.5
[2] 伍俊良主编《Visual Basic 课程设计与系统开发案例》清华大学出版社2002.8 [3] 刘韬骆娟编著《Visual Basic 进销存系统开发实例导航》人民邮电出版社2003.4
[4] 李晓喆张晓辉李祥胜编著《SQL Server 2000 管理及应用系统开发》人民邮电出版社2002.12
[5] 同志工作室编著《Visual Basic 6.0 数据库开发实例》人民邮电出版社2001.1 [6] 微软公司著《Microsoft SQL Server 2000 数据库管理》北京希望电子出版社2001.5
[7] J Ivar Jacobson, Grady Booch, James Rumbaugh著《统一软件开发过程》北京 : 清华大学出版社, 2005.
[8] 张树兵戴红陈哲编著《Visual Basic 6.0 中文版入门与提高》清华大学出版社2002.5
[9] 陈丽芳主编 新编《Visual Basic程序设计学习指导》北京 : 机械工业出版社, 2005
[10] 侯清富, 郭岗编著《软件工程师实战基本功》北京 : 人民邮电出版社, 2005
25
因篇幅问题不能全部显示,请点此查看更多更全内容