摘要

在当前信息技术飞速发展的潮流下,越来越多的行业信息保存方式开始转换为互联网,以前在纸质化的信息保存方式下,信息易丢失,不易查找等重大缺点显而易见,但是在当前的技术下,计算机存储已经是各行各业都认可并都支持爱戴的一种数据保存方式。例如,学校使用的图书馆管理系统、商店使用的记账系统和我们熟悉的支付宝等存储数据都是用以计算机为基础的互联网。所以,将学校教学进度信息进行计算机的保存的方案非常符合高校需求的。
本项目基于B/S架构的且使用当前最为流程的开发技术java语言来作为系统开发语言,并使用javaweb的ssm框架来作为系统开发框架,使用了MVC设计模式来编写java代码,使用jsp技术来作为前端页面的渲染,而且为了使页面美观大方,我们使用当前很受开发者喜爱的bootstrap的UI框架来与用户友好的交互,而且使用了目前非常流行的mysql数据库作为保存学生的各种信息数据的工具。基于Java的教学进度信息管理系统的设计与开发不仅能够使其学校教务人员可以更加方便地管理学生的基本系统,还在教师管理的功能上提供查看自己教学课程以及对对应的课程的学生进行打分的功能。并且本系统还为学生提供登陆功能,学生登录系统后可以查询到其自己选课记录以及查询到自己的所有课程信息等。本系统实现数据电子化管理将大大的降低了学校管理的成本,提高了记录学生教学情况的整体效率,符合当前信息化时代的发展。

关键词 教学管理,ssm,MVC设计模式,B/S,bootstrap,jsp,Mysql

Abstract

In the current trend of rapid development of information technology, more and more industry information preservation methods begin to convert to the Internet. In the past, in the paper-based information preservation method, the major shortcomings such as easy to lose and difficult to find are obvious. But in the current technology, computer storage has been recognized and supported by all walks of life. For example, the library management system used in schools, the bookkeeping system used by stores, and the familiar storage data such as Alipay are all computer based Internet. Therefore, the program of saving the teaching progress information by computer is very in line with the needs of colleges and universities.	 This project is based on B / S architecture and uses Java language as the system development language, which is the most popular development technology at present, uses SSM framework of JavaWeb as the system development framework, uses MVC design pattern to write java code, uses JSP technology as the front-end page coloring, and in order to make the page beautiful, we use bootstrap which is very popular among developers The user-friendly interaction is based on the user-friendly UI framework, and the very popular MySQL database is used as a tool to save all kinds of information and data of students. The design and development of teaching progress information management system based on Java can not only make the school administrators more convenient to manage the basic system of students, but also provide the function of viewing their own teaching courses and scoring the students of the corresponding courses. And the system also provides students with login function, students can query their own course selection records and query all their course information after logging in the system. The implementation of electronic data management system will greatly reduce the cost of school management, improve the overall efficiency of recording students' teaching situation, in line with the development of the current information age.

KEY WORD:Teaching management, SSM,MVC design mode,B/S,BootStrap,Jsp,MySQL

目录

摘要 I
目录 III
第一章 绪论 1
第一节 研究背景及意义 1
第二节 国内外研究现状 1
第三节 研究内容 2
第二章 系统关键技术 3
第一节 JAVA与SSM框架 3
第二节 MVC设计模式 4
第三节 B/S架构 5
第四节 BootStrap框架 6
第五节 Mysql数据库 7
第三章 系统分析 8
第一节 可行性分析 8
第二节 系统功能需求分析 9
第三节 系统非功能需求分析 12
第四章 系统设计 14
第一节 系统详细设计 14
第二节 系统数据库设计 14
第五章 系统实现 17
第一节 登陆页面的实现 17
第二节 管理员功能的实现 17
第三节 教师功能的实现 20
第四节 学生功能的实现 21
结束语 23
谢辞 24
参考文献 25

第一章 绪论

第一节 研究背景及意义
随着现代科学技术水平的不断提高,如今计算机技术、多媒体技术和网络技术的不断发展,不断地影响着我们的日常生活,潜移默化地改变我们的思维、意识以及传统。这种影响同样地渗透到了教育领域,对我们的教学体制、教学模式、教学手段都不同程度地提出了挑战。
现代信息技术的飞速进步,使得计算机在人们的日常生活和学习中占据了越来越重要的地位。现在的人们越来越依赖计算机来实现自动化办公,利用计算机在数据处理和数据存储方面的优异性能,能够帮助使用者提高其工作的效率,同时能够减少错误。还能够提供快速查询检索功能以及按照要求进行报表打印功能。
教学进度信息管理系统能够辅助教务工作人员更及时更高效地完成日常的管理工作,工作效率的提高有利于教务工作人员工作的积极性,减轻工作压力。教学进度信息管理系统在数据处理和数据整理保存方面性能优异,有效地降低了日常工作中出错的概率,防止返工浪费时间。
第二节 国内外研究现状
一、国外研究现状
世界发达国家十分看重信息技术对于教育方面的积极影响及推动作用,他们一般具有稳定的较大规模的技术团队来提供信息技术方面的支持,它们拥有自己的高水准的计算机技术,用以规划新的教学目标,制定新的教育方面的改革方案,从而加速推动教学信息化建设。从六七十年代开始,发达国家的许多大学早已开始对教学系统的信息化管理进行了研究与探索,如今已经发展成熟,形成了较为科学规范的模式。在发达国家,最早是20世纪70年代美国的麻省理工学院提出 了数字化校园的概念,并且在经历了十几年的努力建设,已经建设出一个相对成熟的数字化校园平台[1]。
其管理信息系统模式一般都是以全局数据信息集中统一管理的中央数据库模型,而软件开发的系统架构多半也是以C/S,借助B/S模式进行设计的,整个学校的教学资源被以集中数据平台的方式从全局的角度进行统筹管理,从而提高整个的教学管理效率,同时不同的系统和模块之间的数据流通速度也得以加快[2]。正是因为多年的改进与探索,目前国外高校的这种管理模式规模已初具规模,其运行也处于一种相对来说完善和稳定的阶段。
尽管国外的教学进度信息管理系统水平领先,但相对应的教学机构与国情不同,教学管理上的手段与方法有异,我国不能全部复制他国的教学进度信息系统管理模式。
二、国内研究现状
目前国内研究现状,在安全性和信息更新化方面存在有一定的不足,各现有系统资料单独建立,共享性差:在以管理者为主体的方式中,信息取舍依赖管理者对于信息的认知与喜好,较不容易掌握用户真正的需求,也因此无法完全满足用户的需求。目前国家的教育体制也正处在不断改革、创新的阶段,我国教育部门充分吸取国外优秀的教学模式,结合国内多年的办学经验,逐步探索出适合中国特色的教学形式,国家教育部面向各级各类学校开展了全面学分制改革。因此,教学进度信息管理系统应充分地依托校园网以实现教学信息的集中管理、分散操作、信息共享,使传统的教学管理朝数字化、无纸化、智能化、综合化的方向发展,并为进一步实现完善的计算机教务管理系统和全校信息系统打下良好的基础[3]。
第三节 研究内容
目前国内一些高校在借鉴和吸收国内外先进的教学进度信息管理系统管理模式的同时,也会结合本校的具体实际情况,来设计开发符合自己条件的教务管理系统。但是大多数的学校没有自己的教务管理系统技术研发能力,普遍热衷于以直接购买软件公司产品的方式来搭建本校综合教务管理平台。本文将对比国内外教学进度信息管理系统的不足之处,设计出一套简易方便可行的教学进度信息管理系统,并详细的说明系统的设计流程。在模块上,主要是包括管理员模块、教师模块、学生模块。管理员主要功能在于对学校中的课程进行增删改查的操作,教师可以查看授课信息及学生成绩,学生可以查看自己需要学习的课程和学习的时间地点以及选择课程。本文通过各个方面讲述本系统的实现过程,希望在解决教学进度信息管理系统需求下能够取得进一步的突破。

第二章

系统关键技术
第一节JAVA与SSM框架
一、JAVA
java是当前对于万千开发者来说是一门简单易懂的编程语言,它拥有面向对象的开发思路。“简单易用,功能强大”是java相比其他编程语言所拥有的两大特征。对于java开发者来说,它集成了很多的api文档,在设计思路上以及开发框架上已经遥遥领先与同一级别的c++编程语言[4]。

二、SSM框架
ssm框架是由Spring,SpringMVC以及Mybatis这三种框架整合而成的。中Spring作为贯穿全局的存在,它可以比喻成一个装载着所有javabean的一个大工厂,而SpringMVC属于MVC三层架构中的控制层,用来接收和返回前台发送的请求的,对应Mybatis来说作为持久层框架,也有这各种的独到之处。
(一)Spring
Spring最先是来自于Rod Jahnson的一本书籍《Export One-on-One J2EE Design and Development》,这本书中首先阐述了spring的一些核心思想,这本书在2002年正式出版,spring的核心思想IOC(控制反转)和AOP(面向切面)大大的降低了当时编写代码的复杂性。控制反转是我们开发人员不需要每一次都去创建新的对象,这样降低了运行时内存的控制,提高了业务处理的效率问题。面向切面更加的形象的形容了spring是一个容器,可以在进入容器的时候进行某些操作来过滤一些问题,比如现在很流向的过滤器filter,为了过滤是否用户登陆状态的,在进入系统的时候当时还没有触发相应接口时就去判断该用户使用有权限访问就是利用了AOP面向切面的技术,在切面进行拦截。
Spring可以组合其他的业务框架,将其他的框架组合成一个较为复杂的应用,然后将其他框架的做出一个声明式的配置在XML文件中,我们只需要负责专注于业务逻辑的处理即可,大大的提高了开发效率。
(二)SpringMVC
SpringMVC被称为控制层框架主要是因为它是由前端控制器、处理器映射器、处理器适配器和视图解析器组成,这也就意味着它是可以跟前端进行关联的,它在整个应用开发中担任着“调节”的作用:前端发送请求通过SpringMVC进入后台,后台处理完数据后通过SpringMVC做出相应的处理结果返回给前台,再由前台负责与用户进行友好交互。
(三)Mybatis
Mybatis起先为apache的一个开源项目iBatis,只是在2010年时此项目被迁移到了google code,并且被改名为mybatis。在2013年才被迁移到Github中Mybatis是目前最为流行的持久层框架之一,Mybatis与springboot可以进行无缝整合[5]。Mybatis作为访问数据库的框架,它具有较高的安全性,而且在处理数据库事务方面有很多的独到之处。Mybatis不仅能够支持数据库中的普通sql查询,还能够实现数据库操作的存储过程以及高级映射关系。而且它几乎消除了所有的JDBC代码及参数的手工设计和结果集的检索。Mybatis具有简单易学、灵活、接触了sql与程序代码的耦合、支持并提供关系映射和提供xml标签等特点。

第二节MVC设计模式
MVC即Model-View-Controller(模型-视图-控制器)是一种软件设计模式,最早出现在Smalltalk语言中,后被Sun公司推荐为Java EE平台的设计模式[6]。
在MVC的三层架构之中,模型层也被称作业务层。顾名思义,业务层就是为了处理用户请求后台的操作对应的各种业务,业务层中多数都是可以将各种业务接口进行封装,实现“低耦合,高内聚”的软件工程理念,而在控制层中直接去调用对应的业务接口即可。在业务层也负责与mybatis就行交互,这就意味着在业务层中可能就会间接的操作数据库,所以业务层代码的安全是最为重要的。
视图层也就是直接与用户交互的,用户输入网址直接看到的就是视图层了,一般的视图层都是前端的UI框架,本系统的视图层代码就由layui框架进行搭建,并使用html页面以及jsp页面进行的渲染。
控制层是最主要的,用户在视图层发送的请求由控制层负责接收,例如用户点击了一个按钮,那么按钮触发业务的第一时间将会发送到控制层,由控制层来分辨当前是需要做什么业务。而在控制台一般来说不写业务代码,本着软件工程的理念,控制层都是调用在业务层写好的接口进行业务操作,当系统业务操作完之后,控制层就是返回相应的提示或者数据到视图层,由视图层做一系列的展示来提醒用户点击按钮带来的效果。
可以用如图2.1来表示MVC模式中三者之间的关系:

图2.1 MVC模式图

第三节B/S架构
B/S架构即是浏览器/服务器架构,它是基于浏览器的基础上运行web应用程序的,它不需要像C/S架构一般需要去下载对应的软件并安装运行。B/S使得在开发应用程序是前端代码和后台代码隔离开并分开执行,前端有对应前端的框架和技术,后台也有自己的框架和技术。前后端执行一个用户操作只需要在前端代码中请求后台的接口,然后在后台代码中做相应的操作并返回前端信息即可。B/S架构是当前最普遍的架构之一,大多数的企业开发web应用都会使用B/S架构。因为在B/S架构的基础上,只需要通过网页访问即可,所有用户只要有一个可以上网的浏览器,那就可以访问web系统,既简单方便,使用又安全可靠[7]。
B/S架构工作原理如图2.2所示。

图2.2 B/S架构工作原理

第四节BootStrap框架
Bootstrap框架是目前开发web应用的最好的前端框架之一,它是由职业前端倾情打造,面向全层次的前后端开发者,低门槛开箱即用的前端UI解决方案,Bootstrap直面的对象就是用户,给用户带来美好的印象和直观的体验就是Bootstrap的职责。Bootstrap是开发人员不需要针对页面就行调控,只需要在api的引导下全心的去进行数据交互即可。

第五节Mysql数据库
MySQL数据库是目前最为流行的关系型数据库之一,它最初是由瑞典的MySQL AB公司开发而成,并且是属于Oracle旗下的产品。而且在web应用方面,MySQL也是最好的RDBMS(关系数据库管理系统)[8]。一般情况下,中小型企业都是选择使用mysql数据库作为应用数据库,因为它不仅体积小、速度快,而且使用成本也非常低,它是众多开源软件之一,使用mysql是不需要付费的。

第三章系统分析
第一节可行性分析
一、技术可行性
随着现代计算器技术的迅速发展,计算机硬件和服务器等设备的性能也在不端的提升,对于不断的计算机来说,都是可以完成此次对于教学进度管理系统的开发与运行调试,而且对数据存储和处理也有较好的满足。
本系统使用开发人员最先学习到的开发工具eclipse开进行业务代码的编写,对于eclipse来说大家都习以为常了,而且eclipse有自带的maven配置,具有良好的代码提示功能。我们使用轻便型web工具tomcat当作系统的运行服务器,tomcat作为轻量级web应用服务器十分适合学生和中小型企业,我们只需要将运行代码放到tomcat服务器中运行,然后在浏览器打开tomcat配置中的端口即可访问我们的应用程序。前端使用bootstrap框架来进行与用户的交互,界面整洁美观,用户拥有极好的体验效果。
就以上的技术分析来说,在目前的应用技术中已经完全可以胜任此次的系统开发了。

二、经济可行性
就目前的社会发展,在计算机领域的带领下,计算机的成本也是越来越低,而且给我们带来的效益也是越来越高。而且我们使用开源免费的mysql数据库作为数据存储工具基本上可以做到0成本开发。作为B/S应用架构,运行也只需要一个浏览器就行,而我们使用的tomcat服务器更是直接可以部署在本地就可以实现浏览器的运行操作,tomcat各个版本都是支持java的程序,而且tomcat也是完全免费的,所以本次开发教学进度管理系统所需求的经济成本极低,在时间上可以会花费一定的时间去学习以及解决一些业务上或者技术上的问题。

三、操作可行性
本系统采用的是B/S架构的开发模式。用户无需下载其他第三方软件,只需要使用计算机自有的浏览器,在网址栏输入服务器地址就能够直接进行系统访问,而关于计算机的操作也是众所周知了,因为在操作上简单易学。

第二节系统功能需求分析
通过与指导老师的沟通,基本掌握了教学进度信息管理系统的业务流程以及开发步骤,并在业务需求的基础上,设计一套符合本系统的开发文档。教学进度信息管理系统是一项比较复杂的管理系统,因为系统本身具有三种权限的用户,所以针对不同用户需要有不同的业务流程,并且可以做到不同用户之间的数据没有任何的关联性。在教师和学生二种用户角色之间的耦合也做到清晰明确。

一、管理员模块
在本系统中,管理员主要拥有四个功能模块,主要为课程管理、学生管理、
教师管理以及所有用户的账号密码重置等。
课程管理模块中,管理员能够添加课程信息,并且录入课程的基本信息,包含设置授课老师和设置所属院系等多个字段。管理员也可以对所有的课程进行修改和删除操作。
学生管理中管理员可以在线添加学生,设置学生的基本信息,而且管理员还可以操作以往的学生可以修改和删除所有的学生信息。
教师管理模块和学生管理类似,管理员可以对教师信息进行修改和删除操作,并且可以新增教师并设置所属院系和职称。
账号密码重置功能是本系统的一大特点,由于学校的学生过多,所以会出现很多的忘记密码的情况,这时由于是本学校的系统,不能有注册功能,所以这时只需要通知管理员将对应学生的账号进行重置即可达到找回密码的功能,这也大大的提高了系统的安全性。
管理员用例图如图3.1所示。

图3.1 管理员用例图

二、教师模块
在本系统的开发过程中,将教师登录模块总体划分为三个模块:查看自己教授的课程、查看课程下学生成绩以及对课程下的学生进行打分等。
教师登录系统后可以直接在系统中清晰的看到自己所教授的所有课程,这样方便教师对自己课程的了解,不需要单独的去查询自己有哪些课程。在页面中,教师可以看到自己的课程的基本信息,包含上课时间以及上课地点等。
在课程列表中教师可以通过系统中的按钮来查看自己课程的学生成绩情况,教师根据课程点击后展示这门课程下所有所修改课程的学生情况,包含分数学号等信息,而且在看到成绩的信息的同时,教师可以对没有打分的学生进行教学打分,这样学生就可以看到自己在改课程下的成绩了。
读者用例图如3.2所示。

图3.2 教师用例图

三、学生模块
在本系统的开发过程中,将学生登录模块总体划分为三个模块:查看所有课程并进行选课、查看自己已选课程并可以进行退课操作以及对已修的课程进行查看成绩等操作。
学生登录系统后可以看到管理员设置的所有课程,学生可以在对自己感兴趣的课程中进行选课操作,自己选好的课程可以在已选课程中查看,而且在系统中可以对已选的课程进行退课操作,这样可以随时的让学生有着充足的时间去选择其他的课程并学习更多的知识。
本系统中可以清晰的看到所有课程对应的基本信息,学生可以在系统中根据自己的需要进行课程的选择,这样有利于学生充分的利用自己的有限的时间去学习,而且没门课都有对应学分,这更加的可以提高学生的综合素质得分,学生在已修课程中可以看到自己修过的课程的成绩,这样有利于学生和老师之间的互动。

图3.3 学生用例图
第三节系统非功能需求分析
一、性能需求分析
深入研究国内的教学进度信息管理系统情况,再结合别的系统的设计,开发出一个符合目前设计需求的系统。为了保证系统可以运行地高效稳定,本系统的要求如下:
(一)系统的适用性
在当前信息发展的时代,本系统只要有计算机使用经验的都可以并会使用本系统,本系统本着简单易操作的原则进行设计,需要在每一个模块有相应的操作提示,可以让用户清晰的了解本系统的工作以及自己的操作问题。
(二)系统的性能
本系统使用SSM框架,在代码的处理上需要减少代码的耦合度,尽量可以做到“低耦合,高内聚”,在访问数据库的时候可以满足事务要求。计算机的内存要求在4G以上,以保证系统不会因为内存的问题而导致崩溃。尽量满足代码的复用性、代码封装以及模块之前的封装。
(三)系统的并发访问能力
由于本系统持久层框架使用了Mybatis,所以我们在访问数据库的时候,尤其是同一数据的操作需要事务完全控制。在特殊的时段需要顾及到系统的最大并发数量,以免因为操作的人数过多而导致系统的雪崩。

二、安全需求分析
对于安全方面,本系统拥有三种角色用户,并且三种用户的权限各不一致,本系统需要保证在不同的用户登陆系统可以有不同的权限功能,在不同的用户登陆系统可以做到展示对应自己的信息以及对应自己管理的信息而不会因为数据串行而导致展示出别人的信息。因此,为了确保了系统的安全问题,系统在身份认证和权限控制方面管理严格。

第四章系统设计

第一节系统详细设计
系统拥有三种用户登陆权限,且管理权限各不相同,所以本系统大体可以概括为二大模块:管理员管理模块,教师管理模块和学生管理模块。
管理员管理模块是由学校管理员进行登陆的,管理员在进入系统后输入自己的账号密码,系统自动的判断用户类型然后重定向不同的业务模块,管理员主要功能在于对学校中的课程进行增删改查的操作,以及对学生信息操作并且可以对教师的信息进行管理,管理员还可以帮助学生或者教师来重置自己账号的密码,这就相当于用户的找回密码功能,管理员也可以随时修改自己的登陆密码。
教师登录本系统后可以查看到自己的所教授的所有课程信息,并且教师可以在对应的课程中查看选修了本课程的所有学生以及所有学生的成绩,该成绩也是由自己去设置对应的课程下的学生。教师可以和管理员一样修改自己的登陆密码等。
学生登录系统后可以查看到自己学校的所有的课程基本信息,包含了上课时间以及上课地点等,在这里学生可以任意的选择课程进行学习,在学生没有修对应课程之前学生都可以在已选课程中就行课程的退课操作,相当于重新选择其他的课程进行学习。学生可以在已修课程中查看自己对应的学习的课程的学习情况,可以在本系统中看到对应课程的老师对自己的成绩进行打分,查看自己的分数功能,学生在进入系统后可以对应自己的登录密码进行修改操作。
第二节系统数据库设计
根据系统实际的需求和功能设计,本系统共设计了7张表,系统中所设计的表汇总如表4.1所示。

第五章系统实现

在对系统分析设计的基础上,利用eclipse开发工具,加上学习了相关的开发技术,对整个系统的功能进行了大体的实现。
第一节登陆页面的实现
本系统为了简化用户的操作,在同一个登陆页面进行管理员的登陆以及教师和学生的登陆,系统自动的根据输入的用户名和密码进行重定向不同的管理页面。而且在登陆页面中用户必须输入正确的用户名和密码才能实现登陆功能,如果用户名和密码出现错误的情况下,是没有办法直接进入系统的,这样大大的保护了系统中数据的安全。登录页面使用了目前最为流行的jsp技术,是页面美观大方,用户可以使用鼠标滑动和页面进行交互。登陆页面如图5.1所示。

图5.1 登陆页面
登录页面的主要代码如下:

		<div class="col-md-4">

		</div>
		<div class="col-md-4" id="login-box">
			<form class="form-horizontal" role="form" action="${pageContext.request.contextPath}/login" id="from1" method="post">
			  <div class="form-group">
			    <label  class="col-sm-3 control-label">用户id</label>
			    <div class="col-sm-9">
			      <input type="text" class="form-control" id="userID" placeholder="请输入名字" name="username">
			    </div>
			  </div>
			  <div class="form-group">
			    <label  class="col-sm-3 control-label">密码</label>
			    <div class="col-sm-9">
			      <input type="password" class="form-control" id="password" placeholder="请输入密码" name="password">
			    </div>
			  </div>
			  <div class="form-group pull-right" style="margin-right: 15px;">
			    <div class="col-sm-offset-2 col-sm-10">
			      <button type="submit" class="btn btn-default btn-info">登录</button>
			    </div>
			  </div>
			</form>
		</div>
		<div class="col-md-4"></div>
	</div>
</div>
第二节管理员功能的实现 本系统中管理员管理模块按照功能可以划分为四个模块:课程管理、学生管理、教师管理以及用户密码重置。 一、课程管理功能 管理员登陆系统后首页展示学校所有的课程信息,可以让管理员清楚的了解到学校目前的所有课程信息以及对应的授课老师,可以随时的对课程进行新增操作等,在管理员操作菜单中的课程管理模块的按钮分为三种:添加课程信息、修改课程和删除课程信息,列表页面中系统通过前台的bootstrap框架对整体的布局有着良好的效果,课程数据使用分页展示方式可以清晰的了解到系统中课程的数量。在列表中管理员可以根据需求进行课程名的检索,课程列表如图5.2所示,也可以根据要求对课程进行修改操作,可以通过列表按钮点击修改课程的详细情况(如图5.3所示)和对课程进行删除操作等。在管理员对课程进行新增的时候必须添加书籍的相关所有信息,并且关联对应的授课老师和所属院系等。 课程列表主要代码如下:

图5.2 课程列表页面
修改课程信息功能主要代码:

修改课程信息

${item.username}
必修课 选修课 公共课
${item.collegename}
提交 重置

图5.3 修改课程页面

二、学生管理功能
管理员在管理中可以点击学生管理功能菜单,在页面展示中管理员可以清晰的看到学生的所有信息,包含学生学号、姓名、性别、出生年份、入学时间以及所属院系等。管理员也可以对学生的信息进行相关的操作,可以修改学生信息以及删除学生的信息,删除学生后学生就无法登陆系统以及查看对应成绩了,系统在管理员操作学生的时候进行了相关的限制,比如管理员在修改学生信息的时候无法修改学生的唯一标识学号,因为如果学生被修改的话,那么在课程信息中将无法与学生进行关联;还有在管理员进行删除学生操作时系统自动判断是否有课程被删除的学生进行选修,如果已经有课程被要删除的学生选修的话,管理员也无法将学生删除并且系统给出了相应的友好提示。管理员对学生进行管理的页面如图5.4所示。
学生列表主要代码:

图5.4 学生列表页面

三、教师管理功能
管理员可以在系统中对教师进行相关操作,包括新增教师,修改教师以及删除教师,而且管理员可以为教师关联所属院系以及设置职称。教师管理页面如图5.5所示。
教师列表主要代码:

图5.5 教师管理页面

四、重置用户密码功能
管理员用户拥有重置所有用户密码的功能,因为对一个学校来说,只有管理人员才是真正的内部人员,教师以及学生只是来这里获取知识的,所以在本质上来说也只有管理员才有完整的所有权限,在教师以及学生丢失密码的时候只需要告知管理员学号即可进行密码的找回,重置密码页面如图5.6所示。
重置密码主要代码:

重置其他用户密码

提交 重置
			</div>

		</div>
	</div>
</div>

图5.6 重置密码页面

第三节教师功能的实现
本系统由于考虑到数据安全的问题,所以教师登录系统后只有查看并操作自己所教授的课程的权力,在教师登录系统后页面直接展示对应的教授的课程信息,而且在页面操作中可以通过课程选择查看课程下的所有选修该课程的所有学生信息,点击操作列后的成绩,不仅可以展示对应课程下的所有学生成绩信息,还可以将没有成绩的学生进行打分操作,相当于给学生的这门课程进行一个评分操作,这个操作将直接影响学生的学分,这里有利于学生对课程的看重,培养学生的学习意识。教师管理页面课程管理功能如图5.7所示,查看打分页面如图5.8所示。
查看自己课程主要代码:

图5.7 课程查询页面
查看已选课程主要代码:

图5.8 教师查询分数并打分页面

第四节学生功能的实现
学生进入系统可以直接查询到本校的所有课程,包括课程的授课老师,上课时间以及上课地点等基本信息,学生可以在课程列表页面进行课程的选课操作,课程列表如图5.9所示。而且学生可以在列表页面进行按照课程名称模糊查询对应课程信息。不仅如此,学生对自己选择的课程在已选课程中可以进行退课操作,这样有利于学生多次选课而不影响自己的学分,但是在自己修过的课程中将无法进行退课了,并且在课程列表中无法再次选择自己选过的课程,而对于已经选过的课程学生可以在已修课程中查看自己的成绩以及对应的学分,学生查看成绩页面如图5.10所示。

图5.9 课程列表页面
已修课程主要代码如下:

<%--输出已修完的课程--%>

图5.10 查看成绩页面

结束语

完成情况:在历时二个多月的系统开发过程中,基于Java的教学进度信息管理系统终于完成了绝大部分的功能,系统可以在tomcat服务器下的浏览器中稳定的运行,管理员功能以及教师学生功能可以形成清晰的关联,每一个学生登陆系统可以看到自己的详细信息以及自己的选课记录等,在页面中出现的错误操作以及无效操作等在页面也有了相对友好的提示,课程数据以及用户数据都有了很好持久化保存环境,目前使用的是本地的数据库保存方案,在之后的版本中会慢慢的将数据放入阿里云的数据库中。
所得的收获:本次的系统开发过程,使我深刻地了解到一个系统的开发离不了前期的调研,并且对于业务上的认知是一个系统是否稳定的基础。而且在开始系统开发之前,需要认真的考虑系统所用的技术以及知识自己是否能够胜任,而且在选择开发框架的时候一定要结合业务实际出发,要做到未雨绸缪。在本系统开发中,我能够清晰的感觉ssm框架的不足之处,那就是配置文件的过于繁琐,虽然后台框架有不足之处,但是前端框架选择使用bootstrap是一个非常不错的选择,在页面布局以及针对电脑分辨率上bootstrap都有很好的支持,都可以满足于当前系统的使用。经过本系统的开发,让我更加认识的业务逻辑的重要性,更加的熟悉了bootstrap这一个UI框架的使用,下一次在使用这个框架肯定会得心应手起来。
当然本系统也还存在中很多的不足之处:首先就是后台框架的繁琐配置,但是这个在框架搭建起来之后就不需要再去管了;其次就是系统的独立性较差,系统依赖于tomcat服务器,而tomcat作为小型轻便服务器也有着自己的弱点;最后就是系统中的数据安全性,系统使用本地的mysql数据库作为数据存储工具,当自己本地系统宕机时,系统数据库将无法使用。总而言之,在之后的系统开发中,将会不断的完善与解决这些问题,希望日后在系统的开发过程中可以不断的认识到自己的不足之处并不断的进步和完善自己。

08-27 11:36