基于web的选排课系统设计与实现 大学论文Word格式.docx
《基于web的选排课系统设计与实现 大学论文Word格式.docx》由会员分享,可在线阅读,更多相关《基于web的选排课系统设计与实现 大学论文Word格式.docx(32页珍藏版)》请在冰点文库上搜索。
![基于web的选排课系统设计与实现 大学论文Word格式.docx](https://file1.bingdoc.com/fileroot1/2023-5/1/67f409c0-9e70-4797-8d1f-3386454f6f8e/67f409c0-9e70-4797-8d1f-3386454f6f8e1.gif)
。
本系统是一个典型的信息管理系统,分为教师模块、学生模块以及管理员模块。
管理员可对学生、教师、课程、教师以及专业等信息进行增删该查等操作;
学生可以查询自己的成绩以及选课和退课。
而教师则可以对学生进行打分,还可以查询课程详情。
关键词:
选课;
排课;
网络;
在线
TheoptionalcoursearrangementsystembasedonWEBdesignandimplementation
Abstract
Withthehigh-speeddevelopmentofInternet,thecampusnetworkhasbeenincollegesanduniversities,andplaysanimportantroleintheschoolofmanagement.Theuseofcomputersforteachingmanagementistheschooleducationdepartmentanimportantcontenttoimprovethequalityofteachingmanagement,schoolsarenowaccordingtothecharacteristicsandefficientinformationmanagementsystemofcreditsystemreform,enterpriseelectronicbusinessmodelandtechnologydevelopmentofonlineteachingmanagementproject.
ThissystemUSESthestruts2frameworkandMVCasafoundation,Javaasadevelopmentlanguage,itsdevelopmentmainlyincludesthebackstagedatabasetheestablishmentandmaintenanceofandfront-endapplicationdevelopmenttwoaspects.Fortheformerrequirementtoestablishdataconsistencyandintegralityandsecurityofdata.Forthelatterrequirestheapplicationprogramfunctioncomplete,easytouse,etc.DevelopmentplatformUSEStheMyEclipce,useSQL2005database.
Thissystemisatypicalinformationmanagementsystem,dividedintoteachermoduleandstudentmoduleandadministratormodule;
Administratorsforstudents,teachers,curriculum,teachersandtheprofessionalcheckoperationssuchasaddordeletetheinformationsuchas;
Studentscancheckyourgradesandcourseselectionanddrop;
WhileTheteachercanscorestudents,butalsocanquerythecoursedetails.
KeyWords:
Courseselection;
Arranging;
Network;
Online
1绪论
随着英特网的普及和科学技术的不断提高,计算机科学技术越来越成熟,其强大的功能已为人们深刻认知,它已进入人类社会的各个领域并发挥着越来越重要的作用。
因此,在计算机技术越来越普及的今天,市场上也出现了不同版本的学生选排课系统,而这些选排课系统大部分是用传统的Visual
Foxpro、Visual
basic等语言来开发设计,此类系统有一个特点就是运行的界面单一,而且不能在网上发布。
所以在经过各方面的综合考虑后,采用目前较为流行的开放式的Web服务器应用程序开发技术。
使用它可以将控件和脚本语言组合一起,产生交互、动态、具有数据库访问功能,且高效率的基于Web的应用程序。
1.1任务与目标
学生选排课管理系统提供了一套学生在线选课、教师在线管理的一个信息管理平台,能够使教师对学生选课进行分类和整理,能够让教师在第一时间了解学生的选课情况。
网上选课系统涉及学生用户、教师和管理员三部分,系统为学生、教师和管理员提供不同的入口。
学生用户和教师管理员具有不同的操作权限,学生用户和教师用户可以查询自己的信息,查看自己选课的情况。
管理员可以添加课程,查看所有学生的信息,删除学生信息、修改学生信息,查看所有课程的选课情况。
网上选课系统可以方便老师、学生更方便的选课。
1.2研究现状
21世纪是信息时代和网络时代,教育也必然会走向信息化[1]。
随着社会的发展和科技的进步,对人才素质以及能力的要求越来越高,现代教育观念强调素质与能力的培养。
当今和未来的国际竞争,说到底是人才的竞争。
信息技术和网络教育对于信息社会的进步、知识经济的发展、数字教育的建设、创新人才的培养至关重要。
如今,一种新型的教育形式——以网络教育为标志的现代教育正脱颖而出。
网络信息教育不仅仅体现在教育技术手段的先进上,而且体现在它所引起的教育观念等一系列的变革上。
在知识经济时代,不仅在教育观念、教育内容,而且在教学手段、教学过程和教学方法等方面都将面临挑战,高校教师应如何适应网络信息时代教育的新特点,使教育更适应社会主义市场经济的要求,顺应教育发展的世界潮流。
随着素质教育的深入开展,不少有条件的学校都开展了规模不小的第二课堂之类的选修课活动。
目前大多数学校都采取手工方式进行选课管理。
然而在现有的手工处理系统当中,存在着大量繁重而稍显混乱的工作。
而这些繁重而易于出错的选课工作,又大大的打击了师生的选课热情。
另外,由于学生选课时的盲目性和对所选课题不够了解,常常出现学生错报课题、错报课题后无法调整、落选热门课题等问题。
在录取阶段也常常出现:
教师错录学生、教师错误的拒绝学生、个别学生的调课请求无法满足、无法根据学生意愿扩招等现象。
最终结果就是,大量学生无法进入自己最感兴趣的课题,而教师也无法招入对自己课题最有兴趣的学生等问题。
这些问题都严重的制约着选课活动的发展。
本系统提供了综合数据信息的共享集成环境,目前国家的教育体制也正处在不断改革创新的阶段,吸取国外优秀的教学模式,结合国内多年的办学经验逐步探索出适合中国特色的教学形式。
因此国家教育部面向各高校开展了全面学分制改革。
本系统正是在此基础上,既包括传统的学校管理信息系统的业务功能同时更突出了各高校实行全面学分制后,在排课选课考务等方面管理的解决方案。
排课排考以往人工作业需要1~2个月时间。
现在通过管理系统只需1~2周,大大提高了准确率和效率,减少了老师的工作量。
1.3可行性分析
系统可行性研究是系统发展过程中的一项重要的工作,其目的就是订出一套切实可行的方案,如此,开发者才能有条不紊的完成开发工作。
系统的开发条件主要包括:
硬件和软件两各方面;
硬件只需要一台PC电脑,而软件方面需要Java开发平台MEclipce以及相关插件;
这些在互联网高速发展的今天可以轻易找到。
而且在技术方面,我们采用SQL作为后台数据库,使用Struts2开发基于Web的学生选排课系统,因为这种技术已实用化,设计的页面精美,功能强大[2]。
2开发语言与技术简介
2.1开发语言简介
Java是由SunMicrosystems公司推出的Java面向对象程序设计语言和Java平台的总称[3]。
由JamesGosling和同事们共同研发,并在1995年正式推出。
Java最初被称为Oak,是在1991年为消费类电子产品的嵌入式芯片而设计的。
1995年改名为Java,并重新设计用于开发Internet应用程序。
用Java实现的HotJava浏览器显示了Java的魅力:
动态Web、跨平台、Internet计算。
从此,Java被广泛接受并推动了Web的迅猛发展,常用的浏览器均支持Javaapplet。
另一方面,Java技术也不断更新。
Java自面世后就非常流行,发展迅速,对C++语言形成有力冲击。
在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。
Html又称超文本链接语言[4]。
它是超级文本标记语言是标准通用标记语言下的一个应用,也是一种规范,一种标准,
它通过标记符号来标记要显示的网页中的部分。
网页文件本身就是一种文本文件,通过在文本文件中添加标记符,可以告诉浏览器如何显示其中的内容(如:
画面如何安排,文字如何处理,图片如何显示等等)。
浏览器按顺序阅读网页文件,然后根据标记符显示和解释其标记的内容,对书写出错的标记不指出其错误,且不停止其解释执行过程,编制者只能通过显示效果来分析出错原因和出错部位。
但需要注意的是,对于不同的浏览器,对同一标记符可能会有不完全相同的解释,因而可能会有不同的显示效果。
结构化查询语言(StructuredQueryLanguage)简称为SQL[5]。
它一种特殊目的的编程语言,是一种程序设计语言和数据库查询,用于存取数据以及更新、查询以及管理关系数据库系统;
同时也是数据库脚本文件的扩展名。
2.2开发平台简介
MyEclipse是企业级工作平台是对EclipseIDE的扩展[6]。
利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合等方面极大的提高工作效率。
它是功能丰富的JavaEE集成开发环境,包括完备的编码、测试、调试和发布功能,完整支持Struts、HTML、JSP、CSS、Spring、Javascript、SQL、Hibernate。
MyEclipse是一个非常优秀的用于开发Java和J2ee的Eclipse插件集合,MyEclipse的功能非常强大,支持也非常广泛,尤其是对各种开源产品的支持。
MyEclipse可以支持AJAX、Struts、JSF、Spring,Hibernate,EJB3、JavaServletJSP、JDBC数据库链接工具等多种功能。
可以说MyEclipse是几乎囊括了目前所有主流开源产品的专属Eclipse开发工具。
2.3开发技术简介
Jsp全名是JavaServerPages,中文名字叫Java服务器页面[7]。
它是一个简化了的Servlet设计。
Jsp技术有点类似于Asp技术,它是在传统的网页HTML(标准通用标记语言的子集)文件中插入Java程序段(Scriptlet)和Jsp标记(tag),从而形成的Jsp文件,后缀名为(*.jsp)。
用Jsp开发的Web应用是跨平台的,既能够在Linux下运行,也能在其他操作系统上运行。
它实现了Html语法中的Java扩张。
Jsp和Servlet一样,是在服务器端执行的。
通常返回给客户端的就是一个Html文本,因此客户端只需要有浏览器就能浏览。
3需求分析
3.1开发目的
学生选排课系统的主要任务是把各专业的课程进行汇总,然后根据教学计划制订全校各班级的课表并为不同专业的学生提供可选课程。
一方面,由于高校班级数以及课程门数繁多,每门课又涉及大量信息,如果用人工进行排课,会不可避免地出现教师资源冲突或教室资源冲突的情况。
另一方面,由于教学管理工作存在事务繁琐、人流量大等特点,教务管理人员付出大量的工作时间来从事各种事务性工作,但工作的效率很低。
为提高工作效率,减轻校方人员的工作负担,决定针对教学管理中各项事务性工作开发排课管理系统软件,以供教学人员及操作者进行教学管理。
同时也为开发人员提高软件开发的能力,从中学习知识吸取经验,进一步深入理解校园信息化管理的精髓,在技术和软件思想上得到锻炼和提高提供了机会,从而使总体管理水平上升到一个新的高度。
3.2开发要求
随着Internet技术的日益发展,Web应用的逐渐普及,本校校园网建设的逐步扩展,对本校的教务管理提出了新的要求[8]。
要求实现教务的网络化管理,并且要求教务人员能从繁杂的传统的手动排课中解脱出来。
利用计算机自动的安排合理而又实用的课程表,考虑年级、班级、教师、课程、教室等方方面面的因素,合理地利用教室、教师等资源,解决好班级间的时间冲突,给每个班排课时,避免时间、场地冲突等。
3.3系统分析
3.3.1功能分析
管理员可以通过超级用户身份登录,对系统进行全面的管理,对新用户的添加,删除,对信息进行管理[9]。
管理员可以对老师及同学的帐户进行管理,学生用户进入不同的界面,进行不同的操作。
同学可以通过查询本学期所属专业开设课程进行选择。
如图3.1所示:
图3.1功能模块图
作为一个完整的信息管理系统,其各种功能也要求比较完善,本系统的主要功能有:
(1)
系统登入功能:
在系统授权范围内,用户选择各自的用户名,输入密码以及登录身份后登入系统;
(2)
注册功能:
该系统的用户主要来自于学校的老师和学生,学校的每一个学生和老师都能用自己的学号或教师号注册一个账号;
(3)选课功能:
在管理员录入选课信息,启动选课后,学生可以选择自己需要学习的课程,加入到自己的课表。
(4)退课功能:
学生选课后,在选课结束前可以退选所选修的课程。
(5)排课功能:
管理员可以根据已有的课程、教师、教室、班级信息进行排课,排课后的结果会储存在数据库的课程表中,以便随时查询。
(6)信息管理:
管理员在此可对教师和学生信息进行增删改查、排课、决定选课开始和结束。
在本系统中,普通用户即教师和学生只能浏览、查询基本信息以及查询课表、选课和退课,不能添加、删除、修改基本信息并且无权排课。
(7)评分:
老师可对选修其所教课程的学生进行评分,而学生则可以查询自己各科的成绩。
3.3.2基本设计
活动者1:
用户(管理员),是系统的最大使用者[10]。
可管理系统的全部信息,即使用系统对全校的班级进行排课,可进行基本的信息设置(教师信息设置,班级信息设置,教室信息设置,课程设置,课程申请)。
根据基本信息进行手动排课,并对教师的课表和班级的课表进行查询、修改、删除,如图3.2所示:
图3.2管理员用例图
活动者2:
用户(教师),作为系统的一般使用者。
教师可以查询自己的课程安排,了解学生的选课信息,平且对学生的学习情况进行打分,如图3.3所示:
图3.3教师用例图
活动者3:
用户(学生),作为系统的一般使用者,在线选课和退课是学生最主要的功能。
学生选课后,可以看到自己的课程表,查看老师对自己的评分。
如图3.4所示:
图3.4学生用例图
3.4管理业务流程
业务流程图是一种描述系统内各单位以及人员之间的业务关系、作业顺序和管理信息流向的图表,利用它可以帮助分析人员找出业务流程中的不合理流向[11]。
下图是学生在该系统的业务流程图。
学生在进入系统需要登入帐号和密码,如果没有,则需要用自己的学号进行注册。
当系统验证账号成功后,学生便可以进行课表查询、选课、退课、分数查询操作。
如图3.5所示:
图3.5学生使用流程图
3.5数据库设计
3.5.1设计原则
要设计一个好的管理系统要求必须遵守以下要求[12]:
(1)基本表的个数越少越好。
(2)主键的个数越少越好。
键是表间连接的工具,主键越少,表间的连接就越简单。
(3)字段的个数越少越好。
(4)所有基本表的设计均应尽量符合第三范式。
在数据库的设计中,如何处理多对多的关系和如何设计主键,是两个有着较大难度、需要重点考虑的问题。
3.5.2数据表设计
如表3-1所示,学生信息表包括5个字段,其中字段NO是学生的学号,也是学生信息表的主键,字段NAME表示学生姓名,字段SEX表示性别,字段AGE表示年龄,字段BIID是班级的ID[13]。
表3-1学生信息表
字段
数据类型
说明
NO
VARCHAR(64)
学号
NAME
VARCHAR(32)
姓名
SEX
VARCHAR
(2)
性别
AGE
INT
年龄
BIID
班级ID
如表3-2所示,选课信息表与课程信息表基本一致,区别在于选课信息表多了选课标志字段FLAG,该字段是用来控制选课的开始与结束[14]。
字段IID是选课表的ID,也是选课表的主键而字段CNAME、JIAOXUEZHOU、XUESHI、BEGINTIME、ENDTIME分别代表课程名、教学周、课时、开始时间、结束时间,字段RENSHU表示该门课程能选择的人数,字段TNO是教师号,来源于教师表。
表3-2选课信息表
数据长度
IID
选课ID
CNAME
课程名称
JIAOXUEZHOU
教学周
RENSHU
人数
XUESHI
课时
BEGINTIME
开始时间
ENDTIME
结束时间
TNO
教师号
FLAG
选课标志
如表3-3所示,选课关系表有一个主键IID,两个外键SIID、CIID,分别是学生的学生号和课程的ID,字段SCORE表示课程所得分数。
表3-3选课关系表
选课关系ID
SIID
CIID
课程ID
SCORE
FLOAT
分数
3.5.3系统实体关系
本系统包含的实体主要有学生、老师、课程、班级、专业[15]。
它们之间的关系如下图所示,专业下有不同的班级,在班级中安排课程,老师在班级里给学生上课。
课程有四大主要属性:
课程名、课程开始时间、课程结束时间以及得分。
如图3.6所示:
图3.6E-R图
4详细设计
4.1登录
登录界面是一个系统的门户,界面中包含:
账号、密码、身份选择、以及注册。
拥有账号的用户可直接登入,输入账号以及账号对应的密码,选择好自己的登入身份后,点击登入按钮便可进入系统操作界面。
没有账号的用户则需要注册账号,点击注册链接便可进入注册页面,如图4.1所示:
图4.1登录界面
4.2注册
本校的学生和老师可以用自己的学号或教师号注册一个账号。
注册时需注意两次输入的密码必须一致,用户身份必须匹配(如学生只能注册学生账号),否则无法注册成功,如图4.2所示:
图4.2注册界面
4.3管理员模块设计
4.3.1排课设计
只有管理员才能进入排课界面。
本系统以班级为单位进行排课,排课信息有时间、地点、课程。
所以排课前需要录入教室信息、教师信息、课程信息,在选择好班级后会自动获取本专业开设的课程,在选择课程后会自动获取教课老师。
信息输入完成后,点击提交,便会将课程表存储到数据库,如图4.3所示:
图4.3排课界面
4.3.2教师信息管理
管理员点击教师信息链接后便可进入该界面。
教师信息管理主要是退教师信息的添加、修改、删除。
也可以对其进行查询,三个查询条件可以全部输入查询条件,或选择部分输入,本查询支持模糊查询,如图4.4所示:
图4.4教师管理界面
4.3.3学生信息管理
与教师信息管理类似,管理员点击学生信息管理链接后便可进入该界面。
学生信息管理是对学生信息的添加、修改、删除,如图4.5所示:
图4.5学生管理界面
4.3.4选课信息管理
在模块中管理员可以添加、删除、修改选课信息,同时也带有查询功能。
当管理员点击“开始选课”链接时,便能开始学生选课,链接会变成“结束选课”,再次点击后便可结束学生选课,如图4.6所示:
图4.6选课管理界面
4.4教师模块设计
4.4.1个人课程表查询
老师进入学生选排课系统后,点击个人课表,便可浏览自己每周的课程,课程表包含,课程、地点、老师、班级等信息,如图4.7所示:
图4.7老师个人课程表
4.4.2评分
如图4.8,老师可以看到选修该名教师所教课程的学生的信息,点击评分按钮后,便可进入评分界面,给未打分的学生打分,如图4.9所示:
图4.8评分界面
图4.9打分界面
4.5学生模块设计
4.5.1个人课程表
当以学生身份进入系统后,点击“个人课程表”链接,便可进入该界面,查看自己本学期需要学习的课程,包括课程名、时间、地点、授课老师等信息,如图4.10所示:
图4.10学生个人课程表
4.5.2选课
学生进入系统后,点击“选课”链接,即可进入学生选课界面,在该界面,学生可以看到课程名,开始时间、结束时间、课程可选人数以及已选人数等信息。
学生只需勾选想要选修的课程,点击提交,即可完成选课,如图4.11所示:
图4.11选课界面
4.5.3退课
选课后的课程信息会进入退课界面,如果想要退选某门课,只需勾选该门课程,点击提价即可完成退课操作,如图4.12所示:
图4.12退课界面
4.5.4分数查询
每门课都会有该门课的授课老师对其学生的评分,而学生则可以按照学年和学期查询自己每门课的得分情况,如图4.13所示:
图4.13退课界面
5结论
在本次设计的整个过程中,我对大学四年所学的知识有了一个系统的认识和理解。
本次论文设计涉及了各个方面的知识,大大扩展了我的知识面,同时我也学会了如何使用所学的知识去解决一些实际问题。
学生选排课系统主要是为学生选课服务