《基于BS的实验室排课系统毕业论文.doc》由会员分享,可在线阅读,更多相关《基于BS的实验室排课系统毕业论文.doc(40页珍藏版)》请在三一办公上搜索。
1、基于B/S的实验室排课系统摘 要高校的实验排课工作一直是实验教学管理中一项重要而复杂的工作,拥有大量的约束条件,根据不同的实际情况也有着复杂的特殊性,它需要花费排课人员大量的时间和精力。该系统充分利用现代计算机软硬件技术,改变了传统的手工排课方式,不仅提高了实验排课人员的工作效率,也大大提高了实验排课的科学性和可靠行。 该系统在研究市面上各种排课软件的基础上,根据我校实验教学的实际情况,采用目前较为流行的B/S(浏览器/服务器)结构和ASP.NET(Active Server Pages.NET,即基于.NET的动态服务器网页)动态网页技术,利用VS2005+SQL Server2000设计出
2、一个小型的实验排课系统。该系统功能完善,易于操作、管理和维护,可扩充性好。文章介绍了建立该系统的技术方案,包括系统可行性和需求分析、系统功能设计及数据库设计,并给出了实现方法。关键字:实验排课系统;B/S结构;ASP.NET;SQL Server2000ABSTRACTUniversity experiment course arrangement is an important and complicated job in teaching management. It has a large number of restraint conditions, and has complicat
3、ed particularity according to different actual conditions. The experiment staff often needs to spend a lot of time and energy to arrange experimental timetable. This system makes full use of modern computer hardware and software technology, which has changed the traditional manual schedule arrangeme
4、nt. It not only improves the experimental staff work efficiency, but also greatly enhanced the experiment arrangement science and reliability.Based on the study of Course Scheduling software available on the market and the actual situation of experiment teaching in my school, using the current more
5、popular B/S (Browser/Server) structure and ASP.NET (Active Server Pages.NET)dynamic web technology, VS2005+SQL Server2000,this paper designed a small Experimental Course Scheduling System, which is easy to operate、management and maintenance, and the expansion is good. This paper proposes a technical
6、 solution for building the system, include the goal of design, demand, framework design and database design, also provide methods to realize it.Key words:Experiment Course Scheduling System; B/S structure; ASP.NET;SQL Server2000目 录第1章 绪论11.1排课问题提出及实现意义11.2排课问题的研究历史和现状11.3本课题研究内容和目标2第2章 系统开发工具及关键技术介绍
7、32.1 ASP.NET技术32.2 SQL Server简介42.3 B/S体系结构简介42.4 ADO.NET简介5第3章 系统分析与需求63.1.系统的一般描述63.2系统可行性分析63.2.1技术可行性63.2.2经济可行性73.2.3易操作性73.3系统需求分析83.3.1系统功能需求83.3.2系统性能需求93.4系统功能模块划分10第4章.系统设计124.1系统设计原则与目标124.2系统软件体系结构124.3系统主要功能模块设计134.3.1基本信息管理模块设计134.3.2课表编排模块设计144.3.3课表管理模块的设计164.4数据库设计164.4.1概念结构设计164.4
8、.2逻辑结构设计184.4.3数据字典设计19第5章 系统实现225.1系统运行环境225.2系统具体实现225.2.1登录界面的实现225.2.2班级信息录入功能的实现255.2.3课程信息录入功能的实现255.2.4教师信息录入功能的实现265.2.5实验室信息录入功能的实现275.2.6课表自动编排的实现285.2.7课表手动调节的实现305.2.8课表查看管理的实现30结 论33参考文献34致 谢35第1章 绪论随着信息化的到来,各行各业都经受着以互联网为核心的全球信息化浪潮的冲击,各种信息管理系统相继出现。实验教学管理系统基于B/S结构的实验排课子系统就是其中一个。利用计算机来处理排
9、课过程中教师,课程,班级,实验室四种资源,无疑节省了大量的时间和劳动力,给人们的生活带来了极大的方便。本章主要介绍排课问题提出及实现意义,排课问题的研究历史和现状及本系统所要研究的内容和目标。1.1排课问题提出及实现意义课表编排是一个涉及到多种因素的典型的组合规划问题,它要保证在课程中安排教师,学生,教室不能产生冲突13(所谓冲突,就是将需要上不同课程的两个或多个班级安排在了同一地点,同一时间,或为同一老师在同一时间安排了两门或多门课程等情况),并且要满足教师的要求和教室资源等约束条件。目前,国内的部分高校仍然采用手工排课的方法。手工排课工作量大,排出来的课表不宜调节。随着我国教育体制改革的深
10、入,学生人数的不断上升,课程设置不断向深度和广度发展,手工排课的缺点越来越突出。由于计算机具有运行速度快,处理能力强等特点,很自然的运用到这一领域中。用计算机进行排课能够快速的得到满足约束条件的可行结果,具有排课时间短,人力省和质量高的优点,不但能使教务人员从繁杂的排课任务中解脱出来,而且对于推进教学的发展也起到非常重要的作用。1.2排课问题的研究历史和现状排课是高校教学管理中一项重要而复杂的工作,起实质就是为学校所设置的课程安排一组适当的教学时间和空间,从而使整个教学能够有计划有秩序的进行。由于具有规模大,约束复杂及本质不断变化等特点,使得课表问题成为令人感兴趣的课题之一18。20世纪50年
11、代末,国外就有人开始研究课表编排问题。1962年,Cotlieb就曾提出一个课表问题的数学模型,并用匈牙利算法解决了三维线形运输问题。近40年来,人们对课表的计算机解决法做了很多尝试。其中,课表编排的整数规划模型将问题归结为一组01变量的解,但是其计算量非常大。此外,有些文献试图从图论的角度来求解课表编排问题,但是图的染色体问题也是NP完全问题,只有在极为简单的情况下才可以将课表编排转化为二部图匹配问题。进入20实际90年代以后,国外对课表问题的研究仍然十分活跃。比较有代表性的有印度的Vastapur大学管理学院Arabinda Tripathy,加拿大的Montreal大学的Jean Aub
12、in和Jacques Ferland等。在国内,对课表问题的研究开始于20实际80年代初期,具有代表性的有:南京工学院的UTSS(A University Timetable Scheduling System)系统,清华大学的TISER(Timetable Scheduler)系统,大连理工大学的智能教学组织管理和课程调度系统等。这些课表编排系统往往依赖于各个学校的教学体制,不宜进行大量推广。1.3本课题研究内容和目标实验排课系统是实验教学管理系统的一部分,它的出现,大大的简化了实验教学人员的排课的工作量。对每一个学校的实验教学而言,新学期开始,首当其冲的任务就是该学期实验课表的安排问题,而
13、课表安排又涉及到班级,教师,实验室,时间等学校方方面面的因素,如何排出一个好且适用的课表,是一项复杂的系统工程,在当今信息技术及计算机网络技术高度发到的今天,充分利用和发挥计算机的优势,将大量复杂的判断和运算交给计算机来做,排课人按照教学计划设置好学校基本情况和排课要求,让计算机排出课表,之后做些适度手工调节。系统主要是解决实验课表的自动编排功能,根据实验教学计划和排课的种种条件,来帮助学校来完成实验课表的编排。本课题立足于我校实际的实验教学过程中的实验课程编排,在对排课业务进行分析后,以SQL Sever 2000做后台数据库,以VS2005做前台开发工具,主要实现“课表自动编排,手工调节,
14、课表查询,课表打印”等功能。该系统应具有强大的数据库作为信息存储后台,简洁美观方便操作的系统前台,同时还应该具有以下优点:(1)功能集成化,所有管理(添加,删除,修改等)都集中在一起;(2)使用简单化,实验排课系统的各种操作简单,统一;(3)查询综合化,可实现多种条件的查询;(4)方便的打印功能,可实现对教师,班级,机房课表的立即打印。通过该实验排课子系统,可以提高排课质量,把教务工作者从繁重的排课工作中解脱出来,而且课表中的信息一目了然,对于优化实验教学,指导学生进行实验,评估每位教师对实验教学的贡献,领导合理决策,都具有重要意义,必将大大推动实验教学的良性循环。第2章 系统开发工具及关键技
15、术介绍2.1 ASP.NET技术ASP.NET是Microsoft公司推出的新一代基于B/S结构的动态Web开发工具,是今后电子商务,电子政务以及远程教育等Web应用开发的主流技术之一。ASP.NET是Microsoft公司.NET技术框架的一部分。2006年6月,微软公司宣布了自己的.NET框架。.NET框架的基本思想是3:把原有的重点从链接到互联网的单一网站或设备转移到计算机,设备和服务群组上,而将互联网作为新一代操作系统的基础。这样,用户将能够控制信息的传移方式、时间和内容,从而得到更多的服务。ASP.NET功能介绍4:(1)丰富的Web控件为了提高编程人员的工作效率,ASP.NET提供
16、了丰富的Web控件控件,这也是ASP.NET的最大一个优点。在Visual Basic中,程序员可以使用多个控件来完成程序,但网页却无法这样实现。但是在ASP.NET中,设计人员可以方便的使用这些与Visual Basic控件有相同功能的各种Web控件。熟悉这些控件后,设计人员就可以将主要精力放在程序的逻辑开发上。(2)对多语言的支持ASP曾经在脚本引擎方面受到很大的限制,而现在.NET Framework架构支持多种语言,程序员在开发过程中可以选择自己熟悉和喜欢的语言。(3)程序结构和代码的分离ASP.NET程序可以通过Code Behind控件,用户控件,自定义控件以及组件这4种方法将程序
17、结构和代码相分离,将面向对象的思维引入Web开发中。(4)支持更多的事件处理为了实现更多的功能,在ASP.NET中,添加了两个最基本的事件Page_load()和Page_unload(),它们分别在页面被调用和被释放时发生。可以在Page_load()初始化一些数据,比如部分控件的属性,对象数据的访问等,在Page_load()事件中关闭在程序中的数据库或者释放所占的内存空间等。2.2 SQL Server简介SQL Server 是一个关系数据库管理系统,它功能强大,操作简便,日益为广大数据库用户所喜爱。越来越多的开发工具提供了与SQL Server的接口。SQL Server最初是由Mi
18、crosoft 、Sybase 和Ashton-Tate三家公司共同开发的9。于1988 年推出了第一个OS/2 版本,在推出Windows NT后,Microsoft与Sybase 公司在SQL Server 的开发上就分道扬镳了,Microsoft公司将SQL Server 移植到Windows NT系统上,专注于开发推广SQL Server 的Windows NT 版本;Sybase 则较专注于SQL Server在UNIX 操作系统上的应用。Microsoft SQL Server 以后简称为SQL Server或MS SQL Server。SQL Server 2000 是Micro
19、soft 公司推出的SQL Server 数据库管理系统的最新版本11,该版本继承了SQL Server 7.0 版本的优点,同时又为它增加了许多更先进的功能,具有使用方便、可伸缩性好、与相关软件集成程度高等优点,应用的操作系统支持所有Windows版本。SQL Server 2000全面扩展了SQL Server7.0的性能,可靠性和易用性使它成为一个杰出的数据库平台,可用于大型联机事务处理数据仓库以及电子商务等。MS SQL Server 不但可以应用于大中型数据库管理中,建立分布式关系数据库,并且也可以开发桌面数据库。事实上,SQL Server数据库处理的基本结构,采取关系型数据库模式
20、,尽管如此,相信大家都可以轻易的发现,在SQL Server的所有功能,都可以基于系统已经建立好的一些对象来达成,是相当OO(面向对象)的一个系统结构。2.3 B/S体系结构简介B/S结构2,即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,形成所谓3-tier结构。B/S结构,主要是利用了不断成熟的WWW浏览器技术,结合浏览器的多种Script语言(VBScript、JavaScript)和ActiveX技术,用
21、通用浏览器就实现了原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。随着Windows 98/Windows 2000将浏览器技术植入操作系统内部,这种结构更成为当今应用软件的首选体系结构。显然B/S结构应用程序相对于传统的C/S结构应用程序将是巨大的进步。在B/S体系结构系统中,用户通过浏览器向分布在网络上的许多服务器发出请求,服务器对浏览器的请求进行处理,将用户所需信息返回到浏览器。B/S结构简化了客户机的工作,客户机上只需配置少量的客户端软件。服务器将担负更多的工作,对数据库的访问和应用程序的执行将在服务器上完成。浏览器发出请求,而其余如数据请求、加
22、工、结果返回以及动态网页生成等工作全部由Web Server完成。实际上B/S体系结构是把二层C/S结构的事务处理逻辑模块从客户机的任务中分离出来,由Web服务器单独组成一层来负担其任务,这样客户机的压力减轻了,把负荷分配给了Web服务器。这种三层体系结构如图2.1所示图2.1 B/S体系结构这种结构不仅把客户机从沉重的负担和不断对其提高的性能的要求中解放出来,也把技术维护人员从繁重的维护升级工作中解脱出来。由于客户机把事务处理逻辑部分分给了功能服务器,使客户机一下子苗条了许多,不再负责处理复杂计算和数据访问等关键事务,只负责显示部分,所以维护人员不再为程序的维护工作奔波于每个客户机之间,而把
23、主要精力放在功能服务器上程序的更新工作。这种三层结构在层与层之间相互独立,任何一层的改变不会影响其它层的功能。2.4 ADO.NET简介在ADO.NET中3,微软提供了一个全新的,功能强大的操作对象DataSet.除了储存功能强大的DataSet以外,还有DataGrid控件。DataGrid主要用来显示数据表中的数据,同类的控件还有Reperter和DataList. DataGrid是用来显示数据控件中最常用的,功能最强大的。在其他Web技术中,最难实现的就是数据的分页显示。实现分页显示,需要写很长的代码,并且几乎每次都要重复同样的工作。在ASP.NET中,使用DataGrid控件可以轻松
24、的实现分页功能,只需要对DataGrid控件进行一些简单的设置即可,而且还可以改变分页显示的样式。在ASP. NET2.0中,数据链接方面又做了很大的改进,新加入的DataSource系列控件,使得在数据库连接方面更加容易,很多可以通过向导的设置来完成SQL语句的编写和数据库连接。第3章 系统分析与需求实验教学一直是大学教学中重要一环,尤其近年来,随着大学学分制的改革,以及对学生“分析问题,解决问题”能力和动手能力要求的提高,实验教学在本科教学中的地位日益显著,而越来越受到实验教学管理人员和学校领导的重视。作为实验教学管理中重要一部分实验排课,由于涉及因素多,约束条件复杂,一直以来又是整个实验
25、教学中的重点和难点。在计算机技术和信息技术高速发展的今天,充分利用现有的信息技术手段和先进的工具,开发出简单,高效,实用,安全的实验排课系统是很有现实意义的。3.1.系统的一般描述本系统的开发主要是为了提高实验排课的效率,把排课人员从复杂和繁乱的手工排课中解脱出来,从而节省排课人员大量的时间和精力。系统有效的利用了学校的教师,实验室,上课时间等资源,重点解决了课表的自动生成和手工调节等问题,同时也方便了教师和学生对各自课表的查询以及实验室课表的查询和打印,进而良性的促进了整个实验教学,提高了实验教学的质量。3.2系统可行性分析3.2.1技术可行性在现有的一些排课系统或排课软件中,主要是针对整个
26、学校的课程来进行编排,没有考虑实验教学过程中实验排课这一环节本身的特点。而实验排课相对于其他课程的编排,有同它们的相似之处,也有其自身特有的地方。相似之处在于,实验排课本质也是为实验课程安排一组合适的进行实验教学的时间和空间,它同其他课程编排的本质是一样的;不同之处在于,实验课程的编排受实验地点和实验设备的限制比较严重,也就是说,实验教学要在符合其教学要求的特定实验室进行,因此,从实验设备的角度考虑,实验课的编排通常就指定了实验室,空间因素就已经人为的进行指定了。从这一角度说,实验课程的编排相对于其他课程的编排,变的简单了很多。ASP.NET作为一种先进的Web应用程序开发技术,不但功能强大,
27、相容性更好,而且还具备了更好的性能安全性,从数据库管理系统、浏览器/服务器软件到Internet/Intranet软件,都可以用ASP.NET开发完成。数据库系统SQL Server 2000提供了强有力工具进行全企业的数据管理、数据复制、并行数据管理、大型数据库以及与OLE的技术的集成。在ASP.NET中通过ADO.NET(ActiveX Data Objects.NET)来访问数据库。ADO.NET使用“无连接传输模式”来访问数据源。“无连接传输模式”指的是当用户要求访问数据库时,无须经过冗长的连接操作,而且通过ADO.NET添加的DataSet(数据集)对象,ADO.NET无须锁定数据源
28、,ADO.NET会将数据源读入DataSet对象,每个用户都拥有专属的DataSet对象,因此,用户就不再需要争夺数据源。为了提高实验教学的效率,开发出一个基于B/S结构的实验排课子系统,利用现有的这些工具和方法,在技术上完全是可行的。3.2.2经济可行性传统的手工排课,过程主要就是“摆牌15”,是在一个画有空课表的版面上将有课名的小牌摆在适当的位置上,边摆边观察,边调整,凭借经验将各门课程摆在合理的位置上,最后形成一个有效的课程表。这种办法没有一定的规律,没有理论作指导,具有很大的盲目性。所以要为成千上万名学生和上百名教师安排出合理的课表,往往需要花费排课人员大量的时间,工作量大,排出来的课
29、程表不宜调整。而现有的一些排课系统和排课软件,一方面局限于各个学校自身具体的实际情况,没有一个通用的效果,不宜推广;另一方面,没有考虑到实验教学自身的特点,很难用在实验课程的编排上来。因此根据我校实验教学的实际情况,开发出一个基于B/S结构的实验排课子系统是非常有必要的。如果该系统投入到实际应用中来,一方面,提高了实验排课科学性,排课人员无须根据自己的经验来“摆牌”,只需在实验课表排出来后,根据经验做少量调整即可;另一方面,大大节省了排课时间。原来复杂,信息量大,限制条件多的排课过程由计算机来处理后,马上能得到一个较为理想的实验课表,因此将排课人员从繁杂的排课过程中解脱出来。3.2.3易操作性
30、该湖南工业大学实验教学管理系统基于B/S的实验排课子系统的设计目标是立足于开发一套简单易用,方便快捷,功能强大的信息管理系统。“基于B/S的实验排课子系统”使用简单明了的操作界面,简单易用意味着系统简易,美观的图形操作界面;功能强大意味着系统的实用性,功能的全面性,系统的安全性和可靠性。只要知道基本的业务流程即可对各项管理进行操作,这样使得操作变得更加轻松,因而在操作上是完全可行的。按上述三方面进行可行性分析1、研究后,我们认为该系统的开发是可行的。3.3系统需求分析实验室排课一直是实验教学管理人员一项重要且复杂的基本工作,它涉及面广,限制条件多,其实质就是为学校所设置的实验课安排一组适当的教
31、学时间和空间,从而使整个实验教学能够有计划,有秩序的进行下去。在实际中,排课具有很多的约束条件,其中包括实验室,班级,教师,课程,时间等多种因素19,结构和过程也相当复杂。如果完全依靠人工手动来完成,则需要耗费大量的人力和时间。因此我们希望用计算机代替人工来完成实验课表的编排,从而大大提高排课工作的科学性和准确性,同时也提高工作效率,减轻实验室管理人员的负担。3.3.1系统功能需求该基于B/S的实验排课子系统主要提供一个实验课程的编排和查询平台,涉及到管理员,教师和学生三个部分的功能。3.3.1.1管理员部分的功能(1)管理员登录功能,根据权限进入管理员相应的页面的功能。(2)基本数据的输入在
32、排课之前,需要输入大量的基本数据信息,其中包括班级信息,教师信息,实验室信息,课程信息,并且提供对这些信息的增,删,修改功能。基本数据的保存可以用数据库形式进行保存,有利于系统的集成。(3)课表编排课表的编排分为自动编排和手工调节两部分。课表的编排不是任意的,它是一个时间,教师,班级,实验室,课程五者的组合规划问题,为达到最好的实验教学效果应遵循一定的要求。这些要求有以下几条:1)同一班级在同一时间不能安排两门实验课;2)同一教师在同一时间不能进行两门实验课的教学;3)同一实验室在同一时间不能安排两门实验课;4)同一时间安排的实验课程总数不能大于实验室总数;5)同一教师或同一班级最好选择几个相
33、对固定的实验室;最后,管理人员可对计算机初排结果通过人工交互进行适当的调整。(4)课表信息管理排课结束以后,可对排课结果进行多种条件的查询,并可以输出不同形式的课表,包括班级课表,教师课表,实验室课表,并且可以对这些课表进行打印。3.3.1.2教师部分功能(1)教师登录功能,根据其权限进入教师相应的页面的功能。(2)教师对自己课表的查询功能,教师可查询本学期自己所教实验课程的课表。(3)教师对自己课表的打印功能,教师可打印本学期自己所教实验课程的课表。(4)实验室课表的查询和打印功能。3.3.1.3学生部分功能(1)学生登录功能,根据其权限进入学生相应的页面的功能。(2)学生对自己所在班级课表
34、的查询功能。(3)学生对自己所在班级课表的打印功能。(4)实验室课表的查询和打印功能。3.3.2系统性能需求(1)一致性:系统的数据要保证一致性、准确性,当数据库中某一记录改变,与之相关联的数据也随之变化。(2)适用性:能够广泛的用于不同院系的实验排课。系统采用模块化设计,用户可以根据自己的实际情况自行组合,使系统在不同的硬件环境下都能得以应用。(3)实用性:为实验排课提供方便,有效地进行实验课表的查看和打印,尽量最大限度降低管理员日常管理工作量,提高实验教学质量和效率,优化资源,实现效益最大化。(4)操作简单:本系统应该适用于不同的使用者,包括管理员,教师和学生,同时系统不应太复杂和烦琐,因
35、此要求系统的操作尽可能简单易行。(5)安装使用简便:服务器端的安装简洁明了,客户机无需再装任何软件,通过浏览器就可以直接访问,只要接入Internet,无论您身在何处,只要您可以访问Internet都可以使用本系统。3.4系统功能模块划分基于B/S结构的排课子系统是实验教学管理系统的一部分,根据该系统的要求,基于B/S结构的实验排课系统是集教师信息,班级信息,课程信息,实验室信息,课程信息和课表信息于一体的管理信息系统16。该系统的系统流程图如下:班级信息录入实验课程信息录入教师信息录入实验室信息录入班级信息实验课程信息实验室信息教师信息排课处理课程表库课表查询课表打印生成课表图3.1 排课系
36、统的系统流程图通过对该系统的分析,基于B/S结构的实验排课系统主要包括基本信息录入,课表编排,课表管理等几个功能模块。对排课业务进行分析后,确定排课系统实现以下功能:(1)基本信息管理模块负责对排课所需要的信息进行管理和维护。实验排课涉及面广,数据较多,如班级信息,课程信息,实验室信息,教师信息。该模块主要实现对这些信息的增,删和修改功能。(2)课表编排模块是本系统的核心,也是该系统的重点和难点,主要实现课表的自动编排和手工调节功能。在录入排课所需要的一些基本信息后,排课算法将进行自动排课,如果排出来的课表存在冲突,可通过手工调节对课表进行人为的调整,使课表尽量达到人的主观能动性,以确定最后的
37、课表没冲突的地方。(3)课表管理模块主要提供对课表的查询和打印功能。课表编排完成后,可对课表进行多种条件的查询,比如可查询班级课表,教师课表和实验室课表,系统还提供对这三类课表的打印功能。该实验排课子系统的功能模块图如下所示:基本信息管理课表编排课表管理班级信息管理课程信息管理实验室信息管理教师信息管理自动排课手工调节班级课表查看和打印教师课表查看和打印实验室课表查看和打印实验室排课系统图3.2 实验排课系统功能模块图第4章.系统设计实验排课子系统是一个关于实验课程编排的管理信息系统,主要针对学校实验教学设计,它能够帮助实验排课人员处理大量复杂的排课信息,有效的生成实验课表,节省了排课人员大量
38、的时间和精力。本章主要介绍该系统各个模块的设计以及数据库设计。我们按照实验排课的业务流程,通过对系统内数据流的控制,使各模块按照其内在的联系组成一个有机的整体,模块统又具有录入,修改,删除,查询,打印等功能,各模块界限分明,任务明确,能实现动态管理,而且界面友好,操作简单,并且有很好的纠错能力。4.1系统设计原则与目标系统设计原则与目标如下5: 安全性:防止未经授权的人员误用乱用该系统。 经济实用:和已有设施紧密配,合充分利用所有设备,避免重复投资。 满足对容量和容错的需求。 兼容性和扩展性:为满足未来软硬件的灵活部署和容量要求,应考虑系统规模扩展的需求和升级能力。 易于管理和维护:系统易于管
39、理和操作;同时,系统维护应尽量集中、简单,尽量避免复杂系统和多系统组合的维护开销,减轻维护人员的负担。 强大的可开发性:系统应配备健壮的开发接口和丰富的开发工具,充分支持现有的开发手段和开发成果,开发平台应该易用并足够强大以满足变化的需求。4.2系统软件体系结构实验排课子系统采用B/S结构,统一管理数据库和Web服务器。在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,形成所谓3-tier结构,第一层是客户端(用户界面),提供用户与系统的友好访问;第二层是应用服务器,负责业务逻辑的实现;第三层是数据服务器,负责数据信息的存储、访问及其优化
40、。由于业务逻辑被提取到应用服务器,大大降低了客户端负担,因此也成为瘦客户结构,其系统软件体系结构示意图如图4.1所示:图4.1 软件结构体系图4.3系统主要功能模块设计4.3.1基本信息管理模块设计基本信息管理模块提供对排课基本信息的录入,修改,删除等功能,这些基本信息包括班级信息,课程信息,实验室信息,教师信息,该模块的流程图如下:班级信息输入排课班级登录管理员实验课程信息输入实验课程教师信息输入排课教师完成实验室信息输入实验室图4.2 基本信息管理数据流图第一步:输入要进行排课的班级信息,实现班级信息的初始化。第二步:输入要编排的实验课程信息。在这些课程信息当中,存在着多个班级上同一门的实
41、验课程,也有各个班级上不同的实验课程。第三步:输入教师信息。教师可以教授N个班的N门课程。第四步:输入实验室信息,完成实验室信息的初始化。至此,排课基本信息的输入已经完成。4.3.2课表编排模块设计课表编排模块是本系统的核心部分,就排课问题而言,其本质是教室,教师,班级,课程和时间5个要素在各自具备一定限制条件的情况下,寻求一种教师,班级和课程在时间和空间上合理分布的复杂的资源分配问题。该模块分为自动排课和手工调节两部分。它根据输入的基本排课信息(包括班级信息,课程信息,教师信息,实验室信息),按照排课算法来实现对课表的自动编排,对于初排出来的实验课表,如有冲突,或排课人员根据自己的经验认为某
42、门实验课程排在某个特定时间效果可能更好,都可以进行手工调节,以形成最后的无冲突又符合人的主观能动性的实验课表。排课算法的设计是本系统的一个重点和难点,其中排课数据的初始化是通过上面基本信息管理模块中班级信息,课程信息,教师信息和实验室信息四张表格来完成,然后根据排课的一些规则和约束(排课的规则和约束在需求分析当中已阐述)进行自动排课。对于排课算法,由于其复杂度和实际情况的多变,学术界曾出现过遗传算法,模拟退火算法,基于动态规划的算法,曾一度是学术界研究的一个热点,至今仍没有一个通用的能解决所有排课问题的算法。本系统的排课算法根据我校的实际情况而设计,在一定程度上解决了我校的实验课程编排。本系统
43、的排课算法流程图如下:图4.3 实验排课算法流程图4.3.3课表管理模块的设计在完成了课表的编排之后,特意设计此模块来对课表进行统一的管理。该模块主要功能是实现教师课表,班级课表和实验室课表的查询和打印。该模块设计思路为:在页面中设计三个相应的下拉框,从这三个下拉框中选定相应的项目后,便可以进入相应的课表页面,从而可查看和打印相应的课表。在经过课表的自动排课和手工调节之后,已形成最终既无冲突又符合人为意愿的实验课表。要实现班级课表的查询,只需调用最终实验课表中字段为班级名称的记录即可,同样要查询教师课表和实验室课表,只需调用最终课表中字段分别为教师编号和实验室名称的记录即可。在对各课表查看了之
44、后,还可对课表进行打印。4.4数据库设计数据库技术是当今信息时代赖以发展的重要基础技术之一,也是发展较快的计算机技术的重要分支。较好地理解数据库设计原理对于设计出性能高效的数据库系统是很重要的。数据库技术是计算机软件领域的一个重要分支,已形成相当规模的理论体系和实用技术。它的出现使得计算机应用渗透到工农业生产、商业、行政、科学研究、工程技术和国防军事的各个部门,渗透到社会的每一角落,并正改变着人们的工作方式与生活方式。管理信息系统、办公自动化系统、决策支持系统、智能系统等都是使用了数据库技术的计算机应用系统。数据库已经成为信息高速公路的核心部分。B/S结构实验排课子系统,是一个数据库应用系统,
45、许多信息都是保存在数据库中。在数据库应用系统的开发过程中,数据库的结构设计是一个很重要的问题。我们这里所说的数据库结构设计是指各个表结构的设计,包括信息保存在哪些表格中,各个表的结构如何,以及各个表之间的关系。数据库结构设计的好坏将直接对应用系统的效率以及实现的效果产生影响,好的数据库结构设计会减少数据库的存储量,数据的完整性和一致性比较高,系统具有较快的响应速度,简化基于此数据库的应用程序的实现等等。4.4.1概念结构设计概念结构独立于数据库逻辑结构,也独立于支持数据库的DBMS,它是现实世界与机器世界的中介,它一方面能够充分反映现实世界,包括实体与实体间的关系,同时又易于向关系、网状、层次
46、等各种数据模型转换。它是现实世界的一个真实模型,易于理解,便于和不熟悉计算机的用户交换意见,使用户易于参与;当现实世界需求改变时,概念结构又可以很容易地作相应调整。因此概念结构设计是整个数据库设计的关键所在。概念结构设计通常有四类方法7:1. 自顶向下。即首先定义全局概念结构的框架,然后逐步细化。2. 自底向上。即首先定义各局部应用的概念结构,然后将它们集成起来,得到全局概念结构。3. 逐步扩张。首先定义最重要的核心概念结构,然后向外扩充,以滚雪球的方式逐步生成其他概念结构,直至总体概念结构。4. 混合策略。即将自顶向下和自底向上相结合,用自顶向下策略设计一个全局概念结构的框架,以它为骨架集成
47、,用自底向上策略设计各局部概念结构。无论采用哪种设计方法,一般都会以E-R模型为工具来描述概念结构6。1. 实体(entity):客观存在,可以相互区别的东西称为实体。实体可以是具体的对象,例如一名女学生,一间房间等。也可以是抽象的事件,如一次歌唱比赛,一次看电影等。实体类型用矩形框表示。2. 实体的属性(attribute):实体有很多特性,每一个特性称为属性。每个属性有一个值域,其类型可以是整数型、实数型或字符串型。例如学生有学号、姓名、年龄、性别等属性,相应值域为字符串、字符串、整数和字符串型。属性用椭圆表示,椭圆内为实体属性名称。使用线段将其和相应的实体连接起来。3. 实体和实体之间的联系:通过棱形框联系实体,棱形内为联系的名称。实体和实体之间的联系较多,比较常见的联系有三种。(1)一对一联系:对于实体A构成集合中每个实体,在集合B中至