基于BS的自动排课系统毕业设计正文.docx
- 文档编号:30601545
- 上传时间:2023-08-18
- 格式:DOCX
- 页数:37
- 大小:676.55KB
基于BS的自动排课系统毕业设计正文.docx
《基于BS的自动排课系统毕业设计正文.docx》由会员分享,可在线阅读,更多相关《基于BS的自动排课系统毕业设计正文.docx(37页珍藏版)》请在冰豆网上搜索。
基于BS的自动排课系统毕业设计正文
摘要
随着社会的发展,在现在的社会,信息的各种操作都需要通过计算机软件来完成。
当今,素质化教育也在校园内不断地得到深化。
自动排课模式也在许多的学校内开始遍布了,而传统的教学模式渐渐被取代了。
自动化排课系统,可以满足学校教务处对于排课管理的需求,减少教务人员工作量的同时降低排课中的并发和错选等问题。
学生通过网页可以随时随地进行选课,节约了大量统计时间;教务人员通过设置排课规则快速的完成课程的安排,易于调整修改;教师可以快速方便的安排课程信息。
该系统采用数据集中管理、统计分布式管理。
自动排课系统的系统设计是基于JSP技术的,它具有灵活的一体化发展战略,圆满完成了整个系统的全面设计。
自动排课系统,采用一个简单的界面,操作方便,灵活,实用,有效的简化了自动排课管理系统的过程,大大提高了自动排课系统的效率,使之更加系统化体系化、标准化、自动化,具有优良的可用性、可靠性和安全性。
该系统采用标准的MVC三层架构,包括表示层、控制层和业务层三个部分,降低了系统开发的复杂性。
这个项目具体是运用了JSP,提高系统的运行性和安全性,并且方便了后期的维护和操作。
系统主要实现了教师列表、班级列表、学生列表、教师列表、课程列表、排课列表、管理员列表等功能模块,具有良好的实用性。
关键词:
自动排课;B/S模式;MVC;JSP
Abstract
Withthedevelopmentofsociety,intheinformationsociety,informationacquisition,processing,communicationanddecision-makingneedsofhigh-qualitycomputersoftware.Today,thequalityofeducationareconstantlydeepenedcampus.SmartSchedulingmodelisalsoinmanyschoolsthroughoutthebeginning,whilethetraditionalteachingmodelwasgraduallyreplaced.IntelligentSchedulingSystem,arrangingtomeettheneedsoftheschoolmanagementforAcademicAffairs,reducingtheworkloadofacademicstaffwhilereducingconcurrencyandarrangingthewrongchoiceandotherissues.Studentenrollmentatanytimeviathewebcansavealotofstatisticaltime;rapidcompletionoftheacademicstaffbyorganizingcoursessetSchedulingrules,easytoadaptandmodify;teacherscanquicklyandeasilyarrangecourseinformation.Thesystemusesacentralizeddatamanagement,statisticaldistributedmanagement.
SenateelectivesystemdesignmanagementsystemisbasedonJSPtechnology,ithasaflexibleintegrateddevelopmentstrategy,thesuccessfulcompletionofacomprehensivedesignoftheentiresystem.Academiccoursemanagementsystemthatusesasimpleinterface,easytooperate,flexible,practicalandeffectivemanagementsystemsimplifiestheSenateelectiveprocess,greatlyimprovingtheefficiencyofeducationaladministrationcoursemanagementsystemtomakeitmoresystematicsystem,standardization,automationwithexcellentavailability,reliabilityandsecurity.ThesystemusesthreestandardMVCarchitecture,includingthepresentationlayer,controllayerandservicelayerthreeparts,reducingthecomplexityofsystemdevelopment.ThemainuseofJSPtechnologydevelopment,improvethesystemperformanceandsecurity,andeasytomaintainandoperate.Systemismainlytoachievetheteacherlists,classlists,listofstudents,teachers,lists,listofcourses,arrangingthelist,thelistofadministratorsandotherfunctionalmodules,withgoodusability.
Keywords:
AcademicCoursemanagement;B/Smode;MVC;JSP
1绪论
1.1课题研究背景及意义
20世纪末,计算机的诞生与发展将人类带入到一个全新的领域中,如今已经成为解决很多工程问题的必要途径。
早在60年代,人们就开始研究如何使用计算机来解决排课问题,减少人工排课的劳动量并减少排课错误。
现在是21世纪,全球范围内的互联网技术都有了极大的进步,这让许多人不会收到时间和空间上的各种限制了。
利用Web技术来解决生活中遇到的各种问题成为趋势。
排课系统是时间表问题(TimeTableProblems,TTP)的一个分支。
这是个NP完全问题,由于P/NP问题还未解决,只能不断的摸索近似算法来得出近似的最优解。
这个问题涉及到多种因素,是一个多重条件下的组合优化问题。
由于涉及的参数多以及内部关系复杂等原因,传统人工排课的出错率一直很高。
随着我国科研的发展,高等院校的专业和课程都在快速增长,极大程度上增加了排课系统的难度。
同时随着人本教育思想的普及,鼓励学生自主选课也在国内推广开来,使得现代排课问题在收集数据和准确排课上变得更加复杂。
基于WEB的自动化排课系统,可以满足学校教务处关于排课工作的需求,减少教务职员工作量的同时降低排课中的并发和错选等问题。
学生通过网页可以随时随地进行选课和查询自己的课程信息,节约了大量统计时间;教务人员通过设置排课规则快速的完成课程的安排,易于调整修改;教师可以快速方便的查看自己的课程的上课情况。
该系统采用数据集中管理、统计分布式管理。
1.2课题研究现状
排课这个难题的探索开始于20世纪60年代。
1963年,Csima,J.和GotliebC.C.出了编排课表的数学模型,但仅限于基本的数学建模,并没有开发出可使用的软件。
之后人们开始使用图形着色算法来模型解决这个问题。
可是用这方法所花费的时间越来越大,所以,有许多的算法来探索这个问题。
在70年代,Barham和Westwood开始试图使用启发式搜索的方法。
到了80年代,Mulvey使用网络流方法来解决排课问题,同时Werra和Hertz使用了禁忌搜索的方法来解决这个问题。
90年代,由于大量的算法被发现,这个问题的研究得到了进一步的发展。
另一方面,Downsland和Digeetal通过模拟退火的方法来解决。
同时,Digeetal在一所大学的案例中展现出使用基于约束推理的方法。
在这个时期中关于排课研究的活跃归功于在1995年举办的第一届国际自动化排课实践与理论大会(PATAT)。
同样在这个时期,遗传算法也开始被使用在排课问题中。
进入21世纪,这项研究在继续发展。
基于约束的程序设计、混合启发算法(hyperheuristic)。
1.3本课题主要工作
在本文中,基于开发面向对象软件的过程中,对系统的需求分析以及具体实施过程都进行了较为完善的介绍,在本文中本人的具体工作如下:
(1)对系统进行需求分析。
对自动排课系统的需求进行分析以了解系统的基本特征和想要实现目标,并且对系统用户的特性进行分析,并分析业务流程以及梳理系统非功能性需求和功能需求。
(2)选择适当的技术解决方案。
搭建一个系统开发平台,并对系统实施所涉及到的关键技术进行研究。
根据实际、开放以及开源的原则,设计出既能够保证需求,而且开放源代码的以及可扩展的架构体系。
(3)系统的设计和实施。
该系统的设计原则基于MVC的设计思想,使得系统中,逻辑和数据存储在一个单独的状态下。
业务流程和系统的用户角色进行了详细的研究,以及系统的机制设计和系统的具体实现进行了详细的介绍。
(4)测试系统。
在节中,对系统的测试过程进行了具体的介绍。
2系统相关技术
2.1J2EE技术
J2EE技术,即Java2平台企业版(Java2PlatformEnterpriseEdition),是一种B/S模式的体系结构。
J2EE技术一般分为四个等级,其中Web表现层和业务逻辑层,两层是J2EE的核心层次。
J2EE优势:
1.跨平台性。
2.稳定性。
3.开发效率高。
4.具有可伸缩性。
2.2MVC模式
MVC模式(三层架构模式)(Model-View-Controller)是软件工程中的一种软件架构模式,把软件系统分为Model(模型)、View(视图)和Controller(控制器)三个基本部分。
2.3B/S结构
基于B/S架构软件的安装,编辑,维修的需要在服务器端解决。
B/S架构也提供了一个均质机,网上异构网络,异构应用服务的联机,统一的开放服务最现实的基础。
B/S系统包括:
表示逻辑层,控制逻辑层,数据展现层,三层是相对独立又相互关联。
2.4数据库技术
在软件项目中,通过使用数据库进行数据处理,可以保证数据的独立性,一致性和安全性,系统提供对数据的访问效率,并为程序员减少应用程序的开发时间。
不同的数据库有各自的优缺点,此处不做具体介绍。
使用MySQL不仅在开发程序的时候有利于开发,而且在后期维护扩展的时候又简洁。
所以,MySQL可以很好的胜任这个自动排课系统的数据库。
2.5本章小结
本章主要是介绍一下自动排课系统用到的一些技术,针对系统中使用到的技术做了一下简单的介绍。
3系统需求分析
3.1系统总体目标
(1)数据共享
推进自动排课管理系统的数据校验和数据共享规范化和制度化建设,对自动排课管理系统数据查询的精度和效率进行提升。
(2)实现了自动排课系统业务的各种功能
系统主要实现了教师列表、班级列表、学生列表、教室列表、课程列表、排课列表、管理员列表等功能模块,具有良好的实用性。
(3)实行现代化的管理手段
该系统应具有界面清楚,操作简便;不同系统的角色有着不一样的操作权限。
该自动排课系统应该是基于web的系统,只需要有一台能够联网的设备就可以实现对网站的管理。
3.2系统可行性分析
3.2.1操作可行性分析
系统的登录界面简单和友好,采用常见的界面窗口的登录界面,而网站的开发则采用的是较为常用的JSP技术。
这些策使得用户不需要很长的时间就能够快速熟悉系统,并掌握系统的操作方法。
此外,为了方便系统管理维护人员,用户登录系统后会给出了一些提示,让这个自动排课系统能被更多的人简单方便的运用起来。
3.2.2技术可行性分析
(1)硬件可行性分析
系统的硬件要求方面不存在特殊的要求,只需要在普通的硬件配置就能够轻松的实现,只是需要确保系统的正常工作即可,以及拥有较高的效率。
如果有特别低的硬件,它可以导致系统的低性能以及效率低,从而导致整个网站的运行不顺畅。
以目前普遍的个人计算机的配置而言,这是十分容易实现的。
所以,本系统的研发在硬件的问题上是可行的。
(2)软件可行性分析
Java语言提供的动态模型相似的理由的共同机制,设计更集中。
另外,在使用Java语言可以很容易实现模块化和存储信息。
此外,代码复用,也可以很好的体现。
因此,考虑到系统的实际情况,选择JAVA作为本系统开发语言的时候。
通过上述分析,该系统的设计实现在软件方面是可行的。
因此,我们进行了三个方面的可行性研究,可以看出,该系统的开发是没有问题的。
3.3系统功能需求分析
系统主要包括管理员、学生和教师三个角色,不一样的角色拥有着不一样的权限。
(1)管理员:
管理员具有的权限主要实现了教师列表、班级列表、学生列表、教师列表、课程列表、排课列表、管理员列表等功能模块的管理;
(2)学生:
学生进入系统后主要实现了我的课表、可选课程列表、已选课程等功能模块;
(3)教师:
教师登录系统具有的权限是对我的课表、我的课程等功能模块的查看。
其中学生和教师都不能对自己事先录入好的资料进行更改,只具有查看的权限。
学生和老师的信息只能通过管理员的权限进行增添操作和修改操作,只有管理员有足够的权限,目的是为了管理员能更加简单有效地管理整个排课系统并且让系统运行更加良好。
该自动排课系统新添加的一个功能模块是学生进入系统后多了一个选课功能模块,学生可以选择自己班级没有上的自己有感兴趣的课程,这一选课过程只能在排课结束之后才能进行操作。
学生和教师共同都具有的功能就是对自己课表的查询和对特定时间的空教室的查询。
3.4系统非功能需求分析
(1)可靠性需求
可用性:
一般用户按照网站提小便可完成日常操作,界面设计合理,使用方便。
平均故障间隔时间(MTBF):
6个月,支持7*24小时的服务。
平均修复时间(MTTR):
这个系统遇到问题停止运作的时间应该控制在1小时之内。
(2)完整性需求
要求各种数据的完整性,规定的数据信息的记录内容不能为空,各种数据间联系应保持正确,同一个数据在不同记录中所保持的一致性。
(3)性能需求
页面响应时问应该控制在一定的时间范围内;系统支持在同一个时间段内一起在线操作的用户至少要有500名。
(4)精度需求
系统的部分功能对数据的精确度有所要求,对于系统的浮点型数据,其数据信息的精确成都至少应该要达到小数点后面2位数。
(5)易用性需求
系统的使用人用来学习系统的操作时间不能太长;界面设计应为友好、简单、清晰的可视化操作界面;目有相应的操作提示与帮助。
(6)安全性需求
系统要设置用户的合法性,既给每个用户分配不同的帐号,并且要求用户为帐号设置符合要求的密码。
而且,系统也要分级别设置用户的权限,不一样的权限所拥有的访问资格是各不相同的,保证系统的安全稳定的运行。
3.5系统开发环境与开发工具
系统开发环境主要从开发平台、开发语言、所使用的数据库软件、设计工具以及辅助工具等几个方面来介绍。
开发平台:
Myeclipse9.0
开发语言:
Java+JDK1.6
数据库软件:
MySQL6.0
4系统设计与实现
在设计体系的时候要做到全方位的站在用户的立场上考虑问题,让最终的产品能够顺应大众用户的需求。
这一章节将重点突出对于体系的结构框架的设计描述上,以详细的标明每一个数据库的主体结构框架。
4.1系统设计目标和原则
系统的架构设计,要能够反映出用户与整个系统模块的接口之间存在有效互动,而且应该是非常清楚的,从而才能够保障在后期系统真正实现的时候数据的扩展性和安全性,只有设计出的系统实现这个目标才能有一个更好的扩展空间量,以适应企业未来的发展。
整个系统的设计中,系统必须满足以下要求:
(1)数据安全性
存储有关隐私权的自动排课系统问题的系统数据,需要确保数据的安全性,在网站设计时必须要采取安全防范措施,以解决潜在的安全问题。
(2)柔软性
由于这个自动排课管理系统涉及到范围广泛的业务,设计出的系统必须能够处理接受变化的能力。
(3)扩展性
随着自动排课系统管理需求的不断变化,自动排课系统也一定会有功能的更新和扩展,这就要求在一开始设计程序的时候就应该想到之后要添加新的功能和业务时候的方法。
从实用的方面来看,系统必须满足系统的以下原则:
(1)可靠性
在实际使用的过程中系统都会设计到很对需要进行保密的数据,系统出现一些漏洞将这些信息泄露出去将会对用户产生很大的损失,所以我们必须大力确保系统是可靠的。
(2)经济效益
由于这是一个教学用途网站,设计网站的目的是为了更好的方便老师和学生,因此需要对系统开发的成本和效益进行考虑。
4.2系统架构设计
系统架构的整体设计是一个将一个庞大的任务细分为多个小的任务的过程,这些小的任务分段完成后,组合在一起形成一个完整的任务。
它具体的工作步骤是:
(1)系统被分解多个子模块
(2)对各个子模块的功能进行预先的设计
(3)对各个子模块之间的逻辑关系进行设计
(4)对各个模块的界面以及模块间信息的传输进行设计
在整个设计过程,以确定可能的具体方案达成每一个小的最终目标,对于每一个小的目标而言,我们必须先了解一些相关的需求分析的信息。
然后对系统进行初步的设计,并对其逐渐进行优化,然后根据之前整理收集的各种信息设计出系统的整体框架。
系统的框图如图4.1所示。
图4.1系统运行框架图
由图4.1分析所示,系统主要包括管理员、学生和教师三个角色,管理员主要实现了专业列表、教室列表、班级列表、学生列表、教师列表、课程列表、排课列表、管理员列表、空教室查询和专业课表查询模块;学生登录系统主要实现了我的课表、可选课程列表、已选课程等功能模块;教师登录系统实现了我的课表、我的课程等功能模块。
4.3数据库设计
4.3.1数据库的选定
目前主流的大型数据库的Oracle,SQL服务器,MySQL和Access等本系统是一个相对较小的系统,因此选择了MySQL的。
MySQL是一个关系数据库中,关系型数据库引擎进行数据和结构数据,以提供更安全可靠的存储功能。
MySQL来微软的VisualStudio,MicrosoftOffice系统和新的开发工具包(包括商业智能开发套件),可以有效地整合。
4.3.2数据库概念模型设计
数据库的模型即系统的实体—关系模型。
自动排课管理系统的整体图如图4.3所示。
图4.3自动排课管理系统的整体图
然后根据具体的功能需求,对本系统的E-R图进行细化从而得到几种实体-关系模型,以下为部分实体-关系模型。
(1)学生用户实体,如图4.4所示。
图4.4学生实体图
学生用户在是管理员的界面添加和修改的。
添加和修改的时候,主要的元素有:
班级信息;学生学号,长度要求不超过500字符;登入名称(ID),长度要求不超过11字符;密码,长度不超过500个字符;名称,不超过500个字符的长度;性别;联系地址,长度不超过500字符,可以为空。
(2)班级类实体图,如图4.5所示。
图4.5班级类实体图
教室类的主要元素有:
班级编号,长度不超过11字符;教室名称,长度不超过10字符;教室容量,长度不超过10字符。
(3)课程类实体图,如图4.6所示。
图4.6课程类实体图
课程类主要的元素有:
课程编号,长度不超过11字符;课程名称,长度不超过50字符;任课教师,长度不超过11字符;总课时数,长度不超过10字符;每周课时,长度不超过10字符;所属专业,不超过500字符。
(4)教师类实体图,如图4.7所示。
图4.7教师类实体图
教师类主要元素有:
教师工号,长度不超过11字符;登录名称,长度不超过11字符;密码,长度不超过500字符;姓名,长度不超过500字符;性别,长度不超过500字符;联系电话,长度不超过250字符,可以为空;邮箱,长度不超过250字符,可以为空;出生日期,长度不超过250字符,可以为空;联系地址,长度不超过250字符,可以为空。
(5)班级类实体图,如图4.8所示。
图4.8班级类实体图
班级类主要元素有:
编号,长度不超过11字符;名称,长度不超过500字符。
(6)专业类实体图,如图4.9所示。
图4.9专业类实体图
专业类主要的元素有:
名称,长度不超过11字符;备注,长度不超过500字符,可以为空。
4.3.3数据库逻辑设计
本系统主要用到了多张数据表,部分表单如下。
(1)学生信息表。
表4.1学生信息表
字段名称
数据类型
长度
是否可以为空
ID
int
11
否
班级
varchar
500
否
学号
varchar
500
否
登录名称
varchar
500
否
密码
varchar
500
否
姓名
varchar
500
否
性别
varchar
500
否
联系地址
varchar
500
是
(2)教室信息表。
表4.2教室表
字段名称
数据类型
长度
是否可以为空
编号
int
11
否
名称
varchar
10
否
教室容量
varchar
10
否
(3)课程信息表。
表4.3课程表
字段名称
数据类型
长度
是否可以为空
编号
int
11
否
名称
varchar
50
否
任课教师
int
11
否
总课时
varchar
10
否
每周课时
varchar
10
否
所属专业
varchar
500
否
(4)教师信息表。
表4.4教师信息表
字段名称
数据类型
长度
是否可以为空
教师工号
int
11
否
登陆名称
varchar
11
否
密码
varchar
500
否
名姓
varchar
500
否
性别
varchar
500
否
联系电话
varchar
500
是
邮箱
varchar
500
是
出生日期
varchar
500
是
联系地址
varchar
500
是
(5)班级信息表。
表4.5班级信息表
字段名称
数据类型
长度
是否可以为空
编号
int
11
否
名称
varchar
500
否
(6)专业信息表。
表4.6专业信息表
字段名称
数据类型
长度
是否可以为空
名称
varchar
500
否
备注
varchar
500
是
5系统详细设计与实现
5.1数据库连接实现
服务器端程序采用spring框架来访问数据库:
以下是spring框架连接数据库的配置文件,该配置是针对spring框架的连接数据库的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 BS 自动 系统 毕业设计 正文