基于WEB的考务管理系统的设计和实现_第1页
基于WEB的考务管理系统的设计和实现_第2页
基于WEB的考务管理系统的设计和实现_第3页
基于WEB的考务管理系统的设计和实现_第4页
基于WEB的考务管理系统的设计和实现_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、摘要随着网络技术的飞速发展,尤其是Web技术的广泛应用,同时学校网络基础设施的大力建设,学校管理的迫切需要,建立基于Web的考务管理系统显得越来越重要。论文基于对现状的分析,从需求出发,结合多种优化思想,设计出一套实用灵活的排考算法。在此基础上,采用目前流行的计算机网络技术和B/S(Broswer/Server)软件架构体系,以Windows Server 2000为网络操作系统,以JSP为开发语言,以SQL Server 2005为后台数据库。实现了基于Web的考务管理系统,系统全面支持广域网办公模式,可以大大减少考务管理手工劳动。本文绪论阐述了选题的背景、系统研究目的、意义和研究现状。第二

2、章对系统采用的技术及应用于本系统中的主要原因进行阐述。第三章总体规划考务管理系统与数据结构,考务管理系统的各功能模块的设计。第四章针对高校具体情况,结合贪婪算法、分段匹配、相邻原则、最短路径法等优化思想,对排考问题进行分析,设计了一套排考算法,同时进行了数据库表的设计、数据库关系结构的建立。第五章考务管理系统的实现,包括系统的登录、系统各模块的设计与实现、实际使用效果。最后,对本论文的工作进行总结,并提出了进一步努力的方向。关键词:考务管理系统WebJSPB/SABSTRACTWith the rapid development of network technology and especi

3、ally the wide use of the web technology,the great forceful construction of foundation for school Internet,the pressed requirement for school management,the Examination Management System are becoming more and more important on the basis of Web platformThis article gives a set of algorithms of examina

4、tion arrange,which are based upon analysis of current situation,facing to demands and combining many optimizing ideasThe algorithms aim at being in effectExamination Management System based on the algorithms is developedThe structural system employed is popular computer web and B/S technologyThe ope

5、rational system is Windows 2000.Server.he developing language is JSPThe back database is SQL Server 2000,The system widely supports the widerange oracle model,thus greatly reduce the manual work in the examination managementThe article takes the first chapter as the background and meaning of the sys

6、tem,as well as the current conditionChapter II states the application technology of the system and explains the main reasons of applying them to the systemChapter III describes specifically the Examination Management System in general program,data structure,all function design of its,and the design

7、of database form,the establishment of structure of database relationsChapter IV designs the Examination Arrange algorithm which bases on examination in Hunun Institute of Technology,including optimizing ideas of greedy algorithm,classing,matching,adjacent principle, minimal route,and so onChapter V

8、expounds the implementation of Examination Management system, including the connection of database and how to realize the interview of database,entering the system,the design and implementation of module systemat last the efects Finally,the article summarizes the work of system and will advance furt

9、her improvement of the system in the futureKey words:Examination Management SystemWebJSPB/S目录1 前言11.1 开发背景11.2 国内外研究现状11.3 系统设计目标22 系统开发所用到的技术32.1 考务管理系统的设计环境32.2 关键技术42.2.1 前台开发技术42.2.2 Tomcat开发环境工具简介63 考务管理系统需求分析73.1 可行性分析73.2 考务管理系统功能分析83.3 系统的开发环境83.4 考务管理系统功能介绍和业务流程图94 概要设计104.1 数据库设计104.1.1 数据

10、表设计104.1.2 数据表关系设计124.2 各功能模块设计124.3 核心算法步骤135 系统详细设计与实现155.1 用户管理模块155.1.1 教务员管理功能155.1.2 教师管理功能185.1.3 学生管理功能195.2 排考模块205.3 基础信息模块235.3.1 教室管理子功能235.3.2 统计管理子功能246 系统测试276.1 系统测试概论276.2 系统测试方法276.3 测试结果分析与调试27结论31谢辞32参考文献33附录341 前言随着现代信息技术的快速发展,教育信息化工作成为目前教育改革和发展的主旋律之一,而考务工作作为高校教育信息化工作中的一项重要工作。如何

11、充分利用Internet网,构建一个具有开放性、实用性和灵活性的高校考务工作平台,是一个值得探讨的课题。排考问题是TTP(Time Table Problem)中难度较大的一个问题,考试科目、时间资源、考场资源、考生、监考人员之间存在着错综复杂的制约关系。跟班重修和交叉选课的日趋增多不仅给排课带来难度,同时也增加了排考的复杂度。另外,各学校的实际情况不同,对排考的要求的侧重也各有不同,比如有的学校教室资源不是很充足,有的跨院系选课情况较多,有的学校注重控制学生的冲突数,而有的则要求考试周期不能太长。所以一个好的考务系统更为灵活、通用。1.1 开发背景在我国现行的教育体制下,不同层次的学校对课程

12、排考有着不同的要求,同一个学校不同时期对排考要求也不同,排考问题具有很大的灵活性。传统的课程排考是由人工来完成的。教务工作人员在长期的工作实践中摸索出了一些即行之有效,又切合实际的手工编排方法。随着教学规模的扩大,学生选课数量的增加,排考问题越来越复杂,使得这项工作消耗了大量的人力,总的来说人工排考存在如下困难:工作量大,消耗较多的时间和人力;课程、教师、学生、场地及时间等数据关系复杂,人工管理效率低;涉及因素多,要做到考虑全面、没任何冲突很困难;细小数据的调整,往往牵涉面广,增加很多工作量;数据汇总等简单重复性工作量很大;排完后,许多考务报表需手工制作。因此,课程排考问题一直被人们认为是困难

13、的作业调度问题之一。随着计算机的应用,从科学计算、实时控制逐渐扩展到非数值处理的各个领域,计算机系统在办公自动化的应用受到各行各业的极大关注。计算机的应用为人们提供了现代化的工具和手段,应用计算机技术进行自动排考,可以大大提高排考效率,合理分配有限的场地和教师资源,使得考试安排跟更合理。1.2 国内外研究现状排考问题是时间表问题,是时空组合的数学问题。国内外对排课问题的研究比较成熟,而对排考问题做的研究很少。国内对课表的研究开始在80年代初期,所使用的方法从手工排课到运用人工智能、专家系统或决策支持系统都有。既有代表性的计算机排课系统有,清华大学自动排课系统、浙江大学自动排课系统,强智公司、青

14、果公司教务管理系统中排课模块等。虽然有些排课系统在部分高校已经使用。由于对排课问题研究成熟而对排考问题研究比较薄弱。并针对各校具体情况,很难有一种现行的排考系统能满足要求。国外从20世纪50年代末开始就有人对课表问题进行了研究。1963年,Gotlieb提出了一个课表问题的数学模型,之后人们对课表问题的算法做了许多探索,目前主要提出的算法有:模拟手工排课法、图论方法、拉格朗日发、二次分配法等多种方法。1.3 系统设计目标基于Web的考务管理系统是典型的信息管理系统(MIS),其结构如图1.1所示,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和

15、完整性强、数据安全性好的数据库。而对于后者则要求应用程序功能完备,易使用等特点。基于Web的考务管理系统用户管理模块排考模块基础信息模块教务员管理课程管理教室管理统计管理学生管理教师管理图1-1 基于Web的考务管理系统结构图本论文第一章前言,阐述了选题的背景,系统研究目的意义和研究现状,并简单介绍了系统的设计方法及系统网络环境。第二章对系统采用的技术进行阐述,主要论述了Windows 2000 Server、SQL Server 2005、MyEclipse 、Jsp和JavaScrip技术及应用于本系统中的主要原因。第三章总体规划考务管理系统与数据结构,考务管理系统的各功能模块的设计与实现

16、及数据库表的设计、数据库关系结构的建立。第四章针对高校具体情况,对排考问题算法进行分析。第五章考务管理系统的实现,包括数据库的连接,系统的登录、系统各模块的设计与实现、实际使用效果。2 系统开发所用到的技术用户个性化页面是在用户登陆后浏览网页的过程中由服务器即时生成再返回给用户浏览器的,它事先并不存在于服务器。显然单纯的HTML无法提供这种页面,必须使用具有运算功能的Web技术来实现。在比较了现今几种动态页面开发技术后,结合学校情况,我们选择了比较成熟和先进的 Tomcat+SQL Server2000+JSP技术。它提供了强大的Web Computing功能和数据库操作功能。2.1 考务管理

17、系统的设计环境1 操作系统Windows 2000 Server是Windows 2000系列的主流商用服务器,它提供了文件与打印服务、应用程序服务、Web服务和通信服务等。它采用全新的活动目录(Active Directory Server),活动目录采用了Internet的标准技术,是一套具有扩展性的多用途目录服务技术。2 数据库服务器数据库(Database)技术是目前计算机处理与存储数据的最有效、最成功的技术。网络数据库是指:以后台数据库为基础的,加上一定的前台程序,通过浏览器完成数据存储,查询等操作的系统。简单的说,一个网络数据库就是用户利用浏览器作为输入接口,输入所需要的数据,浏览

18、器将这些数据传送给网站,而网站再对这些数据进行处理。 本系统采用 SQL Server 2005 数据库。Microsoft SQL Server 2005由一系列相互协作的组件构成,能满足最大的Web站点和企业数据处理系统存储和分析数据的需要。SQL Server 2005集成了Internet功能,提供了完整的XML支持。SQL Server 2005支持两种语言:运行在IIS上的Internet应用程序可以对映射架构使用XPath查询TransactSQL语言。TransactSQL支持来自使用Microsoft ActiveX数据对象(ADO),ODBC API或在ODBC上分层的AP

19、I的应用程序的ODBC扩展。3 新型的B/S三层体系结构随着Internet越来越广泛的应用,原来基于局域网的企业网开始采用Internet技术来构筑和改建自己的企业网,即Intranet。于是,一种新型的体系结构Browser/Server应运而生,并获得飞速发展。本质上,Browser/Server也是一种C1ient/Server结构,它是一种由传统的二层Client/Server发展而来的三层C1ient/Server结构在Web上的应用特例。B/S模式简化了客户端。它无需象C/S模式那样在不同的客户机上安装不同的的客户应用程序,而只需安装通用的浏览器软件。这样不但可以节省客户机的硬盘

20、空间与内存,而且使安装过程更加简便、网络结构更加灵活。其次,它简化了系统的开发和维护。系统的开发者无须再为不同级别的用户设计开发不同的客户应用程序了,只需把所有的功能都实现在Web服务器上,并就不同的功能为各个组别的用户设置权限就可以了。各个用户通过HTTP请求在权限范围内调用Web服务器上不同处理程序,从而完成对数据的查询或修改。现代企业面临着日新月异的竞争环境,对企业内部运作机制的更新与调整也变得逐渐频繁。相对于C/S,B/S的维护具有更大的灵活性。当形势变化时,它无须再为每一个现有的客户应用程序升级,而只需对Web服务器上的服务处理进行修订。这样不但可以提高公司的运作效率,还省去了维护时

21、协调工作的不少麻烦。如果一个公司有上千台客户机,并且分布在不同的地点,那么便于为将会显得更加重要。在Browser/Server的系统中,用户可以通过浏览器向分布在网络上的许多服务器发出请求。在Browser/Server三层体系结构下,表示层、功能层、数据层被分割成三个相对独立的单元,三层的Browser/Server体系结构是把二层C1ient/Server结构的事务处理逻辑模块从客户机的任务中分离出来, 由单独组成的一层来负担其任务,这样客户机的压力大大减轻了,把负荷均衡地分配给了Web服务器,于是由原来的两层的C1ient/Server结构转变成三层的Browser/Server结构。

22、这种三层体系结构如图2-1所示。显示逻辑事物处理逻辑数据处理数据库请求请求响应响应浏览器Web服务器数据库服务器图2-1 B/S体系结构图这种结构不仅把客户机从沉重的负担和不断对其提高的性能的要求中解放出来,也把技术维护人员从繁重的维护升级工作中解脱出来。这种三层结构层与层之间相互独立,任何一层的改变不影响其它层的功能。它从根本上改变了传统的二层C1ient/Server体系结构的缺陷,它是应用系统体系结构中一次深刻的变革。2.2 关键技术2.2.1 前台开发技术系统设计基于Web,采用Dreamweaver、JSP和JavaScrip技术。1 Dreamweaver技术DreamWeaver

23、是一款应用广泛的网页设计软件,它包括可视化编辑、HTML代码编辑的软件包,并支持ActiveX、JavaScript、Java、Flash等特性,而且它还能支持动态HTML(Dynamic HTML)的设计,使得页面没有plugin也能够在Netscape和IE浏览器中正确地显示页面的动画。同时它还提供了自动更新页面信息的功能。2 JSP技术JSP(Java Server Pages)是由Sun Microsystems公司倡导,许多公司参与一起建立的一种动态网页技术标准。 JSP技术是用JAVA语言作为脚本语言的,JSP网页为整个服务器端的JAVA库单元提供了一个接口来服务于HTTP的应用程

24、序。JSP文件就是在普通的HTML文件中嵌入了JAVAScript脚本语言。在JSP中,脚本语言是在服务器端运行的,当客户请求一JSP文件时,服务器就把该文件解释成标准的HTML文件发过去。在传统的网页HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP标记(tag),就构成了JSP网页(*.jsp)。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给客户。程序片段可以操作数据库、重新定向网页以及发送 email 等等,这就是建立动态网站所需要的功能。JSP技术具有以下优点:将业务逻辑层和表示层分离开发人

25、员在使用JSP技术时,可以使用HTML来设计页面显示部分静态页面内容,使用JSP指令或者JAVA程序片段来生成网页上的动态内容。兼容多操作系统JSP支持多种操作系统平台,例如:Windows98,Windows2000,Windows XP以及Linux操作系统等。方便的组件功能在动态Web中JSP的组件是以JAVA开发的,可直接使用。在JAVA中JavaBean的使用也很方便,由于Java支持多操作系统,所以JavaBean可移植性和可重用性也非常高。一次编写,处处运行由于JSP技术是用JAVA语言作为脚本语言的,而JAVA语言具有一次编写,处处运行的特点,所以JSP也具此优点。目前用于生成

26、动态网页较为流行的方法有很多,比如ASP,PHP等。ASP(Personal Home Pages,活动服务器页)是服务器端的脚本编写环境,用它可以创建动态Web页或生成功能强大的Web应用程序。ASP页是包括HTML标记,文本和脚本命令的文件。ASP页面可以调用ActiveX组件来执行任务,采用了三层计算结构,将Web服务器(逻辑层),客户端浏览器以及数据库服务器分开,具有良好的可扩充性。但ASP只能运行在Windows平台上,操作系统的兼容性较差,在动态Web中,ASP的组件是由C+和VB等语言开发的,并需要注册才能使用。所以系统开发采用JSP技术。3 JavaScript简介JavaSc

27、ript作为一种嵌入HTML文档的、基于对象的脚本设计语言。其中很大一部分的语法同Java语言很相似,而且JavaScript的设计可以使它很容易地同Java语言一同工作,它可以充分支持Java的applet、应用程序,Java的applet小应用程序也可以很方便地访问己有的JavaScript代码。所以,也可以JavaScript看成是Java语言的某种简化版本。2.2.2 Tomcat开发环境工具简介Tomcat是Jakarta项目中的一个重要的子项目,其被JavaWorld杂志的编辑选为2001年度最具创新的JAVA产品(Most Innovative Java Product),同时它

28、又是Sun公司官方推荐的Servlet和JSP容器,因此其越来越多的受到软件公司和开发人员的喜爱。Servlet和JSP的最新规范都可以在Tomcat的新版本中得到实现。Tomcat的目录结构如下:bin:存放启动和关闭tomcat脚本。conf:包含不同的配置文件,server.xml(Tomcat的主要配置文件)和web.xml。work:存放JSP编译后产生的class文件。 webapp:存放应用程序示例,以后你要部署的应用程序也要放到此目录。logs:存放日志文件。lib/japser/common:这三目录主要存放tomcat所需的jar文件。3 考务管理系统需求分析考务管理是教务

29、信息管理过程中的一项重要工作,科学的考场编排方法可以对考务管理起到极大的促进作用。既能够杜绝考试中的作弊行为,加强考风建设,又能够减少教师手工编排考试的负担,从而增强高校的考务管理工作。先进的Web技术的应用,方便师生进行考务查询。3.1 可行性分析随着知识经济时代的到来,信息化程度越来越高,知识总量剧增,知识更新的速度也越来越快,这使得教育管理的负担越来越重。技术可行性软件需求:操作系统WINDOWS 2000 Advance Server以上。硬件需求:赛扬1.7G CPU、512M内存 80G硬盘的计算机。本系统采用JSP实现,依靠其强大的面向对象系统,与SQL Server2005数据

30、库管理系统相结合,能在1个月内开发出系统。经济可行性开发成本:600元人民币。效益:大幅度地提高考务管理系统的工作质量和效率,让学院掌握整个考务管理系统的全面情况,为管理人员提供了准确的管理信息,促进管理工作的规范化及各项管理制度与指标体系的建立和健全;提供各种加工处理了的管理信息,以满足管理的特殊要求,适应新形势对考务管理提出的新要求。效益/投资比:暂时无法估算。投资回收期:大约3个月。社会可行性实现无纸化办公,节省成本,提高工作效率。条件、假定、限制:当考务管理的信息量和复杂程度达到某一限度时,即管理人员的劳动强度超过其承受能力时,就必须采用新的管理手段,如用计算机技术对信息的收集、加工、

31、传递和存贮等,这样,一个考务管理系统就可以对考务信息进行高效、合理、恰当地管理。满足对考务管理的基本要求及功能,并对考务信息收集、处理、保存。当前的考场编排系统主要需要完成考场科目编排、考试时间编排、监考老师编排等工作。早期的考场编排方式只能通过手工编排考试位置和指定监考老师,这样几乎花去工作人员大量的时间,这种编排方式是很不科学的,并且效率非常低。后来人们考虑借助计算机编写程序来寻求考场编排算法的实现,在此期间,研究人员对不同考试的编排方法进行了深入的分析,如高考考场编排,高校期末考试考场编排与补考考生的考试时间和座位编排,自考、成考、职能鉴定考试等的编排。从此,计算机在考务工作中开始应用起

32、来,使考务管理人员的工作方式、工作手段发生了根本性的变化、从而也使人们的观念、意识发生转变。这一阶段奠定了考试编排的算法基础,也为考场编排系统向校园网发展积累了经验,奠定了技术基础。然而,由于不同考试其自身的特殊性,对系统的要求也必须特殊对待。随着高校人数的膨胀,选课制和重修制的实行,高校考场的编排系统变得日益重要。目前,有关高校考务管理工作多半还是由半手工操作完成的。教务处为了尽可能地保证每学期的考务工作的正确性与及时性,学校每学期要确定考试课程、统计考试人数,利用手工方法进行考试时间、考场安排、监考人员安排、巡考安排等,安排好后还需手工生成各种报表,如考试安排表、每位监考教师的监考单、巡考

33、单、试卷袋标签、班级考试安排、准考证、学生座位安排表等,重复工作量大,并容易出现冲突,针对以上现状,学校急需符合本校情况的考务管理系统,该系统能按条件自动完成考场编排、手工调整编排结果、打印各种报表、数据安全便捷发布等功能。3.2 考务管理系统功能分析考务管理系统设计的总原则是:把考务管理系统作为学校教务管理信息系统的一个管理子系统和资源子系统进行建设,将以校园网为基础,实现信息资源共享。全面完整的系统筹划,实现信息互联共享考务管理系统基于校园网,实现高水平的信息资源共享和跨平台的信息资源访问。充分考虑系统的兼容性和可扩展性,为系统的升级扩充留有空间考务管理系统应具有较强的兼容性和可扩展性。注

34、重系统的简洁易行和便于维护,简化非计算机人员的操作,功能完备实用,简单易学界面友好清晰,易于扩充,操作方便。采取安全高效的通信机制,保证系统运行稳定、数据的安全、保密。采用目前先进成熟的技术,建立实用可靠的系统考务管理系统的建设目标是否能实现,系统整个投资能否发挥应有的效益,最终将取决于该系统是否可靠实用。、总的来说,本系统全面考虑了我校考场编排过程中出现的各种问题,为用户提供了一个满足友好界面、兼容性强、功能强大的考务管理系统。本系统开发采用B/S结构和高性能的数据库的支持,基于web开发的系统能够方便信息的发布,高性能数据库支持便于历史数据的保存和性能评估。3.3 系统的开发环境服务器端操

35、作系统:Windows 2000 Server或以上的版本。后台数据库:SOL Server 2005。客户端操作系统:Windows95/98/xp/2000等。浏览器:Microsoft Internet Explore 60及以上版木。开发工具:SQL Server 2005,Dreamweaver,Tomcat,Myeclipse。开发语言:Jsp,JavaScript,html。3.4 考务管理系统功能介绍和业务流程图一个成功的系统都必须满足所有终端用户的需求,那么考务管理系统能够也应该满足监考人员、考生和考务管理人员等的需求,为他们提供有效方便的使用方法。用例可以描述终端用户的系统

36、行为。一般来说,用例都是由用例图和用例规约文档两部分构成,用例图能够给人以直观的感受,用例规约文档将描述与这些用例图中情景密切相关的步骤与流程,用来详细描述用例图中每个用例。每一个用例都将表示系统的功能方面,它描述了操作人员如何与系统进行交互,从而执行该用例。具体来讲,用户主要分为三类:学生、教师、考务管理人员。其中学生特点是数据量庞大,不同院系的学生存在交叉性,所选科目相差较大。监考教师可以查看自己的监考时间,监考人员一般由教师组成。考务管理人员能设置排考参数,进行最终的考场编排工作,进行编排结果的发布。这是一个通过各角色的目的来找寻用例的过程。学生希望通过考务管理系统获得自己科目考试的各种

37、信息,包括考试时间、地点等;监考教师需要查看自己的监考时间和提出特殊要求,并获得监考信息;考务管理人员进行具体的考场编排、调整工作。上面仅仅考虑了业务上的需求,系统对管理信息有各种权限的管理,所以必须进行用户权限管理,所以必须增加用户管理模块。最后的系统顶层用例如图3-2所示。图3-2 系统顶层用例图4 概要设计4.1 数据库设计本系统对数据库的依赖性非常大,原始数据和编排结果都将保存在数据库中,由此可见,设计合理的表结构将极大地提高系统的效率,提高编排的效果,减少数据冗余度。数据库设计是整个系统开发过程中的重要环节,具体来说,分两步进行:一是,就是表和字段的设计,二是表关系的设计,用E-R图

38、来分析。4.1.1 数据表设计本系统需要保存的原始数据有:考务人员信息、教师信息、学生信息、院系年级、科目及教室等信息,需要保存的编排结果数据有:科目编排结果、监考人员编排结果结果。系统主要数据表如下:表4-1 教务人员信息表(Mtable)序号名称字段名称数据类型主键非空1编号Manager_idIntYesNO2姓名Manager_nameVarcharNONO3登录密码Manage_passwordVarcharNONO4权限值PermissionCharNOYES表4-2 教师信息表(Ttable)序号名称字段名称数据类型主键非空1编号Teacher_idIntYesNO2所属院系编号

39、TCollage_idIntNONO3姓名TNameVarcharNONO4性别TSexCharNOYes5年龄TageCharNOYes6地址TAddressVarcharNOYes7联系方式TTelVarcharNOYes8权限值TPermissionCharNONO9登录密码TPasswordVarcharNONO表4-3 学生信息表(Stable)序号名称字段名称数据类型主键非空1编号Stu_idIntYesNO2所属院系编号SCollage_idIntNONO3姓名SNameVarcharNONO4性别SSexCharNOYes5年龄SageCharNOYes6地址SAddressV

40、archarNOYes7联系方式STelVarcharNOYes8权限值SPermissionCharNONO9登录密码SPasswordVarcharNONO表4-4 班级信息表(Ctable)序号名称字段名称类型主键非空1班级编号Class_idIntYesNO2班级人数ClasscountCharNONO3所属系别CollageNameVarcharNONO 表4-5 考试信息表(examtable) 序号名称字段名称类型主键非空1编号Exam_idIntYesNO2科目名称examnameVarcharNONO3考试班级examclassVarcharNONO4考场编号CR_idInt

41、NONO5开始时间StimeVarcharNONO6结束时间EtimeVarcharNONO7监考人员1Inuber1VarcharNONO8监考人员2Inuber2VarcharNONO 表4-6 教室信息表(CRtable)序号名称字段名称类型主键非空1教室编号CR_idIntYesNO2教室名称CRNameVarcharNONO3容纳人数CRCountVarcharNONO表4-7课程信息表(Coursetable)序号名称字段名称类型主键非空1课程编号idIntYesNO2课程名称nameVarcharNONO4.1.2 数据表关系设计在设计完数据库表之后,还得设计个表之间的关系。可通

42、过主键约束和外键约束来维持被参照表和参照表之间的数据一致性。图是通过ERwin-E具来做的,其中PK表示主键,FK表示外键。4.2 各功能模块设计本系统采用三层结构的B/S(Browser/Server)模式来实现。其模型如图4-l所示:客户端浏览http请求http响应Web服务器Jsp程序ODBC数据库图4-1 B/S模型第一层客户浏览器,它是用户与整个系统的接口。客户程序采用一个通用的浏览器软件,如IE等。第二层为Web服务器。它启动相应的进程来响应客户的请求。第三层为数据库,通过ASPNET调用数据库中数据动态生成HTML代码或XML数据库,其中嵌入处理结果,返回到客户端浏览器。本系统

43、为一个基于Web的高校考务管理系统,首先简要描述一下本系统的大致使用环境如下:项目以沈阳工程学院为模型,本高校的学生人数约为1.5万,由多个院系构成。学生按照年级和班级进行划分,平时上课的形式分大班和小班,公共选修课由学生自由选择,按选课班级上课,还有小部分跟班重修的情况。结合学校实际情况,开发设计一款基于Web的高校考务管理信息系统,主要适用于教务员,教师,学生三类人员的使用。本系统需要实现功能模块主要有:用户管理模块、排考模块、基础信息模块,其中用户管理模块包括教务员管理、教室管理和学生管理,基础信息模块包括教室管理、课程管理和统计管理。系统实现所分析功能,力求设计合理,避免资源冲突等问题

44、,准确、合理地安排考试情况。考务管理系统总框架如图4-2所示。教务员管理基于Web的考务管理系统用户管理排考教师管理学生管理添加教师信息修改教师信息查询教师信息删除教师信息添加学生信息修改学生信息查询学生信息删除学生信息添加考试信息修改考试信息查询考试信息删除考试信息基础信息课程管理教室管理统计管理添加教室信息修改教室信息查询教室信息删除教室信息图4-2 考务管理系统总框架4.3 核心算法步骤排考算法的核心在于时间和考场的分配,而监考教师的安排要求不高,也比较灵活,可以在所有课程的考试时间及考场都排完了再独立考虑。时间和考场的安排是既相互联系又各自独立的过程,可以分别编写程序模块。1 时间模块

45、的算法流程人工设置参数,考试周期M,每天最大场次数,最大教室容量MRC,最大考场空闲数MVR,最大拆分数MSN,遵循相邻原则时使用相邻度量为1的学生规模段(0-n1);使用相邻度量为2的学生规模段(n1n2),其他相邻级别所对应的学生规模段人工输入预排信息。按预排规则处理预排课程。将所有待排课程按规模逆排序并分为s段,每段课程再按关联度逆排序,得到课程安排序列。若当前考虑的课程Ci是属于第l段,则按隔天排法选择考试时间;若属于最后一段,则放宽所有软约束条件的参数,否则按一般选择场次法选择考试时间。将选择出的场次按从优到劣排序,调用“考场模块”依次为Ci安排教室。若所有的场次均安排考场失败,则将

46、Ci放入第S段课程,到最后放宽约束再考虑,若S段的课程再安排失败,则将该课程标为无法安排,排考全部结束后由人工参与调整,若考场安排成功则考虑下一门课程Ci+1,直到所有课程都安排完。显示排考结果,若有未排课程,则给出每天每场次的详细冲突情况,由人工判断如何安排。2 考场模块的算法流程考场模块中需要用到的一些参数在排考开始前应该已获得,没有必要在每次调用该模块时再初始一次,所以我们假设现在已经得到以下参数值:最大教室容量MRC,最大考场空闲数MVR,最大拆分数MSN,遵循相邻原则时使用相邻度量为1的学生规模段(0-n1),使用相邻度量为2的学生规模段(n1n2),其他相邻级别所对应的学生规模段。

47、此外还应获得的信息有:当前考虑的课程号(由Courseinf数据表可以得到该课程其他信息),当前考虑的场次ID(由examtime数据表可以得到日期及场次信息),各划分区域的信息。算法流程如下:按各讲师所有学生的总规模数的逆排序,逐个考虑安排他们所带的授课班。对于讲师i,判断C是否为要求特殊考场的课程。若是,则相邻级别最低,在相邻区域为所有教学楼的范围内,安排该讲师授课班的考场,否则由该讲师所有的学生总数决定其相邻级别,确定相邻度量。按已确定的相邻度量逐个考虑每个区域及其相邻区域,安排讲师i的所有授课班。先按规模由大到小排考生数小于MRC的授课班,若有安排失败的则按拆分原则考虑拆分,再按规模由

48、大到小排大于MRC的授课班,按拆分原则考虑拆分,直到所有所授课班被安排或考虑遍所有的区域。上一步中若安排成功,则跳过这一步:否则将讲师i的所有学生合并成一个大班,按已确定的相邻度量逐个考虑每个区域及其相邻区域,安排该合并班。若讲师i的授课班全部安排完成,则调整教室分配,判断该讲师是否有班级可以化整为零将学生插入其他教室空置座位,节省考场资源。接着考虑下一个讲师i+l,直到课程C所有的讲师都安排完;若该讲师授课班安排失败,则不用继续考虑其他讲师,己排的讲师也要撤消操作,课程C无法安排入当前考虑的场次。5 系统详细设计与实现本章在前面分析设计的基础上,从数据库的操作实现、用户界面层、业务逻辑层、数

49、据访问层等方面对考务管理系统的实现作了简单介绍。5.1 模块子功能设计5.1.1 教务员管理功能管理子模块教务员通过登录界面进行用户名、密码验证,登录系统,如果输入错误,提示用户出错,正确则进入教务员管理界面(如图5-1)。图5-1 教务员管理界面点击权限信息管理进入权限信息管理界面如图5-2所示,此处系统设计用框架iframe制作,主要基于以下两点:一是方便用户使用,不用在操作中每按一键都弹出新的网页,造成不必要的查找;二是美观,不论是颜色的搭配还是图片的设计都尽力做到给使用者一种亲切的感觉。选择左侧框架中各项信息,系统会查询到相应信息所在表中的所含有的信息,并进行显示如图5-3所示(注:这

50、里仅以学生信息查询结果为例)。针对每一条信息后面都有修改,删除的功能,方便管理人员对每一条信息做进一步的操作;在所显示的信息上方列有模糊查询的条件,分别是编号和姓名,当输入查询条件时系统根据提交的条件,查询数据库表中相对应的数据信息,并进行模糊查找,这种方法方便管理人员,不必完全输入信息并且不必担心输入信息是否完全正确,系统就会根据你所输入的信息模糊查找,会找到你所需要的信息,添加信息一项设计在表的右上方,方便用户操作,添加界面如图5-4所示(这里仍以添加学生信息为例。)图5-2 权限信息管理界面图5-3 教师信息界面图5-4 添加教师信息界面删除信息:例以查询中的教师信息中编号为2001,姓

51、名为张三的教师为例,当点击记录后的删除后会出现图5-5确认删除信息界面,点击确定后再查看教师信息如图5-6所示,可以很明显的看出编号为2001,姓名为张三的教师信息成功删除。图5-5 删除确认界面图5-6 删除后教师信息界面修改信息:以上图5-6为前提,我们分别修改图中姓名为李颖的家庭住址信息,结果如图5-7所示。图5-7 修改后学生信息界面由于教务员信息,教室信息的查询、添加、删除和与修改学生信息类同这里便不予以分别讲述。数据接口设计以学生信息为说明其相关数据库表为:学生信息表(Stable)。模块内主要流程的描述学生信息管理子模块,在查询提示框中输入查询条件,点击检索按钮,系统实现模糊查询

52、,显示所要查询的信息,点击重置,将清除查询提示框中输入的内容。选择修改信息项时,系统跳转到update.jsp页面,在update.jsp页面中修改相应的信息,点击确定,更新数据库,将修改信息列表并显示,以添加学生信息为例具体流程如图5-8所示。开始输入学生信息提交NY结束判断格式图5-8 学生管理子模块添加学生信息流程图5.1.2 教师管理功能界面设计教师通过登录界面进行用户名、密码验证、登录系统,如果输入错误,提示用户出错,正确则进入教师管理界面(如图5-9)。在这里可以针对考试科目和考试班级进行模糊查询。图5-9 教师用户界面数据接口设计相关数据库表:教师信息表(Ttable)。模块内主

53、要代码的描述教师管理子模块主要是实现模糊查询功能,可针对考试科目和考试班级进行模糊查询。在查询提示框中输入查询条件,点击检索按钮,系统实现模糊查询,显示所要查询的信息,点击重置,查询提示框中清除输入内容。/查询String strSql = null;strSql=select examtable.Exam_id, examtable.examname, examtable.examclass, class.classname, examtable.CR_id, CRtable.CRName, + examtable.Stime, examtable.Etime, examtable.Inuber1, T1.TName as TName1, examtable.Inuber2, T2.TName as TName2 + from examtable, class, CRtable, Ttable T1, Ttable T2+ where examtable.examclass=class.classid and examtable.CR_id=CRtabl

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论