基于java的教务排课系统论文_第1页
基于java的教务排课系统论文_第2页
基于java的教务排课系统论文_第3页
基于java的教务排课系统论文_第4页
基于java的教务排课系统论文_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

11.1

中北大学信息商务学院2010届书引言开发背随着信息技术的飞速发展各个行业的信息化势在必行科技的进步大大地提高了生产率。作为高校,如何才能提高办学效率,更好地完成教学任务,跟上社会发展步伐这是一个摆在教学工作者面前的一个迫切的问题应用信息化来改造传统的教学管理模式是一个重要途径近几年来随着各高校办公自动化工作的推进教务管理自动化也被摆上了日程。在教务工作中占有很大比重的一项就是每学期的课程表排定工作。由于教工、教室和设备的相对紧张如何进行合理地安排和分配从而充分利用教学资源是我们不得不面对的问题进行排课不仅任务重,效率低,而且易出错,难于维护想要排出一张各方面都满意的课表非常困难并且随着高校规模的扩大手工排课的难度和工作量呈几何级数增长

。在实际的应用中很多研究者都提出了各种解决排课问题的方法由于排课问题的复杂性,还没有找到有效的算法能获得NP完全问题的最优解。因此,如何运用近似算法和新的软件技术来降低排课问题的计算复杂度然是颇具挑战性的研究方向

。排课管理系统是利用数据库管理系统开发的一种应用系,其开发主要包括数据库的建立充分满足正常的题库管理的前提下提供了多角度的题库信息查询和题库信息分析报表使学校管理人员可以随时掌握学校的排课情况进一步指导学校的教学。真正实现了业务一体化,为学校全方位的信息化管理奠定了基础

。传统的人工排课使用手工操作存在许多弊端,如重复劳动严重、效率低下、且不能达到资源的最优化配置等,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难令人担心的问题就是——出现教室资源冲突或教师资源冲突的情况,而且工作繁琐,工作量巨,尤其是在给大学校园进行排课时出现的问题更多

。当前高校教务管理所涉及到的信息资料数量大、类型多,还可能带有大量的统计输出时学校规模的不断扩大和招生人数的逐年攀升导致传统的排棵手段已无法满足现代化管理的要求

。在教学计划的不断完善和各高校校园网建立的大背景下计满足高校教务要第页共页

中北大学信息商务学院2010届书求的排课系统显得十分必要而据了解排课管理是高校教务处重复性比较强且急需得到解决的工作,且排课系统有安全性要求高、交互性强、处理数据量大等人工难以实现的特点因此设计一个基于校园网络的人工智能化且操作简便的排课系统是高校教务管理信息系统实现的首要条件同时也是一大难点因为排课管理要求综合考虑教师课程班级教室时间等诸方面的因素统筹兼顾使课表既符合教学规律,又能够充分利用现有资源使其最大限度地发挥作用1.2

国内外究现状早在20世纪年代末外就有人开始研究课表编排问题1963年曾提出一个课表问题的数学模型但由于排课问题易受实际问题的影响求解结果也不理想世纪70年代,美国人S.Even等就证明了排课问题是一个完全问题,其算法的时间复杂度呈指数增长S.Even的论证正式确立了排课问题的学术地位,把人们对排课问题的认识提高到了理论高

。此外,有些文献试图从图论的角度来求解课表问题,但是图的染色体问题也是NP完全问题,只有在极为简单的情况下才可以将课表编排转化为二部图匹配问题

。在国内,20世纪80年代初期,国内学者开始用从模拟手工排课,也有人工智能构建的专家系统等等,具有代表性的有:南京工学院的UTSS(AUniversityTimetableSehedulingSystem)统,大连理工大学的智能教学组织管理与课程调度系统等。这些系统大都是模拟手工排课过程,以“班”为单位,运用启发式函数来进行编排的但是这些课表编排系统往往依赖于各个学校的教学体制不宜于进行大量推广

。第页共页

2

中北大学信息商务学院2010届书相关技术介2.1JSP简介JSP应用程序不同于其他语言开发的单一性程序使用编程时必须首先确定应用程序如何与用户交互如鼠标单击用户必须编写代码控制这些事件的响应方法。使用JSP开发数据库应用程序的一般步骤如下所示:(1)建立数据库(2)建立用户界面(3)编写代码(4)调试运行(5)编译应用程序(6)发布应用程序界面设计(1)件的位置(2)面元素的一致性(3)持界面的简明(4)用颜色和图像:增加视觉的感染力(5)像和图标:增加应用程序的视觉上的趣味(6)取字体JSP应用程序的结构:由于JSP应用程序是基于对象的以应用程序的代码结构就是该程序在屏幕上物理表示的模型。根据定义,对象包含数据和代码。在屏幕上看到的窗体代表属性,这些属性定义了窗体的外观和内在特性2.2SQL2000简介

本系统所用SQLServer2000的特性包括:1.Internet集成企业级数据库功能;3.易于安装、部署和使用。同时本系统使用SQL2000个人;其特性为:高性能设计,可充分利用WindowsNT的优势。第页共页

中北大学信息商务学院2010届书系统管理先进,支持Windows图形化管理工具,支持本地和远程的系统管理和配置。强壮的事务处理功能,采用各种方法保证数据的完整性。支持对称多处理器结构、存储过程、ODBC,并具有自主的SQL语言。SQLServer以其内置的数据复制功能、强大的管理工具、与Internet的紧密集成和开放的系统结构为广大的用户、开发人员和系统集成商提供了一个出众的数据库平台

。2.3Tomcat简介Tomcat很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的Tomcat是一个小型的轻量级应用服务器,在本系统中当在一台机器上配置好Apache服务器利用它响应对HTML页面的访问请求实际上部分是Apache服务器的扩展,但它是独立运行的,所以当你运行tomcat时,它实际上作为一个与Apache独立的进程单独运行的。当配置正确时,为面服务,而Tomcat实际上运行JSP页面和Servlet另外,Tomcat具有处理HTML页面的功能,同时它还是一个Servlet和JSP容器,独立的Servlet器是Tomcat的默认模式

第页共页

33.1

中北大学信息商务学院2010届书需求分析系统的要功能1掌握学校所有的课程和教师的信息包括每门课程的时间班级以及任课老师的姓名等。2针对不同的人员授予不同的权限。提供灵活的浏览、查询功能。可以查看某个系、某个班级所有课程的信息。3可以对一个或多个班级进入课程管理与排课表管理以不限次的生成该班级课程表。4可以对课程进行变动管理。既可以手工排课,又可以实现自动排序功能。5帮助系统维护可以实现:操作日志、重新登录、打印设置(包括统计各种报表及打印等退出等操作。6提供一种或多种课程表输出功能并使用活动的模板输出功能输出样式可以由用户自定义。7实现功能全面化,由于每个学校或班级的每天课程数目或时间都不太一样,实现智能计算总课程数目和管理对应的时间段且根据每门课程的独立分布式来进行排列(例如:大学语文自动排列的分布方式可以是周一至周六,那么系统就会自动将其平均分布在周一至周六这些天里8用户管理:设置两个级别用户:管理员和普通用户,管理员有权限操作系统中的所有数据,普通用户只能以执行查询,输出之类的功能,无法对系统进行实质性的操作,用户使用本系统之前必须先通过身份认证(用户级别、用户名和密码,密码输入有次数限制,连续三次输入错误密码则锁定该用户3.2

排课的束条件在我的排课系统主要对不同类型课程进行等级划分排列出课程的排课优先级别通过优先次序对不同类型的课程使用不同的算法进行排课能够非常方便地处理各种排课约束条件的限制。例如教师和教室冲突、班级冲突、教师上课时间和地点选择、分层次教学、单双周排课一课多教师教学和课程连上等各种各样的约束同时该系统还能够非常迅速地得到排课结果,例如排一千门课只需几分钟时间等一系列问题

。第页共页

3.33.4

中北大学信息商务学院2010届书系统所硬件环境(1)处理器:建议使用酷睿2(2)内存:1G以上系统所软件平台(1)操作系统:XP(2)数据库:2003(3)服务器:IIS6.0(4)浏览器:IE7.0,推荐使用全浏览器第页共页

44.1

中北大学信息商务学院2010届书系统总体设设计思本系统采用各班级独立划分管理所有教师均可为任何班级服务各班级根据每天课程数目来进行自动排序同时各教师允许教学多门课程因此为了每名教师配置了时间占用表,只要与班级对应的时间空间表未被占用,都可以参与排课,并根据用户定义的要求排出课程。数据管理类由于班级时间教师程等信息都需要一个活动的管理过程,因为在节省资源的情况下,将各数据所需要的代码合并在一起进行编写和使用。老师管理

班级管理

课程管理

时间段设置排课设计用户管理

课表生成图4.1数管理

学生管理4.2

系统功模块划分教务排课系统在功能上分四个模块,如图:教务排课系统管理与维护

排课算法设计

排课结果查询

课表调整图4.2系统功能模块划分第页共页

4.3

中北大学信息商务学院2010届书数据库构的设计利用SQL来管理排课资源、排课约束条件等信息,利用数据库技术来实现设置排课优先级课时和时间段的匹配以及处理排课资源的冲突从而实现自动排课的目的。主要包含的数据实体有:专业、课程、教师、教室、课程表等。实体的具体属性如下:(1)专业信息包括:专业代码、专业名称;)课程信息包括:课程代码、课程名称、课程类型、总学时、每周课时、任课教师、开课院系、授课班级(专业课人数、约束条件等信息;(3)教师信息包括:教师代码、教师名称、所属院系、约束条件等;)教室信息包括:教室代码、教室名称、教室类型、教室地址、容纳人数等;)课程表信息包括:课程代码、专业代码、教师代码、教室代码、上课时间等。第页共页

55.1

中北大学信息商务学院2010届书系统详细设登录系设计设计说明:进入主界面后等待操作用户输入用户名和密,在输入之后按确定进入,验证用户名和密码,实现流程:(1)检测数据库中有无管理员账号,如果有,则等待用户输入用户名和密码,否则按程序本身自动执行插入命令新建一个管理员用户,并等待用户输入(2)验证用户名和密码是否正确错误次数不能超过三,超过三次则退出系统登陆界面(3)当验证通过后,检测该登陆用户的管理权限,并设置变量传值给主窗体登录界面输入用户名和密码验证账号和密码Y登录排课主界面

退出系统图5.1登系统流程图

主界面课表生成设班级管理设计模块设计说明班级的操作部分是排课程序正常执行的重要部分班级的添加不允许有同名的班级出现而修改也不能做到修改班级名班级名称将作为不可修改的数据部分,而删除部分,在删除之前必须保证该班级的课表是否已经生成,如果是则需要注销课程表这样做是让该班级生成的课表占用教师空间的部分全部返回,这样不会使教师的空间被反复占用,而最终导致错误发生。第页共页

中北大学信息商务学院2010届书班级管理添加

保存

修改

删除

返回输入数据

验证重复5.2.2

执行保存图5.2班管理流程图班级课程处理设计班级课程处理Y添加输入数据

课程是否生成N保存修改验证重复

删除

提示并返回操作执行保存图5.3班课程处理流程图模块设计说明程数据的添加或删除都会影响到已生成课程表的返回,因为在操作之前必要保证课程表属于未生成状态如果当前为生成状态则需要注销课程表,这样才可以继续操作。第页共页

中北大学信息商务学院2010届书注:已生成课程表的返回:由于课程表排列好后,对应的课程后教师的排课占用表都会有标记标明如果这时修改了某此数据后这教师的占用表并没有恢复到未生成状态,这样就会导致不可预知的错误发生。5.2.3

课表生成部分设计课连排

排课循环CDF节课连排G是否再次循环退出

次数取决于课程总数C:当所排课程与当前班级的可课位置生成D:获随机的值来计算课程表上应的横向与纵向坐标F:根用户的设置来确定允许排的课节(例如允许同一课程两节课速派可以进行某个操作步根据当前的需要前只开发2节速排与单节课排列。G:在前课程当前节排列成功后会在该课程的教师的课程占用情况与班级的占用做修改,做个标记图5.4排循环流程图模块设计说明此处将执行的数据分成很多小部分来执行这样做可以在测试中便如发现问题因为排课系统的要求非常高所以在程序实现方面是以由简到繁的过程。(1)排课中要求的每周课程数相加不能超出定义的课表范围,否则也将会出现死循环。(2)列出对应课程教师的未被占用的排课列表和班级的课程占用表。(3)穷举法列出以上两者之间的共通点,可用点。第页共页

中北大学信息商务学院2010届书(4)最后通过循环随机选择来实现课程的定位与排列。(5)课程定位中不允许每天有相同的课程重复,并按规定来执行按什么样的格式来排列,例如两节连排,也就是说可以把该课程在同一天排在一起,可以实现两节课连上,这是大学课表里最常用的一个功能。生成课表显示课程AY进入排课循环排课完成并退出

注释:A:每课程数是否大于课程表的表格数B:退回以前生成的课程表作达到将各位老师和该班级的排课占用情况返回到未生成状态N退出图5.5课生成流程图5.2.4

报表输出功能设计模块设计说明:此处采用了两种输出方式,第一种是普通的报表方式输出,可以实现一般的打印预览等功能二种则是采用模板功能可以自由修改模板,前提是不可以更改数据位,其它的部分无论如何修改都没有关系。第页共页

中北大学信息商务学院2010届书报表输出a

EXCEL板输出a获取模板并复制数据填入临时文件保存临时文件打印

退出a通过班级来获取对应的生成课程表数据并赋值给某个打印变量或数据集

是否打印Y打印开MDI窗在其中显报表窗体,

N将该表的数据源定义为所值的语句变量图5.6报输出流程图

返回操作5.3

数据表计在使用SQL创建“排课管理系统”数据库系统中需要建立的数据表如下所示:1课程信息表5.1课信息表字段课程名课节数每周课数需要周数任课老师两节课累排课程分布所属班级

数据类型文本数字数字数字文本文本文本文本

字段大小50长整型长整型长整型50505050

必填字段否是是是否否否否

索引有无复无无有有复无无无无

允许为空否是否否否否否否第页共页

中北大学信息商务学院2010届书2用户登录表5.2系统登录表字段用户名密码权限

数据类型文本文本文本

字段大小505050

必填字段是否是

索引无有无复无

允许为空否否否3课程名表5.3课程表字段课程名教师姓名

数据类型文本文本

字段大小450

必填字段否是

索引有无复无

允许为空是否4临时生成表表5.4临生成表字段时间段星期一星期二星期三星期四星期五星期六星期日所属班级自动编号

数据类型文本文本文本文本文本文本文本文本文本自动编号

字段大小505050505050505050

必填字段是否否否否否否否否是

索引无无无无无无无无无无

允许为空是是是是是是是是是否5课程占用表表5.5课程占用表字段班级占用

数据类型文本文本

字段大小5050

必填字段是否

索引无有无复

允许为空否否6系统日志表5.6系日志表字段用户名时间操作记录

数据类型文本文本文本

字段大小5050255

必填字段是否否

索引无无无

允许为空否否否第页共页

中北大学信息商务学院2010届书7系统设定表5.7系设定表字段每天课数

数据类型数字

字段大小长整型

必填字段是

索引无

允许为空否5.4

其它模设计此处几个模块是经过资源优化将其与班级管理整合在一起的处工作流程基本上与班级管理的流程相同。第页共页

66.1

中北大学信息商务学院2010届书系统的实现调课功的实现及设说明由系统自动排课生成的并不一定能完全达到用户所想需要的效,虽然在程序中解决了系统冲突的出现,但是因为某些原因而出现临时的原因都需要进行调课,因此排课系统中除了自动生成课表还必须有很灵活的调课功能才能让系统更完,也方便使用。调课获取课程资料获取教室对应资源查询可调点使可调位置变色图6.1调流程图此处调课是事先获取系统有用资源空间并图表中进行背景色变色显示,提示用户该门课程可以调动至变色显示的地,主要是通过班级的课程占用与该教师的排课占用情况进行对比,寻找有利和适用的位置,并等待用户进行调课操作。执行调课:在进行以上操作后,算机自动等待用户选择系统列出的调课,在选择某调课点后,系统自动清除数据库的中该课程的教师与当前班级该处资源占用情况,并同时清除图表中的资,将其重新放置到新位,并修改新地点的资源占用情况,最后将图表的可调位置背景色还原回正常状态。6.2

核心代系统自动排课代码://Class.java第页共页

中北大学信息商务学院2010届书packagecom.youngmaster;publicclassClass{privateStringname;//班级名称privateintid;//班级号privateintnumber;//班级人数privateSequencecs;publicClass(){}publicClass(intid,Stringname,=name;this.number=number;this.id=id;setCs(newSequence());}publicStringgetName(){returnname;}publicvoidsetName(Stringname){=name;}publicintgetNumber(){returnnumber;}publicvoidsetNumber(intnumber){this.number=number;}publicintgetId(){returnid;}

number){第页共页

中北大学信息商务学院2010届书publicvoidsetId(intid){this.id=id;}publicSequencegetCs(){returncs;}publicvoidsetCs(Sequencecs){this.cs=cs;}}//ClassDemo.javapackagecom.youngmaster;importjava.io.*;importjava.util.Date;importjava.util.Calendar;importjxl.*;importjxl.write.*;publicclassClassDemo{publicvoidprint()throwsException{WritableWorkbookbook=Workbook.createWorkbook(newFile("Teaching.xls"));WritableSheetsheet=book.createSheet("第一页",0);Label[]label=newLabel[5];label[0]=newLabel(0,0,"星期");label[1]=newLabel(1,0,"日期");label[2]=newLabel(2,0,"剑锋");label[3]=newLabel(3,0,"秋静");label[4]=newLabel(4,0,"秦少游");for(Labell:label){sheet.addCell(l);第页共页

中北大学信息商务学院2010届书}//输出日期for(inti=1;i<365;i++){Calendarcal=Calendar.getInstance();cal.add(Calendar.DATE,i-1);doublem=cal.get(Calendar.DAY_OF_WEEK);jxl.write.Numbernumber=newjxl.write.Number(0,i,m);sheet.addCell(number);Datedate=cal.getTime();jxl.write.DateTimedt=newjxl.write.DateTime(1,i,date);sheet.addCell(dt);}book.write();book.close();}publicstaticvoidmain(String[]args){ClassDemocd=newClassDemo();try{cd.print();}catch(Exceptione){System.out.println(e);}}}//ClassRoom.javapackagecom.youngmaster;publicclassClassRoom{privateStringname;//教室名称privateintid;//教室号第页共页

中北大学信息商务学院2010届书privateintnumber;//教室容纳人数publicClassRoom(){}publicClassRoom(intid,Stringname,intnumber){=name;this.id=id;this.number=number;}publicStringgetName(){returnname;}publicvoidsetName(Stringname)=name;}publicintgetId(){returnid;}publicvoidsetId(intid){this.id=id;}publicintgetNumber(){returnnumber;

{}publicvoidsetNumber(intnumber)this.number=number;}}//Course.javapackagecom.youngmaster;

{第页共页

中北大学信息商务学院2010届书publicclassCourse{privateStringname;//课程名称privateinttimes;//课时数privateinttimesWeek;privateintid;//课程号publicintgetId(){returnid;}publicvoidsetId(intid){this.id=id;}publicintgetTimes(){returntimes;}publicvoidsetTimes(inttimes){this.times=times;}publicCourse(){}publicCourse(intid,StringtimesWeek){=name;this.id=id;this.times=times;this.timesWeek=timesWeek;}publicStringgetName(){returnname;}

name,inttimes,int第页共页

中北大学信息商务学院2010届书publicvoidsetName(Stringname){=name;}publicintgetTimesWeek(){returntimesWeek;}publicvoidsetTimesWeek(inttimesWeek)this.timesWeek=timesWeek;}}//OrderCourse.javapackagecom.youngmaster;importjava.util.LinkedList;importjava.util.Random;importjava.util.TreeSet;publicclassOrderCourse{privateTeachert1,t2,t3;privateClassc1,c2,c3;privateCoursecs1,cs2,cs3;privateClassRoomcr1,cr2,cr3;privateLinkedList<Course>csList;privateLinkedList<ClassRoom>crList;privateLinkedList<Teacher>tList;privateLinkedList<Class>cList;

{//

已经排成的时间段LinkedList<String>sub1;LinkedList<String>sub2;LinkedList<String>sub3;//

设置老师t1=newTeacher(1001,"剑锋");第页共页

中北大学信息商务学院2010届书t2=newTeacher(1002,"秋静");t3=newTeacher(1003,"秦少游");tList=newLinkedList<Teacher>();tList.add(t1);tList.add(t2);tList.add(t3);//

设置上课班级c1=newClass(0601,"JAVA0601班",20);c2=newClass(0602,"JAVA0602班",25);c3=newClass(0603,"JAVA0603班",19);cList=newLinkedList<Class>();cList.add(c1);cList.add(c2);cList.add(c3);//

设置课程cs1=newCourse(1001,"javabase",29,6);cs2=newCourse(1002,"jsp",35,6);cs3=newCourse(1003,"oracle",51,6);csList=newLinkedList<Course>();csList.add(cs1);csList.add(cs2);csList.add(cs3);//

设置上课教室cr1=newClassRoom(1001,"实验楼303",50);cr2=newClassRoom(1002,"南方商务大厦",40);cr3=newClassRoom(1003,"先锋公司",30);crList=newLinkedList<ClassRoom>();crList.add(cr1);crList.add(cr2);第页共页

中北大学信息商务学院2010届书crList.add(cr3);}publicvoidinitShow(){System.out.println("目前排课的资源情况如下:");System.out.println("教师情况");for(Teachert:tList){System.out.println("教ID+t.getId()+""+t.getName());}System.out.println("教室情况");for(ClassRoomcr:crList){

教师姓名:System.out.println("教室ID:"+cr.getId()+"称:"+cr.getName()+""+cr.getNumber());}System.out.println("课程情况");for(Coursecs:csList){System.out.println("课程ID:"+cs.getId()+"称:"+cs.getName()

教室名课程名+"cs.getTimesWeek());

课时数:"+cs.getTimes()+"

每周课时"+}System.out.println("班级情况");for(Classc:cList){System.out.println("班ID+c.getId()+""+c.getName()

班级名称:}}

+"

班级人数:"+c.getNumber());//

排课流程第页共页

中北大学信息商务学院2010届书publicvoidorder(Teachert){Coursecourse=null;if(t==t1){course=cs1;}elseif(t==t2){course=cs2;}elseif(t==t3){course=cs3;}temList1=(LinkedList<String>)(t.getTs().getList().clone());//temList1存放原教师空闲时间t.getTs().getList().retainAll(c1.getCs().getList());//师与学生时间交集

求教temList2=t.getTs().getList();//temList2放教师与学生时间交集sub1=randList(temList2,course.getTimesWeek());//教师和学生的一定次数的随机组合

取出c1.getCs().getList().removeAll(sub1);//

移去被分去的时间t.getTs().setList(temList1);//

恢复t1中时间t.getTs().getList().removeAll(sub1);//

移去被分去的时间temList1=(LinkedList<String>)(t.getTs().getList().clone());//temList1存放原教师空闲时间t.getTs().getList().retainAll(c2.getCs().getList());//

求交集temList2=t.getTs().getList();//temList2放教师与学生时间交集sub2=randList(temList2,course.getTimesWeek());//

取出第页共页

中北大学信息商务学院2010届书教师和学生的一定次数的随机组合c2.getCs().getList().removeAll(sub2);//

移去被分去的时间t.getTs().setList(temList1);//

恢复t1中时间t.getTs().getList().removeAll(sub2);//

移去被分去的时间temList1=(LinkedList<String>)(t.getTs().getList().clone());//temList1存放原教师空闲时间t.getTs().getList().retainAll(c3.getCs().getList());//

求交集temList2=t.getTs().getList();//temList2放教师与学生时间交集sub3=randList(temList2,course.getTimesWeek());//教师和学生的一定次数的随机组合c3.getCs().getList().removeAll(sub3);

取出t.getTs().setList(temList1);//

恢复t1中时间t.getTs().getList().removeAll(sub3);//

移去被分去的时间}//

输入课表方法publicvoidshowCourseTable(Teachert){Coursecourse=null;if(t==t1){course=cs1;}elseif(t==t2){course=cs2;}elseif(t==t3){course=cs3;}System.out.println();第页共页

中北大学信息商务学院2010届书System.out.println(t.getName()+"的课表详情排列如下:"+"程名称:"+course.getName());System.out.println("班级名称:"+c1.getName()+"名称:"+cr1.getName());for(Strings:listToTree(sub1)){System.out.println(s);}System.out.println("班级名称:"+c2.getName()+"名称:"+cr2.getName());for(Strings:listToTree(sub2)){System.out.println(s);}

教室教室System.out.println("级名称:"+c3.getName()+"称:"+cr3.getName());for(Strings:listToTree(sub3)){System.out.println(s);}

教室名//Sequence.javapackagecom.youngmaster;importjava.util.LinkedList;publicclassSequence{privateLinkedList<String>list=newLinkedList<String>();publicSequence(){list.add("a-星期一1-2

节");list.add("b-星期一3-4list.add("c-星期一5-6list.add("d-星期一7-8

节");节");节");list.add("e-星期二1-2

节");list.add("f-星期二3-4list.add("g-星期二5-6list.add("h-星期二7-8

节");节");节");第页共页

中北大学信息商务学院2010届书list.add("i-星期三1-2list.add("j-星期三3-4list.add("k-星期三5-6

节");节");节");list.add("l-星期三7-8list.add("m-星期四1-2

节");节");list.add("n-星期四3-4list.add("o-星期四5-6list.add("p-星期四7-8list.add("q-星期五1-2list.add("r-星期五3-4list.add("s-星期五5-6list.add("t-星期五7-8

节");节");节");节");节");节");节");}publicLinkedList<String>getList(){returnlist;}publicvoidsetList(LinkedList<String>list)this.list=list;}}//Teacher.javapackagecom.youngmaster;publicclassTeacher{privateintid;privateStringname;privateSequencets;publicSequencegetTs(){returnts;}publicvoidsetTs(Sequencets){this.ts=ts;}publicTeacher(){}

{第页共页

6.3

中北大学信息商务学院2010届书publicTeacher(intid,Stringname){=name;this.id=id;setTs(newSequence());}publicStringgetName(){returnname;}publicvoidsetName(Stringname){=name;}publicintgetId(){returnid;}publicvoidsetId(intid){this.id=id;}}系统的理与维护1.基础数据管理将排课中涉及到的院、系、教研室、教师、班级、教室等事物的信息录入到系统数据库中,并能修改、查询和删除。2.权限管理不同角色的用户登录系统后看到的用户界面不同用户能操作的功能菜单也不同。第页共页

77.1

中北大学信息商务学院2010届书结论设计总1.本程序使用了新型控件flexcell,此控件的双色表格与单元格的特殊赋值功能不但能带给用户最好的视觉感受同时在操作时大大减少了手动输入操作因此也为非计算机人员的可操作性带来很大的方便。2.采用独特的资料占用排除方法来生成所需要的课程表,使课程表生成速度加快。3.支持很方便的课程,用户等模块的添加,修改,删除等过程。4.使用定位查询,只要选择对应的班级,就可以找到对应的内容,班级就是一个整体,通过班级来寻找所想要的数据会实现的更为简便。5.特殊的课程表输出功能,大大减少了课程表输出时的格式局限性,只要修改EXECL中的模板,就可以打印出你想要的效果来。程序的不足:(1)对排课来说,各个学校都有着不太相同的排列方法,有每天的课节数,允许课程连排数,时间段等等,而这些方法转换为计算机语言时,往往会因为这样那样的限制而造成死循环或者程序速度缓慢。(2)由于排课实现功能复杂,程序中也许有不可预知的错误未测试出来,所以这也需要长时间的进行测试才能发现并修复问题。(3)制地库Sqlserver,它同应用程序处于同一系统中,能存储的

温馨提示

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

评论

0/150

提交评论