毕业设计论文 基于jsp学生成绩管理系统.docx

上传人:b****7 文档编号:8911848 上传时间:2023-02-02 格式:DOCX 页数:22 大小:2.47MB
下载 相关 举报
毕业设计论文 基于jsp学生成绩管理系统.docx_第1页
第1页 / 共22页
毕业设计论文 基于jsp学生成绩管理系统.docx_第2页
第2页 / 共22页
毕业设计论文 基于jsp学生成绩管理系统.docx_第3页
第3页 / 共22页
毕业设计论文 基于jsp学生成绩管理系统.docx_第4页
第4页 / 共22页
毕业设计论文 基于jsp学生成绩管理系统.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

毕业设计论文 基于jsp学生成绩管理系统.docx

《毕业设计论文 基于jsp学生成绩管理系统.docx》由会员分享,可在线阅读,更多相关《毕业设计论文 基于jsp学生成绩管理系统.docx(22页珍藏版)》请在冰豆网上搜索。

毕业设计论文 基于jsp学生成绩管理系统.docx

毕业设计论文基于jsp学生成绩管理系统

目录

1绪论2

1.1项目开发背景2

1.2项目开发的目标2

1.3项目提出的意义2

1.4系统开发所用的技术准备3

1.4.1数据库技术的现状与发展3

1.4.2JAVA语言的概述4

1.4.3编码4

2系统需求分析6

2.1系统调查6

2.2系统构架6

2.3用户需求6

2.3.1学生的需求6

2.3.2老师的需求7

2.3.3管理员的需求7

2.4系统方框图7

2.5系统设计思想8

2.6系统设计分析8

3数据库设计9

3.1数据库表的设计9

3.2数据库所使用的技术10

4功能介绍12

4.1学生功能13

4.2教师功能14

4.3教务管理员功能16

5系统测试18

5.1测试目的18

5.2测试环境的搭建18

5.3测试方法20

5.4测试项目20

5.5测试结果20

参考文献22

1绪论

1.1项目开发背景

一直以来学生的成绩管理是学校工作中的一项重要内容,我国的大中专院校的学生成绩管理水平普遍不高。

随着办学规模的扩大和招生人数的增加,建立一个成绩维护系统是非常必要的。

普通的成绩管理已不能适应时代的发展,因为它浪费了许多的人力和物力。

在当今信息时代这种传统的管理方法必然被以计算机为基础的信息管理系统所代替。

为了提高成绩管理的效率,我选择了学生成绩管理系统作为毕业设计的课题。

本系统在大多数成绩管理系统的基础上,主要增加了教师对成绩的操作,教师改完试卷后不用在往学院的教务处办公室报送成绩,可以直接的把成绩上传到网络上,学生也可以方便快速的查询到自己的成绩,考试后教务管理人员也不必总呆在学院的办公室,他们都不受时间,位置,空间的限制,只要有上网的条件,在家里就可以完成有关成绩的录入,更新,管理,查询和删除。

本系统将会改变以前靠手工管理学生成绩的状况,提高工作效率。

希望能为老师和学校的工作带来便利。

1.2项目开发的目标

建立学生成绩管理系统,采用计算机对学生成绩进行管理,进一步提高办学效益和现代化水平。

帮助广大教师提高工作效率,实现学生成绩维护工作流程的系统化、规范化和自动化。

为了使系统在学院的管理中发挥更大的作用,实现工作过程的计算机化,提高工作效率和工作质量,现提出如下的系统开发目标:

(1)系统应具有实用性、可靠性和适用性,同时注意到先进性。

(2)对各个数据库进行动态管理,防止混乱。

(3)不同用户有不同的查询和修改权限,防止非法查询,非法修改。

(4)能够对查询结果进行分类汇总,实现报表打印和下载。

(5)方便用户的操作,尽量减少用户的操作。

1.3项目提出的意义

随着高校办学规模的扩大和招生人数的增加,学生成绩管理维护是学校管理中异常重要的一个环节,作为学校,除了育人,就是育知,学生成绩管理的计算机化是整个学校教务管理中的重要一部分,介于它的重要性,学生成绩管理系统的开发与应用就逐渐提入议程,并占着越来越重要的份量。

运用学生成绩管理维护系统可以减轻学院教学人员的工作量,缩小开支,提高工作效率与准确率,能够节省时间,学生也能够尽快的知道自己的考试成绩,投入新的课程的学习或复习这次没有考过的课程。

而学生成绩管理系统的应用也为今天的民办教育在未来市场的竞争力有所提高。

在现代高科技的飞跃发展,人们工作习惯的改变,特别是电脑的大量普及,人们生活节奏越来越快,怎样提高工作效率是人们首先考虑的问题。

学生成绩管理是一个非常繁琐与复杂的一项工作,一个原因就是工作量大,不好管。

对于一个学校而言,管理好学生的成绩,是非常重要的。

因此开发出一套学生成绩管理系统是非常必要的。

1.4系统开发所用的技术准备

1.4.1数据库技术的现状与发展

数据库是60年代末出现的一门计算机软件技术,到现在虽然只有三十多年的历史,但在理论和时间上都已经趋于成熟,使我们能够方便的使用。

数据库技术是信息系统的核心和基础,它的出现极大地促进了计算机应用向各行各业的渗透数据库的建设规模、数据库信息量的大小和使用频度已成为衡量一个国家信息化程度的重要标志。

MySQL作为一种开放源码数据库,以其简单易用的特点广泛被广大用户采用,MySQL虽然是免费的,但同Oracle,Sybase,Informix,Db2等商业数据库一样,具有数据库系统的通用性:

(1)数据库管理系统。

我们知道,所谓的数据库就是一些结构化的数据的联合体,要提供对这些数据的存取、增加、修改、删除或更加复杂的数据抽取等操作,需要有一个支撑系统,这就是数据库管理系统(DBMS),MySQL完全具有这方面的功能。

(2)关系型数据库管理系统。

在数据库的发展历程中,曾出现过多种不同形式的数据库系统,但关系型数据库管理系统(RDBMS)以其优越性而被广为采用,象现在几种广泛使用的数据库全为关系型数据库。

同样,MySQL也是关系型的数据库系统,支持标准的结构化查询语言(StructuredQueryLanguage)。

(3)开放源码数据库。

同商业性的数据库相比,这是MySQL最大的特点。

MySQL的源码是公开的,这就意味着任何人,只要遵守GPL的规则都可以对MySQL的源码使用、修改以符合自己特殊的需求。

(4)技术特点。

MySQL服务器端是多线程的,为客户端提供了不同的程序接口和链接库,如C、C++、Java、Perl、PHP、Tcl等,也提供了简单的管理工具,如mysqladmin,mysql等。

正因为MySQL的源码是公开的,使得我们有机会从源码级,更深入的了解MySQL。

从这一层面上可以探求、了解MySQL数据库的特性:

良好的内存管理机制,尤其是内存泄漏的管理,通过了Purify的严格测试;支持多种平台;提供多种形式的API,为我们开发工具的选择提供了便利;使用多线程的技术,可充分发挥系统的特点,避免在SMP系统中出现仅使用单CPU的现象;对磁盘表的管理采用B树加密及索引的技术,为我们快速访问数据提供了可能;高性能的内存申请技术;临时表采用在内存中以哈希表实现;提供多种数据类型;支持定长的和变长的纪录;所有的列都有缺省值,为我们的某些“粗心”提供了方便;灵活、安全的权限和密码系统,密码在传输中加密传送,允许主机端验证密码;13)客户端可以通过TCP/IP、Unix套接字、命名管道(NT)连接到MySQL数据库服务器;对多种字符集的完全支持等等许多优点。

MySQL有如此多的特点,又由于其免费的特点,这就给许多的中小应用提供了不错的选择。

尤其是对一些中小企业,无论是从降低成本,还是从性能方面,采用MySQL作为其数据支撑系统,都是一种可行的方案。

但也应当注意,采用MySQL作为应用数据库,就意味着所有的问题都需要自己解决,要承担一定的风险。

1.4.2JAVA语言的概述

Java是一种简单的,面象对象的,分布式的,解释的,键壮的,安全的,结构的,中立的,可移植的,性能很优异的多线程的,动态的语言。

当1995年SUN推出Java语言之后,全世界的目光都被这个神奇的语言所吸引。

Java语言其实最早诞生于1991年,起初被称为OAK语言,是SUN公司为一些消费性电子产品而设计的一个通用环境。

他们最初的目的只是为了开发一种独立于平台的软件技术,而且在网络出现之前,OAK可以说是默默无闻,甚至差点夭折。

但是,网络的出现改变了OAK的命运。

在Java出现以前。

Internet上的信息内容都是一些乏味死板的HTML文档。

这对于那些迷恋于WEB浏览的人们来说简直不可容忍。

他们迫切希望能在WEN中看到一些交互式的内容,开发人员也极希望能够在WEB上创建一类无需考虑软硬件平台就可以执行的应用程序,当然这些程序还要有极大的安全保障。

对于用户的这种要求,传统的编程语言显得无能为力,而SUN的工程师敏锐地察觉到了这一点,从1994年起,他们开始将OAK技术应用于WEB上,并且开发出了HotJava的第一个版本。

当SUN公司1995年正式以Java这个名字推出的时候,几乎所有的WEB开发人员都想到:

噢,这正是我想要的。

于是Java成了一颗耀眼的明星,丑小鸭一下了变成了白天鹅。

1.4.3编码

程序设计语言是人和计算机通信的最基本的工具,它的特点必然会影响人的思维和解决问题的方式,会影响人和计算机通信的方式和质量,也会影响其他人阅读和理解程序的难易程度。

因此在编码时所选择的编码语言是很重要的。

本系统主要使用了基于JAVA语言的JSP技术Servlet技术,Hibernate开源框架技术,Struts开源框架技术,以及HTML、CSS、XML等等语言和技术。

因此该系统据有JAVA的所有优点,移植性能比较好,数据库移植也比较容易。

本系统使用了许多的框架技术扩展也比较容易。

在编码实现过程中,使用了基本的控制结构,每行只写一行代码,在必要的地方加了许多的注释,结构清晰,代码容易阅读。

对所有的输入数据都进行了检验,并且对组合输入也进行了级联验证,输入的格式也比较简单。

对于验证出错的,给出详细的错误信息,使用户可以很清楚的知道自己在哪里出错了,方便用户的使用。

2系统需求分析

2.1系统调查

21世纪以来,人类经济高速发展,人们发生了日新月异的变化,特别是计算机的应用及普及到经济和社会生活的各个领域。

使原本的旧的管理方法越来越不适应现在社会的发展。

许多人还停留在以前的手工操作。

这大大地阻碍了人类经济的发展。

为了适应现代社会人们高度强烈的时间观念,我对河南科技学院新科学院的原有的学生成绩管理系统进行了调查研究,并对一些教师和学生进行了调查,听取他们对学生成绩管理的一些建议和要求以及他们对这方面的一些需求,根据我所具有的知识,决定开发的这个系统采用当前较为流行的编程软件Java作为实现语言,以数据库MySql作为系统的后台操作.

2.2系统构架

系统采用的是B/S结构,即浏览器和服务器架构,示意图如图2-1所示。

浏览器端提供用户操作界面,接受用户输入的各种操作信息,向服务器发出各种操作命令或数据请求,并接收执行操作命令后返回的数据结果,根据业务逻辑进行相关的运算,向用户显示相应的信息。

服务器端接收浏览器端的数据或命令请求,并请求数据库服务器执行数据库操作得到相应的数据集,对数据集进行相应的处理,然后将数据集或处理后的数据集返回给浏览器端。

用户浏览器Web服务器数据库服务器

图2-1系统架构示意图

2.3用户需求

2.3.1学生的需求

(1)在第一时间查询自己所有的成绩(自己的平均成绩,总成绩)

(2)查询某一科成绩,该科平均成绩,所在名次,最高成绩,最低成绩

(3)打印和下载自己的成绩

2.3.2老师的需求

(1)查询某一学生的所有成绩(平均成绩,总成绩)

(2)查询某一学生某一科成绩,该科平均成绩,所在名次,最高成绩,最低成绩

(3)查询某一班级的成绩(所有成绩,某一学期的所有成绩,某一学期的某一科目的所有成绩)

(4)对某一科成绩进行统计(及格人数,及格率,不及格人数,不及格率,优秀人数,优秀率,某一分数段的人数)

(5)录入成绩和修改更新成绩(自己所教授的那一科成绩)

(6)打印和下载所查询或统计出的结果

2.3.3管理员的需求

(1)查询某一学生的所有成绩(平均成绩,总成绩)

(2)查询某一学生某一科成绩,该科平均成绩,所在名次,最高成绩,最低成绩

(3)查询某一班级的成绩(所有成绩,某一学期的所有成绩,某一学期的某一科目的所有成绩)

(4)对某一科成绩进行统计(及格人数,及格率,不及格人数,不及格率,优秀人数,优秀率,某一分数段的人数)

(5)录入成绩和修改成绩

(6)打印和下载所查询或统计出的结果

(7)用户管理

(8)数据库管理

2.4系统方框图

系统层次方框图如图2-2所示:

 

 

图2-2系统层次方框图

2.5系统设计思想

(1)采用现有的资源,先进的管理系统开发方案,充分利用学校现有的资源,减少开发中的时间和财力、物力、提高系统开发的水平和应用效果。

(2)系统就满足学校的需求,例如学生成绩的录入、查询、更新,学生成绩录入与排名等等。

(3)系统具备数据库维护功能,及时根据用户需求进行数据添加、删除、修改等操作。

2.6系统设计分析

本系统使用Struts开源框架实现MVC三层模式进行开发,使模型,视图和控制分开,业务逻辑和显示分开,这样有利于错误的查找和系统的升级。

该系统适用于各个学校,其功能主要为:

成绩管理:

用于对成绩的录入、修改、汇总、排名以及查询等操作。

3数据库设计

3.1数据库表的设计

本系统将数据存储在六个表中,这六个表分别是:

学生表(见表3-1):

保存学生的基本信息,包括学生的姓名,登录系统时的密码,学生的学号,所在的班级以及一些备注信息。

表3-1学生表

字段名称

中文解释

保存类型

默认值

长度

可否为空

主键

id

主键自增

int

16

不能

name

姓名

varchar

24

不能

password

登录时密码

varchar

24

不能

student_id

学号

varchar

20

不能

classes

班级

varchar

24

不能

remark

备注

varchar

56

可以

教师表(见表3-2):

保存教师的基本信息,包括教师的姓名,登录系统时的密码,教师号,备注,其中备注默认为“0”,当为“1”的时候教师可以录入和修改学生的成绩,为空或者是其他值的时候,录入功能将被锁定。

表3-2教师表

字段名称

中文解释

保存类型

默认值

长度

可否为空

主键

id

主键自增

int

16

不能

name

姓名

varchar

24

不能

password

登录时密码

varchar

24

不能

student_id

教师号

varchar

20

不能

remark

备注

varchar

“0”

56

可以

班级表(见表3-3):

保存班机的基本信息,包括班级名称和备注。

表3-3班级表

字段名称

中文解释

保存类型

默认值

长度

可否为空

主键

id

主键自增

int

16

不能

classes

班级名称

varchar

24

不能

remark

备注

varchar

56

可以

教师所担任课程的表(见表3-4):

保存教师所教的课程信息。

表3-4教师所担任课程的表

字段名称

中文解释

保存类型

默认值

长度

可否为空

主键

id

主键自增

int

16

不能

subject

所教授的科目

varchar

24

不能

classes

班级

varchar

24

不能

student_id

教师号

varchar

20

不能

remark

备注

varchar

56

可以

教务管理员表(见表3-5):

保存管理员的基本信息。

表3-5教务管理员表

字段名称

中文解释

保存类型

默认值

长度

可否为空

主键

id

主键自增

int

16

不能

name

登录名

varchar

24

不能

password

登录时密码

varchar

24

不能

remark

备注

varchar

56

可以

成绩表(见表3-6):

主要保存关于学生成绩的一些信息,本系统主要是对该表的操作。

表3-6成绩表

字段名称

中文解释

保存类型

默认值

长度

可否为空

主键

id

主键自增

int

16

不能

name

姓名

varchar

24

不能

subject

科目

varchar

24

不能

student_id

学号

varchar

20

不能

classes

班级

varchar

24

不能

property

考试性质

varchar

24

不能

term

学期

varchar

24

不能

teacher

该科目的教师

varchar

24

不能

result

成绩

int

16

可以

remark

备注

varchar

56

可以

3.2数据库所使用的技术

本系统所使用的数据库是MySQL数据库,使用Hibernate开源框架对数据库进行操作。

Hibernate对JDBC进行轻量级的封装,他给我们提供了许多对数据的操作方法,方便我们的编程,提高开发效率。

Hibernate使用的是HQL查询语言,里面封装了许多数据库方言,根据Hibernate的配置文件来转换为相应数据库的SQL语句。

可以很方便的实现对数据库的移植,不需要修改代码,或只是需要修改少量代码就可以了。

Hibernate配置文件:

hibernate.cfg.xml内容如下:

xmlversion='1.0'encoding='UTF-8'?

>

DOCTYPEhibernate-configurationPUBLIC

"-//Hibernate/HibernateConfigurationDTD3.0//EN""

--GeneratedbyMyEclipseHibernateTools.-->

root

jdbc:

mysql:

//localhost:

3306/ssmange

org.hibernate.dialect.MySQLDialect

mysqlDriver

841118

org.gjt.mm.mysql.Driver

4功能介绍

启动服务器,在浏览器里输入相应的地址(在本机上输入:

http:

//127.0.0.1:

8080/StudentScoreManage/),进入系统主界面,也就是登录界面,如图4-1所示:

 

图4-1登录界面

此界面使用了表格进行排版,使用了一组单选按钮来区分不同的角色,部分代码如下:

角  色:

radioproperty="type"value="student">学生

radio> 

radioproperty="type"value="teacher">教师

radio> 

radioproperty="type"value="manage">管理员

radio>

submit>登  录

submit>  

  

reset>重  置

reset>

用户名:

textproperty="name">

text>

密码:

passwordproperty="password">

password>

该登录模块,使用到了Struts+Hibernate技术,使用Struts的Actionform进行判断,看输入的各项是否为空,是否符合要求。

Action进行登录验证处理,验证成功则跳转到相应的登录成功界面,否则给出相应的错误信息。

4.1学生功能

在登录页面,选择学生角色,输入用户名也就是学号,输入登录密码,然后进入学生登录成功界面如图4-2所示(登录名2004011110(吕先令同学)):

图4-2学生登录成功页面

此界面上可以进行修改密码,查询自己的某一科成绩,以及该科成绩的平均成绩,自己所在名次,最高成绩,最低成绩等,还可以按学期查询所选学期的所有成绩以及该学期的总成绩,平均成绩,修改自己的登录密码或是注销本次登录,退出该系统。

实现查询功能的核心代码如下所示:

//得到学生成绩信息

list=os.getStudentSubject(student_id,Factory.codeToString(ssForm.getTerm2()),Factory.codeToString(ssForm.getSubject()));

//得到该学生在该科目中的名次

Integerindex=os.getIndex(student_id,Factory.codeToString(ssForm.getSubject()),Factory.codeToString(ssForm.getTer

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 农学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1