智能排课系统毕业设计Word版
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
沈阳化工学院
本科毕业论文
题目:智能排课系统
院系:计算机科学与技术学院
专业:计算机科学与技术
班级:计0802 学生姓名:孙鹏
指导教师:赵振江
论文提交日期: 年月日
论文答辩日期: 年月日
内容摘要
排课问题是所有教育行业都要面对的问题,尤其针对高校纷繁复杂的课程和专业,一直没有很好解决方法。
但这又是每个学校在每个学期都会碰到的必修课。
本文在相关理论的指导下,在分析以往一些排课软件的基础上,提出一种排课系统的设计方法,对一些具体的问题给出相应解决方案。
希望对于相关部门有所帮助。
此系统主要被分为三个部分:界面的设计、排课算法的设计、以及报表的自动生成。
纵观全局,我们确定用Visual Basic 语言作为程序设计语言以及运用SQL Server 2000 数据库作为后台的数据库支持。
关键词:排课、排课系统、设计、高校
Abstract
Course arranging Problem is a problem which working in the development of education is facing. Especially, there is no a good solution for this matter of the college. However, it is also a necessary administration task for every school in every semester. This essay, with the correlative theory’s guidance, on the basis of analyzing some courses-arraying software, proposes a design method of commonly used courses arraying information system in college, and solves some of the certain problems. Hoping it is useful for the relative department. The system consist of three parts: the interface design, the algorithm of Course Timetable system, and printing the tables. On the whole, we decided to use VB computer language to design and SQL Server 2000 Data Base to support.
Key words: courses arranging; courses arrangement management system; design; college
目录
一. 绪论 (1)
1.1 背景与意义 (1)
1.2 课题研究内容 (1)
二. 方案设计与论证 (2)
2.1 可行性研究 (2)
2.1.1 系统目标及任务 (2)
2.1.2 开发工具的选择和介绍 (2)
2.1.3 对现有的排课系统的分析 (2)
2.1.4 系统的逻辑模型 (2)
2.1.5 系统的可行性 (2)
2.1.6 成本效益分析 (2)
2.2 需求分析 (2)
2.2.1 系统的运行环境要求 (2)
2.2.2 系统的功能要求 (2)
2.2.3 系统的性能要求 (2)
三. 总体设计 (2)
3.1 模块设计 (2)
3.2功能分解 (2)
3.3数据库设计 (2)
3.3.1定义属性表 (2)
3.4 排课系统总构架 (2)
四. 详细设计 (2)
4.1 用户界面设计 (3)
4.1.1简单易用和个性化需求 (2)
4.1.2对数据的查询 (2)
4.1.3系统菜单功能 (2)
4.2 课程表的生成 (3)
4.2.1班级课程表查询打印设计 (2)
4.2.2教师课程表查询打印设计 (2)
4.2.3教室课程表查询打印设计 (2)
五. 测试 (2)
5.1 排课系统功能测试 (3)
5.2 排课系统课表合理性测试 (3)
5.3 该系统的不足和改进方案 (3)
六. 结论 (3)
6.1 软件设计小结 (3)
智能排课系统
一.绪论
1.1背景与意义
随着信息技术的飞速发展,各个行业的信息化势在必行。
正所谓“科学技术是第一生产力”,科技的进步大大地提高了生产率。
然而,在高校这个知识密集的地方,如何才能提高办学效率,更好地完成教学任务,跟上社会发展步伐,这是一个摆在教学工作者面前的一个迫切的问题。
应用信息化来改造传统的教学管理模式是一个重要途径。
近几年来,随着各高校办公自动化工作的推进,教务管理自动化也被摆上了日程。
在教务工作中占有很大比重的一项就是每学期的课程排定工作。
由于教工、教室和设备的相对紧张,如何进行合理地安排和分配,从而充分利用教学资源是我们不得不面对的问题。
而人工进行排课不仅任务重,效率低,而且易出错,难于维护,想要排出一张各方面都满意的课表非常困难。
并且随着高校规模的扩大手工排课的难度和工作量呈几何级数增长。
1.2课题研究内容
排课系统正是为了减轻教务人员的工作量,实现教务工作自动化,解决排课这一老大难问题的教务办公软件。
尤其针对高校的排课一直都没有很好的解决
方法,但是此问题又是每个学校在每个学期都会碰到的必要行政作业。
本文在相关理论的指导下,在分析以往一些排课软件的基础上,提出一个高校通用排课系统的设计方法,并对一些具体的问题给出相应解决方案。
但是,由于技术、经验的有限和数据量过大,目前我们很难做出一个满足所有需要的排课系统。
因为它不仅要考虑到教室冲突问题和教师冲突问题,还要考虑到分段课、单双周课时的资源利用问题;另外由于高校的教学特点,还要处理合班课、分班课、体育课与选修课等特殊课程。
针对这些问题,在此专门对数据库设计作了一些探索,并于架构的选择和模块的划分上经过精心调整,在菜单的设计上也体现了人性化的操作。
该设计贴近用户需求,功能完整,架构合理,并用大量的框图模型体现了系统的规划。
本软件使用Microsoft Basic 6.0进行编写和SQL Server 2000数据库相连接。
数据库的特点:1.实现数据共享 2.实现数据独立3.减少了数据冗余度 4.避免了数据不一致性 5.加强了对数据的保护。
一个数据库应用系统通常是由数据库和应用程序两部分组成,它们是在数据库管理系统支持下设计和开发出来的。
二.方案设计与论证
2.1可行性研究
2.1.1系统目标及任务
本软件主要是适用于高等学校教务部门的办公软件,运用此软件,可以免去工作人员繁忙而枯燥的手工排课过程,直接通过计算机进行排课。
我的任务是完成排课系统的界面设计以及排课后报表的生成
2.1.2开发工具的选择和介绍
针对目前世界上流行的大量软件和开发工具,经过认真分析其优缺点,结合排课系统的需要和目前的硬件环境,我们选用微软WINDOWS平台下的Visual Basic 6.0(简写为VB6.0)作为软件开发工具和SQL Server 2000数据库进行连接。
作为数据库系统的开发,Visual Basic是一个非常理想选择。
Visual Basic 是一种可视化的、面对对象和条用事件驱动方式的结构化高级程序设计,可用于开发Windows环境下的应用程序。
它简单易学、效率高,且功能强大,可以与Windows的专业开发工具SDK相媲美,而且程序开发人员不必具有C/C++编程基础。
在Visual Basic环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用Windows内部的应用程序接口(API)函数,以及动态链接库(DLL)、
动态数据交换(DDE)、对象的链接与嵌入(OLE)、开放式数据访问(ODBC)等技术,可以高效、快速地开发出Windows环境下功能强大、图形界面丰富的应用软件系统。
总的来说,Visual Basic具有以下特点:
1、可视化编程
用传统程序设计语言设计程序时,都是通过编写程序代码来设计用户界面,在设计过程中看不到界面的实际显示效果,必须编译后运行程序才能观察。
如果对界面的效果不满意,还要回到程序中修改。
有时候,这种编程-编译-修改的操作可能要反复多次,大大影响了软件开发效率。
Visual Basic提供了可视化设计工具,把Windows界面设计的复杂性“封装”起来,开发人员不必为界面设计而编写大量程序代码。
只需要按设计要求的屏幕布局,用系统提供的工具,在屏幕上画出各种“部件”,即图形对象,并设置这些图形对象的属性。
Visual Basic自动产生界面设计代码,程序设计人员只需要编写实现程序功能的那部分代码,从而可以大大提高程序设计的效率。
2、面向对象的程序设计
4.0版以后的Visual Basic支持面向对象的程序设计,但它与一般的面向对象的程序设计语言(C++)不完全相同。
在一般的面向对象程序设计语言中,对象由程序代码和数据组成,是抽象的概念;而Visual Basic则是应用面向对象的程序设计方法(OOP),把程序和数据封装起来作为一个对象,并为每个对象赋予应有的属性,使对象成为实在的东西。
在设计对象时,不必编写建立和描述每个对象的程序代码,而是用工具画在界面上,Visual Basic自动生成对象的
程序代码并封装起来。
每个对象以图形方式显示在界面上,都是可视的。
3、结构化程序设计语言
Visual Basic是在BASIC语言的基础上发展起来的,具有高级程序设计语言的语句结构,接近于自然语言和人类的逻辑思维方式。
Visual Basic语句简单易懂,其编辑器支持彩色代码,可自动进行语法错误检查,同时具有功能强大且使用灵活的调试器和编译器。
Visual Basic是解释型语言,在输入代码的同时,解释系统将高级语言分解翻译成计算机可以识别的机器指令,并判断每个语句的语法错误。
在设计Visual Basic程序的过程中,随时可以运行程序,而在整个程序设计好之后,可以编译生成可执行文件(.EXE),脱离Visual Basic 环境,直接在Windows环境下运行。
4、事件驱动编程机制
Visual Basic通过事件来执行对象的操作。
一个对象可能会产生多个事件,每个事件都可以通过一段程序来响应。
例如,命令按钮是一个对象,当用户单击该按钮时,将产生一个“单击”(CLICK)事件,而在产生该事件时将执行一段程序,用来实现指定的操作。
在用Visual Basic设计大型应用软件时,不必建立具有明显开始和结束的程序,而是编写若干个微小的子程序,即过程。
这些过程分别面向不同的对象,由用户操作引发某个事件来驱动完成某种特定的功能,或者由事件驱动程序调用通用过程来执行指定的操作,这样可以方便编程人员,提高效率。
5、访问数据库
Visual Basic具有强大的数据库管理功能,利用数据控件和数据库管理窗口,可以直接建立或处理SQL Server 2000数据库,并提供了强大的数据存储功能。
Visual Basic提供开放式数据连接,即ODBC功能,可通过直接访问或建立连接的方式使用并操作后台大型网络数据库,如SQL Server,Oracle等。
在应用程序中,可以使用结构化查询语言SQL数据标准,直接访问服务器上的数据库。
6、对象的链接与嵌入(OLE)
对象的链接与嵌入(OLE)将每个应用程序都看作是一个对象(object),将不同的对象链接(link)起来,再嵌入(embed)某个应用程序中,从而可以得到具有声音、影像、图像、动画、文字等各种信息的集合式的文件。
OLE技术是Microsoft 公司对象技术的战略,它把多个应用程序合为一体,将每个应用程序看作是一个对象进行链接和嵌入,是一种应用程序一体化的技术。
利用OLE技术,可以方便地建立复合式文档(compound document),这种文档由来自多个不同应用程序的对象组成,文档中的每个对象都与原来的应用程序相联系,并可执行与原来应用程序完全相同的操作。
7、动态链接库(DLL)
Visual Basic是一种高级程序设计语言,不具备低级语言的功能,对访问机器硬件的操作不太容易实现。
但它可以通过动态链接库技术将C/C++或汇编语言编写的程序加入到Visual Basic应用程序中,可以像调用内部函数一样调用其他语言编写的函数。
此外,通过动态链接库,还可以调用Windows应用程序
接口(API)函数,实现SDK所具有的功能。
2.1.3对现有的排课系统的分析
随着我国市场经济的快速发展和信息化水平的不断提高,如何利用先进的管理手段,提高教育单位教学排课管理的水平,是当今社会所面临的一个课题。
提高教育管理水平,必须全方位地提高教育管理意识。
只有高标准、高质量的管理才能满足教育事业的发展需求。
面对信息时代的挑战,利用高科技手段来提高教学排课管理无疑是一条行之有效的途径。
在某种意义上,信息与科技在教学管理与现代化建设中显现出越来越重要的地位。
教学排课管理方面的信息化与科学化,已成为现代化生活水平步入高台阶的重要标志。
有关排课管理系统的软件市面上有不少,教学管理人员也试用过一些,但总觉得不是很好用,不能完全满足我们的要求,所以都放弃用这些软件了,改为每次输入数据后,用手工更改数据库存量和安排课程,另外课表也无法用限制条件自动生成.以及直接导出到EXCLE表中,所以,迫切希望有一套完全适合排课管理应用的软件,以减轻管理人员的工作负担。
另一方面由于这类软件大多数是单机版的,现在也有不少是网络板的,但大部份都是在本地网络上运行的。
因此系统的开发方向应当是面向网络版的排课管理系统开发。
这点在今后的学习中将不断完善。
2.1.4系统的逻辑模型
图2-1 系统结构图
系统流程图
为了实现管理信息系统的计算机化,仅仅用文字来描述信息的流动和存储还远远不够,还要进一步调查分析舍去物质流,抽象出信息流,绘制出数据流程图,并对各种数据的属性和各项处理功能进行详细分析。
系统分析的主要成果是系统的逻辑模型。
本系统主要是以数据流图、数据字典和E-R图为主要描述工具来勾画系统的概貌。
数据流图(DFD,data flow diagram)是描述数据处理过程的有力工具。
数据流图从数据传递和加工的角度,以图形的方式刻画数据流从输入到输出的移动变换过程。
数据字典
2.1.5系统的可行性
经济可行性分析
本系统开发简单但要耗去一定的时间,所用的开发工具和软件都差不多是免费的。
本系统在以后的使用中对于教育办公自动化管理,节省教育人力、物力资源等都有很大的帮助。
由此可见,开发此系统在经济上是完全可行的。
操作可行性分析
如今的计算机已经走进千家万户,硬件成本的下降,导致计算机购买成本的降低.我的这套系统是利用自己的计算机加微软的集成开发环境Microsoft Visual Basic6.0作为软件的开发平台和SQL Server 2000数据库连接。
使开发出来的系统有直观的用户界面、有良好的安全性设置、有详细的操作说明书,这样更使各类用户很快地掌握系统的使用方法和操作,因此在操作上是可行的。
技术可行性分析
从目前IT业界比较流行的数据库开发、管理软件来看,对于比较简单的中小型数据库,VB 和SQL Server 2000的结合无疑是在实际应用中较为成功的一种解决方案。
为用户提供了业界软件开发一直坚持的操作简单的用户界面、完善强大的数据库操作功能和简洁明了的数据库接口。
所以技术实行起来相对会容易。
2.1.6成本效益分析
本系统的开发平台和开发工具都是免费提供的,所以不存在经济成本问题。
由于本软件还处于开发初期,所开发出的软件需要不断的修改和维护,就效益而言,它取代了传统的手工排课方式,节省了人力和时间。
如果要创造更高的效益需要对系统进行更多的优化。