基于J2EE的中职选课系统的设计与实现
2014-09-03刘昔
刘昔
摘要:通过对培英职校选课系统的研究,在培英学校的校园网络软硬件系统下,使学生公平选课和学校管理工作中存在的各种问题得到了解决,使学校的教务管理工作的效率得到了提高,工作质量有了改善。开发出一个公平、公正、方便、易用的选课系统,方便了学生和学校教务管理人员,促进学分制建设。另外,对B/S结构下的抽签算法的选课系统的研究,结合了网络应用技术的先进经验,为这方面的研究起到积极的推动作用,软件的实现也让我校学生选课工作的管理水平得到了提高,使我校学分制的选课制度更加完善
关键词:选课系统;MVC;J2EE/JSP;B/S模式
中图分类号:F49 文献标识码:A
文章编号:1672—3198(2014)16—0172—03
1绪论
1.1研究背景与意义
鉴于选课制的特点和要求,本课题将以学分制的基础理论为指导,根据广东培英职业技术学校的实际需要,结合广东培英职业技术学校的具体实际情况,在充分调查论证和取得用户需求的基础上,设计一套在培英职校的学分制管理体制下基于J2EE技术的选课管理系统。不仅需要满足培英职校的特殊情况,即满足学校中专班、大专班、培训班的需要,又能适应学分制管理本身具备的各种特点,还要能够在我校选课制度的实施过程中出现的各种各样的问题时,提供各种帮助和依据,用比较灵活的技术手段予以解决。而且该系统要能够与我校校园网络化建设的其他系统模式相融合,使教务管理部门对学分制下的各种情况能够迅速地利用系统解决,令我校学分制的选课实施与管理能够更加科学和规范,促进我校学分制改革,提高教务管理工作的效率。
1.2国内外研究概况
纵观国内外各类院校的选课制度实施情况,目前对选课制主要的做法有以下的三种:
(l)第一种是学校课程分为选修课和必修课,而学生可以根据自己的需求和兴趣自由选择选该专业选修课,教学班与行政班基本保持一致。
(2)第二种是对于选修课部分仍由教务处统一排课,但也允许学生自由选择课程,包括提前修读的或分层次必修课和各种选修课,也就是学生不能随意选择老师,而对于行政班基本不变。
(3)第三种是可以说是全面选课制,即是学生不仅自由选择课程还能选择老师,行政班和教学班是没有明显的界限的,打破了行政班和教学班的区别。
1.3论文的主要研究内容
本课题主要研究基于J2EE框架的网络选课系统的设计与实现,文章的组织和结构具体安排如下:
第一章为绪论,主要讲述了课题研究的背景,课题的国内外研究概况以及论文的主要研究内容。
第二章重点介绍了选课的系统需求分析。
第三章介绍具有抽签算法的系统设计。
第四章详细说明了选课系统的实现。介绍系统运行结果,说明整个系统的功能分布
第五章介绍了系统的测试,并对测试结果进行了分析。
第六章对课题进行总结和归纳,对系统进行了展望。
2系统需求分析
2.1我校选课系统需求
时代不断发展,教育事业也在不断进步。跟随教育改革的步伐,为了全面提高学生的综合素质,培养学生主动性、创造性,我国很多中专学校和职业技术学校都开始试行选课制度,学生可以按照自己的学习计划,自主选择学习的课程,学生的主动性得到很大的提高,知识结构的自主权增大,选课范围也逐渐扩大。所以,培英职业技术学校为了更好地与教学改革相适应,必须设计开发出适应我校实际情况的学分制管理模式的选课系统,而且结合校园网网络结构,使之完全网络化。根据广东省培英职业技术学校学分制开展的当前现实环境,选课制按照必修课程和选修课程来分类,选修课程包括公共选修课和专业选修课;必修课程包括了公共必修课和专业必修课。按科目划分,每学期初对各个科目的课程进行安排,并按照学生残疾类型(肢残、聋、盲、健全)、班级类型(中专班、大专班、培训班)、年级和专业进行排课,按照专业教研组制定的教学计划来编排这个学期的课程。
2.2选课业务流程
系统选课系统的流程图如1所示。
2.3选课系统需求模型
学生选课流程如下:
(1)学生账户选课流程。
①事件开始进入准备阶段;
②利用浏览器打开系统选课页面;
③键入学号和密码后进入系统;
④如密码输入错误,重返登录界面;密码正确,完成登录过程;
⑤系统显示出学生操作主页面;
⑥第一次使用1234登录,登录后会系统给出提示,要求用户进行修改密码操作;
⑦点击“选课操作”进入选课页面;
⑧根据学生情况页面列出当前可选课程;
⑨点选课程后并点击提交完成选课;
⑩系统检测出所选课程是否有矛盾,一旦出现与规定不符合的或时间有错误的选课操作,系统反馈冲突信息,要求重新进行选课操作;
(2)补选阶段事件流程。
当正常选课时间结束后,将开始进行选,因故没有选课或出现冲突没处理的同学利用这个阶段进行选课操作。经管理员同意的帐号,在这个时间段允许进行选课操作。
(3)教师查询学生选课情况事件流程。
老师在系统教师管理页面可以查询所任课程的选课详情,系统页面会显示出对应教师所任教课程里面的具体信息,包括该门课程名称、课程报名人数、报名学生姓名、学生所在班级等,教师可以从系统中得到一份自己所授课程学生的名册,并且能够按照要求根据日期或班级统计和打印出花名册。
(4)管理员添加课程事件流程。
①流程开始,用浏览器打开主页面并点击管理登录;
②系统进行安全性检查;
③管理员登陆要键入正确帐号名和8字符以上安全密码;
④密码或帐号出错,返回管理登陆;连续3次出错,系统退出,流程结束;密码正确进入下一步;
⑤系统显示课程管理页面;
⑥点击课程管理里面的“添加”按钮;
⑦课程添加的操作要求键入完整的课程名称和课程详情等信息;
⑧点击确认添加;
⑨如果课程名称有重复,系统反馈出错误提示,并返回添加操作页面;正确操作系统反馈操作成功信息进行下一步;
⑩系统将课程信息储存至数据库。
2.4系统采用随机抽签算法
抽签算法的流程是:系统自动为该课程报名学生用一个报名人数范围内的唯一随机数编号,如果被分配的随机数小于规定人数数值,则该学生中签,系统会反馈选课成功信息给该学生,并将该生选课信息保存到数据库,反之则未被选中,学生从该课程中淘汰,随即编号标志设置为0,系统会发出通知让该生重新进行选课。
系统抽签选课的过程采用平均分布概率算法对超过规定人数的选课的结果做计算,利用计算机真随机数产生法,产生分布平均的随机数赋予变量,然后按照管理员设定的课程规定人数来抽取相应数量的学生。这种系统随机抽签的计算只有在课程报名人数过多,超过课程规定人数是才发生。
3选课系统设计
选课系统要根据上一节系统需求分析的结果进行设计,将其转化为软件表示的过程,同时为系统的实现提供可靠的依据。
3.1系统总体架构
一般来说,我校对该系统操作上,既要求系统既要求做任何提交动作时系统的主操作页面不能随意转变,又要能对从数据库读出的内容进行排版,调整到适合不同显示分辨率下浏览器能正常浏览,因此,系统设计基于以上特殊需求,决定采用Model2 MVC应用程序构架进行开发。此系统架构可以实现将模型、视图与控制器的分离,即实现表现和内容的真正分离。
系统一旦检测到了数据变化,控制器会向前台发送消息,提示前台要进行更新。这实际上是一种模型的变化-传播机制。
3.2选课系统功能划分
根据我校所开展选课制模式下的实际要求,功能要满足学生用户、教师用户和管理员用户三块。因此,根据三种用户说进行操作的不同,选课系统划分为三个功能部分。
3.3选课系统数据库设计
数据库设计的任务是针对我校目前选课制度下的实际应用环境,来构造适合的数据库模式,建立数据库及其应用系统,使之能有效地收集、存储、操作和管理数据,满足用户各种需求。一般来说,只有经过周密和全面的考虑进行数据库设计,才有可能开发出优秀的信息系统。
3.4安全性设计
为了保护学生个人隐私以及保障教务管理,在做系统设计时我们要从多个脆弱环节进行安全性设计。包括服务器的病毒木马防护,后台账户密码加密和验证方式都要符合较高的安全防护标准。
4系统的实现
完成了设计工作后,要进入选课系统的实现阶段。本章将对选课系统:学生选课、教师查询、管理员管理、抽签算法等几个主要模块的实现进行讲述。
4.1系统的开发环境
开发本系统的硬件环境要求:Intel Pentium4以上处理器、512M以上内存,支持标准网络协议的网卡。
软件环境:为了保障JSP的运行,需要安装Tomeat服务器支持。基于Windows server 2008操作系统,客户端软件需要IE6.0及以上的浏览器版本。
4.2学生选课系统的实现
在上一章中,介绍了各主要功能的分析和设计,系统主要分为三个子系统,分别为:学生子系统和教师课程管理子系统和选课管理子系统。其中还包含抽签算法模块,由于篇幅有限,代码部分省略,下面介绍这三个子系统和抽签算法模块的实现。
4.2.1学生子系统的实现
学生子系统主要实现对学生登陆进行身份验证,验证通过后允许学生进入选课页面,根据教学计划和安排进行选课的操作,最后保存选课的结果。同时,学生也可以查询自己的选课的成绩。
4.2.2教师课程管理子系统的实现
教师课程管理子系统主要实现的是教师登陆系统后,对教师所教授的课程进行管理,可查询班级、课程、学生人数等,还可以进行成绩录入操作以及对选课成绩进行分析统计等。
4.2.3选课管理子系统的实现
包括数据库模块和选课编辑模块两部分。数据库模块负责数据记录的维护以及通知的发布、各种课程表、统计报表生成等。选课编辑模块为管理员提供课程增、删、改的功能,并可以对教师和学生账户进行管理。
4.2.4选课抽签算法的实现
选课分为预选和抽签两个过程。预选阶段一般为学期前的一段自由选课时间段,此时间段内学生可根据个人爱好和学分需求进行预选,预选期学生必须要对课程选择该课程为第几选择的一项作为优先级顺序。预选时间段过后,系统自动进入正式选课阶段,开始对课程报名情况进行计算,通过比对报课的优先级抽选,并在同优先级报课人数超过最高人数时发生抽签,控制该门课程人数。
4.3选课过程及应用情况
根据以上设计原则所开发的选课系统于2008年7月份在广东培英职业技术学校开始运行,到目前为止,已经运行几个学期,顺利完成了两个学期的选课工作。尤为可贵的是,本系统利用抽签算法选课技术解决了选课系统普遍存在的性能问题,在选课时间集中,选课人数众多的情况下,高效的完成了大规模并发选课。更进一步的证实了系统设计的合理性和可行性。在实际运行过程中,同时也发现了系统存在的一些问题,并对这些问题作了分析和改进。
5系统的测试
选课系统中,一个选课流程主要是包括打开网站,登录系统,选择校区,各类课程,如果需要退课则在选课后进行退课操作等一系列操作。
因此,我们采用拉长事务流水线,取消模拟思考时间的办法,设计了包含多个具体事务的选课测试流程。
6总结与展望
本文主要探讨培英职校网络环境下开发针对性强的有助于培英职校学分选课制开展的一套网上选课系统,这套选课系统基于J2EE架构,结合了抽签算法,很好地实现了选课中的公平公正,使选课工作高效灵活。我校学生分为中专班、大专班和培训班,因条件不同他们无法随时上网选课,过去只能按照先来先得进行选课,这样会导致选课的不公平,也会造成课程人数分布不平均,出现某门课程“爆满”或某门课程无人问津。采用抽签算法的选课系统开始应用后,一方面减轻了管理员的调度安排工作,只需要让学生在规定时间段内登陆系统页面进行选课,系统会自动对报选人数过多的课程进行抽签筛选,没中签的学生可以及时接到通知改报其他课程,使课程人数分配平均;另一方面,这种算法下的选课系统不会因为迟选而造成学生无法报选自己想要修的课程,以抽签的形式来尽量照顾到全部学生的公平选课。
培英职校的学分制建设刚刚开展不久,对于这方面的工作需要一套灵活多变的系统才能真正适应我校的特殊环境。这套选课系统利用MVC模式下的struts框架来实现系统的应用功能,其结构简洁清晰,可随时增加功能,代码可复用性高,系统移植难度不大,服务器容易配置,操作界面简单易学,为培英职校的教务管理工作提供了一个很好的工具。而在将来,系统能够紧跟学校教育制度不断发展的步伐,在原来的基础上不断创新,开发出更完善更丰富的功能。
目前移动网络技术已经非常成熟,大多数学生都能利用手机上网,如果我们的选课系统能够在WAP平台上进行连接,允许学生利用联网手机对进行选课操作,并依靠手机接收完整的课程通知单,那会为学生带来非常大的便利。这都将会是我们下一步要努力实现的目标。
参考文献
[1]范会联.基于J2EE的网上选课系统设计与实现[D]. 重庆:重庆大学,2007.
[2]Harrop.SPring专业开发指南[M].成都:电子工业出版社,2006:5658.
[3]VanHIIstM,NotkinD Using role Component Stoim Plement eollaboration based designs[J].ACM SIGPLAN Notiees,1996,31(10):359369.
[4]王馄,李翠华.基于nEE的中职教学管理系统的性能优化设计[J].计算机与现代化,2008,(11):134136.
[5]张玉新,滕桂法,韩俊玲.存储过程及其在基于J2EE的选课系统中的实现[J].河北农业大学学报,2007,(1):109112.
[6]彭巧珍,姚力文.基于JSP技术的网上选课系统的设计与实现[J].计算机与现代化,2004,36(8):124124.
[7]Sangeetha.深入浅出JZEE架构.宋梅等译[M].北京:清华大学出版社,2006,(12):3547.