1、考试成绩分析系统的设计与实现 摘 要 在不断信息化的今天 ,网络 的出现让人们能够更快地获取更多的信息。 各个领域都引进了计算机网络来为他们提高办事效率 。在 学校的教学管理中,利用计算机网络实现学生成绩信息的管理、统计和分析势在必行。 本系统旨在提高学校对学生考试成绩管理工作的效率,使之成为现代教学信息化服务体系的重要组成部分。本系统 采用 B/S 模式开发,以 ASP 作为主要的开发技术, SQL Server2000 作为后台数据库服务器 , 采用 Dreamweaver MX2004制作页面。 本系统主要实现了课程设置、成绩管 理、学生信息管理以及成绩的查询、统计和分析等功能。其中在对
2、成绩统计和分析部分,通过 TeeChart 组件,用柱状图直观地展现了统计分析的结果。 关键词 : 成绩管理;统计分析; ASP; SQL Server The Design and Implementation of Examination Result Analysis System Abstract Nowadays, with the development of network technology people can get information more quickly. In every field, computer network has been brought in
3、 to increase efficiency. It is necessary to take advantage of computer network to implement score management, score statistics and analysis. This system aims at improving the efficiency of student score management, which will be an important part of modern educational information services system. Th
4、is examination result analysis system is based on B/S mode, and takes ASP as program technology, SQL Server2000 as database and Dreamweaver MX2004 as tool of page developing. For the statistics and analysis parts, by adding TeeChart object, it is more visual to display the statistics results. Key wo
5、rds: management of examination result; statistical and analysis; ASP; SQL Server 第 1 页 1 引言 1.1 课题 背景 考试是教 学中特别重要的环节,通过考试,可以及时发现老师在教学中存在的问题,更重要的是还能发现哪些学生在学习过程中存在严重问题,需要老师和同学们的帮助。考完后的成绩分析就可以使我们得到这些信息。但是从以往的成绩分析中,我们费时费力的结果只能得到很少的有用信息。 几年前, 大多数 学校的学生成绩管理基本上都是靠手工进行, 随着近几年各类学校办学规模的扩大和招生人数的增加 , 有关学生成绩管理工作
6、所涉及的数据量越来越大, 这使学生成绩管理成为一项十分繁重的工作。一些 学校不得不靠增加人力、物力来进行学生成绩管理。但手工管理具有效率 低、 费时、易错误等缺点,面对如此繁多的数据需要进行管理、统计和分析,如果用人工的方法,其过程的艰辛将无发想像。 教学实践与计算机的结合,帮助我们很好的解决了这一问题。在信息技术飞速发展的今天,计算机代替了以前大多数的人力劳动,并已经成为各个领域不可缺少的应用工具。针对目前学校教师管理学生成绩,并对学生成绩进行分析仍采用人工的方法,或简单的利用 Excel进行管理的现状,为了减轻教师在管理学生成绩时的负担,提高分析学生成绩的效率,及时反映学生的学习状态,和教
7、师在教学方面的效果,开发出一个具有教师对学生成绩进行管理、 统计、分析常等用功能的能跨越各种系统平台的成绩分析系统势在必行。 1.2 国内外研究现状 由于利用计算机代替人力劳动对学生考试成绩数据进行管理、统计、分析体现出了巨大的优势,在实际应用中,基于网络的、跨操作平台的考试成绩管理、分析系统拥有很大的市场。国内外的软件企业开发出了各种不同功能的考试成绩管理、分析系统。这些系统中的大多数是利用 VB 和 Access 数据库进行开发的,这样的系统在跨操作平台,和数据存储方面都有明显的不足。 1.3 本课题研究 的意义 现在我国的大中专院校的学生成绩管理水平普遍不高,有的还停留在纸介质基础上,
8、这种管理手段已不能适应时代的发展,因为它浪费了了许多的人力和物力。在当今信息时代这种传统的管理方法必然被计算机 网络 为基础的信息管理系统所代替。如果本系统能被学校所采用,将会改变以前靠手工 对 学生成绩 进行管理、统计和分析 的状况,可以 大大提高教学工作的效率, 树立良好的办学形象。 2 相关技术介绍 2.1 ASP 技术的简介 ASP 全称为 Active Server Pages 的简写,是一套由微软公司开发的服务器端运行的脚本平台 , 使用 ASP 内置组件可以快速开发动态网页。每一个组件都是第 2 页 由一组富有经验的程序员根据动态网页最常用的功能而 开发的。在 ASP3.0 中,
9、共有 6 个这样的组件: Application , ASPError , Request , Response ,Server , Session .常见的 Cookies 就是利用 Session 组件实现的。 此外 ,还可以利用第三方组件延伸 ASP 的作用,如利用 MailSender 组件发送电子邮件。 通过 ASP 我们可以结合 HTML 网页、 ASP 指令和 ActiveX 元件建立动态、交互且高效的 WEB 服务器应用程序。同时, ASP 也支持 VBScript 和 JScript 等脚本语言,默认为 VBScript。其中 JScript 是微软公司的 ECMAScrip
10、t 标准的实现,并且有自己的扩展。 本系统将采用 VBScript 脚本语言 。 ASP 是经过服务器解析之后再向网页浏览器返回数据,所以有了 ASP 就不必担心客户的浏览器是否能运行你所编写的代码。因为所有的程序都将在网页服务器端执行,包括所有嵌在普通 HTML 中的脚本程序。当程序执行完毕后,服务器仅将执行的结果返回给客户浏览器,这样也就减轻了客户端浏览器的负担,大大提高了交互的速度。由于代码是需要经过服务器执行之后才向浏览器发送的,所以在客户端看到的只能是经过解析之后的 数据,而无法获得源代码,故编写者不用担心自己的源代码会被别人剽窃。但不排除黑客利用系统漏洞窃取服务器端的ASP 源代码
11、。基于这样的解析方式,也导致运行 ASP 页面相对于普通的 HTML 页面要慢一点。因为普通的 HTML 页面只需要浏览器就能够解析,而 ASP 则必须是服务器将整页的代码都执行一遍之后再发送数据。 ASP 提供与数据库的交互,如 Microsoft SQL Server、 Access、 MySQL 和Oracle,比较流行的是 ASP 和 Microsoft SQL Server 的组合。 2.2 SQL SERVER 简介 SQL Server 是微软公司所推出的一套运行在 Windows 平台上的数据库管理系统,用于提供作为应用程序的数据来源,存放各种数据,并可以让用户很容易地实现所要
12、进行的数据存取操作,同时它也提供了一些可视化的管理工具,协助数据库系统管理者更方便快捷地管理及设计数据库内容,以及对数据库进行维护。 SQL 在客户 /服务开发中的角色,因为本考试成绩分析系统所产生和处理的数据量比较大,这就让我们首先想到了 SQL server 大型数据库, SQL 是一组符合工业标准的数据库操作令集。 SQL 不是一门语言,无法得到一个专门的 SQL 软件,它只是服务器数据库的部份。 SQL Server 数据库是动态网页中的重要部分。动态网页中的大部分数据都是放在数据库中的,动态网页页面效果是通过调用数据库信息来实现的。因此,数据库在动态网页技术中也起着越来越重要的作用。
13、 作为一种查询语言, SQL 语言的主要功能就是同各种数据库建立联系,进行沟通。 SQL 语言集数据查询、数据操纵、数据定义和数据控制功能于一身,它有第 3 页 一体化、高度非过程化、语言简洁、以多种方式使用等特点。 数据定义语言( DDL):实现定义、删除和修改数据库对象的功能。 数据查寻语言( DQL):实现对查寻数据的功能 数据操纵语言( DML):实现对数据库数据的增加、删除和修改功能。 数据控制语言( DCL):实现控制用户对数据库的操作权限的功能。 由于本考试成绩分析系统使用的大量的存储过程,现将 SQL Server 的 存储过程做简单介绍 : 存储过程 (Stored Proc
14、edure)是一组为了完成特定功能的 SQL 语句集,经编译后存储在数据库中。用户通过制定存储过程的名字并给出参数 (如果该存储过程带有参数 )来执行它。存储过程是一个预编译的对象,这意味着过程是预先编译好的,并且供不同的应用程序执行。因此 ,根本不需要再花时间对过程重新进行语法分析和编译,其执行速度很快。 开发者用 Transaction-SQL编写的程序作为存储过程存储在 SQL Server中,并创建应用程序来调用存储过程,对数据结果进行处理,存储过程能够通过接收参数向调用者返回结果集,结果集的格式由调用者确定;返回状态值给调用者,指明调用是成功还是失败;存储过程包括针对数据库的操作语句
15、,并且可以在一个存储过程中调用另一个存储过程。 存储过程虽然既有参数又有返回值,但是它与函数不同。存储过程的返回值只是指明执行是否成功,并且它不能像函数那样被 直接调用,也就是说。在调用存储过程时,在存储过程名字前一定要有 EXEC 保留字。 存储过程具有下面一些优点: (1)存储过程允许标准组件式编程。 (2)存储过程能够实现较快的执行速度。 (3)存储过程能够减少网络流量。 (4)存储过程可被作为一种安全机制来充分利用。 2.3 Dreamweaver简介 Dreamweaver 是由美国著名的软件开发商 Macromedia 公司推出的一个“所见即所得”的可视化网站开发工具。无论在国外还
16、是在国内,它都是倍受专业Web 开发人士推崇的软件。在国内,它被大家称为网页“织梦者”,众多 的专业网站和个人主页都把它列为建站的首选工具。在最新的 MX 版本中,对Dreamweaver 的代码控制和后台功能作了进一步增强,整合了 UltraDev,ColdFusion Studio, Homesite 等优秀软件,使得新版本的 Dreamweaver 比起原有的版本,功能得到了一个飞跃的发展。 第 4 页 3 系统 设计 3.1 系统需求分析 使用计算机网络对学生考试成绩信息进行管理,具有手工管理所无法比拟的优点。检索迅速、统计种类多、直观的图形分布显示、管理方便、存储量大、安全性好、成本
17、低、跨平台性等,这些优点极大地提高了学校对学生考 试成绩的管理、统计、分析的效率。 本系统正是为了能够为各类型学校提供一套操作简单、应用广泛的考试成绩分析系统,以提高学校对学生考试成绩管理、统计、分析的效率,实现学校考试成绩管理信息化而设计的。本系统应具备对学生信息、课程信息、教师信息、成绩数据信息管理功能,能够对以上信息进行录入、删除、修改、查询、统计。对成绩数据,应实现对各年级、各班的总分、平均分的计算,并进行排序;按年级或班级对单科成绩的及格人数、优秀人数、及格率、优秀率、各分数段人数分布等进行统计分析,对各分数段人数分布还应通过图形的方式直观地展现 出来;系统通过设置不同的登录用户权限
18、来对系统进行访问和管理。 3.2 系统具备的功能 系统可按权限分为公共模块,管理员模块,教师模块三个模块。 公共模块:可通过输入学号,学期查询相应的成绩信息。 教师模块:此模块需要登录用户拥有教师权限,用户登录后可以通过选择查询条件查询相关的成绩信息、成绩统计报表、成绩分布柱状图。 管理员模块:此模块需要登录用户拥有管理员权限,用户登录后除了可以通过选择查询条件查询相关的成绩信息、成绩统计报表、成绩分布柱状图外,还可以对系统后台数据进行管理。此模块可以对学生数据、课程数据、成绩数 据、用户数据进行管理,实现对学生、课程、成绩、用户的添加、删除、修改。 第 5 页 3.3 系统 功能模块 图 图
19、 3-1 系统功能模块图 3.4 数据库设计 设计数据库系统时应首先了解用户各个方面的需求,包括现有的以及将来可能增加的需求,用户的需求具体体现在各种信息的提供、保存、更新和查询,这就要求数据库结构能充分满足各种信息的输入和输出。收集基本数据、数据结构以及数据处理的流程,组成一份详尽的数 据字典,为后面的具体设计打下基础。 针对本考试成绩分析系统的需求,通过对考试成绩的管理、统计、分析过程分析,需要使用管理员和教师信息表保存系统管理员和教师的基本信息,使用学生信息表保存学生的个人信息,使用课程信息表保存所开设的课程的信息,使用成绩信息表保存考试成绩数据。 3.4.1 数据库的表设计 首先在 S
20、QL Server 中创建名为 score 的数据库,根据对系统的分析可以得出本系统需要的表如下: 管理员和教师信息表 (admin):用来存放管理员或教师 ID、姓名、登录密码和用户类型 (系统管理员或普通教师 )信息 。 Type:此字段用来标示用户为普通教师或系统管理员; 字段值为“ 1” :用户为系统管理员,拥有管理员权限,可访问查询分析模考试成绩分析系统 管 理 员 模 块 教 师 模 块 学生查询 学生管理模块 课程管理模块 成绩管理模块 用户管理模块 班级单科成绩报表 年级单科成绩报表 表 班级单科成绩报表 年级单科成绩报表 表 班级学期成绩汇总 年级学期成绩汇总 表 各班单科成
21、绩分析 年级各科成绩分析 表 第 6 页 块和数据管理模块,可对系统数据进行添加、修改、删除操作; 字段值为“ 2” :用户为普通教师,拥有非管理员教师权限,只能访问查询分析模块,不能对系统数据进行添加、修改、删除操作。 表 3-1 管理员和教师信息表 (admin) 字段名 字段数据类型 字段长度 允许空 简要说明 ID Varchar 20 否 登录 ID、主键 Name Varchar 20 是 教师或管理员姓名 Password Varchar 20 是 登录密码 Type Int 4 是 用户类型、权限 学生信息表 (student):用来存放学生的学号、姓名、性别、所在年级和所在班
22、级信息。 Gender:此字段用来标示学生的性别: 字段值为“ 0” ,性别为:女; 字段值为“ 1” ,性别为:男。 表 3-2 学生信息表 (student) 字段名 字段数据类型 字段长度 允许空 简要说明 ID Varchar 20 否 学生学号、主键 Name Varchar 20 是 学生姓名 Gender Bit 1 是 学生性别 Class Int 4 否 学生所在班级 Grade Varchar 20 否 学生所在年级 课程信息表 (course):用来存放课程 ID、课程名、授课教师 ID、课程描述和课程所在的学期信息。 Term:此字段用来标示课程所在的学期,字段值从一年
23、级上半期为“ 1”开始编号,按学期增加的顺序,字段值依次加 1。如:一年级下半期为“ 2” 。 表 3-3 课程信息表 (course) 字段名 字段数据类型 字段长度 允许空 简要说明 ID Varchar 20 否 课程 ID 号 Name Varchar 20 是 课程名字 TeacherID Varchar 20 是 授课教师 ID 号 Remark Varchar 50 是 课程描述 Term Int 4 否 课程所在的学期 成绩信息表 (score):用来存放成绩对应的学生学号、课程 ID、分数和考试类型信息,此表的由两个外键“ StudentID”和“ CourseID”组成复合
24、主键。 第 7 页 Type:此字段用来标示考试的类型; 字段值为“ 1” ,表示正常考试; 字段值为“ 2” ,表示补考。 表 3-4 成绩信息表 (score) 字段名 字段数据类型 字段长度 允许空 简 要说明 StudentID Varchar 20 否 考生学号、复合主键、外键 CourseID Varchar 20 否 课程 ID 号、复合主键、外键 Score Int 4 是 成绩分数 Type Int 4 是 考试类型 3.4.2 表间关系 数据库中所创建的表有如下的约束关系:课程信息表 course 中的“ TeacherID”字段受教师信息表 admin 中的“ ID”字段
25、约束,成绩信息表 score中的“ SrudentID”字段受学生信息表 student 中的“ ID”字段约束,“ CourseID”字段 受课程信息表 course 中的“ ID”字段约束。 如图 3-2所示。 图 3-2 各表间的约束关系 4 系 统设计 与实现 4.1 系统首页 系统首页 SearchScore.asp 为所有浏览者提供了学生个人成绩查询的功能,输入学生的学号,并选择学期项,就可以查询到该学生相应学期的所有已考试课Course PK ID Name TeacherID Term Remark Score PK StudentID PK CourseID Score Ty
26、pe Admin PK ID Name Password Type Student PK ID Name Gender Grade Class 1 n n 1 n 1 第 8 页 程的成绩,不及格的课程考试成绩将会用红色字体显示。系统还会自动统计查询到的课程数目和不及格的课程数目。 此页面还为系统管理员和教师用户提供了登录页面的链接,用户点击此链接可进入系统登录页 面进行用户登录。系统首页页面效果如图 4-1 所示。 图 4-1 系统首页 首页中查询学生个人成绩的存储过程代码如下: CREATE PROCEDURE sp_SearchScore StudentID varchar(20),Te
27、rm int AS Select d.name,a.StudentID,a.Score, (case a.Type when 1 then 正常考试 when 2 then 补考 end) as Type, b.Name as CourseName,c.Name as TeacherName from Score a,Course b,admin c,student d where a.StudentID=StudentID and a.CourseID=b.ID and b.TeacherID = c.ID and b.Term=Term and d.ID=StudentID GO 4.2 系统登录模块 系统管理员和教师用户可通过系统登录页面 Login.asp 进行登录。填写完登录信息,提交表单后系统通过 LoginCheck.asp 对用户填写的登录信息和数据库中记录的信息进行对比,若用户填写登录信息有空项,系统会提示“用户和密码不能为空” ,然后系统返回登录页面 Login.asp;若用户登录信息填写错误,页面