APP下载

中小学校成绩查询系统的设计与实现

2008-12-04李志义吴创城

中国教育信息化·基础教育 2008年11期
关键词:设计

李志义 吴创城

摘 要:本文以程序设计与编码为重点,探讨了如何采用ASP 结合Access数据库与SQL查询语言设计中小学成绩查询系统。文章重点介绍了该系统的实现过程,包括系统分析、功能设计、数据库设计、系统实现、系统测试等。

关键词:ASP;查询系统;设计

中图分类号:TP393文献标识码:B 文章编号:1673-8454(2008)22-0062-03

一、问题的提出

计算机、通信和网络技术的迅速发展与广泛应用,对全球经济、政治、文化等领域产生了越来越深刻的影响。作为教育和科研前沿的高校和中小学校,显然正经历全新的网络与信息化洗礼,数字化、信息化逐渐走进校园的方方面面。正是在这种网络化、数字化的大环境下,许多高校已纷纷建设了数字化校园,但对于中小学校而言,却并未普及。因此研究中小学校的信息化与数字化、研究中小学的各类信息管理系统成为必要。基于此,本文试图开发一套适合大众的、兼容性好的中小学学生成绩查询系统,以方便教师对学生成绩进行管理以及学生对成绩进行查询,为中小学校提供教务信息的网络化管理,满足教师计算机办公要求。

本系统采用ASP网页编程技术+Access数据库+SQL查询语言实现其功能。文章重点是介绍学生成绩管理系统的实现过程,包括系统分析、功能设计、数据库设计、程序编写与实现、系统测试和调试等,略去了系统需求分析与可行性分析。

二、系统调试与运行环境

本系统的代码编写环境为:Dreamweaver8、Microsoft Visual Studio 2005。调试运行程序的环境为:Microsoft Windows XP的Internet Information Service(IIS5.1)。它同时适用于Windows ME/NT/2000/2003等系统环境。

三、系统功能与模块设计

1.系统功能描述

考虑到中小学的教学管理需要及其特点,本系统的功能简单而实用,系统功能主要包括用户登录、成绩管理(添加、删除、修改)、成绩查询等。

(1)用户登录

根据用户所属的不同角色(教师、学生)显示不同的操作界面。学生登录页面只能凭学号和密码登录并只能查询到个人成绩。教师登录页面不仅可以查询任意学生的成绩,还可以对全班全级的成绩进行批量的管理,包括成绩修改、添加和删除。

(2)成绩管理

主要供教师和管理员使用,其功能包括添加数据、修改数据、删除数据。即对学生成绩进行添加、修改和删除等操作。

(3)成绩查询

主要有学生查询和教师查询,学生可按学号查询个人成绩;而教师在账号、密码登录正确后可进行个人成绩查询、班级成绩查询和班级统计查询等。

2.系统功能模块设计

系统整体上可以划分为数据库、数据访问层和业务逻辑层。其中,数据库存在于系统最底层,它存储系统的所有数据。数据访问层建立在数据库之上,应用程序通过该层访问数据库。数据访问层一般封装数据库的选择、添加、更新和删除等操作,同时还为业务逻辑层提供访问数据库的接口或函数等。该层直接与数据库相关联,同时又为业务逻辑层服务,所以数据访问层设计的好坏关系到整个系统的成败。业务逻辑层包括成绩查询、成绩管理等业务逻辑,它一般由Web页面实现,如教师登录页面login.asp、学生管理页面studentlogin.asp、查询页面search.asp页面。成绩管理系统的结构如图1所示。

图1 系统功能模块

图2 管理模块流程图

(1)用户登录模块

如图2所示,用户登录模块主要用于对用户的身份验证,这些信息保存在数据库里,当用户输入正确的账户密码时,数据库会返回对应的数据供用户浏览,当用户输入错误的账号密码时,系统返回错误提示。

(2)数据管理模块

数据管理模块由教师登录后进行数据管理。它包含了添加数据、修改数据和删除数据三大主要功能,还包括数据统计、排序等次要功能。数据管理模块是整个学生成绩管理系统的核心功能之一,一个系统的好坏主要体现在数据管理模块中。

(3)数据查询模块

数据查询模块分为学生查询和教师查询。学生只能以个人账号、密码登录并查询本人成绩。教师登录后不仅能够查询某一个人的成绩,而且可以以班级为单位进行查询。

四、数据库设计

1.总体设计

本系统所使用的数据库采用Access进行设计,同时利用MD5加密技术对用户密码进行加密,提高了系统安全性。本数据库包含三张表,分别为教师账户表(admin)、分数表(scores)、学生账户表(student),表的设计视图因篇幅所限只列出了教师账户表(如表1)。

图3 表scores与表student关系设计图

2.表的关系设计

由于登录页面可直接从数据库中读取数据然后连接至所在页面,查询数据页面必须通过表scores和表student以学号连接,从而读取查询数据,具体关系设计图如图3所示。

五、程序编写与实现

本系统涉及的文件较多,以下只列出其中的部分代码,其中MD5加密技术是本系统的特色之一,所以“程序编写与实现”部分特给出MD5加密实现的核心代码。此外,限于篇幅只列出了成绩查询的部分代码。

1. MD5加密部分代码

<%

Private Const BITS_TO_A_BYTE = 8

Private Const BYTES_TO_A_WORD = 4

Private Const BITS_TO_A_WORD = 32

Private m_lOnBits(30)

Private m_l2Power(30)

Private Function LShift(lvalue, iShiftBits)

If iShiftBits = 0 Then

LShift = lvalue

Exit Function

ElseIf iShiftBits = 31 Then

If lvalue And 1 Then

LShift = &H80000000

Else

LShift = 0

End If

Exit Function

ElseIf iShiftBits < 0 Or iShiftBits > 31 Then

Err.Raise 6

End If

If (lvalue And m_l2Power(31 - iShiftBits)) Then

LShift = ((lvalue And m_lOnBits(31 - (iShiftBits + 1))) * m_l2Power(iShiftBits)) Or &H80000000

Else

LShift = ((lvalue And m_lOnBits(31 - iShiftBits)) * m_l2Power(iShiftBits))

End If

End Function

Private Function RShift(lvalue, iShiftBits)

If iShiftBits = 0 Then

RShift = lvalue

Exit Function

ElseIf iShiftBits = 31 Then

If lvalue And &H80000000 Then

RShift = 1

Else

RShift = 0

End If

Exit Function

ElseIf iShiftBits < 0 Or iShiftBits > 31 Then

Err.Raise 6

End If

RShift = (lvalue And &H7FFFFFFE) m_l2Power(iShiftBits)

If (lvalue And &H80000000) Then

RShift = (RShift Or (&H40000000 m_l2Power(iShiftBits - 1)))

End If

End Function

Private Function RotateLeft(lvalue, iShiftBits)

RotateLeft = LShift(lvalue, iShiftBits) Or RShift(lvalue, (32 - iShiftBits))

End Function

……

%>

2.成绩查询部分代码

<% testnumber=request.form("testnumber")

if testnumber="" then response.write"<script>alert('对不起,请输入检索关键字');history.back(-1);</ script>" end if

dim rs

dim sql

set rs = server.createobject("adodb.recordset")

sql = "select*from scores where testnumber like '%"&testnumber&"%'"

rs.Open sql,conn,1

if rs.eof then

response.write"对不起,没有相关数据"

else

do while not rs.eof

%><br>

六、系统调试与运行<br>

该系统在Microsoft Windows XP的Internet Information Service5.1下调试并运行正常,它同时适用于Windows NT/2000/2003等操作系统。有关数据库的设计和ASP程序的编写是其核心。由于存储的学生信息较为简单,在数据库的设计上允许有一些数据项不是最小的数据单位,以便于相对地降低代码的复杂程度以及服务器端程序的编写。总体而言,系统功能已得到实现,试运行正常,符合设计要求与设计目标。<br><br>参考文献:<br>[1]利用ASP开发Web应用[DB/OL].http://www.programbbs.com/doc/1287.htm.<br>[2]屈喜龙,李正庚.ASP+Access开发动态网站实例荟萃[M].北京:机械工业出版社,2006:99-238.<br>[3]ASP技术访问Web数据库[DB/OL]. http://www.programbbs.com/doc/1236.htm<br>[4]李志义,黄成业.网上论坛的一种设计与实现[J].现代图书情报技术,2004(1):88-90.<br>[5]李志义,潘振杰.站内搜索引擎的一种设计与实现[J].情报杂志,2006(7):27-28.<br>[6]李志义,李瑞辉.电子政务查询系统的设计与实现[J].情报杂志,2007(10):42-47.<br>

猜你喜欢

设计
何为设计的守护之道?
《丰收的喜悦展示设计》
瞒天过海——仿生设计萌到家
设计秀
有种设计叫而专
设计之味