学生成绩管理系统设计与实践Word文件下载.doc
- 文档编号:8431648
- 上传时间:2023-05-11
- 格式:DOC
- 页数:28
- 大小:725KB
学生成绩管理系统设计与实践Word文件下载.doc
《学生成绩管理系统设计与实践Word文件下载.doc》由会员分享,可在线阅读,更多相关《学生成绩管理系统设计与实践Word文件下载.doc(28页珍藏版)》请在冰点文库上搜索。
2.2.1MVC开发理论 6
2.2.2SSH框架分析 7
3.1系统需求 9
3.2系统功能需求分析 10
3.2.1系统功能组成 10
3.2.2系统模块框图 11
4.1系统功能设计 13
4.2数据库的设计 18
4.2.1数据库表结构设计 18
5系统功能的实现与测试 21
5.1SSH框架的搭建 21
5.2功能的实现 22
5.3系统的测试 26
6系统的评价 27
参考文献 28
1引言
随着计算机技术的飞速发展,信息时代的到来,信息改变了我们这个社会。
学校在管理、教学、办公各个方面也在悄悄地变化,作为一个教育单位不可缺少的部分——学生成绩管理系统,它的内容对于学校的决策者和管理者来说都至关重要,一款先进的学生成绩管理系统必定会使教学更先进、办公更高效、管理更科学,信息交流更迅速,所以学生成绩信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。
但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:
效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。
作为计算机应用的一部分,使用计算机对学生成绩信息进行管理,具有着手工管理所无法比拟的优点。
例如:
检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高学生档案管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。
因此,开发这样一套管理软件成为很有必要的事情,故决定选择学生成绩管理系统来作为本人的毕业设计,在很短的时间里开发出一套界面友好,功能强大,使用简单的适用于各规模学院的学生成绩管理系统。
该学生成绩管理系统能有效的处理在校学生的成绩管理,具有成绩输入、成绩查询、成绩统计及打印功能。
学生成绩管理系统可以实施应用在各中、大、小院校中,适用范围很广,应用性强。
随着系统实施的日益成熟,最终会使单机作业为主的教学管理活动提高到这个平台上来,从而实现学校学生成绩信息管理的办公自动化,籍以提高办学效率和质量。
使学校充分利用计算机所带来的新技术,为培养人才打下坚实的基础。
2系统开发平台和相关理论与技术
本系统是面向全国的初中和高中的一款教学管理系统,经过本人对周边中学的调查,和对贫困地区学校的信息采集,针对国内的管理系统所存在的问题,从而开发这款学生成绩管理系统。
本节将重点介绍该系统的开发环境和理论与技术。
2.1系统开发平台的选择
目前计算机语言有c、c++、c#、.net、Java、PHP、汇编语言等等。
开发学生管理系统需要选择合适的语言[2]。
2.1.1开发语言的选择
目前市面上的管理系统绝大部分用的都是Jsp、ASP.Net、PHP这三种语言。
它们的共同点都是动态网页技术,都镶嵌在HTML代码中,用语言引擎来解释代码并执行代码。
而JSP的语言引擎是java虚拟机,就是将jsp代码编译成.class文件,并由Java虚拟机来解释执行.class文件[11]。
在这三种语言的环境下,HTML代码主要显示静态的页面,而程序代码进行业务逻辑的处理。
一般网页的HTML代码是通过web服务器运行的,但是Jsp、ASP.Net、PHP这三种语言都要依赖环境虚拟机来编译执行程序代码,并把返回结果嵌入到HTML代码中,最后发送给浏览器,显示结果。
Jsp、ASP.Net、PHP是基于web服务的技术。
它们的区别及特点如下:
Jsp的特点无疑是跨平台性,因为使用JavaAPI,所以可以在Windows、Linux、Mac等系统中运行[10]。
从而扩展了JSP使用web服务器的范围,在者,JSP使用JDBC操作数据库,对那些运行在不同操作系统的数据库,避免了代码的移植而需要更换数据库的问题。
ASP是有微软开发的动态语言,其特点与JSP非常相似,功能主要可以实现动态网页,实现用户的动态交互功能,它的功能也就是它的特点,不同于HTML的交互功能,HTML只能简单的访问而无法动态的交互,是一种静态网站。
开发工具使用微软开发的VisualStudio这个软件,运行环境也非常局限,只能运行在微软的服务器产品IIS上。
PHP的特点也是跨平台性,支持几乎所有的数据库系统和操作系统,在市场上也较为普及。
CGI脚本语言是一种强大的PHP语言,语法包含了C、PHP和Java的新型的一种语言,速度执行快,效率高,一般比Java,ASP的运行速度快,内嵌有加速引擎,性能稳定,资源占用少,代码运行速度快。
并且与Java一样具有很好的可移植性和可扩展性,PHP可以运行在几乎所有的服务器上,属于开放软件,代码也完全公开,任何程序员可以为PHP扩展附加想要的功能。
结合实际情况和开发的环境,以及本人对这三种语言的了解程度,该学生成绩管理系统使用Jsp语言开发,即用HTML语言开发页面,Java语言处理后台的业务逻辑。
2.1.2开发结构的选择
Web开发是目前较为流行的开发体系,JavaWeb主要有两种开发结构:
C/S开发结构和B/S开发结构[5]。
C/S结构是一种客户机与服务器的访问交互,而B/S是一种浏览器与服务器的访问交互,本学生管理系统属于一个网站,需要在线登入查询学生的信息,所以用到的结构就是B/S结构。
2.1.3数据库的选择
这些数据的查询以及信息的增删改,数据库都是缺一不可的后台,常用的数据库有:
Oracle、SqlServer、MySql、Access等等。
Oracle:
现在大型企业的主流数据库,价格昂贵,但性能非常优秀[4]。
SqlServer:
稍微贵些,但只能运行在Windows操作系统下,丝毫没有一点开放性,对跨平台的操作兼容性差,而且对系统的稳定性要求很高。
Access:
操作简洁、方便,不依赖Server也可以对数据库操作,但安全性不够,加了用户密码容易被破解。
MySql:
具有执行速度快、稳定性好、使用方便等特点,已经成为世界上最流行的开放数据库之一。
同时,由于它的跨平台性,MySQL数据库能运行Linllx、Windows、Max、HP—UX、AIX、Netware等2O多个平台上[7]。
综上所述,采用的数据库是MySQL。
2.2系统开发的理论与技术
系统开发的理论最实用的就是MVC设计模式,它是系统设计中的典型结构之一。
用到的技术无非是SSH(Struts2、Spring、Hibernate)或者SSM(Struts2、Spring、Mybatis)三大框架。
2.2.1MVC开发理论
学生管理系统的开发通过应用MVC开发模式,使其代码结构分成三层,以便设计结构清晰明了。
V:
(view)视图,即用户界面,相当于与后台交互的一个端口。
在B/S结构下,视图就是浏览器,浏览器向用户显示从后台返回的相关数据,并能够接受用户输入的数据,但是它不进行任何业务逻辑上的处理。
M:
(Model)模型,它主要提供业务逻辑,就是对业务逻辑,和前台传过来的数据进行处理,包括对数据的存取,加工操作。
一个Model可以为多个view提供数据及业务上的处理。
这样就实现了模型的可重用性,简化了代码,提高了效率。
C:
(Controller)控制,主要负责控制视图与模型的流程。
它就相当于一个多用开关,当客户端发送一个请求,开关端接受到请求,通过解析这个请求,需要发送给哪个模型,开关就往哪里打,控制端并不需要对数据进行处理,它只是一个桥梁,起到交接作用,最后的数据是通过模型调用相应的方法进行处理。
2.2.2SSH框架分析
Struts2是系统开发的基础框架,主要控制页面的跳转流程,即页面导航的作用[6]。
当客户端发送一个HttpServletRequest请求login.action,然后控制器根据请求调用合适的Action,通过调用Action的Execute方法,获取从客户端传过来的参数,执行一定的业务逻辑,最后将处理结果返回到浏览器并显示。
其流程如图:
2.1所示。
图2.1Struts2框架的基本流程
Spring是一个构造Java应用程序的轻量级框架,它即可以构建web程序,也可以构建Java程序[3]。
Spring的核心主要是IOC控制反转,它不需要new一个对象,代码全程都不需要创建对象,而是通过Spring框架本身注入对象。
即使用IOC容器,就不需要留心组件的创建;
它的生存周期也大可不管;
组件之间就可以很容易共享;
测试也简单多了。
其流程如图2.2所示。
A:
不使用SpringIOC
B:
使用SpringIOC
图2.2SpringIOC流程
Hibrenate是实现对象/关系映射和数据库交互,JDBC访问数据库的代码就封装在Hibrenate,并且还封装了一些简单的SQL语句,操作数据库时,只需调用其对象就可以实现简单的增删改操作[13]。
其流程如图2.3所示。
图2.3Hibrenate框架的基本流程
图2.4SSH框架的总流程
关于开发学生成绩管理系统,总的可以分三层:
显示层,业务逻辑层和数据库层。
显示层就用JSP代码来完成,页面之间的跳转即客户端跳转,还有服务器跳转都用Struts2这个框架来控制,很好的将jsp里的Java代码分离开来。
使用Hibernate框架又很好的将访问数据库的代码与Action(处理业务逻辑)的代码实现了分离,降低了耦合度。
然后Spring的引用,完美的与Struts2、Hibernate进一步整合,并使用它的IOC控制反转对控制逻辑和业务对象实现完全分离[9]。
其流程如图2.4所示。
3系统具体需求分析
当接到此系统开发任务后,通过调查,委托学校要求系统具有权限设置功能的登录模块,学生可以实现成绩信息查询功能。
教务管理人员能够实现注册新用户,学生成绩信息的查询、录入、删除、修改、浏览、统计等功能。
再次就是经济上、技术上的可行性,当三者都达到指标的时候,我们就可以着手进行系统的开发。
3.1系统需求
成绩管理主要是由教务处对教师、对课程、对学生、对学生成绩进行管理,以期让教师、学生能够随时对学生成绩进行各种查询。
系统的服务对象有系统管理员、教师、学生。
根据用户的身份有不同的需求。
管理员:
即教务处,可以管理学生和教师的基本信息状况,还可以打印学生和老师的全部信息。
老师:
可以录入本班学生的成绩,学生的成绩是需要由人工录入的,因此系统就需要设计一个学生成绩信息录入的窗口来录入期考成绩,并且在这个窗口中放入一个数据窗口来实现录入这方面信息的功能。
还需要能查看学生的成绩。
并导出到excel表进行打印。
学生:
可以查看自己的课程以及成绩,还有班级的排名和年段的排名。
因此为了显示查询结果,就要设计一个数据窗口,并将其放在查询期考成绩的窗口中实现查询功能。
由于该系统是学校管理学生成绩信息的系统,因此必须具有一定的保密性,需要特定的人员才可以修改,因此需要设计一个用户登陆的窗口,使具有访问权限的用户才能登录此系统。
为了简单化,我们的用户名和用户密码和数据库本身的用户名密码相同。
系统的主窗口要能够在用户选中相应操作后,调出相应的窗口来使用户在窗口中完成相应的功能。
3.2系统功能需求分析
本系统的设计限制了三个权限,管理员,教师,还有学生。
系统管理员是权限最大的,可以对教师与学生的基本信息进行管理,其次是教师可以对学生的成绩进行操作,权限最小的就是学生,只能查看自己的基本信息和成绩。
总的权限:
管理员>
教师>
学生。
3.2.1系统功能组成
开发学生成绩管理系统实现学校的日常管理,需要如下这些功能:
(1)用户登入:
登入类型有三个,需要进行用户类型校验。
(2)账号维护:
对密码的修改,可以防止密码的泄露。
(3)班级管理:
对班级的信息执行增删改查。
(4)教师管理:
对教师的信息执行增删改查。
(5)学生管理:
对学生的信息执行增删改查。
(6)课程管理:
对课程的信息执行增删改查。
(7)成绩管理:
可以对每个学生的成绩执行增删改查,并排序,之后把页面信息导出到excel表,进行打印。
其整个系统的框图如3.1所示
用户登入
用户类型校验
学生
老师
管理员
账号维护
成绩管理
个人信息
学生管理
课程管理
教师管理
班级管理
排序并导出
成绩查询
执行增删改查
图3.1系统整体框图
3.2.2系统模块框图
(1)管理员的权限最大,可以对教师和学生的信息进行操作,可以录入课程和成绩,并实现成绩的排序导出。
其框图如3.2所示。
管理员用户
图3.2管理员框图
(2)教师可以管理自己的个人信息和账号,可以对学生的成绩进行录入并导出。
其框图如3.3所示。
教师
图3.3教师框图
(3)学生可以管理自己的个人信息和账号,只能查看成绩。
其框图如3.4所示。
图3.4学生框图
4系统详细设计
根据学生成绩管理系统的整个架构框图,对每个模块,以及每个模块的子模块进行详细的设计,比如登入界面的用户类型的校验它的流程是怎样的,主页面对应的各模块的增删改查的流程的设计,还有导出功能用到的方法,排序用到的算法等等。
4.1系统功能设计
(1)系统登入验证
当用户在浏览器里输入系统运行的地址,系统就会显示登入界面,然后输入用户名,密码,用户类型以及验证码,点击“登入”按钮,系统对用户输入的信息进行处理,然后登入成功跳转到主界面。
如果用户名,密码,用户类型为空时,文本空右边就会显示:
“请输入用户名!
”,“请输入密码!
”,“请选择用户类型!
”等相应提示,输错又会提示“用户名和密码错误!
”。
登入超时是,系统弹出异常提示页面,登入失败。
登入验证流程如图:
4.1所示。
图4.1系统登入验证流程
(2)系统账号维护
添加账号:
当用户进入主界面,左边是管理主菜单,点击系统账号维护里的添加账号,有两个文本框,然后输入用户名和密码,点提交,账号添加成功。
访问数据库出错时,就会在页面上提示“请重新输入!
”其流程如图:
4.2所示。
图4.2系统账号维护流程
修改账号:
点击修改按钮,在文本框里就会查找出系统原本的账号,然后修改账号和密码点提交,弹出一个小框,提示修改成功。
访问数据库出错时,就会在页面上提示“修改账号操作失败!
4.3所示。
图4.3修改账号流程
删除账号:
点击删除按钮,页面就会弹出一个提示小框并显示:
“是否要删除这条记录”,然后点确定,删除成功。
当访问数据库异常,则系统跳转至错误提示页面,用户点击“返回”按钮,进入账户一览页面。
其流程如图:
4.4所示。
图4.4删除账号流程
账号维护总组件关系如图所示
Struts2配置映射文件:
struts.xml
账号初始化
ZhaoAccountPage.jsp
账号维护列表
Index.html
ZhaoAccountAction
异常
管理请求
注入组件
更新
error.jsp
updateZhaoAccount.jsp
添加
ZhaoAccountService
addZhaoAccountPage.jsp
接口实现
DB
处理对象
ZhaoAccountServiceImpl
I
HibernateORM
ZhaoAccountDAOImpl
ZhaoAccount
Spring容器的管理:
application.xml
ZhaoAccountDAO
图4.5账号维护总组件关系
学生管理总组件关系如图所示:
教师管理列表
教师初始化
StuAccountPage.jsp
StuAccountAction
updateStuAccount.jsp
StuAccountService
addStuAccountPage.jsp
StuAccountDAOImpl
StuAccountServiceImpl
StuAccountDAO
StuAccount
图4.6学生管理总组件关系
(2)成绩的排名
在成绩排名中用到了排序的算法,在Java中排序算法其实有12种左右,其中最常用的也就三种:
冒泡排序,快速排序,选择排序。
冒泡排序:
其实从字面上就可以理解,冒泡就是气泡浮上来了,也就是说轻的气泡一定要上浮,重的气泡要在轻的气泡的下面,这样一来,假如说有一数组a[1…n],根据冒泡这一原理,两两比较,轻的在上,重的在下,反复进行比较,直到轻的都在上面为止。
示列如表:
表4.7冒泡法演示
88
80
91
85
76
原来的数组
第一次比较演示
(88>
76)交换(80>
76)交换(91>
76)交换(85>
76)交换
第二次比较演示
80)交换(80<
85)不交换(91>
85)交换
第三次比较演示
(88>
85)交换(85<
91)不交换
第四次比较演示
(85<
最终结果
选择排序:
它就是进行每一次等待排序的数组元素中挑出最min或最max的那一个,按照顺序放在已排好元素的最前或最后。
表4.8选择排序演示
在这五个数中选出最min=76
在这四个数中选出最min=80
在三个数中选出最min=85
最min=88
但是本系统采用ArrayList排序,它会自动调用一个内置的方法来实现降序或升序进行对成绩排序,然后通过ArrayList遍历输出显示到页面。
(3)成绩导出到excel表
成绩的导出方便了老师打印成绩排名表,大大提高了老师的工作效率。
怎么样实现这个导出功能:
导出功能导出的文件默认是excel表格式,先创建一个输出流对象,通过一个方法设定好表的名字,然后设定好导出表的字段。
4.2数据库的设计
数据库是数据存储的一个可以管理的仓库,是一个可以存储数据且存储内存庞大的仓库,数据不单单是指我们平时所说的12345这些数字,它也可以是图片,表格,视屏,音频以及文件。
对于学生成绩管理系统数据库是非常重要的,没有了数据库,学生成绩管理系统就相当于没有了内脏的一个驱壳,根本就失去了它原本的作用。
4.2.1数据库表结构设计
数据库是数据存储的一个可以管理的仓库,因为可以管理,所以要怎样管理数据库才能使数据库在安全性上达到指标,数据库的安全性实际上就是对数据库加密,加密方式其实有两种,一种是数据库本身加密,就是当你打开数据库时是需要输入账号和密码的,这是第一层加密,这一层加密其实是很容易可以破解的。
第二种加密就是代码的加密,这种加密方式安全性能高,不容易被破解。
其次就是数据表结构的设计,表结构的合理性直接关系到数据操作的效率,表结构的合理性优化,可以提高数据库运行效率,也可以保证学生成绩管理系统的对数据的一致性和完整性。
设计数据库时,要确定所要存储这些信息的字段,字段之间有什么联系,从而确定主键和外键,然后设计需要建几张表。
每张表之间的相互关系是怎样的,尽量将表结构优化到最佳。
(1)下面是数据表结构的设计,总共设计6张表:
管理员表(管理员id,用户名,密码)
班级表(班级_id,班级_name,年级,教师_id)
教师表(教师_id,教师_no,教师_name,年龄,用户名,密码,联系方式)
学生表(学生_id,学号,学生_name,性别,年龄,用户名,密码,联系方式)
课程表(课程
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 成绩管理系统 设计 实践