毕业设计(论文)-Delphi7.0高等学校教务排课系统的设计与实现.doc

上传人:哈尼dd 文档编号:3943840 上传时间:2019-10-10 格式:DOC 页数:19 大小:838.50KB
返回 下载 相关 举报
毕业设计(论文)-Delphi7.0高等学校教务排课系统的设计与实现.doc_第1页
第1页 / 共19页
毕业设计(论文)-Delphi7.0高等学校教务排课系统的设计与实现.doc_第2页
第2页 / 共19页
毕业设计(论文)-Delphi7.0高等学校教务排课系统的设计与实现.doc_第3页
第3页 / 共19页
毕业设计(论文)-Delphi7.0高等学校教务排课系统的设计与实现.doc_第4页
第4页 / 共19页
毕业设计(论文)-Delphi7.0高等学校教务排课系统的设计与实现.doc_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《毕业设计(论文)-Delphi7.0高等学校教务排课系统的设计与实现.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)-Delphi7.0高等学校教务排课系统的设计与实现.doc(19页珍藏版)》请在三一文库上搜索。

1、某高等学校教务排课系统的设计与实现某高等学校教务排课系统的设计与实现 摘摘 要要 当第一台计算机出现时,不仅意味着新型革命的到来,也预示着科技时代 的来临。尤其是踏入 21 世纪后,计算机技术得到了空前的发展,而网络的普及 使得各行各业逐渐离不开电脑。对于高校而言,在教务办公中已经越来越多的 实现了自动化,既提高了工作的效率,也规范了教学的操作,增加了科学性。 在分析以往一些排课系统的基础上,本设计提出一个基于动态加权算法 (即贪婪法)的排课系统设计方法,采用手动预排、自动排课、手动调节的三 级排课模式,并对一些具体的技术问题做出相应安排。在功能方面,它能实现 查阅、修改、添加等比较基本的功能

2、,也能够实现自动排课、权限管理等较复 杂的功能。本设计采用 C/S 模式,主要用 Delphi7.0 作为前台开发工具,用 SQL Server 2003 作为后台数据库。经过测试后,本设计已可达到预想中的效果,能 够实现简易的功能。 关键字关键字:动态加权算法;自动化;C/S 模式;三级排课模式 Design and Implementation of a University Academic Course Scheduling System Abstract The appearance of the first computer means not only the arrival o

3、f a new type of revolution, also herald the advent of the technological era. Particularly in the advent of the 21st century, computer technology has been unprecedented development, and the popularity of the network made businesses do nothing without the assistance of computer. For colleges and unive

4、rsities, the automation of the teaching office has been more and more achieved, which could improve the efficiency of the work, standardize the operation of the teaching, and increase scientific. Based on the analysis of the former Course Scheduling System, the design put forward to a method which i

5、s based on a dynamic weighted algorithm (greedy methods), it uses the manual pre-arrangement, automatic timetable and manual adjustment of the three models, and gets the necessary arrangements to some specific technical problems. Concerning the function of system, it achieves basic functions which i

6、nclude access, modify, add, and complex functions like automatically schedule and competence of management. The design uses C/S mode, with Delphi as front development tool, and SQL Server 2003 as backstage database. Though testing, the design can reach the desired effect and achieve the simple funct

7、ion. Key words: Dynamic weighted algorithm; Automation; C/S mode; Three Levels Course Scheduling Model 目目 录录 论文总页数:25 页 1 引 言1 2 基本理论知识介绍1 2.1 SQL Server 2003 数据库简介1 2.2 Delphi7.0 简介.2 2.3 C/S 模式介绍.4 3 教务排课系统的设计与实现4 3.1 教务排课系统简介.4 3.2 教务排课系统分析5 3.2.1 算法分析5 3.2.2 算法流程图6 3.2.3 功能分析7 3.2.4 需求分析7 3.3 排课

8、系统的功能模块8 3.4 数据库设计.9 3.5 系统流程及代码分析11 3.5.1 系统流程图.11 3.5.2 代码分析.11 4 系统测试18 4.1 测试环境.18 4.2 主要模块测试.18 4.3 测试结果.22 结 论22 参考文献23 致 谢24 声 明25 第 1 页 共 25 页 1 1 引引 言言 随着计算机的发展和教育改革的不断深入,计算机网络技术的不断成熟, 综合教学网络已广泛应用于学校教学、管理的各个领域,特别是教务排课系统 的应用。它代表着学校教学管理的水平,是现代化管理的手段。目前大多数教 务排课系统是采用各教学单位进行教学任务的指派,然后将教学任务单提交教 务

9、科,教务人员将数据输入计算机,进行排课、打印课程表等工作。这种教务 排课系统只是在一定程度上减轻了教务人员排课的负担。 近几年来,我国高等教育事业的快速发展,高校新生的扩招力度加大,各 个高校中的多个校区、多个学院的教学管理模式已经随处可见,各高校都面临 着教室资源紧张的问题。原来每个班有一个固定教室的模式已不存在,甚至原 来一个系专用的教学楼也要考虑参加全校的教室资源统一调整。现在的本科院 校包括研究生在内,一般都有上万人或几万人的规模。要在每个学期末的一个 短时间内拿出一份涉及到有关全校教室统调的课表来,对高校的教务处来说确 实是一个很艰巨的任务。 排课系统的主要任务是根据现有的教学资源对

10、课程进行合理的安排。由于 高校班级数、课程门数较多,每门课有涉及很多信息,如果用手工进行排课, 不可避免地出现教室资源冲突或教师资源冲突的情况。 如何更有效地利用人力、物力资源,充分发挥计算机的辅助作用,减轻教 务人员的工作强度,在对需求进行详细的分析后,本文提出了基于教学大纲的 教务排课设计思想,并对其算法进行了描述。本论文就该教务排课系统的设计 实现进行了分析探讨:首先对系统的需求分析做了叙述,然后介绍了系统的设 计和实现,最后进行了系统测试。本系统采用 Delphi7.0 作为前台开发工具, 采用 SQL Server 2003 作为后台数据库。 2 2 基本理论知识介绍基本理论知识介绍

11、 2.12.1 SQLSQL ServerServer 20032003 数据库简介数据库简介 Microsoft SQL Server 2003 是 Microsoft 公司继 SQL Server 6.5 和 SQL Server 7.0 以后,推出的又一改进的新版关系型数据管理系统。它能使用户快 捷地管理数据库和开发应用程序。SQL Server 2003 使用了先进的数据库结构, 与 Windows DNA 紧密集成,具有强大的 Web 功能,它可以利用高端硬件平台以 及最新网络和存储技术,可以为最大的 Web 站点和企业应用提供优良的扩展性 和可靠性,使用户能够在 Internet

12、领域快速建立服务系统,为占领市场赢得宝 贵的时间。同时,SQL Server 2003 还为用户提供了重要的安全性功能的增强, 为用户的数据安全提供了可靠的保证。另外,SQL Server 2003 在数据库服务器 自动管理技术方面处于数据库领域的领先地位,它可以使用户免去繁琐复杂的 第 2 页 共 25 页 工作量,从而有精力处理更重要的问题,使用系统在商业战略上占得先机。 关系型数据库系统是当前最流行的数据库管理系统。它是一个非常复杂的 系统软件,对数据库的所有操作,包括定义、查询、更新和各种运行控制最终 都通过它来实现的,因此它是使数据库系统具有数据共享、并发访问、数据独 立等特性的根本

13、保证。目前,Microsoft SQL Server 2003 是在成熟和强大的 关系型数据库中最受欢迎、应用最广泛的一个。 就关系数据库管理系统(RDBMS)而言,它是位于用户与操作系统之间的一层 数据管理软件,它主要负责强化数据库的结构,简单来说包括如下功能: (1) 维持数据库中数据的关系。 (2) 保障数据的正确存储,即保障定义数据之间的关系的种种规则不会被 违背。 (3) 在系统出错时,把数据恢复到一个能保证一致性的状态。 SQL Server 2003 系统之所以成为目前流行的大型商用数据库系统,有着 其深刻的内在因素,这与它鲜明的特点是分不开的: (1) 与 Internet 的

14、高度集成。 (2) 高伸缩性和适应性。 (3) 企业级数据库功能强。 (4) 易于安装和使用。 (5) 具有决策支持的资料仓库。 2.22.2 Delphi7.0Delphi7.0 简介简介 Delphi 是 Borland 公司发布的用于开发数据库应用程序的工具,它是目前 开发客户/服务器数据库应用程序的强有力的工具。Delphi 是具有可视化界面 的面向对象编程语言.而最新的 Delphi 7.0 具有以下新特点: 和以往 Delphi 的每一个新版本一样,Delphi 7 继续改善了开发环境,帮 助程序员提高效率。Delphi 7 在集成开发环境中加入了很多让程序员爱不释手 的新功能,下

15、面是对它们的一个简单介绍。 (1)Code Complete(代码完成) Code Complete 功能在 Delphi 5 中就已经加入了,这项功能非常受程序员 的欢迎,因为 Code Complete 可以大幅度地减少程序员需要键入的程序代码, 并且减少键入错误。 Delphi 7 的 Code Complete 功能在原有的基础上继续改 善,新的 Code Complete 窗口不但可以由程序员自行调整大小,而且可以使用 不同的颜色代表不同的对象,例如变量、方法和特性等。 (2)Object TreeView(对象树视图) 另外一个新功能就是 Delphi 7 的 Object Tre

16、eView 窗口。这个新的窗口除 第 3 页 共 25 页 了可以显示窗体中所有的对象之外,也可以以分层方式表达组件之间的关系。 当程序员在 Object TreeView 窗口中单击了一个组件之后,这个组件会立刻出 现在对象查看器之中,这时程序员可以改变这个对象的特性值和事件处理程序。 当窗体复杂,拥有大量的组件时,Object TreeView 窗口可以让用户迅速 找到这个组件,并且知道与当前组件相关的组件,非常方便。 (3)可定制的 View 窗口 Delphi 7 最强劲的集成开发环境功能应该要算是新的可定制的 View 窗口 了。在 Delphi 7 中,编辑器不但可以让程序员观看和

17、编辑 Object Pascal 的 程序代码,而且如果程序员编辑的是 Web 应用程序,那么还可以直接在编辑器 中查看 HTML 程序代码、脚本语言程序代码,预览 Web 应用程序执行结果的画面 以及 Web 应用程序产生的 HTML 程序代码。 (4)新添加 Indy Intercepts 和 Indy I/O Handler 构件组 企业版的 Delphi 7 中,这两个构件组基本上提供了针对现今流行的 Internet 协议编程的构件。可以进行更为底层的操作。 (5)新添加 IW Standard、IW Data、IW Client Side 和 IW Control 构件 组 这些构

18、件也是 Delphi 7 的显著改革之一,将 Intraweb 集成到了标准的构 件板中,我们就可以很方便地开发基于 Web 的应用程序。 (6)新添加的 Rave 报表构件组 Delphi 7 的标准构件板中已经没有了原来的 QuickReport 构件组,取而代 之的是 RAVE 报表制作组件,并且提供专门的报表制作工具 Rave Designer。 Rave 报表构件是一个可视化的报表设计工具,大大简化了在应用程序中加 入报表的工作。用 Rave 报表构件可以做出各种不同的报表,从最简单的到非常 复杂、个性化的报表都可以完成。它的功能包括:图片支持、对齐、精确页面 定位、打印机设置、字体

19、控制、打印预览、报表内容重用,并支持 PDF、HTML、RTF 等文本格式。随着 Active X 数据对象(ADO)的推出,它能让 应用程序通过任意的 OLE DB 提供者访问和操作数据库,其强大功能使得任何数 据访问技术都黯然失色。 而在数据集方面,与 BDE 不同 ADO 是 Microsoft 推出的新一代数据访问规 范,在 Delphi7 中它的地位等同于一个和 BDE 并列的数据引擎。本系统采用的 就是 ADO 数据集。 虽然 ADO 的功能比 BDE 比起来弱一些,但和 BDE 相比 ADO 有一些重要的优势, 比如: 第 4 页 共 25 页 ADO 将会内制在从 Window

20、s2000 开始 Microsoft 新出的所有操作系统中, 单就这一点就足以给其他的数据访问方式画上问号。 在 Delphi7 中提供了对 ADO 的全力支持,提供了很多 ADO 组件,还增加了 一些新的字段类型如:WideString,GUID,Variant,interface,IDispatch 等。 ADO 是面向各种数据的层次很高的接口,它提供了强大的数据访问功能, 可以访问的数据对象有: a.关系数据库中的各种数据; b.非关系型数据库,如层次型数据库,网状数据库等; c.电子邮件与文件系统; d.文本与图象,声音; e.客户事务对象。 Delphi5.0 版本成功地引入了这项技

21、术,极大程度地扩展了数据库处理能 力,为 Delphi 程序员带来前所未有的广阔空间。Delphi 以其功能强大、简单 易用等诸多特性,深受编程人员的欢迎。所以我选择了 Delphi7.0 作为开发工 具。 2.32.3 C/SC/S 模式介绍模式介绍 C/S (Client/Server)结构,即大家熟知的客户机和服务器结构。它是软 件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配 到 Client 端和 Server 端来实现,降低了系统的通讯开销。目前大多数应用软 件系统都是 Client/Server 形式的两层结构,由于现在的软件应用系统正在向 分布式的 Web

22、应用发展,Web 和 Client/Server 应用都可以进行同样的业务处 理,应用不同的模块共享逻辑组件;因此,内部的和外部的用户都可以访问新 的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。 这也就是目前应用系统的发展方向。 3 3 教务排课系统的设计与实现教务排课系统的设计与实现 3.13.1 教务排课系统简介教务排课系统简介 课程编排作为高等院校教务管理中的一项重要而且繁重的工作,从一般意 义上讲,其实质就是对学校学期开设的每门课程合理地分配时间资源和教室资 源的过程。其中涉及教师、教室、时间和学生等多种因素,人为要求也比较多, 另外由于这几年的高校扩招导致教室资

23、源比较紧张,诸多因素就加重了课程编 排工作的难度和复杂度。如果完全由人工来编排课表,费时费力,其科学性、 方便性更是难以保证,所以利用计算机进行自动排课的想法自然而生。目前, 经研究用来解决排课问题的方法有:模拟手工排课法、图论方法、模拟退火法等。 第 5 页 共 25 页 国内针对课表问题也相继研制出了一些排课软件,但是软件的通用性差,因各 学校教学资源不尽相同,管理课表的方法也不乏个性,很难完全规范化、程序 化。本文根据某高校的实际情况,结合以往的排课经验,通过静态设置教学任 务的优先级、分配时间片资源和教室资源时根据相关参数动态设置其优先级的 算法设计并实现了一个高校智能排课系统。如何充

24、分利用有限的教室和时间资 源合理地编排课表,是本文致力研究的主要问题。 3.23.2 教务排课系统分析教务排课系统分析 3.2.13.2.1 算法分析算法分析 在排课系统中,关键的部分在于算法的选择。好的算法不仅可以节省时间, 更可以提高效率。 几种排课算法比较: (1)自动排课算法:此算法以课程为中心,进行搜索匹配,取最先匹配的 值;具有占有空间少,运算速度快的特点。但其未对数据进行择优选取,所以 不能对教学资源(教师、教室)合理分配,也不能满足一些特殊要求(比如有 些老师喜欢上午上课,有些老师偏向于集中式上课;有些课程安排在上午更合 适些,有些课程不能安排到上午等) 。 (2)基于优先级的

25、排课算法:从数学上讲, 排课问题是一个在时间、教师、 学生和教室四维空间, 以教学计划和各种特殊要求为约束条件的组合规划问题。 其实质就是解决各因素之间的冲突。在设计算法时, 为了降低课程调度的算法 复杂性, 可采用化整为零的思想 此算法对班级及教室划分等价类,对学校资源进行了合理的利用。但对一 些特殊要求还是无法具体体现出来。 (3)基于时间片优先级排课算法:此算法属于贪婪算法。每次对教师、教 室资源的选取都是取当前最优的数据。按照教师、教室、班级的优先级取最优 值,所以对各对象的一些特殊要求会很明显的体现出来,在教师、教室资源不 紧缺的情况下,此算法能排出相对合理的课程。相对于之前介绍的两

26、个算法, 在处理各种特殊要求的能力上有明显的优势。 本系统采用的是动态加权算法即贪婪算法。贪婪法是一种不追求最优解, 只希望得到较为满意解的方法。贪婪法一般可以快速得到满意的解,因为它省 去了为找最优解要穷尽所有可能而必须耗费的大量时间。贪婪法常以当前情况 为基础作最优选择,而不考虑各种可能的整体情况。在解决排课冲突时,为减 少贪婪法的缺点,特在自动排课功能后加入手动调节功能,使用者可对不满意 的课程再次调节。以下为算法过程: (1) 初始化排课数组、课程申请数组。 第 6 页 共 25 页 (2) 赋初始权值并对课程申请数组排序。 (3) 将课程申请码按序进行排课,结果存储在排课数组中。 (

27、4) 排课思想是将一星期分为几个层:星期一至五的上午和下午一二节、 星期一至五的上午及下午三四节、星期六全天、星期一至五的晚间。对不同的 层进行排课,可避免同一天同一老师授同一门课的问题。 (5) 若全部排完,则转(7) ;否则,计算并重新赋相应权值。 (6) 对申请数组重新排序,转到(3) 。 (7) 结束。 3.2.23.2.2 算法流程图算法流程图 系统的算法流程图,如图 1 所示。 清空排课记录 各种信息初始化 计算权值 计算总周课数 将排课记录写入数据库 检测冲突 异常函数处理 打印课表 结束 开始 图 1 算法流程图 第 7 页 共 25 页 说明:不管是否首次排课,首先进行清空排

28、课记录,对各种信息的初始化 后,计算权值和总周课数,就可以将排课记录写入数据库,这实际也是自动排 课的过程。排完后系统会进行检测冲突,若有冲突则弹出提示框,进行异常函 数的处理。有需要的,可打印课表。 3.2.33.2.3 功能分析功能分析 由于排课算法以及冲突检测在细节上有很多限制,在设计之前我们做了详 细的讨论和分析,得出了排课系统功能的细节问题: (1) “公共基础课和公选课优先固定” ,由于这两种课一般由教务处制订 课程计划,因此应该在自动排课之前将它们优先固定。 (2) “一师多课”冲突情况,即一位教师在同一时间内排了一门以上的 课。 (3) “一室多课”冲突情况,即一个教室在同一时

29、间内排了一门以上的 课。 (4) “一班多课”冲突情况,即一个班级在同一时间内排了一门以上的 课。 (5) “教室容量匹配”情况,即上课班级人数应该与所在教室的人数匹 配。 (6) “合班和分班课程”情况,即在排课时考虑像英语这样的分班课和 政治这样的合班课如何排课。 (7) “课程单双周”情况,即某些总课时较少的课程,可以考虑在单周 或双周排课。 (8) “同一课程间隔”尽量让同一课程在一周内课时内的排课分布均匀。 (9) “课程优先级”尽量让学分值高的,重要的课程排在黄金时间,课 程优先级低的排在其他时间。 (10) “课程扩充”如果正常情况下无法满足课程的需要,就要在晚上或 者周六日进行

30、课时的扩充。 (11) “课程与教室匹配”情况,课程要求的条件必须与教室设备条件相 匹配,如是否需要多媒体授课等。 3.2.43.2.4 需求分析需求分析 针对功能分析中的各种问题,我们在查阅了一些关于排课设计的资料以 及试用了几种排课软件之后,认为在排课设计中需要实现以下几个需求: (1) 手动预排课。由于存在公共基础课以及公选课,而这些课程的设 第 8 页 共 25 页 置完全有教务处制定,因此这些课程应该预先设置。 (2) 自动排课。根据输入的基本信息,进行自动排课,生成课表。在 自动排课完成后,将排课异常信息给予反馈。 (3) 手动调节。完全依赖自动排课排出的课表不能完全符合客观需求,

31、 同时我们在算法及优先级确定的精确度方面的水平也有限,因此,应该增加 手动调节功能,以进一步确保合理性。 (4) 设置冲突检测方法。主要是针对手动预排课和手动调节功能可能 出现的冲突情况,完善手动排课。 (5) 系统友好性。排课系统与使用者应具有交互性,可以增加排课向 导提示用户的使用。 (6) 权限管理。主要针对管理员权限的用户可以进行拥护的添加、修 改和删除。 3.33.3 排课系统的排课系统的功能模块功能模块 在系统分析的基础上,我们提出了系统的功能模块,如图 2 所示。 教务排课系统 系统管理基本信息管理排课管理 系 统 帮 助 权 限 管 理 教 师 信 息 管 理 教 室 信 息

32、管 理 班 级 信 息 管 理 课 程 信 息 管 理 课 程 申 请 管 理 手 动 预 排 管 理 自 动 排 课 管 理 手 动 调 节 管 理 基 本 信 息 设 置 图 2 功能模块图 前面描述了教务排课系统的功能模块划分,但没给出各模块之间的关系。 在本系统中,可以把模块分为三个功能集合: (1) 系统管理功能集合。该集合包括权限管理和系统帮助两个模块。当使 用者为管理员时可进行权限管理功能,它能够添加新的使用者,也可对已有的 用户进行名称、密码的修改和删除。系统帮助功能介绍了开发系统的相干信息。 (2) 基本信息管理功能集合。该集合包括教师信息管理、教室信息管理、 班级信息管理、

33、课程信息管理、课程申请管理五个模块。在该集合内可查看相 第 9 页 共 25 页 应的数据表,对于管理员级别的用户可对以上表的内容进行添加、修改、删除 的功能。对于一般用户,只能实现查看信息的基本功能。 (3) 排课管理功能集合。在基本信息设置模块中,可查看当前日期,又可 设置限制排课的条件,如不加限制排课、不在晚上和星期六排课等。而一般用 户只能查看管理员设置的条件。在排课时,管理员先在课程信息管理中设置好 要预先排课的课程,然后调节限制排课的条件,就可以使用自动排课功能。用 户可在排好后的课表中查看课表,对于不满意的课程安排可用手动进行相应的 调节,而手动排课也可针对实验课等灵活性的课程。

34、 3.43.4 数据库设计数据库设计 (1)课程信息数据表 其中课程代码唯一标识一门课程,课程类型用来确定课程优先级,而课程 性质是课程所需教室条件的信息。如表 1 所示。 表 1 课程信息表 字段名称数据结构说明 课程名称 varchar 课程类别 varchar 考核方式 varchar 有考试、考查等 课程性质 varchar 有公共课、必修课等 说明 varchar (2)班级信息数据表 其中申请代码唯一标识一个申请记录,是否合班,合班班级,是否分班分 别针对合班课与分班课设置。如表 2 所示。 表 2 班级信息表 字段名称数据结构说明 班级名称 varchar 班级人数 int 专业

35、 varchar 包括系别 年级 varchar 班级码 int 班级的编号 (3)教室信息数据表 其中教室代码唯一标识一个教室,教室容量和性质分别判断是否与班级和 第 10 页 共 25 页 课程性质的相匹配。如表 3 所示。 表 3 教室信息表 字段名称数据结构说明 教室名称 varchar 教室容量 int 即最大限度的上课人数 教室性质 varchar 一般教室、多媒体教室 等 教室码 int 教室的编号 (4)老师信息数据表 其中教师代码唯一标识一位教师,教师职称和学位确定教师优先级,住所 判断老师是否在校外居住,排课时给予一定的优先级。如表 4 所示。 表 4 老师信息表 字段名称

36、数据结构说明 老师姓名 varchar 无 职称 varchar 无 学位 varchar 本科、硕士、博士 住所 varchar 校内、校外 (5)课表信息数据表 表 5 是在用户使用系统的“保存课表”功能键时自动生成。它实现自动清 除、自动添加,具有流动性和可操作性。如表 5 所示。 表 5 课程安排信息表 字段名称数据结构说明 申请码 int 课程的编号 课程名 varchar 无 星期一 varchar 无 星期二 varchar 无 星期三 varchar 无 星期四 varchar 无 星期五 varchar 无 星期六 varchar 无 第 11 页 共 25 页 教室名 va

37、rchar 无 老师名 varchar 无 班级名 varchar 无 周课数 int 一周上课的次数 学分 int 无 开始周 int 从第几周开始上课 周数 int 共上几周的课时 是否预排课 bit 无 3.53.5 系统流程及代码分析系统流程及代码分析 3.5.13.5.1 系统流程图系统流程图 系统流程图,如图 3 所示。 计算总课时 总课时合适? 置标志 读数据库 当前位置排课? 有无冲突? 写入课表 排课结束? 保存 Y N Y 冲突解决 Y N Y N 结束 开始 N 图 3 系统流程图 第 12 页 共 25 页 系统流程图主要针对排课过程,即当用户设置好相应的排课条件、点击

38、“自 动排课”项,系统所进行的流程。其中的“冲突解决”项有两种解决方法:一 是在系统运行时进行的自我调节,另一种是运用手动排课功能解决。“写入课 表”项,是在运行时已完成写入课表的功能,若用户需要,可单击“保存课表” 项生成 Excel 格式的文本。 3.5.23.5.2 代码分析代码分析 本系统主要由三部分构成:权限管理,各类信息管理,排课管理。 (1)权限管理模块 该模块可实现管理员级别用户可以对所有用户进行添加、删除、修改的功 能。以下摘录保存功能的代码: procedure Tfrm_yh.save_ButtonClick(Sender: TObject); ComboBox.Text

39、; FieldValues教师姓名:=lsname_ComboBox.Text; FieldValues班级名称:=bjname_ComboBox.Text; FieldValues周课数:=StrToInt(zks_edit.Text); FieldValues学分:=StrToInt(xf_edit.Text); FieldValues开始周:=StrToInt(bweek_edit.Text); FieldValues周数:=StrToInt(weeknum_edit.Text); FieldValues是否预排课:= YP_RadioButton.Checked; Post; end;

40、 a.isFirst:= false; end else SetException( a ); end; 4 4 系统测试系统测试 4.14.1 测试环境测试环境 1硬件环境 CPU:Intel Pentium3500MHz 硬盘:40GB 内存:256MB 2软件环境 系统软件:Windows XP 第 13 页 共 25 页 工具软件:Delphi 7.0、SQL Server 2003 4.24.2 主要模块测试主要模块测试 (1)管理员权限 经过上面各节的工作后,基本上完成了一个档案管理系统的开发。经过编 译后,在菜单中选择 RunRun 命令,则会出现系统的登录界面。 a. 登录界面

41、,如图 5 所示: 图 5 登录界面 说明:输入用户名和密码,单击“确定”按钮,当身份验证成功后进入档案 管理系统主界面。单击“取消”退出登录窗口。 b. 主界面,如图 6 所示: 图 6 主界面 说明:主界面由三部分组成:基本信息管理、基本条件设置、预排课、自动 排课及手动调节。在菜单栏中,分为系统、信息管理、帮助菜单。“系统”菜 单含用户管理和退出功能。“信息管理”可查看基本信息。“帮助”中可查看 教务排课系统的相应信息。 c. 如身份验证失败,则出现如图 7 所示的提示信息框 第 14 页 共 25 页 图 7 错误提示信息 说明:点击“OK”返回登录界面,重新输入用户名和密码。 d.

42、点击“基本信息管理”中的课程申请管理界面为例,如图 8 所示: 图 8 课程申请管理 说明:选中某一记录后可进行删除和修改的功能,也可直接添加记录,修改完 后点击保存或退出完成管理。 e. 基本条件设置管理界面,如图 9 所示: 图 9 基本条件设置 说明:教学公历上显示为当前日期,“排课条件设置”中设置需要的排课条 件。 f. 排课管理界面,如图 10 所示: 第 15 页 共 25 页 图 10 排课管理 说明:点击“清空”可清空上次所排信息,点击“自动排课”能实现自动 排课功能,点击“检测冲突”可检测当前排课有无冲突。点击“保存课表”能 将排课信息保存为 excel 格式。 g. 权限管理界面,如图 11 所示: 图 11 权限管理 说明:权限管理是当管理员用户在“系统”菜单内的设置。在这里可进行 用户的添加、删除、修改等功能。 (2)一般用户权限 一般用户与管理员用户的区别在于他只能查看相应信息,不能进行其他操 作。以排课管理界面为例,如图 12 所示: 第 16 页 共 25 页 图 12 一般用户界面

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1