毕业论文 成绩查询系统的设计与应用 (作者姓名) 指导老师姓名: 申请学位级别:专业: 论文提交日期: 年 月 日 论文答辩日期: 年 月 日 学位授予单位: 答辩委员会主席: 评 阅 人: 二OO 五年十一月九日 中华人民共和国工科学士学位论文 成绩查询系统的设计与应用 作 者: 指导老师: 二OO 五年十一月 摘 要 该系统主要完成学生成绩在线查询、在线添加学生成绩、给学生分配权限、查看注册用户信息、修改学生成绩、管理员信息修改等功能。 本文以成绩查询系统数据结构模式为基础,使用了基于IIS 或PWS 的ASP+ACCESS2000相结合的动态网页技术,并运用VB script 脚本语言和非过程化查询语言SQL 语句,开发出了这套成绩查询系统。在此系统中,采用了二级用户管理模式,即管理员拥有所有权限(拥有成绩信息录入、修改、删除,用户权限的分配与管理等权限)。普通用户只可以根据自己的权限查询相关成绩。 本文对系统的主体结构、各功能模块都作了详细的介绍。本文对系统的数据库设计作了较为详细的说明。为了使编制程序时思路不至于混乱,我们为各功能作了相应的功能模块图。 文中还具体描述了开发成绩查询系统的基本步骤以及各模块的详细设计过程。 本系统虽然已经达到了预期的目标,但由于个人力量及智慧的局限性,系统可能还会有一些问题,需要不断完善。 关键词: ASP 、VBSCRIPIT 、WEB 、成绩查询、SQL 、数据库、HTML ; 目 录 1、绪论 成绩查询系统开发的背景及意义 成绩查询系统的设计与应用中涉及到的主要工作 2、成绩查询系统的分析和研究 成绩查询系统的功能分析 成绩查询系统的特点 成绩查询系统的组成结构 成绩查询系统的实现方法 3、成绩查询系统的设计 数据库的设计 主要模块的设计 系统界面的设计 4、成绩查询系统的应用实例 站点结构建立与管理 站点用户管理 站点内容管理 ASP、ADO 介绍 5、系统总结 致谢 附录A--参考文献 1、绪论 成绩查询系统开发研究的背景及意义 计算机技术的发展可以说是日新月异, 在如此飞速发展的计算机时代,在以计算机为主体的信息时代,随着计算机技术特别是计算机网络技术的逐步成熟,人们与计算机网络之间的关系越来越密不可分了。自互联网出现以来,计算机已不再是一种奢侈品,而成了生活中的必需品,信息资源的共享让人们得到了很大的实惠,人们可以足不出户就能从互联网上找到自已所需的信息资源! 可是,我们也不难发现,就我国而言,网上的资源虽然很丰富,但有针对性的软件系统还是少之又少,一个管理系统如果设计不科学,不系统,不规范,那么网站建成后所要投入的人力、物力、财力将成倍增加,而如果我们把管理系统化,模板化,规范化,那么网站维护人员即使不是专业人员,也能很快上手,这样维护人员所投入的经历,维护成本也将随之减少。 在这种情况下,我们考虑着开发这套成绩查询管理系统。 该软件主要是为学校学生提供在线成绩查询服务,学生可在任何可上网的地方方便快捷地查询到自己的成绩,而不像过去一样,需要到任课教师那里去查看自己的成绩;教师可方便地在网上发布学生成绩,修改学生成绩,真正实现无纸化操作,大大节约了人力、财力。 本文针对这些情况,结合计算机应用将网络功能应用于成绩查询 系统的设计与应用,利用网页开发技术和网络数据库知识,让学生、教师轻轻松松地查询、管理成绩信息。 成绩查询系统的设计与应用中涉及到的主要工作 我们的系统主要的设计思想是在计算机因特网上给出本系统的服务界面,即让用户访问的网页,并且建立起一个专门的存放信息内容的数据库,把数据库与网页联系起来,用户即可以查询到相应的成绩信息,教师也可方便地管理所教学生的成绩信息。 因此,我们在系统设计当中就需要进行网页的设计,数据库的设计,以及将网页与数据库连接起来。因为在使用当中,我们需要和用户交流数据和反馈信息。所以我们的网页还必须具备动态效果,这就涉及到了ASP (Active Server Pages)技术的内容,在这里ASP 只是一个简称,它的全称是:支持Active 技术的服务器页面。当然用到了ASP 就不能不提到脚本和脚本语言这两个概念,我们在设计当中选择了VBSCRIPT 语言作为本系统的脚本语言。 我们在数据库与网页的连接当中应用了Data Access Object (DAO )技术,在这一部分本系统是用数据访问组件Active Data Object (ADO ),ADO 主要运行在服务器上,它由ASP 的服务器端代码进行调用,通过ADO 可以执行完整的数据库操作,包括添加、删除、更新、查询和调用存储过程,并且有比较灵活的锁定为机制。由于是在服务器上运行,所以使用任何浏览器都可以 访问ADO 。 2、成绩查询系统的分析和研究 成绩查询系统的功能要求 在成绩查询系统的设计与应用开发当中,最主要的功能就是成绩查询,成绩录入,成绩修改,用户权限分配等。 成绩查询系统的特点 本系统软件的编制按照软件工程的方法和要求,具有以下特点: (1)系统维护简单,系统所需要的任何数据或者任何个人资料,都是被保存在各自独立的数据库当中的,大部分的工作都由我们的系统来完成,系统管理员和用户只要做一些简单的工作就可以了。 (2)系统的使用方便,系统任何截面都全中文显示,友好和可预见性的界面,及时的提示,让用户能很快的掌握操作方法。我们可以这样断定;你只要能看懂中文、会打字,只要进入了我们的界面,你就一定能够很快的知道你下一步将要做什么工作了。 (3)系统的高效实用。数据库、SQL 非过程化查询技术的引入不仅使本系统便于维护,而且,使得系统高效实用,无须了解系统的运行体制和内部结构,就能掌握要领,运用自如。 (4)系统的安全性较高。由于在系统当中,对于不同的数据资料都是采用分别独立的数据库来保存的。 成绩查询系统的组成结构 本系统共包括以下主要模块:登陆模块,成绩信息检索模块,学生成绩信息添加、修改、删除模块,用户权限分配与删除模块,管理员信息维护模块。 其功能模块如下: 登录模块说明: 登录模块中,用户先进行身份登录,如果用户还未被管理员分配用户名,则系统提示“用户名与密码不匹配,或非授权用户,无法通过身份验证”。用户登录并通过身份验证后,就可以进入相应权限模块了。工作流程如下: 成绩查询系统的实现方法 在软件的编制当中,各个主页界面的设计以HTML 语言实现,采用Dreamweaver 进行编辑,各功能模块及模块间数据传递,与数据库的连接以及用户输入数据的传送,都是通过ASP 环境下的内置对象,以VB script 脚本语言实现,而数据库部分则由Access2000开发。 辅助软件配置:Windows2000、Office2000、、IIS 、Internet 。 3、成绩查询系统的设计 数据库的设计 1)数据库: 包含有存储数据的一个文件或一组文件。一般地,文件中还包含有关其结构以及为了便于定位数据而创建的索引等方面的信息。 本系统当中涉及到数据库有五个:成绩信息数据库scorebase ,用户信息数据库user 。 (2)数据表 一个数据库通常由一个或多个数据表组成。一个数据表是单元格的一种二维排列,十分类似扩展表中的单元格。在本系统中一共有五个数据库。 (3)数据表的结构 用户信息表(user )的结构 成绩信息表(scorebase )的结构 (4)记录:数据表中的每一行称为一个记录,它包括有描述单独一个实体或对象的特征。例如:本系统中的用户信息表中,每一行都分别描述了一个用户的登录属性。 (5)与数据库的连接—ODBC 本系统的应用程序与数据库的通信主要是依靠ODBC (Open Database Connectivity),它是一种数据库服务器的前端存取界面。 ODBC 的中文名称是开放数据库互连,它是一种特殊的标准,它的设计目标是让不同的程序能够访问相同的数据库。ODBC 驱动程序的实质是数据库保存的数据与应用程序之间的一个接口。 系统利用ASP 的内置组件ADO 完成与数据库的连接,ADO 使用内建Conncction 对象建立并管理与数据源DSN 的链接;使用Recordset 对象或者Command 对象访问数据库并进行查询、更改、添加等操作。 (6)设计数据库时遵循的基本原则 每个域一个特征 特征值保持一致 每个表包含一个独立的实体类 每个实体只在数据库中出现一次 每个记录至少一个标识符 (7)数据库表的基本使用 在定义了一个数据库对象和一个表对象之后,可以使用它们获 得两种不同类型的数据:数据库和表的特征数据以及表数据。表数据是实际存储在表的域中的数据,而数据库和表的特性数据包括: 数据库或表的描述 数据库中包含的表的个数及名称 表中域的个数,名称及类型指定一个表是否可以修改、何时创建和变化以及所包含的记录个数等一些特征。 主要模块的设计 对本系统来说最主要的功能模块就是成绩信息查询。前面已经作过简要介绍,但是我觉得有必要再详细介绍一下。 在该界面的设计过程当中,我首先用Dreamweaver4设计出一个WEB 页面,在页面上给出交互表单以便让用户填写学号和密码,然后利用一个ASP 脚本对用户登陆的信息进行处理。如果登陆信息验证成功,那么将显示该学生的成绩信息。 首先我们应该先连接好数据库,连接代码包含在 这个文件中,代码如下: on error resume next connstr="DBQ="+("")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};" set conn=("") if err then else connstr if err then end if end if %> 然后编写成绩检索代码,完整代码如下: 成绩信息查询 dim MaxPerPage dim sql dim rs dim gstBookID dim totalPut dim CurrentPage dim TotalPages dim i,j if not isempty(request("page")) then currentPage=cint(request("page")) else currentPage=1 end if %> if session("number")="" then message="你还没有登录,无权访问该页" %> end if set conn=("") "driver={microsoft access driver (*.mdb)};dbq=" & ("") set rs=("") sql="select * from scorebase where 学号=""&session("number")&""" sql,conn,1,1 if and then %> 还没有任何相关信息 totalPut= "记录总数 totalPage= MaxPerPage= if currentpage if currentpage>totalPage then currentpage=totalPage end if if currentPage=1 then showpages showContent showpages else if (currentPage-1)*MaxPerPage bookmark= "移动到开始显示的记录位置 showpages showContent showpages end if end if end if set rs=nothing set conn=nothing sub showContent dim i dim k k=(totalPut-MaxPerPage*(currentPage-1))+1 i=0 %> 学号: 姓名: 性别: 班级: 专业: do while not ( or err) k=k-1 %> if i>=MaxPerPage then exit do " 循环时如果到尾部则先退出,如果记录达到页最大显示数,也退出 loop%> 课程名称学分学时成绩任课教师学期学年n=totalPage %> 设计成绩信息添加模块: 首先设计好表单,然后编写对该表单进行处理的ASP 代码, 代码如下: //把数据库连接代码包含进来 xh=request("xh")//从表单中读取学号信息 name=request("name") sex=request("sex") bj=request("bj") pro=request("pro") cour=request("cour") xf=request("xf") xs=request("xs") score=request("score") teac=request("teac") term=request("term") yea=request("yea") bf=request("bf") session("xh")=xh session("name")=name session("sex")=sex session("bj")=bj session("pro")=pro session("term")=term session("yea")=yea if (xh="") or (name="") or (bj="") or (pro="") or (cour="") or (xf="") or (xs="") or (score="") or (teac="") or (term="") or (yea="") then "" end if set rs = ("") "scorebase",conn,2,2 rs("学号")=xh rs("姓名")=name rs("性别")=sex rs("班级")=bj rs("专业")=pro rs("课程名称")=cour rs("学分")=xf rs("学时")=xs rs("成绩")=score rs("任课教师")=teac rs("学期")=term rs("学年")=yea rs("补考否")=bf "" %> 系统界面的设计 系统界面的设计主要用、、来设计,其中首页顶部的图片用来完成,其它界面均由来完成,整个界面呈现一个比较清新的感觉。 4、成绩查询系统的应用实例 站点结构建立与管理 站点结构由完成,站点的管理均可在网站后台完成所有操作。 站点用户管理 站点用户的管理由网站管理员来完成添加、删除操作以及授予权限。 站点内容管理 站点内容管理也由管理员在后台完成。 ASP 、ADO 介绍 ASP (支持Active 技术的服务器页)全称为Active Server Pages ,它是一种应用程序环境ASP 虽然与CGI 、HTML 相类似,但是其运行效率却比CGI 更亮,程序编制也比HTML 更方便且更有灵活性,程序安全及保密性也比Script 好。 ASP 内置有Request 对象、Response 对象、Seveer 对象、Session 对象、Application 对象、ObiectContext 对象,这些对象都有其特别的任务与工作。 ADO (Active Data Object )是ASP 内置的重要组件,因此当你安装ASP 的同时,ADO 也就安装好了,ADO 组件允许用户使用数据库的各种资源。 一般情况下,ADO 必须配合ODBC (Open Database Connectivity )应用,并以SQL (Strrctured Query Language )命令来操作关系式数据库,SQL 是一种结构化查询语言,可以直接进行数据库操作,在本系统当中,SQL 在开过程当中就占了相当重要的角色。 ADO 由Connection 、Command 、Parameter 、Recordser 、Field 、Property 及Error 等七个对象与Fields 、Properties 、Parameters 和Errors 待四个数据集合所组合而成。 我们在编写ASP 脚本过程中,当需要与数据库联系时,就通过ADO 组件的CONNECTION 对象与ODBC 数据源连接,接着通过ADO 的COMMAND 或者RECORDSET 对象配合SQL 语 句引用CONNECTION 对象,并访问数据库的目的。 总的来说,ADO 是ASP 的一个内置组件,ASP 主要通过ADO ,ADO 通过ODBC 来访问和执行对数据库的SQL 命令。 SQL 的主要有两个特点,所有数据存储在表中,表中的记录没有顺序。SQL 的主要功能之一是实现数据库查询。向表中添加一个新记录,要使用SQL INSERT语句,从表中删除一个或多个记录需使用SQL DELETE,更新记录使用SQL UPDATE语句,用SELECT 创建记录和表。其它SQL 的功能有通过匹配一定范围的值来取出数据;转换数据;操作字符串数据。 HTML :超文本标记语言,它是通过嵌入代码或标记来表明文本格式的国际标准。用它编写的文件的扩展名是.html 或.htm 。一个HTML 文档分为两部分的文件头与文件体。文件体部分是Web 页的实质内容,它是HTML 文档中最主要的部分,其中包含了文本与图像,这些文本与图像构成了Web 页的内容。链接是HTML 语言的一大特色。 5、系统总结 系统设计中的设计思想都已基本实现。我们成功实现了用ADO 组件访问ODBC 源数据库,用Connection 对象建立并管理系统与数据源的链接;使用Recordset 对象访问数据库并进行数据的查询、更改、删除、添加等操作,实现了用SQL 命令对数据库进行操作;当然,由于种种的原因,本系统还存在着一些不足的方面,有待于我或者其他人以后的继续努力和完善。 致 谢 正值论文完成之际,谨向所有曾给予我指导、鼓励、支持、帮助、关心和理解的老师、同学以及朋友表示深深的谢意! 首先感谢我的毕业设计指导老师!在他的精心帮助,细致的指导和言传身教下,我的开发软件的能力和独立思考的能力得到系统的锻炼和很大的提高,使得本文得以顺利完成。 感谢学校和我系机房的管理人中员及教师,为我们毕业设计安排了理想的环境及设备,为我们的毕业设计的实际完成提供了可能。 感谢同组的其他同学,通过他们的帮助和支持,使我节约了大量时间,少走了很多的弯路。 感谢同机房的其他同学,在设计时给予的无私帮助和真诚的关心! 附录A 参考文献: 1、《ASP 实务经典》林金霖 中国铁道出版社 2、《动态WEB 应用高级开发指南 ———ASP 、ADO 和DHIML 编程》 慷博创作室 余波 等编著 华彬彬 审校 人民邮电出版社 3、《Internet 安家立“页” FrontPage2000实用技术与应用实例》 白建波 邱少陵 黄夏 陈浩 主编 华中理工大学出版社 4、《Active Serever Pages详解》 [美]Soot Johnson 著 新智工作室 译 电子工业出版社