1、重庆大学网络教育学院毕 业 设 计 ( 论 文 )题目 学生成绩管理系统设计与实践 学生所在校外学习中心 XXXX 校外学习中心 批次 层次 专业 142 批次专升本计算机科学与技术 学 号 WXXXX 学 生 李 XXX 指 导 教 师 杨 XXX 起 止 日 期 2017年 2月 22日 起 至 2017年 4月 5日 止2摘 要随着网络通信技术的迅速发展和信息技术的广泛应用,计算机的应用已普及到经济和社会生活的各个领域。教育领域也不例外,现今已经出现了各种远程网络在线教育系统、图书馆管理系统、学籍管理系统,学生成绩管理系统等。其中成绩管理是任一院校都不可缺少的部分,与传统的人工管理方式比
2、较,它能够为管理人员提供充足的信息和快捷的查询手段,提高学校学生成绩管理的效果。所以学生成绩管理信息系统的开发和应用是必要的。为了实现信息化管理,而开发这个学生成绩信息管理系统,以期给教职工带来方便。本系统采用 B/S(浏览器/服务器)结构,使用SSH(struts2、spring、heberinate)三大框架。B/S 模式即网页的模式,在线登入学生成绩管理系统进行操作。本系统有三个权限:管理员,教师,学生。每个权限都有各自操作的模块,管理员可以管理教师和学生的基本信息,课程的安排,成绩的录入和导出;教师可以录入成绩以及学生成绩的导出;学生只能查看自己的成绩。根据上述的需求,通过对需求的分析
3、及各功能的详细设计,从而开发能够满足学校需求的管理系统。 关键词:学生成绩管理系统 JSP MYSQL3目 录摘 要 .21 引 言 .42.1 系统开发平台的选择 .42.1.1 开发语言的选择 .52.1.2 开发结构的选择 .52.1.3 数据库的选择 .62.2 系统开发的理论与技术 .62.2.1 MVC 开发理论 .62.2.2 SSH 框架分析 .73.1 系统需求 .93.2 系统功能需求分析 .103.2.1 系统功能组成 .103.2.2 系统模块框图 .114.1 系统功能设计 .134.2 数据库的设计 .184.2.1 数据库表结构设计 .185 系统功能的实现与测试
4、 .215.1 SSH 框架的搭建 .215.2 功能的实现 .225.3 系统的测试 .266 系统的评价 .27参考文献 .2841 引 言随着计算机技术的飞速发展,信息时代的到来,信息改变了我们这个社会。学校在管理、教学、办公各个方面也在悄悄地变化,作为一个教育单位不可缺少的部分学生成绩管理系统,它的内容对于学校的决策者和管理者来说都至关重要, 一款先进的学生成绩管理系统必定会使教学更先进、办公更高效、管理更科学,信息交流更迅速,所以学生成绩信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密
5、性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。作为计算机应用的一部分,使用计算机对学生成绩信息进行管理,具有着手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生档案管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。因此,开发这样一套管理软件成为很有必要的事情,故决定选择学生成绩管理系统来作为本人的毕业设计,在很短的时间里开发出一套界面友好,功能强大,使用简单的适用于各规模学院的学生成绩管理系统。该学生成绩管理系统能有效的处理在校学生的成绩管理,具有成绩输入、成绩查询
6、、成绩统计及打印功能。学生成绩管理系统可以实施应用在各中、大、小院校中,适用范围很广,应用性强。随着系统实施的日益成熟,最终会使单机作业为主的教学管理活动提高到这个平台上来,从而实现学校学生成绩信息管理的办公自动化,籍以提高办学效率和质量。使学校充分利用计算机所带来的新技术,为培养人才打下坚实的基础。2 系统开发平台和相关理论与技术 本系统是面向全国的初中和高中的一款教学管理系统,经过本人对周边中学的调查,和对贫困地区学校的信息采集,针对国内的管理系统所存在的问题,从而开发这款学生成绩管理系统。本节将重点介绍该系统的开发环境和理论与技术。2.1 系统开发平台的选择目前计算机语言有 c、c+、c
7、#、.net、Java、PHP、汇编语言等等。开发学生管理系统需要选择合适的语言 2。52.1.1 开发语言的选择目前市面上的管理系统绝大部分用的都是 Jsp、ASP.Net、PHP 这三种语言。它们的共同点都是动态网页技术,都镶嵌在 HTML 代码中,用语言引擎来解释代码并执行代码。而 JSP 的语言引擎是 java 虚拟机,就是将 jsp 代码编译成.class 文件,并由 Java 虚拟机来解释执行.class 文件 11。在这三种语言的环境下,HTML 代码主要显示静态的页面,而程序代码进行业务逻辑的处理。一般网页的 HTML 代码是通过web 服务器运行的,但是 Jsp、ASP.Ne
8、t、PHP 这三种语言都要依赖环境虚拟机来编译执行程序代码,并把返回结果嵌入到 HTML 代码中,最后发送给浏览器,显示结果。Jsp、ASP.Net、PHP 是基于 web 服务的技术。它们的区别及特点如下:Jsp 的特点无疑是跨平台性,因为使用 Java API,所以可以在Windows、Linux、Mac 等系统中运行 10。从而扩展了 JSP 使用 web 服务器的范围,在者,JSP 使用 JDBC 操作数据库,对那些运行在不同操作系统的数据库,避免了代码的移植而需要更换数据库的问题。ASP 是有微软开发的动态语言,其特点与 JSP 非常相似,功能主要可以实现动态网页,实现用户的动态交互
9、功能,它的功能也就是它的特点,不同于 HTML 的交互功能,HTML 只能简单的访问而无法动态的交互,是一种静态网站。开发工具使用微软开发的 Visual Studio 这个软件,运行环境也非常局限,只能运行在微软的服务器产品 IIS 上。PHP 的特点也是跨平台性,支持几乎所有的数据库系统和操作系统,在市场上也较为普及。CGI 脚本语言是一种强大的 PHP 语言,语法包含了 C、PHP 和 Java 的新型的一种语言,速度执行快,效率高,一般比 Java,ASP 的运行速度快,内嵌有加速引擎,性能稳定,资源占用少,代码运行速度快。并且与 Java 一样具有很好的可移植性和可扩展性,PHP 可
10、以运行在几乎所有的服务器上,属于开放软件,代码也完全公开,任何程序员可以为 PHP 扩展附加想要的功能。结合实际情况和开发的环境,以及本人对这三种语言的了解程度,该学生成绩管理系统使用 Jsp 语言开发,即用 HTML 语言开发页面,Java 语言处理后台的业务逻辑。2.1.2 开发结构的选择Web 开发是目前较为流行的开发体系,Java Web 主要有两种开发结构:C/S 开发结构和 B/S 开发结构 5。C/S 结构是一种客户机与服务器的访问交互,而 B/S 是6一种浏览器与服务器的访问交互,本学生管理系统属于一个网站,需要在线登入查询学生的信息,所以用到的结构就是 B/S 结构。2.1.
11、3 数据库的选择这些数据的查询以及信息的增删改,数据库都是缺一不可的后台,常用的数据库有:Oracle、Sql Server、MySql、Access 等等。Oracle:现在大型企业的主流数据库,价格昂贵,但性能非常优秀 4。Sql Server:稍微贵些,但只能运行在 Windows 操作系统下,丝毫没有一点开放性,对跨平台的操作兼容性差,而且对系统的稳定性要求很高。Access:操作简洁、方便,不依赖 Server 也可以对数据库操作,但安全性不够,加了用户密码容易被破解。MySql:具有执行速度快、稳定性好、使用方便等特点,已经成为世界上最流行的开放数据库之一。同时, 由于它的跨平台性
12、,MySQL数据库能运行Linllx、Windows、ax、HPUX、AIX、Netware等2O多个平台上 7。综上所述,采用的数据库是MySQL。2.2 系统开发的理论与技术系统开发的理论最实用的就是 MVC 设计模式,它是系统设计中的典型结构之一。用到的技术无非是 SSH(Struts2、Spring、Hibernate)或者SSM(Struts2、Spring、Mybatis)三大框架。2.2.1 MVC 开发理论学生管理系统的开发通过应用 MVC 开发模式,使其代码结构分成三层,以便设计结构清晰明了。V:(view)视图,即用户界面,相当于与后台交互的一个端口。在 B/S 结构下,视
13、图就是浏览器,浏览器向用户显示从后台返回的相关数据,并能够接受用户输入的数据,但是它不进行任何业务逻辑上的处理。M:(Model)模型,它主要提供业务逻辑,就是对业务逻辑,和前台传过来的数据进行处理,包括对数据的存取,加工操作。一个 Model 可以为多个 view 提供数据及业务上的处理。这样就实现了模型的可重用性,简化了代码,提高了效率。C:(Controller)控制,主要负责控制视图与模型的流程。它就相当于一个多用开关,当客户端发送一个请求,开关端接受到请求,通过解析这个请求,需要发7送给哪个模型,开关就往哪里打,控制端并不需要对数据进行处理,它只是一个桥梁,起到交接作用,最后的数据是
14、通过模型调用相应的方法进行处理。2.2.2 SSH 框架分析Struts2 是系统开发的基础框架,主要控制页面的跳转流程,即页面导航的作用 6。当客户端发送一个 HttpServletRequest 请求 login.action,然后控制器根据请求调用合适的 Action,通过调用 Action 的 Execute 方法,获取从客户端传过来的参数,执行一定的业务逻辑,最后将处理结果返回到浏览器并显示。其流程如图:2.1 所示。图 2.1 Struts2 框架的基本流程Spring 是一个构造 Java 应用程序的轻量级框架,它即可以构建 web 程序,也可以构建 Java 程序 3。Spri
15、ng 的核心主要是 IOC 控制反转,它不需要 new 一个对象,代码全程都不需要创建对象,而是通过 Spring 框架本身注入对象。即使用 IOC容器,就不需要留心组件的创建;它的生存周期也大可不管;组件之间就可以很容易共享;测试也简单多了。其流程如图 2.2 所示。A: 不使用 Spring IOC8B:使用 Spring IOC图 2.2 Spring IOC 流程Hibrenate 是实现对象/关系映射和数据库交互,JDBC 访问数据库的代码就封装在 Hibrenate,并且还封装了一些简单的 SQL 语句,操作数据库时,只需调用其对象就可以实现简单的增删改操作 13。其流程如图 2.
16、3 所示。图 2.3 Hibrenate 框架的基本流程9图 2.4 SSH 框架的总流程关于开发学生成绩管理系统,总的可以分三层:显示层,业务逻辑层和数据库层。显示层就用 JSP 代码来完成,页面之间的跳转即客户端跳转,还有服务器跳转都用Struts2 这个框架来控制,很好的将 jsp 里的 Java 代码分离开来。使用 Hibernate框架又很好的将访问数据库的代码与 Action(处理业务逻辑)的代码实现了分离,降低了耦合度。然后 Spring 的引用,完美的与 Struts2、Hibernate 进一步整合,并使用它的 IOC 控制反转对控制逻辑和业务对象实现完全分离9。其流程如图
17、2.4所示。3 系统具体需求分析当接到此系统开发任务后,通过调查,委托学校要求系统具有权限设置功能的登录模块,学生可以实现成绩信息查询功能。教务管理人员能够实现注册新用户,学生成绩信息的查询、录入、删除、修改、浏览、统计等功能。再次就是经济上、技术上的可行性,当三者都达到指标的时候,我们就可以着手进行系统的开发。3.1 系统需求成绩管理主要是由教务处对教师、对课程、对学生、对学生成绩进行管理,以期让教师、学生能够随时对学生成绩进行各种查询。系统的服务对象有系统管理员、教师、学生。根据用户的身份有不同的需求。管理员:即教务处,可以管理学生和教师的基本信息状况,还可以打印学生和老师的全部信息。老师
18、:可以录入本班学生的成绩,学生的成绩是需要由人工录入的,因此系统就需要设计一个学生成绩信息录入的窗口来录入期考成绩,并且在这个窗口中放入一个数据窗口来实现录入这方面信息的功能。还需要能查看学生的成绩。并导出到excel 表进行打印。学生:可以查看自己的课程以及成绩,还有班级的排名和年段的排名。因此为了显示查询结果,就要设计一个数据窗口,并将其放在查询期考成绩的窗口中实现查询功能。由于该系统是学校管理学生成绩信息的系统,因此必须具有一定的保密性,需要特定的人员才可以修改,因此需要设计一个用户登陆的窗口,使具有访问权限的用户才能登录此系统。为了简单化,我们的用户名和用户密码和数据库本身的用户名密码
19、10相同。系统的主窗口要能够在用户选中相应操作后,调出相应的窗口来使用户在窗口中完成相应的功能。3.2 系统功能需求分析本系统的设计限制了三个权限,管理员,教师,还有学生。系统管理员是权限最大的,可以对教师与学生的基本信息进行管理,其次是教师可以对学生的成绩进行操作,权限最小的就是学生,只能查看自己的基本信息和成绩。总的权限:管理员教师学生。3.2.1 系统功能组成开发学生成绩管理系统实现学校的日常管理,需要如下这些功能:(1) 用户登入:登入类型有三个,需要进行用户类型校验。(2) 账号维护:对密码的修改,可以防止密码的泄露。(3) 班级管理:对班级的信息执行增删改查。(4) 教师管理:对教师的信息执行增删改查。(5) 学生管理:对学生的信息执行增删改查。(6) 课程管理:对课程的信息执行增删改查。(7) 成绩管理:可以对每个学生的成绩执行增删改查,并排序,之后把页面信息导出到 excel 表,进行打印。 其整个系统的框图如 3.1 所示