【《基于SSM的高校选课系统设计与实现》8300字(论文)】_第1页
【《基于SSM的高校选课系统设计与实现》8300字(论文)】_第2页
【《基于SSM的高校选课系统设计与实现》8300字(论文)】_第3页
【《基于SSM的高校选课系统设计与实现》8300字(论文)】_第4页
【《基于SSM的高校选课系统设计与实现》8300字(论文)】_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

绪论研究课题的目的与背景随着科技的进步和生活节奏的加快,人们对互联网的需求也在逐步上升,互联网的应用成本较低且效率和普及率高也成为了它越来越受欢迎的原因。由于无纸化办公的成本低、灵活性强且效率高等特点比较突出,信息的自动化处理已被人们所广泛认可。随着教育体制的改革,与传统的学年制相比学分制更能满足当代社会对人才的需求。各大高校根据教育部的指示全面推广和实行学分制,学分管理中的重要组成部分则是学生选课。从传统的选课方式来看,教务人员工作量大且工作周期长,由于缺乏选课的自主性和灵活性,影响教学质量的情况时有发生,例如,排课时间和教室发生冲突,选修某门课程的学生人数过多等。同时,教务系统由于数据量的增长,业务逻辑变得复杂,安全问题也存在隐患。针对以上现象,本课题决定开发一个高校选课系统,在此期间查阅了相关资料,访问了不同年级的学生、任课老师以及教务秘书等,结合大学期间的学习,采用B/S模式、JSP编程技术、SSM框架及MySQL数据库的相关知识设计和开发出面向学生、老师和管理者的选课系统。国内外同类设计的概况国外方面,第一个创立学分制这种教育模式的高校是哈佛大学,创立的时间是十九世纪末期,这种模式的核心是选课,老师的授课是辅助,学生的学习情况以学分和绩点进行衡量。现行的三大教育模式分别为学分制、导师制和班建制。在上世纪70年代末期,美国国家科学基金会为解决传统选课效率低的问题提出把申报研究课题和研究进展的工作通过网络进行,奠基了今后的教育信息现代化的模式。国内方面,中国最早实行学分制的高校是北京大学,实行时间是1918年。在时代的大背景下,如今全国各大高校已全面实行学分制,选课系统是教务系统的一个子模块。跟国内相比,国外的教务系统历史更为悠久,技术和发展也更为成熟。现在,世界上有很多大型远程教育学院,网络教务在为各国培养优秀人才方面也发挥着巨大的作用。这些都表明,以Internet为基础的校园网的应用和信息管理已渗透到校园的方方面面。本文主要研究的内容本系统采用Java语言进行编写,由MySQL作为数据库进行数据的存储,Tomcat作为服务器,采用SSM(Spring+SpringMVC+Mybatis)作为开发框架,本系统要完成的工作有:针对现行的选课系统进行难点分析,通过查阅资料找出解决问题的技术手段。前端页面用JavaScript+CSS+HTML+JSP来完成。后台的业务系统采用SSM框架开发。进行系统需求分析。根据走访研究得到的数据进行分析和整理,结合研究对象(学生、教师、管理员)的需求进行系统开发,在选课系统中对研究对象赋予不同的权限。依据系统分析进行系统设计和详细设计,对各个功能模块进行说明。根据上述方案搭建环境,进行代码的编写,数据库表的编制,完成后续的系统测试等工作。

系统分析需求分析需求分析作为软件生命周期的重要构成部分,具有十分重要的意义。要准了解用户和项目的功能,性能和靠谱性,为系统提供可行的,科学的要求。一个完整的系统设计和实现离不开具体的需求分析。通过对研究对象进行严谨的调研工作,完成了本系统的需求分析工作。在线选课系统能够很快速且灵活地对从网络平台和用户处收集到的数据进行处理。这样就可以减轻教育工作员的工作量,提升其整个工作效率。传统选课方式在线下需要老师申报,学生报名,教务员统计,整个过程繁杂且出错率高,而在线选课可以大大地节约人力、物力和时间。结合用户的实际使用效果和建议,本系统采用人性化的设计理念,分为登录注册模块、学生功能模块、管理员功能模块和教师功能模块等,各个模块的具体功能是互相独立的,但整个系统功能的实现又是互相关系的。学生的需求是登录后能检索和查看学校提供的选修课信息以及任课教师的信息,同时也可以修改学生自己的个人信息和密码,结合自身情况选定课程或退选课程。教师的需求是可以高效地申报课程,修改个人信息和密码,修改课程信息,查看当前课程的选择情况等。管理员的需求是可以及时准确地接收到系统通知,如审核教师信息,审核教师申报的课程,调整用户的权限等。可行性研究首先是经济可行性,本系统面向的对象是在校学生、教师和教务管理员,因此最大的支出在软件开发方面。本系统所采用的B/S模式只需要客户端有浏览器的功能即可,该系统开的开发工具Eclipse,它是免费的且开源的。系统投入运行后所节省的人力和物力等方面对的收益远超软件开发的投入,由于高校的校园内校园网的大面积覆盖,也就不需要额外的网络投入。所以,在经济方面,开发一个高校在线选课系统不需要很大的经济投入,硬件方面需配备数据库服务器和网页服务器。在技术可行性方面,为了提高开发效率,对一般的个人电脑和学校实验室配备的电脑完全适用。SSM框架技术作为本系统的框架支持,Mybatis框架是一个轻量级的持久层框架,其主要作用是数据持久化操作,相较于本科期间学习的Hibernate框架在操作上更加灵活。Spring是一个JavaEE框架,控制反转和面向切面编程是其两个核心特性。SpringMVC是MVC框架,类似于本科所学习的SSH框架中的Struts2,但却拥有Struts2所难以企及的安全性和更低难度的操作性。在开发环境的可行性上,本系统对电脑没有过高的要求,本次项目的开发选用了macbook电脑自带的mac系统,开发工具是Eclipse,开发环境是JDK1.8版本,Apache旗下的tomcat8版本作为服务器,数据库采用了MySQL8.0版本。由于本科期间学习了这几种工具使用方法,所以操作起来没有难度。综上所述,本系统的开发是可行的。

系统设计系统总体结构与功能系统的设计目标经过本人的调查与研究,预期中的本课题需要达到以下目标:(1)系统的开发应当符合用户对于在线选课系统的实际需求。

(2)实现不同角色用户端的登录以及后台中各自所应实现的功能模块。(3)系统能够稳定运行的同时也要安全可靠。系统的模块设计本系统从用户的角度出发将用户分为学生、老师和管理员这三种角色,不一样的角色拥有不一样的权限。除管理员外的其他用户可以根据要求进行注册或者根据用户名和密码进行登录。学生功能模块:学生通过用户名和密码成功登录选课系统后可以检索查看有空额课程的信息和本课程授课教师的信息,在思考后可以选定或者退选某项课程。教师功能模块:教师注册需要通过管理员的审核,登录成功后可以根据要求进行课程的申请,并把该申请提交到管理员端由管理员审核,申请课程成功后可以查看某课程当前的选课情况。管理员功能模块:管理员登录后需要审核教师提交来的注册申请和开课申请,可以更改其他用户的角色从而赋予不同的权限。详见图3-1,该系统的模块总体结构图。图3-1模块总体结构图系统流程图图3-2系统流程图数据库设计数据库设计数据库设计应遵守一致性和安全性的原则。关系型数据库的设计应遵守标准化的理念。标准化有六个层次:1NF,2NF,3NF,BCNF,4NF,5NF,通常是做到3NF。数据库是系统的核心,数据库中存储了系统的所有信息,要实现系统的所有功能就要操作数据库中的数据。本系统中的数据库实体有“管理员”、“教师”、“学生”、“课程信息表”等。“教师”与“课程”有着多对多的关系,因为一位老师能根据学院的要求开设很多课程,名称相同的课程由于学生数量的限制也可以由多个老师开设;“学生”与“课程”之间是多对多的关系,一名学生可以选修多个不同的课程,一门课程也能供许多学生选择。本系统的数据库可以用一个E-R图进行表示,如图3-3所示。图3-3E-R图数据库表设计本系统需要使用13张表,下面是本次系统设计中主要用到的表的设计。教师用户表用来存储教师的相关信息也可以用来验证登录信息是否正确,详情见表3-1。表3-1教师用户表tea_user字段名类型长度说明idint10教师idusernamevarchar50教师用户名passwordvarchar50密码roleint10角色类型代号infoidint10信息通知id教师信息通知表是用来存储与其关联的课程和角色的信息,便于教师在自己的后台看到具体通知,详情见表3-2。表3-2教师信息通知表tea_notice字段名类型长度说明noticeidint11通知idtidint11教师idnoticetypevarchar50信息通知的类型noticeinfovarchar50通知内容教师信息表用来展示或修改教师的个人信息,详情见表3-3。表3-3教师信息表tea_info字段名类型长度说明idint10教师idnamevarchar50教师姓名sexvarchar50性别idcardvarchar50身份证号phonenumbervarchar50电话号码provincesvarchar50省份educationvarchar50文化程度schoolvarchar50毕业学校majorvarchar50专业学生用户表用来存储学生的相关信息,也可以用来验证登录信息是否正确,详情见表3-4。表3-4学生用户表stu_user字段名类型长度说明idint10学生idusernamevarchar50学生用户名passwordvarchar50密码infoidint10信息通知id学生信息通知表用来存储学生所收到的消息内容和类型,因为学生选择的是教师所开设的课程,所以表中添加了tid字段,每条消息的id都是唯一的,该表选用noticeid作为主键,详情见表3-5。表3-5学生信息通知表stu_notice字段名类型长度说明noticeidint11通知idtidint11教师idnoticetypevarchar50通知类型noticeinfovarchar50通知内容学生信息表存储了学生的详细信息,详情见表3-6。表3-6学生信息表stu_info字段名类型长度说明idint11学生idnamevarchar50学生姓名sexvarchar11性别classvarchar50班级idcardvarchar50身份证号phonevarchar50电话号码provincevarchar50省份学生课程信息表里存储的是该学生选择的所有课程以及取得的相应分数,详情见表3-7。表3-7学生课程信息表stu_course字段名类型长度说明stuidint11学号courseidint11课程idscorevarchar255分数管理员信息通知表用来存放管理员所收到来自教师发出的需要进行审核的信息,以及所有已审核过的信息,故添加了教师tid,详情见表3-8。表3-8管理员信息通知表root_notice字段名类型长度说明noticeidint11通知idtidint11教师idnoticetypevarchar50通知类型课程信息表用来存储与课程相关的信息,由于课程由教师申请且教授,所以在该表中添加了教师tid,详情见表3-9。表3-9课程信息表course字段名类型长度说明idint11课程idcourse_namevarchar255课程名course_typevarchar255课程类型courseinfovarchar255课程简介tidint11教师idcourse_stu_maxint11学生最大数量course_stu_sizeint11学生数量score_flagvachar255分数等级 书籍表中存储了与课程所要用到的书籍信息,如表3-10所示。表3-10书籍表book字段名类型长度说明idint11Id号book_namevarchar255书本名pricevarchar255价格publishvarchar255出版社pubtimedate1出版时间authorvarchar255作者isbnint20国际标准书号用户权限表存储了本系统中所有角色所对应的权限,详情见表3-10。表3-10用户权限表roleinfo字段名类型长度说明roleidint11角色idrolenamevarchar255角色名称roleinfovarchar255角色描述

系统详细设计系统各模块功能设计与简介用户登录注册模块登录模块用于验证每一个账户的身份,系统其它的功能都需要用户先登录。用户进入主页面后根据自己的角色(学生、教师、管理员)进行选择登录,依照登录页面信息提示进行登录,教师和管理员用工号登录,学生用学号登录。被用户输入的登录信息经验证合法后,数据信息会经由表单传到后台系统,后台系统将会在数据库中查找是否存在该用户的信息,若存在即登录成功,不存在则登录失败,回到主页面再次登录。出于安全角度,管理员不可直接注册,需要学校在数据库中录入管理员的信息。教师和学生可以在登录页面点击“注册”进行新用户的注册。学生填写注册表单后,若信息格式合法,数据会被提交至后台且被录入进数据库。教师提交完注册表单后会被提交至管理员的账号审核后台,管理员审核通过并为教师赋予权限即为注册成功。学生功能模块在学生功能模块这个大模块下面,分为查看个人信息、查看已选课程信息、浏览可选课程信息、修改密码、查看系统消息等子模块。学生经信息验证成功登录后进入学生端主界面stumain.html,导航栏中提供了适用于学生操作的功能,点击“个人信息”会显示该学生的除成绩外的所有个人信息,学生可以自行修改。通过点击“修改密码”可以进行密码的修改。点击“网上选课”可以浏览到所有的可选课程,学生通过上方的搜索框可以检索目标课程从而进行报名。点击“我的选课”即可查看当前已选择的课程,在这个功能里,选上也可进行退选。“系统消息”里包含了所有系统发给该学生的通知,包括选课成功和退选某课的通知。教师功能模块教师功能模块中包含查看个人信息、查看所授课程详情、申请课程、修改密码和接收系统通知等子模块。教师登录成功后跳转到teamain.html,“个人信息”里面简单地介绍了该教师的情况,如姓名、教师编号、工号、籍贯、学历、毕业院校等。“我的课程”里收录了该教师目前所授课程的详细信息,如课程名称、课程类型、课程人数及当前的课程状态等,这些信息的收纳便于教师进行教学安排。如果教师想开设一门新的课程,需要在“添加选课”中按照提示进行课程申请的提交,等待管理员的审核结果,管理员审核后将结果发送至该教师的“系统消息”里。出于安全角度,教师拥有修改密码的权限,但不可频繁修改。教师离开本系统时点击右上方的退出即可。管理员功能模块管理员在本系统中承担着重要的角色,也发挥着重要的功能,因此管理员功能模块至关重要。管理员功能模块包含帐号审核、课程审核、帐号管理、权限管理和系统通知这五个子模块,下面是对这五个子模块的具体说明。教师注册必须要通过管理员进行审核,教师填写完的注册表单会被提交至管理员处,管理员需要通过“帐号审核”给出通过或不通过的反馈。教师注册通过后系统会自动赋予其教师权限,管理员可按照学校的工作安排进行新的权限赋予,只需通过“帐号管理”进行修改即可。管理员最重要的职责之一是及时审核教师提交来的课程申请,评估后给出通过或不通过的意见。为了便于管理员进行工作待处理的收集,本系统添加了类似于管理员备忘录的“系统通知”,所有提交来的待处理通知都会被保存在这里。

系统测试本网站的开发采用MySQL数据库,数据库的可视化工具为SequelPro,以Eclipse为开发平台,Tomcat8为服务器,采用SSM作为开发框架,通过JSP技术实现网页和动态的操作,其中运用了Bootstrap和jQuery前端技术,实现了各个模块的功能。现在在本地计算机上进行功能测试,在测试描述中,在前面模块的测试中进行详细展示,后面若有类似则不再展示。以下仅展示部分测试内容。系统的功能测试测试前台首页首页界面,根据用户类型登录,学生、教师、管理员有与其对应的登录入口。如图5-1所示。图5-1前台首页界面测试前台登录注册点击首页登录按钮,将会跳到如下页面。如图5-2、图5-3、图5-4所示。图5-2教师登录界面图5-3学生登录界面图5-4管理员登录界面如需要注册,则点击注册按钮,跳至如下页面。见图5-5、图5-6、图5-7。图5-5教师注册界面图5-6教师注册界面图5-7学生注册界面测试学生功能模块学生登录成功后,跳转到学生端主页面。见图5-8。图5-8学生端主界面点击“网上选课”,跳转到选课页面,学生可以按页浏览或根据教师、课程名称或课程分类进行检索。见图5-9。图5-9选课界面 选完课后,进入“我的选课”进行查看是否已选上,也可对当前已选课程进行退选。如图5-10所示。图5-10个人选课详情界面 可以在“系统消息”中查看来自系统的通知,如图5-11所示。 图5-11学生系统通知界面 学生修改密码界面,如图5-12所示。图5-12学生修改密码界面测试教师功能模块单击“增加课程”一项,跳至申请课程的页面,见图5-13。图5-13教师增加课程界面点击“我的课程”,展示该教师当前开设的课程详情。见图5-14。图5-14课程详情界面 点击“个人信息”可以查看或修改教师本人的信息,见图5-15。图5-15教师个人信息界面 点击“修改密码”可进行密码重置,如图5-16所示图5-16教师修改密码界面 在“系统消息”里课查看由系统发来的通知,如图5-17所示。图5-17教师系统消息界面测试管理员功能模块点击导航中的“帐号管理”,“帐号审核”,“查看详情”,可以看到待审核教师信息,由管理员进行审核。如图5-18,图5-19所示。图5-18帐号审核界面1图5-19帐号审核界面2权限管理中有系统各个角色的权限,也可以增加角色。见图5-20、图5-21。图5-20权限管理界面1图5-21权限管理界面2 在“帐号管理”中可以对教职工的角色进行修改,如图5-22所示。图5-22课程详情界面 点击“课程审核”后,可以看到待审核的课程信息。图5-23课程审核界面 “系统通知”相当于是管理员的一个备忘录,里面有所有待处理和已处理的信息。如图5-24所示。图5-24管理员系统通知界面系统测试结论经过上述测试,各个模块所应具备的功能基本达到了良好的效果,运行相对稳定,测试成功。

结论经过近几个月的学习和研究,我所选择的课题《基于SSM的高校选课系统的设计与实现》已基本完成,所研发出的系统也基本符合使用要求,能够进行在线浏览课程,在线选课,审核课程等,但由于本人在知识方面仍有局限性,所以有些地方容错性能比较低。本次毕业设计使我收获颇丰,总结起来有以下几点:第一,认识到了SSM框架和SSH框架的不同之处,由于本科期间未曾学习过SSM框架,在课题伊始非常困难,查阅了相关的文献和环境搭建的教程并请教了刘俊强老师,最后成功搭建起环境。在此次系统开发过程中,合适的框架选择使开发工作达到了事半功倍的效果。第二,这是本人第一次使用maven这个工具,maven主要是用来管理包的,通过添加包的依赖就可以使用包,非常方便,maven通过统一包的版本,也解决了一些潜在的问题,比如包之间的冲突或者是版本不兼容等问题。第三,学习到了一些软件测试方法和测试工具。在本科阶段对软件测试仅限于了解并不熟练,在为期几个月的毕业设计的完成过程中,我更加清晰地掌握了软件测试的步骤和方法。了解到从执行程度上可划分为静态测试和动态测试,从软件内部结构和具体实现的角度来看,可以分为白盒测试和黑盒测试。在本次毕业设计的过程中,提升了我的自学能力和独立思考能力,学习到做事情要按部就班地进行,最好在开始就先列一个提纲,遇到自己难以独立解决的问题要及时查阅文献,或多与周围的老师和同学交流。其次,不能把知识局限于课本,单纯的纸上谈兵效果不大,俗话说实践出真知,要在实践中多培养自己的专业能力。最后,我要特别感谢我的毕业设计老师刘老师,在本次毕业设计的过程中,刘老师给我提供了很多值得参考的意见。附录PAGE16参考文献梁永先,李树强,朱林,杨帆.JavaWeb程序设计[M].北京:人民邮电出版社,2016.肖睿,郭泰,王丁磊.SSH框架企业级应用实战[M].北京:人民邮电出版社,2018.陈沛

温馨提示

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

评论

0/150

提交评论