您好, 访客   登录/注册

教学管理系统设计与实现

来源:用户上传      作者:

  摘要: Delphi作为Borland公司推出的优秀编程工具,倍受编程爱好者们的欢迎。它基于Windows操作系统,具有友好的集成开发界面、可视化的双向开发模式、良好的数据应用支持和高效的程序开发。该文介绍用Delphi7开发教学管理系统的思路和过程。改课题开发组采用基于Windows的Delphi7开发的新版教学管理系统,采用全新的信息管理手段,提高了教学管理的效率,基本杜绝了管理中的错误,取得了非常好的使用效果。
  关键词:Delphi;教学管理系统;信息管理
  中图分类号:TP312文献标识码:A文章编号:1009-3044(2010)09-2186-02
  Design and Implementation of Educational Management System
  YANG Ben-quan
  (Zhangjiajie Institute of Aeronautical Engineering, Zhangjiajie 427000, China)
  Abstract: Delphi is Borland the company releases of excellent plait distance the tool be doubly popular among the plait distance fanciers.It according to Windows operate system, have amity of integrated development interface, visual double of apply support toward the development mode, Data applied good support and efficiently of the procedure develop.This text introduction is used the way of thinking and process that the Delphi7 develops teaching management system. The new version teaching that this topic development set adoption develops according to the Windows Delphi7 manages system and adopt an all new information management means, raised the efficiency of teaching management, basic the effect for eradicating completely to manage a medium mistake, obtaining a very nice usage.
  Key words: Delphi; educational management system; information management
  教学管理工作,涉及排课、成绩、课时、教材管理等很多方面,是教务工作中的重要环节,教学管理工作的好坏和效率,对学校的发展和生存起着至关重要的作用。为了解决早期教学管理效率低、错误多的问题,教学管理系统课题开发组,采用基于Windows的可视化编制工具Delphi,对教学管理系统进行开发,以达到提高教学管理的效率,增强教学信息管理的准确性,减轻教务管理人员的劳动强度的目的。同时开发完成的教学管理系统的具有界面亲切、运行速度快、错误检测措施完备等优点。
  1 教学管理系统的开发
  教学管理系统由排课系统和成绩管理系统两部分组成。
  排课系统功能分析如下:
  1) 教学计划:教学计划是排课的依据,为了完成排课任务,先必须将当年的实施性教学计划输入到电脑中,再由程序从教学计划中提取数据,生成对应学期的排课任务表。这个任务表指的是全校任何一个班,在当前学期的课程有哪些,分别开设周几的课,这个表是自动生成的,将该表发放到各系,再由各系确定课程的任课教师,排课操作人员再将教师姓名输入到任务表中,下一步就可以排课了。
  2) 课表项排入:在屏幕上形成一个课表框架,操作员指定当前待排的任务项,点击排入按钮后,当前任务项就在课表上形成一个课表项,当然这只是一堂课,所以我们必须在任务表中标记,每排一堂课,将已排课时数加2,当已排课时数和周课时数相等时,自动转入下一课表项。课表项的排入,实际上就是在总课表数据表文件中生成一条记录,每条记录代表一个课表项,排入课表就是填充相关的信息,如课表项的上课时间,我们准备采用代码来表示,如210,其中第一位2表示星期二,第二位1表示1、2节,第三位0表示无单双,若是1表示单周上,2表示双周上。填入大课信息,教室设置信息等,其中教室设置是值得注意的,因为任何一堂课的教室在不同时间段可单独设置,所以这一栏的宽度应该可以容纳约五个时间段,即周10的宽度,每一段都是4位代码,代表相应的教室。
  3) 课表项位置的调整:在课表项输入完后,应该比较方便的调整其位置,即课表项可在课表框架中任意移动,我们设计的方案是用鼠标先点击待移课表项,再点击目的位置,目的位置应该是空的,在这个过程中要进行冲突检测,需要作的冲突检测有以下几个方面,一是教师冲突,即交换位置的课表项中对应的教师在目的课表位置是否有课,二是教室冲突检测,即移动完成后,课表项对应的教室是否存在重复的现象。以上调整过程也可采用鼠标的拖曳方式完成。这个过程还包括两个课表项的对调,这种情况就是两个非空课表项之间的位置互换。
  4) 单双课表项的排入:对于周课时数为奇数的课表项,就涉及到单双排课的问题,作为排课程序来说,就是当课表项为奇数时,只要还剩下周一的课时未排,就进入了单双课表项的排入过程,若当前课表项中未排其它单双课程,则将课程排在单周,双周排成自习,若有其它单双课程,则检测其它课程的单双后,再将当前课表项以单双的形式排入。当然这也涉及到系统能轻松调换单双的问题。
  5) 大课的编排:为了充分利用教室和教师资源,上大课是在所难免的,大课的排入是另一个难点,因为课表框架的空间是有限的,所以在显示上,我们设计的是大课和普通课一样,只是在课表项的左下角设置一个大课标志,只要当前课表项是大课,则大课标志(红色方块)亮,当鼠标移到红色方块上时,用Hint(提示)的方式显示该堂大课包含的所有班级。从程序完成的角度来看,我们在排入大课时,先检测对应班级是否符合排大课的条件,一是课程的检测,要是同一门课程,再就是将要排入的班级和以前排入的班级是否具有相同的层次,即都是三年高职、五年高职,在检测通过后,将第一堂大课对应的课表信息拷贝到当前课表项中,并在所有这些课表项的大课标志中标记y。打印课表时为了清楚,我们给班级位置预留了三行,即可以打印出最多有三个班组成的大课课表项对应的班级。
  6) 课表的打印:课表的打印是排课系统最后也是最重要的一个环节,我们参照以前的课表进行了部分的改动,设计出功能更完美的课表,如基本课表,以前只设计了六节课,我们根据实际需要,排课和课表都设计成八节课,其中7、8节在下午或晚上完成,另外还有教室、班级总课表的打印等。
  排课系统编程过程中,有一些比较常规的问题需要解决。如系统登录口令的检测问题,我们在教学管理系统总目录下建立了一个基本信息子目录,系统第一次被使用时就自动建立相关的所有目录,并在基本信息子目录中建立一个口令表,在这个表中记录用户的口令信息,当然这个表的数据已经经过了加密处理,也就是说在表中所看到的数据和实际口令之间存在一定的规律,但看起来是完全不一样的。加密手段比较简单,采用前后填充,逐位加密的方法,就是说口令表中所见到的口令数据的前面和后面若干位是随机数,口令放在这个数据的中间若干位。而且这几位的每一位都是按不同的规律在ASCII码上加或减了一定的数值。在口令检测时,再按这个规律复原。
  成绩管理系统功能分析如下:
  1) 教学计划:这一部分共享使用排课系统的教学计划管理模块。
  2) 班级成绩表的生成:成绩表是根据班号中所含的专业和年份信息,对照当前的日期信息和班级学生的花名册,再通过教学计划生成一个每学期都独立的成绩总表,这个表的结构是:XH(学号)、XM(姓名)、科目字段1(以P开头,表示平时成绩)、科目字段2(以K开头,表示期末考试成绩)、ZF(总分)、PJF(平均分)、MC(名次),这个表罗列了学期学生成绩的所有必要信息。在用户按翻阅班级按钮的时候,就根据当前教学计划生成所翻阅班级的学期成绩总表,这个表是一个后台表,即在成绩管理系统运行时,这个表虽然打开,用户编辑的表并不是这个表,而是通过这个表生成的临时表,这样做有很多好处,主要是为了数据的准确性,即用户修改的数据,只要没有最后确认,其结果是不会计入到成绩总表中,以免产生误操作,同时因为在编辑数据过程中,需要的表是各种各样的,也不只一个表,如考查课成绩、考试课成绩表、汇总成绩表等,而实际信息只需要一个总表就足够了。
  3) 期末成绩录入:录入界面包含四个标签页,考查科目成绩录入页、考试科目成绩录入页、汇总成绩页和补考及其它页。考查科目的特点是只有考试分,没有平时分,不需要计算最终结果,录入的就是最后成绩。考试科目的成绩由两部分组成,平时成绩,期末考试成绩,而且当期末考试成绩为缺考时,不管平时成绩是多少,都作缺考处理。只要用户翻到汇总成绩页,则系统自动汇总该班成绩,如每个学生的总分、平均分、名次等统计出来,不过以上三个表都是临时表,用户看到的也是临时数据,只有在确认后,录入结果才会记入到班级成绩总表中。
  4) 成绩报表打印:成绩管理系统报表打印在成绩处理部分是比较简单的功能,只包含班级成绩表、毕业学生成绩汇总表和符合毕业条件的学生名单。但其格式比较复杂,首先是一个课程名竖放的表头,表体是各门课程的汇总成绩及总分、平均分、名次等数据,表尾汇总了任一门课的分数段分布、最高分、最低分、平均分,并在表的下方有参考人数、补考率、总评分、实践环节优良率等统计数据。毕业学生成绩汇总表是针对某一个学生的综合数据表,系统将这个学生从入校到毕业所有学期的成绩数据汇总到一个表中。符合毕业条件的学生名单即将所有班级的学生过滤一遍,根据设置的毕业条件,统计出符合毕业条件的学生名单。
  5) 补考管理:补考管理是成绩管理系统的一个大的模块,在所有班级成绩录入完成后,就可统计出所有不及格人数,并生成当前学期的学生补考表,这个表中包含所有不及格、缺考或舞弊学生,但其中舞弊学生是不能参加学期补考的,只能参加学年补考。在此基础上,操作人员就可在补考页中输入补考编排所必须的基本信息,如补考场次、补考考场、补考费用等,设定好这些信息后,系统就可根据这些信息编排补考,编排过程需要考虑的问题:一、编排的速度,因为编排时要考虑很多的因素,如同类卷应编排到一起,同一学生的几门补考不能出现在同一补考场次,检查此次编排不考虑的课程(如某些实践课采用单独补考)以及不考虑的班级等,所以在编程时,应采用最优算法,以使程序运行速度最快。二、在编排过程中也要注意补考表数据的安全性,即当补考安排未能完成时,不能使原表的数据受损,因此我们采用临时表的方法,即编排过程是在临时表中完成,若编排能顺利完成,再将数据填充到原补考表中,若编排出错,不影响原补考表。
  6) 补考数据打印:补考管理中需要打印的数据比较多,有按各种索引(按学号、课程、场次)打印的补考表、学生补考交费名单、补考安排表、补考登分表、学生升留级情况统计表等。
  2 小结
  教学管理系统的成功开发,大大减轻了教务处工作人员的劳动强度,提高了工作效率和数据处理的稳定性、可靠性,弥补了教学管理工作中的不足。
  参考文献:
  [1] 史嘉权.数据库系统概论[M].北京:清华大学出版社,2006.
  [2] 林亚. Delphi管理信息系统项目方案精解[M].北京:航空工业出版社,2006.
  [3] 毕维峰.Delphi7编程实例与技巧[M].北京:航空工业出版社,2003.
  [4] 甘志.Delphi7高级应用开发篇[M].北京:清华大学出版社, 2003.

转载注明来源:https://www.xzbu.com/8/view-8702273.htm