某中学学生成绩管理系统的设计

某中学学生成绩管理系统的设计[java毕业论文下载]

某中学学生成绩管理系统的设计

摘  要

进入21世纪后,科学技术突飞猛进,信息时代的来临不仅让计算机在科技上得到应用,更让计算机在生活上得到了更广泛的应用,对如今的学校来说,实现电子信息化的办公是必然趋势,学校中的信息量主要体现在学生成绩的管理上面,因此学生成绩管理系统是一个教育单位不可缺少的部分。

本毕业设计所描述的中学学生成绩管理系统是采用ASP.NET作为网络编程框架,SQL Server 2000作为数据库编写的一个B/S模式的系统。系统主要实现了:用户管理、成绩查询、成绩管理和科目管理等功能。本文详细介绍了中学学生成绩管理系统的需求分析、功能设计和系统设计,在系统设计中给出数据库的设计和本系统的总体设计方案,在系统实现中具体介绍了各个功能的所能实现的情况和主要代码,同时附有运行界面图。

 

关键字:成绩管理;成绩录入;成绩查询;.NET ;B/S;

 

 

The Design of the Middle School Score Management System

Abstract

To current schools, the students' score management is the one of the informational management. This design which is programmed on the basis of B/S structure introduced the middle school score management system that is performed with ASP.NET as the network programming frame and SQL server 2000 as the database. 

The basic functions of this system include: user management, score searching, score management, subject management and so on. This paper introduces the demand analysis in detail, the functional design and the system design of middle school student score management. The system design and database design are explained, specifically introduces each function in details.

 

Key words: Score management; Score registration; Score search; .NET; B/S

 

目录

                                                     论文总页数:21页

 

引言 1

1.1 相关理论技术基础 1

1.1.1 B/S结构 1

1.1.2 SQL Server2000 2

1.1.3 ASP.NET技术 3

2 需求分析 4

2.1 功能需求 4

2.1.1 学生 5

2.1.2 教师 5

2.1.3 管理员 5

2.2 性能需求 5

3 系统设计 5

3. 1 设计方案 5

3.2数据库设计 8

4 系统实现 9

4.1用户登录模块 9

4.2用户管理模块 10

4.2.1 用户添加功能的实现 10

4.2.2 年级升级功能的实现 10

4.2.3 查询信息功能的实现 12

4.3成绩查询模块 12

4.3.1 学号查询功能的实现 12

4.3.2 姓名查询功能的实现 12

4.3.3 查询班级功能的实现 12

4.3.4查询班级某科平均分功能的实现 13

4.4成绩管理模块 14

4.4.1录入成绩功能的实现 14

4.4.2编辑成绩功能的实现 15

4.5科目管理模块 16

4.5.1科目录入功能的实现 16

4.5.2科目删除功能的实现 17

5 系统测试 17

5. 1测试环境 17

5. 2测试结果 18

结    论 18

参考文献 19

致    谢 20

声    明 21

 

 

1 引言

在21世纪的科技时代,科学技术突飞猛进,计算机已经不仅是在科技上应用,而且在生活中也是同样得到了广泛在应用。如今,不管是小学、初中、高中、甚至是很多大学生的学生成绩管理基本上是靠人工进行管理,但随着时间的变化,学校规模的扩大,有关学生成绩管理工作和所涉及到的数据量越来越大越来越多,大多数学校不得不靠增加人力、物力、财力来进行学生成绩管理。一直以来使用传统人工的方式管理文件档案、填写各种表格,这种管理方式存在着许多缺点,如:效率低、保密性差,另外所用其时间长,产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难,同时地点的限制也带来很大的麻烦。因此开发出一个学生成绩管理系统是必要的。

当前各学校正在建立数字化校园,充分利用校园网的有利资源,已经实现了办公无纸化的数字化建设。但是,目前很多学校的电子办公设施并不完善,然而对于学校来说,成绩管理系统是一个学校不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生成绩管理系统应该能够为用户提供充足的信息和快捷的查询手段。

在现阶段的学校管理工作中,学生成绩管理系统实现了由复杂、重复性、工操作向人机简便操作的转化,它运用计算机完成数据收集、修改、查询、删除以及统计等工作,提高了管理人员工作效率,避免繁重的业务量造成的人为错误.学校作为教育与科技的先行者,那些先进的、优秀的技术往往会为学校所率先采用,网络技术也不外如此,优秀的学校管理决策者一定会选择或者自主开发一个适合本校校情的学生成绩管理系统.

利用计算机对学生成绩信息进行管理,具有手工管理所无法比拟的优点实现了对学生成绩信息的便捷化、无纸化管理,并且大大缩短了学校管理人员的维护成本和维护周期,提高了学校的办公效率。同时也是学校管理的科学化、正规化、与当代世界接轨的重要条件。因此,开发这样一个系统是很必要的事情。

1.1相关理论技术基础

1.1. 1 B/S结构

由于互联网的发展,传统的C/S模式由于成本高以及维护复杂性已经较少见应用,而应用互联网技术的B/S模式正如日中天,加上我们已建和再建的设备,我们完全可以利用校园网取代以往传统的有纸方式.B/S模式易于学习,易于实现,完全可以开发出更好更全面的管理系统.

B/S结构,即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,形成所谓3-tier结构。B/S结构利用不断成熟和普及的浏览器技术实现原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。这种结构更成为当今应用软件的首选体系结构,Microsoft.net也是在这样一种背景下被提出来的架构.

B/S具备了很好的移动性,确保不同的使用者都能以最佳的方式来使用所需的系统,普通使用者只需要使用浏览器就可以在任何地方通过身份权限确认后就可以进行相关操作,极大的发挥了B/S结构的优点。同时支持跨平台管理,不论是什么平台,只要装有Web浏览器即可;分部无需安装和维护软件;可通过局域或者广域网实时监控和管理;支持Internet组网方式.

1.1. 2 SQL Server2000 

Sqlserver2000是基于Sql客户/服务器模式的数据库系统,图形化界面使数据库管理更加简捷、灵活,同时又具有丰富的编程接口,为用户从事程序开发提供了更多的方便.

Sqlserver是Microsoft开发和推广的关系数据库管理系统(DBMS),Sqlserver2000是Microsoft公司于2000年推出的版本,它是在Sqlserver 7.0的基础上扩展升级的产品。Sqlserver2000是一款面向高端的数据库管理系统,它不仅继承了Sqlserver7.0版的性能、稳定性、便于管理和易于开发等优势,同时又具有许多新特性.总之,Sqlserver2000已成为目前广为使用的数据库管理系统.

Sqlserver2000提供了以web标准为基础的扩展数据库编程功能.丰富的XML和Internet标准支持允许用户使用内置的存储过程以XML格式轻松存储和检索数据.用户还可以使用XML更新程序,容易地插入、更新和删除数据.

使用Sqlserver2000可以获得非凡的可伸缩性和可靠性.通过向上伸缩和向外扩展的能力,Sqlserver满足了苛刻的电子商务和企业应用程序要求.

Sqlserver2000作为Microsoft.net Enterprise Servers的核心组件,它将减少电子商务和数据仓储存推向市场的时间,并对需要的环境提供了可靠的支持.Sqlserver2000还提供了对XML(extensive markup language,扩展标记语言)和HTTP的充分支持,具有强大的给予Web的分析能力,并且支持OLEDB和多种查询功能,同时还支持分布式的分区视图.

Sqlserver2000支持几乎各种类型的客户应用程序.几乎可以用现有的任意开发平台编写应用程序来访问Sqlserver.这就是说不管用什么语言编写的程序都可以用于Sqlserver.对于Sqlserver来说,最适合的软件包是已发布的微软产品Visual studio,其中包括几种工具可供用户方便,迅捷地开发新的Sqlserver应用程序.通过ODBC,几种第三方的软件包也可以用来开发在Sqlserver上运行的应用程序.

总之,Sqlserver在硬件、软件、客户许可证、管理费用、开发所需费用方面均比市场上其他RDBMS要低,是一个性能价格很高的RDBMS产品.

1.1.3 ASP.NET技术 

ASP.NET的前生是ASP,该语言曾以简单的语法及灵活地嵌入HTML的编辑方法,在很短的时间内成为当时Web技术的领头羊。ASP既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码,能产生和执行动态、交互式、高效率的站占服务器的应用程序。运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写,使用普通的文本编辑器编写,如记事本就可以完成。之后,微软又推出ASP.NET。这不是ASP的简单升级,而是全新一代的动态网页实现系统,用于一台WEB服务器建立强大的应用程序。是微软发展的新体系结构.NET的一部分,是ASP和.NET技术的结合。提供基于组件、事件驱动的可编程网络表单,大大简化了编程。

ASP更新到ASP.NET了,也说明ASP.NET比ASP更优秀了。

ASP的不足:

1)它是被解释执行的,并不是被编译执行的,所以比较慢;

2)它没有提供一个很好的开发环境;

3)不支持类,很难封装复杂的外理逻辑;

4)可随意加入脚本,很灵活,但也导致了不可维护性。

ASP.NET相应的优点:

1)它是被编译后再执行的,所以效率要比ASP高很多;

2)它有很高的开发环境,如VS.NET 2005,更容易调试程式;

3)支持类,支持面向对象,可以使用.NET Framework 更好的进行开发;

4)它使设计和开发分开过来,如界面设计放在.aspx文件中,开发则放在

.cs 或 .vb等文件中。这样更有利于程式的维护。

ASP.NET是一种将各种Web元素组合在一起的服务器技术,是一个统一的Web开发平台,它提供了生成一个完整的Web应用程序所必需的各种服务.作为一种新的Web技术,ASP.NET给了设计者一个全新的Web设计概念.它将软件设计和Web设计融为一个整体,同时与Visual Basic.Net(以下简称VB.NET)、Visual c++.net和Visual c#等程序设计语言紧密结合,从而为Web开发人员提供了一个更为强大的编程空间.

与Web技术相比,ASP.NET的优越性主要体现在以下几个方面.

性能大幅提高

ASP.NET是在服务器上运行的,且运行的是经过编译的CLR代码,其程序执行的效率将有大幅提高.同时,它还可以充分利用数据绑定、及时编译、本地优化及缓冲服务等功能来提高程序的性能.

强大的开发环境

ASP.NET的主要开发环境,如Visual studio.Net和ASP.NET WEB Matrix等,均提供了所见即所得的编辑方式.同时,还包括了丰富的工具箱和设计器,并支持控件的拖放及动态的配置管理,从而使得ASP.NET应用程序的开发更便捷和迅速.

强大的功能和适应性

因为ASP.NET是建立在CLR基础上的,所以其整个平台的功能和适用性更加适合网络应用程序的开发.ASP.NET的强大性和适应性,可以使它运行在Web应用软件开发人员的几乎全部的平台上.ASP.NET同时也是语言独立化的,他可以使用很多语言来编写.

简单性和易用性

通过ASP.NET来完成一些很平常的任务,如表单的提交、客户端的身份验证、分布系统和网站配置等,将是一件非常简单的事情.

可移植性和良好的适用性

ASP.NET对多线程有着自己独特的一套操作方法,当一个线程出现异常情况时(如溢出及锁死等).一个新的进程便会在异常处重新建立,并且继续担负原进程所处理的任务,这就使得应用程序能够不中断地处理客户的请求.

2 需求分析

从用户的角度进行设计,将用户分为三类:学生、教师、管理员。特别是教师登录后,不同的科目的教师的登录身份是和自己所教授的科目相对应的,具体的说就是教师进入系统后只能录入自己科目下学生的成绩。

管理员可以添加学生和老师用户和编辑用户信息;可以对学生进行升级处理;可以查询某个学生和某班的成绩情况;可以录入任意科目的成绩;可以添加、删除科目。

教师可以查看个人信息,编辑个人信息;可以查询某个学生成绩和自己教授科目的某班学生成绩并且成绩的显示是按从高到低的顺序显示;可以统计某班某科目的平均成绩;可以录入自己教授科目的成绩。

学生可以查看个人信息和编辑个人信息;可以查询自己的所有成绩。

2.1 功能需求

本系统通过三种用户类型使用学生成绩管理系统,不同类型用户所使用功能不同,管理员能够使用功能的权限最多。教师在成绩查询中能够使用功能最多。学生的功能最基本。系统功能主要包括以下几个部分:用户管理、成绩查询、成绩录入和科目管理。以下按照不同的用户类型对具体功能进行描述。

2.1.1 学生

学生在系统的基本功能是对自己所有成绩的查询和个人信息的查看和修改。

2.1.2 教师

教师在用户管理中能看到自己信息,编辑修改密码和个人信息;在成绩查询中能够按学号、或按姓名进行查询,可以查询某班学生的成绩并且成绩以排序成绩显示出来,可以统计某班学生某科成绩的平均分;在成绩管理中能够录入自己教授科目的成绩及编辑修改已录入成绩。

2.1.3 管理员

管理员在学生成绩管理系统中在用户管理中能够添加学生和教师,并能为学生、教师重设密码,能够编辑教师和学生信息,能够对学生进行升级;在成绩查询中能够对学生成绩管理系统具体的按学号、或按姓名进行查询;在成绩管理中能够按学号录入成绩、编辑修改成绩;在科目管理中能够添加科目,删除科目。

2.2 性能需求

整个系统应当操作简便,界面友好,维护简便。数据库要求运行稳定,执行速度快,数据安全性高。系统本身运行对计算机硬件平台和操作系统平台要求适中。

3 系统设计

3. 1 设计方案

该学生成绩管理系统是用ASP.NET+SQL Server2000数据库作为后台,系统是基于Web的学生成绩管理系统,在系统中分为三种用户类型:学生、教师、管理员。主要有用户登录模块、用户管理模块、成绩查询模块、成绩管理模块和科目管理模块构成。

用户登录模块功能:管理员和教师师通过工号和密码登录,学生通过学号和密码登录

用户管理模块功能:能够添加教师师和学生用户类型,能够编辑修改密码、个人信息,能够查看用户信息。管理员可以对学生用户进行年级升级处理。

成绩查询模块功能:能够按学号、姓名查询某个学生成绩,教师师能够查询某班学生自己教授科目的所有成绩,能够统计某班某科学生的平均成绩。

成绩管理模块功能:能够录入成绩和编辑成绩。

科目管理模块功能:能够添加科目,删除已添加的科目。

总体功能图如图3-1:

                             图3-1 总体功能图

     

 学生子功能图如图3-2:

        

图3-2 学生子功能图

教师子功能图如图3-3:

 

图3-3 教师子功能图

 

管理员子功能图如图3-4:

 

图3-4 管理员子功能图

3.2数据库设计

根据需求分析,本系统后台数据库共分为4个表,以下分别给出各个数据库表的简单描述. 

    1.Users表。该表是储存学生信息的表。

表3-1 :Users表

列名

中文名称

类型

宽度

是否允许为空

ID

编号

int

4

NOT NULL

Usernumber

学号

nvarchar

20

NOT NULL

Userpass

用户密码

nvarchar

20

NOT NULL

usertype

用户类型

nvarchar

6

NOT NULL

Grade

年级

nvarchar

10

NOT NULL

Class

班级

nvarchar

10

NOT NULL

Name

姓名

nvarchar

10

NOT NULL

Sex

性别

nvrchar

2

NOT NULL

Age

年龄

nvarchar

2

NOT NULL

Phone

联系电话

nvarchar

20

NOT NULL

address

家庭住址

nvarchar

50

NOT NULL

 

 

 

 

2.Subject表。该表储存科目信息。

表3-2:Subject表

列名

中文名称

类型

宽度

是否允许为空

Subject ID

科目编号

int

4

NOT NULL

Subjectname

科目

nvarchar

10

NOT NULL

 

 

 

 

3.Achievement表。该表储存成绩信息。

表3-3:Achievement表

列名

中文名称

类型

宽度

是否允许为空

ID

编号

int

4

NOT NULL

Usernumber

学号

nvarchar

50

NOT NULL

Name

姓名

nvarchar

50

NOT NULL

Grade

年级

nvarchar

10

NOT NULL

Class

班级

nvarchar

10

NOT NULL

Subjectname

科目

nvarchar

10

NOT NULL

Achievement

成绩

int

10

NOT NULL

 

 

 

4.Admin表。该表储存的是管理员和教师信息。

表3-4:Admin表

列名

中文名称

类型

宽度

是否允许为空

ID 

编号

int

4

NOT NULL

Usernumber

工号

nchar

20

NOT NULL

Userpass

密码

nvarchar

50

NOT NULL

Usertype

用户类型

nvarchar

10

NOT NULL

Username

姓名

nvarchar

50

NOT NULL

Userphone

联系方式

nvarchar

11

NOT NULL

userschool

教授科目

nvarchar

50

NOT NULL

4 系统实现

4.1用户登录模块

用户分为三种类型:学生、教师、管理员。教师和管理员登录时有身份验证,当用户是学生时,直接输入用户名和密码,如果是教师和管理员登录时,除了输入用户名和密码,还要在下面的选项框中打钩,因为教师信息和管理员信息在同一张数据库表里。登录界面如图4-1:

 

图4-1 用户登录界面

当用户都进入系统后,都能看到一样的界面,但是学生只能进入用户管理和成绩查询的界面,教师可以进入用户管理、成绩查询和成绩管理的界面。管理员则可以全部进入。

 

图4-2 管理页面

4.2用户管理模块

4.2.1用户添加功能的实现

用户管理模块中的添加功能是管理员特有的功能,添加学生用户时,同时添加用户名(也就是学号)和初始密码,添加教师师时,同时确定教师教授的科目名,添加用户名(也就是工号)和初始密码.

   

图4-3 添加用户图

4.2.2 年级升级功能的实现

 由于学校学生每年年级升级的原因,所以系统针对这个问题设计了一个年级升级的功能,由此可以进行批量处理,更加方便。一、二年级的变成二、三年级,三年级的学生则显示为“已毕业”。

 

图4-4 学生年级升级前的图

    在点击了“学员升级”按钮后,如图4-5学生年级升级后的图:

 

图4-5 学生年级升级后的图

主要代码如下:

  Protected Sub upgrade_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles upgrade.Click

        SqlDataSource2.UpdateCommand = "update users set grade='己毕业' where grade='三年级'"

        SqlDataSource2.Update()

        SqlDataSource2.UpdateCommand = "update users set grade='三年级' where grade='二年级'"

        SqlDataSource2.Update()

        SqlDataSource2.UpdateCommand = "update users set grade='二年级' where grade='一年级'"

        SqlDataSource2.Update()

        Session("userType") = "管理员"

        Response.Redirect("managerUsers.aspx")

End Sub

4.2.3 查询信息功能的实现

个人信息查询功能是所有用户都可以使用的功能,并且可以编辑修改自己的信息。学生和教师进入用户管理后就可以看到自己的信息,管理员进入用户管理模块后除了可以看见自己信息还可以通过用户类型的选择看见所有学生和教师的信息。

4.3成绩查询模块

4.3.1 学号查询功能的实现

 学号查询由老师进行,主要代码如下:

Protected Sub查询学号 _Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click

        SqlDataSource.SelectCommand = "select * from achieve where 学号 ='" + TextBox1.Text + "'"

        SqlDataSource.DataBind()

End Sub

4.3.2 姓名查询功能的实现

 和学号查询功能相似,主要代码如下

Protected Sub 查询姓名_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button2.Click

        SqlDataSource.SelectCommand = "select * from achieve where 姓名 ='" + TextBox2.Text + "'"

        SqlDataSource.DataBind()

    End Sub

4.3.3 查询班级功能的实现

 在进行班级查询时,先用一个dropdownlist下拉框选择年级,再输入要查询的班级,如“二班”。老师查询时,显示的是教师教授科目下的班级全体学生的成绩,同时显示的结果是按成绩由高到低的顺序显示出来。管理员查询时,则显示所有科目的成绩。图4-6是语文老师查询某班的成绩所显示的结果:

 

图4-6 查询班级图

主要代码如下:

       Protected Sub 查询班级_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button3.Click

        SqlDataSource.SelectCommand = "select * from achieve where 年级='" + gradeList.SelectedValue + "' and 班级 ='" + TextBox3.Text + "' and 科目='" + Session("UserSchool") + "' Order By 成绩 Desc"

 SqlDataSource.DataBind()

4.3.4查询班级某科平均分功能的实现

班级平均分查询首先通过一个dropdownlist下拉框选好年级,输入要查询的班级,再有另一个dropdownlist下拉框选择要查询平均分的科目名称。但是如果用户是数学老师,他查询其他科目平均成绩时则只显示平均分,不显示具体的学生成绩情况列表。管理员没有查询平均分这个功能。

 

图4-7 平均分查询图

某中学学生成绩管理系统的设计[点击下载]

评论