1、- 1 -毕业设计报告设计题目 排课管理系统 电大分校: 学生姓名: 学 号: 指导教师: 完成日期: - 2 -目 录引 言 .3第一章 系统概述 .411 排课管理系统概述 .412 排课管理系统的目的和意义 .4第二章 系统分析 .521 编程环境选择 .522 设计大纲 .7第三章 设计内容 .931 实现功能 .1032 功能与模块的设计 .1033 数据库设计 .1034 数据表设计 .11第四章 系统流程图设计与分析 .1441 登陆系统流程图 .1442 主界面中课表生成部分流程图 .14421 班级管理流程图 .14422 班级课程处理流程图 .15423 课表生成部分流程图
2、 .16424 报表输出功能 .1743 其它模块设计说明 .18第五章 设计进程 .19第六章 结论和总结 .20- 3 -致谢 .22参考文献: .23附件:程序清单- 4 -引 言计算机已经成为我们学习和工作的得力助手:今天,计算机的价格已经十分低廉,性能却有了长足的进步。它已经被应用于许多领域,计算机之所以如此流行的原因主要有以下几个方面:首先,计算机可以代替人工进行许多繁杂的劳动;其次,计算机可以节省许多资源;第三,计算机可以大大的提高人们的工作效率;第四,计算机可以使敏感文档更加安全,等等。 在中小学中用计算机管理排课的意义现在我国的中小学校中排课的管理水平还停留在纸介质的基础上,
3、这样的机制已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代。我作为一个计算机应用的大专生,希望可以在这方面有所贡献。改革的总设计师邓小平同志说过“科学技术是第一生产力“ ,我希望能用我三年的所学编制出一个实用的程序来帮助中小学进行更有效的课程管理。- 5 -第一章 系统概述11 排课管理系统概述排课管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以排课管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件排课,这种管理方式存在着许多缺点,如:效率低、
4、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对排课信息进行管理 ,具有着手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高排课管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。12 排课管理系统的目的和意义终上所述,开发这样一套排课管理软件成为很有必要的事情。我们所开发的这排课管理软件归纳起来,好处大约有以
5、下几点:1 可以存储历届的排课,安全、高效;2 只需一到二名排课录入员即可操作系统,节省大量人力;3 可以按照录入人员的输入来自动生成课程表,并尽量减少冲突等情况发生。排课系统的设计分析根据实际情况,我们使用原型法(Rapid Prototyping)即以- 6 -少量代价快速地构造一个可执行的软件系统模型。使用户和开发人员可以较快地确定需求,然后采用循环进化的开发方式,对系统模型作连续的精化,将系统需具备的性质逐渐增加上去,直到所有的性质全部满足。此时模块也发展成为最终产品了。第二章 系统分析2.1 编程环境选择编程环境的选择微软公司的 Jsp 是 Windows 应用程序开发工具,使目前最
6、为广泛的、易学易用的面向对象的开发工具。Jsp 提供了大量的控件,这些控件可用于设计界面和实现各种功能,减少了编程人员的工作量,也简化了界面设计过程,从而有效的提高了应用程序的运行效率和可靠性。故而,实现本系统 VB 是一个相对较好的选择。 关系型数据库的实现 Sqlserver2000 就是关系数据库开发工具,数据库能汇集各种信息以供查询、存储和检索。Sqlserver 的优点在于它能使用数据表示图或自定义窗体收集信息。数据表示图提供了一种类似于 Excel 的电子表格,可以使数据库一目了然。另外,Sqlserver 允许创建自定义报表用于打印或输出数据库中的信息。Sqlserver 也提供
7、了数据存储库,可以使用桌面数据库文件把数据库文件置于网络文件服务器,与其他网络用户共享数据库。Sqlserver 是一种关系数据库工具,关系数据库是已开发的最通用的数据库之一。如上所述,Sqlserver 作为关系数据库开发具备了许多优点,可以在一个数据包中同时拥有桌面数据库的便利和关系数据库的强大功能。 二者的结合(DBA)微软的 JET 数据库引擎提供了与数据库打交道的途径,我们是通过它以及 Jsp 来访问数据库并对其进行各种操作。Jsp 、Sqlserver 以及其他微软的软件产品都是通过共用 JET 数据库引擎,从而给用户提供了丰富的数据类型。当今的微软对数据库中的 ADO 比较注视,
8、并在.net 上使用了 ADO.net 技术,- 7 -鉴于 ADO 在很多程序里的广泛应用,使用 ADO 来连接数据库将是最为适用的,并且在定义了 ADO 的连接模块后,对于将来的升级也会很方便,只要修改一下连接源,就可以轻松的更换后台。在使用 Jsp 语言进行编程时还有有如下的优点:Jsp 应用程序不同于其他语言开发的单一性程序。使用 Jsp 编程时,必须首先确定应用程序如何与用户交互,如鼠标单击,用户必须编写代码控制这些事件的响应方法。使用 Jsp 开发数据库应用程序的一般步骤如下所示:(1) 建立数据库(2) 建立用户界面(3) 编写代码(4) 调试运行(5) 编译应用程序(6) 发布
9、应用程序界面设计(1) 控件的位置(2) 界面元素的一致性(3) 保持界面的简明(4) 使用颜色和图像:增加视觉的感染力(5) 图像和图标:增加应用程序的视觉上的趣味(6) 选取字体Jsp 应用程序的结构:由于 Jsp 应用程序是基于对象的,所以应用程序的代码结构就是该程序在屏幕- 8 -上物理表示的模型。根据定义,对象包含数据和代码。在屏幕上看到的窗体代表属性,这些属性定义了窗体的外观和内在特性。本设计主要是运用 ADO 来连接和操作数据库。附: ADO 技术简介ADO 是 Microsoft 目前主要的数据存取技术,从 1997 年 Microsoft 推出 ADO 的第一个版本之后, A
10、DO 的整体架构并没有太大的改变。不过在每一个新的 ADO 版本之中,Microsoft 不断地改善 ADO 的执行效率,提供更多的功能,持续增加 ADO 的稳定性,并且让 ADO 能够存取更多种类的数据源。ADO 是 Microsoft 提出的各种数据存取技术的演化结果,因为随着数据日益复杂,数据存取技术也必须不断地进步以适应应用系统的需求。目前,虽然 ADO 是Windows 平台存取数据的标准技术,不过 ADO 也将会继续演变。要了解 ADO 为什么会成为目前的标准,可以从 Windows 平台数据存取技术的进化而得知。1. ODBC1992 年 Microsoft 和 Sybase、D
11、igital 共同制定了 ODBC 标准接口,以单一的ODBC API 来存取各种不同的数据库。随后 ODBC 便获得了许多数据库厂商和 Third-Party 的支持而逐渐成为标准的数据存取技术。ODBC 以当时的业界标准规范 X/Open Call-Level Interface(CLI)和 ISO / IEC9075-3 Call-Level Interface(SQL/CLI)为涵盖的范围,因而支持了广阔的数据库。虽然 ODBC 在初期的版本中执行效率不佳,而且功能有限,因此也为人们所贬低。但是,随着 Microsoft 不断地改善 ODBC,使ODBC 的执行效率不断增加,ODBC
12、驱动程序的功能也日渐齐全。到目前,ODBC 已经是一个稳定并且执行效率良好的数据存取引擎。不过 ODBC 仅支持关系数据库,以及传统的数据库数据类型,并且只以 C / C + +语言 API 形式提供服务,因而无法符合日渐复杂的数据存取应用,也无法让脚本语言使用。因此 Microsoft 除了 ODBC 之外,也推出了其他的数据存取技术以满足程序员不同的需要。2. DAO1993 年 Microsoft 为了让程序员能够存取 Sqlserver 数据库,使用 OLE Automation 技术封装了 Jet Engine。这些使用 Jet Engine 存取 Sqlserver 数据库的 OL
13、E Automation Object 便称为 Data Sqlserver Object(DAO)。DAO 能够存取 x Base 的数据库以及 Excel 文件,并且能够结合 ODBC 存取关系数据库。但是 DAO 毕竟主要的设计目的是存取 Sqlserver 数据库,因此 DAO 在存取 Sqlserver 数据库时非常有效率,但是在存取其他的数据源时却表现得不怎么好。目前 DAO 已经慢慢接近维护的状态。- 9 -3. RDO由于 DAO 在结合 ODBC 存取关系数据库时表现得并不好,因此在 1995 年Microsoft 同样以 OLE Automation 技术直接封装 ODBC
14、 API,让程序员能够存取关系数据库。这种数据存取技术便称为 Remote Data Object(RDO)。Microsoft 之所以推出 RDO,是因为 ODBC API 是非常复杂的 API,许多程序员无法直接使用 ODBC API 来开发应用程序,因此 Microsoft 以简化的 RDO 对象让程序员能够较为简单存取数据。此外,通过 RDO,VB 和脚本语言也能够存取各种关系数据库。不过目前 RDO 也已经逐渐地被放弃了。4. OLE-DB随着数据源日益复杂化,现今的应用程序很可能需要从不同的数据源取得数据,加以处理,再把处理过的数据输出到另外一个数据源中。更麻烦的是这些数据源可能不
15、是传统的关系数据库,而可能是 Excel 文件,Email 或 Internet/Intranet 上的电子签名信息。Microsoft 为了让应用程序能够以统一的方式存取各种不同的数据源,在 1997 年提出了 Universal Data Sqlserver(UDA)架构。UDA 以 COM 技术为核心,协助程序员存取企业中各类不同的数据源。UDA 以 OLE-DB (属于操作系统层次的软件)作为技术的骨架。OLE-DB 定义了统一的 COM 接口作为存取各类异质数据源的标准,并且封装在一组 COM 对象之中。藉由 OLE-DB,程序员就可以使用一致的方式来存取各种数据。5. ADOADO
16、(ActiveX Data Object)是微软新近推出的新一代数据访问规范,其使用简便功能强大,在 Delphi 中其地位等同于一个和 BDE 并列的数据库引擎。ADO 是 MDAC 的应用程序设计接口,从它的字面意思上可以看出,ADO 和 Active X 技术密不可分,而 Active X 技术又和 OLE,COM(组件对象模型,也由微软提出,旨在实现软件组件化)等技术有深厚的历史渊源。OLE DB 则是系统级的接口,定义了一套从关系数据库及文件系统访问数据的 COM 接口。2.2 设计大纲经过慎重考虑,并尽量使排课的速度加快,因此对各位教师和各班级都建立一个占用表,首先计算当前要排课程
17、的老师的已排课程占用情况,将其与排课班级的占用表进行对比,获取有用空间,即得到的空间都会适合,这样使用随机推举的方式来自动生成一个新位置,达到排课效果,并且不会造成冲突等情况的发生。- 10 -排课作为系统的主要重点,在编写中就要尽量避免各种各样的冲突和错误发生,因此也需要经过投入长时间的测试与使用才能使程序的功能达到最好,速度最快。在课程表输出方面,将采用目前最常用的报表形式来进行输出,并且同时使用VB 中操作 EXECL 的方法将课程表输出到 EXECL 自制的课程表模板文件中,并且同时可以实现打印,这样用户如果在认为报表输出的格式并不能让您满意的话,就可以根据自己的需要来修改 EXECL 的模板,达到课程表的完美输出。第三章 设计内容3.1 实现功能1 掌握学校所有的课程和教师的信息。包括每门课程的时间、班级以及任课老