毕业论文-基于BS模式的排课系统的设计与实现_第1页
毕业论文-基于BS模式的排课系统的设计与实现_第2页
毕业论文-基于BS模式的排课系统的设计与实现_第3页
毕业论文-基于BS模式的排课系统的设计与实现_第4页
毕业论文-基于BS模式的排课系统的设计与实现_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

1、毕业设计基于B/S模式的排课系统的设计与实现 学生姓名 学 院 班 级 学 号 指导教师 2016年 5 月 16 日盐城师范学院毕业设计基于B/S模式的排课系统的设计与实现摘 要随着现代化的信息发展,电脑软件能够全面实现信息的获取、处理。素质教育日益得到重视,大部分高校都开始采用智能排课系统,甚至逐渐替换了传统的排课模式。学校教务处运用智能化的排课系统可以在符合各种排课管理需求的同时为教务人员减轻工作量且有效地避免编排过程中出现的并发与错选等问题。基于B/S模式的排课系统,主要功能是教务管理及排课自动化的实现。系统划分了三个不同角色,分为管理员、教师和学生。管理员的功能大致是由基础管理,排课

2、管理和账号管理等功能构成的,其中基础管理是对班级和专业以及科目等加以有效的管理;学生及教师模块的功能主要就是个人管理和课表的查询打印等。排课系统的整体设计基于JSP技术,采用标准的MVC三层架构,实现灵活的一体化发展,采用简单的界面,方便操作,降低了系统开发的复杂性。【关键词】排课系统;B/S 模式;MVC;JSPThe Course Arrangement System Based on B/SAbstractWith the development of modern information, information acquisition and processing can be co

3、mpletely implemented by the high quality of computer software. Quality education is getting more attention , and most of the colleges and universities have begun to use the intelligent course arrangement system, which even gradually replace the traditional pattern. Intelligent course arrangement sys

4、tem satisfies the needs of the school administration office for arranging management, which can reduce the workload and reduce the concurrent and wrong choice in the course arrangement for educational administration personnel.The course arrangement system was based on B/S mode, whose main function w

5、as the implementation of teaching management and course arrangements automation. This system was divided into three different roles: administrators, teachers and students. The function of the administrator mainly included the basic management, course arrangement and account management, in which the

6、basic management was the effective management of classes and subjects and so on. The function of student and teacher module was mainly personal management and query of schedule printing, etc. The integral design of the curriculum arrangement system was based on JSP technology, using the standard MVC

7、 three tier architecture, realizing flexible integration development. Here the simple UI was used, which made the system could be easily operated and reduced the complexity of system development.Keywords Course Arrangement, B/S , JSP, MVC目 录TOC o 1-4 h u HYPERLINK l _Toc19525 1引言 页,共24页1引言1.1 开发背景课程

8、编排在学校日常管理过程中被视为必不可少的工作内容,以往采用的人工的方式排课,因其复杂性而产生诸多弊端,随着当代科技的进步,计算机技术被广泛运用,通过电脑实现课程管理自动化的做法早已司空见惯。对于通过计算机进行排课展开的研究最早可以追溯到上世纪六十年代,旨在降低人工排课出现的弊端,提高工作效率2。进入二十一世纪,互联网技术的利用与发展已经蔓延至全世界,人们已经可以不受时间与空间的束缚,在面对工程问题时,更加乐于采用Web技术加以解决。同时高校的不断发展,使得专业课程与日俱增,加大了手工排课的难度,也迫使自动化的排课系统被提上议程。1.2 课题来源随着信息技术的飞速发展,日益增长的科技,有助于效率

9、的提高。对于从事教学的工作者,怎样紧跟社会发展的浪潮,怎样借助高效的办学来指导教学工作的全面开展,成为教学工作者迫切需要解决的一个问题。这几年来,随着学校办公自动化的推进,排课自动化也进入了人们的视野。由于教室设备以及教师资源的相对紧张,如何合理地安排和分配资源成了教学工作不得不面对的问题,而人工排课的弊端百出也促使我们更加要找到解决办法6。1.3 开发目的及意义基于B/S模式的排课系统的设计和实现,可以有效地解决人工排课的弊端,提高教学工作的效率和质量,排课系统的实现适应了管理信息化的潮流,大大地节省了人力和物力。管理员能够在本排课系统中,及时对当天的教室排课时间与内容加以查看,并且掌握老师

10、的排课细节,根据自动排课为基础,还可以进行手动修改。本系统对管理员来说比较便利之处就在于进行维护与管理的操作具有简单性与便捷性。师生们能够借助系统直接对课表进行查询,但我们会通过权限的设定,对于不同的角色给予不同的权限以方便管理。排课系统是基于院校网站的基础下所设计添加的一个分支功能。排课系统旨在为教务处在排课时,提供科学合理的方法,以防出现偏差,这样可以有效的安排时间与地点等。同时,便于修改并管理的系统也强大了院校网站的功能,一举多得。2开发环境及相关技术2.1 开发环境软件配置:操作系统:Windows 7开发软件:MyEclipse 10,MySQL 5.0,MyEclipse Tomc

11、at , Navicat for MySQL,Microsoft Excel 2003硬件配置:处理器:Intel(R) Core(TM) i3-2310M CPU 2.10GHz 2.10GHz随机存取存储器(RAM):2.0GB2.2 系统采用的关键技术2.2.1 Java EE技术不同于传统应用开发的技术架构, HYPERLINK /subview/1507/1507.htm t /_blank Java EE是一套利用Java技术简化系统开发管理的体系架构,其中包含了很多组件以简化开发和部署。本系统的Java EE技术基于Java2平台标准版,不但继承了标准版中的优点,如编写一次、随处

12、运行,同时对EJB、Java Servelts、API等还提供了全面的技术支持,简化了具有伸缩性的、繁琐的系统工程的开发,对现有系统提供了强有力的支持。Java EE技术的层次架构如下图2-1所示。图2-1 Java EE层次结构图2.2.2 B/S结构随着技术和互联网的发展,传统的C/S模式已无法满足当今信息发展的需求,于是B/S模式顺应而生,B/S是Browser/Server的缩写,浏览器/服务器模式的一大特色就是使用者只需要一台可上网的电脑就可以进行系统操作,实现了零客户端,节约了开发成本。技术上B/S模式运用了Web浏览器技术,通过结合浏览器各类的脚本语言,来实现原本需要专门软件才能

13、实现的功能,是一种进步的系统结构技术。B/S模式架构图如下图2-2。图2-2 B/S架构图2.2.3 MVC模式MVC(Model-View-Controller)是一种由模型、视图和控制器三个部分组成的设计的典范。它的目的是通过实现动态的设计,使某些程序在后续的设计中可以重复利用,不需要重复编写,简化了系统后续功能的编辑和扩展。与此同时,MVC分层结构不但方便了繁琐的应用程序的管理,而且简化了分组开发,视图、控制器逻辑和业务逻辑三个部分可以同时由不同的程序员开发。架构图如图2-3所示。图2-3 MVC架构图2.3数据库选择就目前的Web应用来看,MySQL这一关系数据库应用软件属于最常用的,

14、并且,MySQL数据运用的存储方式相对传统数据库而言有很大区别,传统数据库仅仅将数据存于一个大仓库中,MySQL会根据相应的数据库表完成存储,可以对多线程加以支持,使得数据更具灵活性,同时,提升了数据读取的效率。MySQL对数据库的访问,主要是采用标准化的SQL语言,提供多种方式(如TCP/IP、JDBC)来连接数据库,同时其所具备的特点如开源性、低成本、小体积等都深受开发者的喜爱1。系统采用MySQL对其数据库进行构建,可以更好的用于前期对数据展开整合处理操作,还有助于对二次开发的数据进行扩展操作,MySQL处理有限级的数据时,更加显得游刃有余。在使用MySQL的同时配合Navicat fo

15、r MySQL的图形化界面,实现数据库可视性的图形化界面,更简洁直观的操作数据库,从而更好的保证数据库设计的准确性。3需求分析3.1 系统可行性分析系统开发前通过各方面对课题的主要内容和硬软件条件进行调查研究和分析比对,对系统开发过程中及完成以后可能面临的问题进行预测从而提供解决方案,可行性分析是项目展开的先决条件,不可或缺。a) 技术上的可行性:本系统采用MyEclipse 10集成开发系统,使用Java语言,很容易实现模块化和存储信息。数据库使用MySQL配合Navicat for MySQL的图形化界面,更加方便简洁。基于硬件不存在特殊要求,软件技术方面完全可行。b) 操作的可行性:系统

16、采用基础的B/S模式,登录界面简洁大方,能让使用者快速熟悉系统,掌握系统的操作,具体的操作提示让系统更加人性化,所以操作上具有可行性。c)经济的可行性:软件的选取都采用的免费的软件,均可从相关网站上免费下载,所以经济上具有可行性。d)法律的可行性:系统所用的技术资料全部合法,不涉及抄袭、知识产权等问题。3.2 需求分析3.2.1 系统需求排课系统是整个教学管理中的一个分支,排课的有效实现是新学期开始的重中之重,合理而有效地进行课程编排,是课程管理工作顺利进行的前提保证。因此,为了高效解决排课的问题,开发一个自动化的排课系统,必须考量各类需求及软硬件约束。本系统的具体需求如下:a) 系统用户登录

17、需身份验证,不同用户在登陆界面经过身份验证,获得各自的功能权限,保证各用户功能的独立性。b) 管理员登录系统后可以进行基础管理和排课管理;c) 教师及学生可以查询课表,并支持导出打印功能;d) 系统信息支持Excel批量导入和导出功能,更加方便快捷;e) 系统技术上基于JSP,模式上采用B/S,能不受时间地点限制的进行管理;f) 自动排课满足上课教室,任课教师等教学资源的不冲突,保证排课的合理性和科学性。3.2.2 功能需求管理员功能a) 登录功能:管理员进行页面登录,验证身份后进入系统;b) 基础管理:基础管理包含课程、班级、专业及教室管理,管理员通过基础操作(如修改、添加和查询等)来管理信

18、息;c) 排课管理:在信息管理的基础上,管理员可以给每个班级进行排课,系统在避免教学资源冲突的基础上合理排课,管理员考虑实际情况进行手动调整,实现既科学又人性化的排课;d) 管理用户:管理员可以修改删除帐号资料;e) 学生管理:管理员可以对用户信息进行添加、查询、修改及删除操作;f) 教师管理:管理员可以对教师信息进行添加、查询、修改及删除操作;g) 导入功能:管理员通过导入Excel功能将基础信息上传系统进行管理,并存入相应的数据库表中;h) 导出Excel:管理员查询到的信息可导出为Excel文件;i) 课表打印:课表进行查询后支持导出打印功能;j) 修改密码:管理员可以随时修改密码;k)

19、 退出登陆:用户使用完系统后退出并删除登录信息,确保信息安全。教师功能a) 登录功能:教师进行页面登录,验证身份后进入系统;b) 查询课表:教师点击查询,可以查看课程的编排情况;c) 导出课表:课表查询后可以导出Excel表格支持打印;d) 密码修改:教师进入系统可以修改密码;e) 退出登陆:用户使用完系统后退出并删除登录信息,确保信息安全。学生功能a) 登录功能:学生进行登录帐号,验证身份后进入系统;b) 查询课表:学生点击查询,可以查看课程的编排情况;c) 课表导出:学生查询完课表可以导出为Excel表格后进行打印;d) 密码修改:学生进入系统后可以修改密码;e) 退出登录:用户使用完系统

20、后退出并删除登录信息,确保信息安全。 3.2.3 性能需求运行速度:要求系统能在短时间内反应以处理数据信息,运行速度快且稳定:美观性:系统界面设计要求美观,简洁大方;安全性:系统登录有严格的身份验证,对用户的登录操作具有保密措施;健壮性:系统对于不符合规范的输入数据做出合理处理,确保信息安全;功能一体化:功能的实现都集中于一个统一的界面,方便操作;查询综合化:系统查询功能只需在查询窗口中输入相应可查询字段均可进行查询。4 系统概要设计4.1 系统功能模块系统功能模块主要是管理员功能设计,包括了基础管理、排课管理和基本信息维护;其中基础信息管理功能包括班级、课程、教室、教师及学生的基础管理,主要

21、就是管理员录入、编辑、删除和查询用户信息操作的实现,排课功能则是在各教学资源不冲突的情况下合理安排课程,在此基础可以进行手动排课及导出为Execl进行打印等;教师和学生的功能主要是个人信息维护和排课结果查询及导出打印,详细的系统模块功能如图4-1所示:图4-1 系统模块功能模块图4.2 系统流程图用户对基于B/S模式的排课管理系统进行登录时,需要对用户权限身份进行选择,也就是对排课系统的页面进行选择访问,可以全方位地规范各个用户的各权限,管理员访问管理员界面后可以对基础信息进行查看并进行修改等操作;师生访问界面后只能对一些基本的课程安排信息进行搜索。 根据上面所描述的系统需求和功能模块分析,画

22、出系统流程图,管理员的流程图详见下图4-2:图4-2 管理员模块流程图教师/学生的流程图详见下图4-3:图4-3 教师/学生的流程图5数据库设计与分析5.1 数据库概念模型设计系统的E-R图,如图5-1所示。图5-1 排课系统的E-R图5.2 数据库逻辑设计本系统数据库的设计中,涉及到的部分表如下所示:a) 用户表,包括了用户编号、登录名、密码、姓名、权限类别、性别、年纪、联系方式等,详细见下表5-1。表5-1用户表sysuser数据类型名称说明intid用户编号varcharnuame登陆名varchartname名字varcharupass密码varcharutype权限类别varchar

23、sex性别intage年纪varcharaddrs地址varchartel电话varcharsavetime保存时间varcharemail邮件varcharfilename照片varcharseries系varcharbclass班级b) 班级信息表,包括了班级编号,班级,院系的信息,表单设计见下表5-2。表5-2 班级信息表bclass数据类型名称说明intid班级编号varcharclass班级varcharseries院系c) 课程信息表,表中包括课程编号、课程名称、课程描述、教师姓名、院系、学分、课程资料、课程开始及结束时间,详见下表5-3。表5-3 课程信息表course数据类型名

24、称说明intid课程编号varcharkname课程名称varcharkbei课程描述varchartename老师姓名varcharseries院系varcharisbx课程类型doublecredit学分varcharstime开始时间varcharetime结束时间varchardocname课程资料d) 教室信息表,包括了教室编号及教室号,详细见表5-4。表5-4 教室信息表croom数据类型名称说明intid教室编号varcharroomno教室号e) 时间表,时间表用于排课时间的生成,包括时间编号及课时,见表5-5。表5-5 时间表ktime数据类型名称说明intid时间编号var

25、charbday课时f) 排课信息表,该表用于排课信息生成后存入,包括课表编号、课程名称、上课时间、上课班级、上课教室,课时等,详细见表5-6。表5-6 排课信息表kechenb数据类型名称说明intid课表编号varcharbkc课程名称varcharbtime上课时间varcharbclass班级varcharbroom上课教室varchartuname教师varcharbday课时6系统的功能实现6.1 登录功能 6.1.1 权限登录函数用户登录的时候选择不同登录身份,系统核对后台数据库,如果身份存在,进入系统对应权限界面,否则无法登录,具体代码实现如下:String utype=use

26、r.get(utype).toString(); if(utype.equals(管理员) url=kechenb.jsp; /管理员身份核对进入管理员权限界面 if(utype.equals(学生) url=stkechenb.jsp; /学生身份核对进入学生权限界面 if(utype.equals(教师) url=tekechenbs.jsp; /教师身份核对进入教师权限界面6.1.2 界面实现图6-1 登录界面6.2 管理员功能实现6.2.1 课程管理功能的实现课程管理的功能实现是对课程进行基础的增删改操作,即创建三个类,一个是Info类,里面包括课程信息,一个是CommDao类,在此类

27、中完成数据库的连接,最后一个是MainCtrl,在此类中通过doAdd()、doDelete()和doUpadate()来实现具体增删改的操作,同时还可以通过关键词查询到具体信息,下面对具体界面进行详细的介绍 ,详见图6-2。图6-2课程管理界面管理员进入课程管理界面,通过调用MainCtrl中的doAdd()来添加相关课程信息的操作,添加课程界的面详见图6-3所示。图6-3添加课程界面6.2.2 班级管理功能的实现对班级管理界面展开详细的介绍,管理员进入班级管理界面可以添加相关专业即相关的系,然后对对应的院系添加所属的班级,并对已有信息可以进行修改删除等操作,详见图6-4。图6-4班级管理界

28、面添加班级的关键代码如下。HashMap exp = new HashMap(); /实例化一个对象String tparentid=request.getParameter(tparentid)=null?:request.getParameter(tparentid); exp.put(tparentid,tparentid); new CommDAO().insert(request,response,bclass,exp,true,true); 详细添加的界面如图6-5所示。图6-5 添加班级界面6.2.3 学生信息管理功能的实现学生信息管理功能的实现类似于课程管理所具备的功能,增删改

29、功能实现不做重复叙述,查询的实现在这里可以是通过关键词查询到具体信息,管理员可以通过调用Info.java中的getselect()方法任意选择姓名、班级或系等进行查询,界面详见图6-6。图6-6 学生信息管理界面点击添加信息来添加学生信息界面如图6-7所示。图6-7 添加学生信息界面6.2.4 排课功能的实现排课系统的重中之重就是排课功能的实现,本系统中排课功能的实现是在选择的排课班级不为空,且用户权限为管理员的条件同时满足时才可以进行自动排课,课程编排保证一门课一个礼拜上两次,其中教师资源和地点等不能冲3,突排课算法的实现分为以下步骤:第一步: (根据时间实施排课)a)在任务表中,取得一条

30、记录,N代表排节数,M代表己排节数;当M等于N时,自行返回,表示本任务顺利完成,从任务表中,取得下一条任务;也就是说,直至任务表尾,始终为M等N,就可以返回按时间排课完成!b)当M小于N时, 变量Teacher代表“老师”字段,设定变量class代表“班级”字段c)假设变量Week代表上课星期,假设Week允许值为:周一至周六 。设定变量Time代表上课所在天的节数,假设Time允许取值为: 一、二节,三、四节,五、六节,七、八节;d)当Week为特定值,当不处于允许值范畴,则,应当及时将错误返回;设定Time为一特定值,如果不在允许的值内,返回错误;e)当Teacher和Week以及Time

31、为前置条件,翻阅课表K,获得相应的记录A,表示返回排课失败,应当及时进入(d);f)当class和Week以及Time为前置条件,翻阅课表K,获得相应的记录B,表示返回排课失败,应当及时进入(d);未获得相应的记录;应当增设课表记录于课表中,表达方式为:M=M+2处理,表示已经顺利返回,可以进入至第二步。第二步:(根据地点实施排课)a)假设教室字段等于零,翻阅课表课表K,未获得所需记录,应当立即返回至第一步;如果获得所需记录E,应当及时将上课时间记录至Week和Time;b)从教室表里面得到一条记录,设定变量Address为“教室”字段;c)将Address和Week以及Time为前置条件,翻

32、阅课表K,获得相应的记录D,表示返回排课失败,应当及时进入(d);如果未获得相应的记录,可以进入(d);d)E的“地点”字段来详细记录Address的内容,表示可以返回完成。最后返回第一步。排课模块实现的界面详见图6-8。图6-8排课模块实现界面6.2.5 基础信息维护功能的实现基础信息维护指的是修改个人信息和密码,信息修改的界面实现如图6-9所示。图6-9信息修改界面用户修改密码,需要输入原密码,然后设置两次新密码,通过定义两个String类P1和P2,若P1不等于P2则输入不一致,提示修改错误,如P1等于P2则两次输入一致,提示修改成功,详细界面如图6-10所示。图6-10修改密码界面6.

33、2.6 导入、导出Excel功能的实现本系统的一个特色功能即信息的录入可以通过导入Excel来实现,核心代码如下: /判断表单项是否是普通类型 if(item.isFormField() /判断为普通文本表单类型 String name = item.getFieldName(); /定义fieldName作为表单域name属性的值 String value = item.getString(); / 定义value if(news.title.equals(fieldName) news.setTitle(value); else /判断表单项是file 类型 File fullFile=n

34、ew File(item.getName(); /建立对象item java.util.date date=new java.util.date(); SimpleDateFormat formatter = new SimpleDateFormat(yyy-MM-dd); /设置时间 String str = timeFormater.format(date); filefullname = realPath+str+fullFile.getName(); File uploadFile=new File(filefullname); hs.setAttribute(filefullname

35、, filefullname); request.setAttribute(message, 导入成功); else request.setAttribute(message, 导入失败); 导入界面如下图6-11所示。图6-11 导入excel信息界面借助调用admin.jsp里面的doPrint()方法,采用xls格式将查询到的课表加以导出。采用util包里面定义的GetXls()来展示课表形式。具体实现为:input type=button value=导出excel class= onclick=window.location.replace(jssysusercx.jsp?excel

36、=excel,具体功能图见6-12图6-12 导出excel信息界面6.3 教师及学生功能的实现教师及学生的功能模块的实现,主要是指教师和学生可以进行查询和导出排课信息的操作,代码等在上述管理员功能实现的详细叙述中已经提及,这里就不作重复叙述,界面实现如下图所示。图6-13 课表查询界面图6-14 导出excel信息界面图6-15基础信息维护界面7系统测试7.1功能测试排课系统设计完成后对系统需要进行功能测试,确保系统功能的实现,验证系统的完整性,接下来对系统的功能实现进行测试,具体测试情况见下表7-1:7-1系统功能测试表功能实现测试方法测试结果发现问题解决方案权限登陆按不同身份进行登陆(包

37、括正确和错误的账号密码)选择对应权限的账号密码进行登陆才可以登陆成功,否则失败无无管理班级信息对班级信息进行增删改查测试在页面操作的数据会同步到后台数据库无无管理课程信息对课程信息进行增删改查测试在页面操作的数据会同步到后台数据库无无管理教师信息对教师信息进行增删改查测试在页面操作的数据会同步到后台数据库无无管理学生信息对学生信息进行增删改查测试在页面操作的数据会同步到后台数据库无无自动排课功能系统自动排课后,人工比对课表的冲突性自动排课的课表确保一门课一个礼拜上两次,且教师教室不冲突无无导入功能将不同的信息进行导入页面显示导入成功但数据不同步入数据库导入excel的内容和数据库的数据内容顺序

38、不同修改导入excel文件内的信息顺序与数据库相同导出功能以不同角色将信息进行导出操作导出成excel文件进行保存无无7.2 兼容性测试系统开发过程中是通过360浏览器进行测试的,所以系统完成后首先对系统兼容性进行测试,采用除360浏览器外的不同浏览器(如IE浏览器、火狐浏览器,谷歌浏览器等)来访问系统界面,测试界面的显示情况,具体访问情况如下表7-2:7-2系统兼容性测试表 浏览器 测试内容360浏览器IE浏览器火狐浏览器谷歌浏览器登陆界面是否兼容是是是否(登陆按钮排布不同)管理员界面是否兼容是是是是排课界面是否兼容是否(排课按钮显示不同)是是课程管理界面是否兼容是是是是班级管理界面是否兼容是是是是教室管理界面

温馨提示

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

评论

0/150

提交评论