资源描述
专 业 学 位 硕 士 学 位 论 文基于.NET的网络考试系统的设计与实现Design and Realization of Network Test System Based on.NET大连理工大学Dalian University of Technology大连理工大学学位论文独创性声明作者郑重声明:所呈交的学位论文,是本人在导师的指导下进行研究工作所取得的成果。尽我所知,除文中已经注明引用内容和致谢的地方外,本论文不包含其他个人或集体已经发表的研究成果,也不包含其他已申请学位或其他用途使用过的成果。与我一同工作的同志对本研究所做的贡献均已在论文中做了明确的说明并表示了谢意。若有不实之处,本人愿意承担相关法律责任。学位论文题目: 作者签名: 日期: 年 月 日毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得 及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。作 者 签 名: 日 期: 指导教师签名: 日期: 使用授权说明本人完全了解 大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。作者签名: 日 期: 学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。作者签名: 日期: 年 月 日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。涉密论文按学校规定处理。作者签名:日期: 年 月 日导师签名: 日期: 年 月 日指导教师评阅书指导教师评价:一、撰写(设计)过程1、学生在论文(设计)过程中的治学态度、工作精神 优 良 中 及格 不及格2、学生掌握专业知识、技能的扎实程度 优 良 中 及格 不及格3、学生综合运用所学知识和专业技能分析和解决问题的能力 优 良 中 及格 不及格4、研究方法的科学性;技术线路的可行性;设计方案的合理性 优 良 中 及格 不及格5、完成毕业论文(设计)期间的出勤情况 优 良 中 及格 不及格二、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范? 优 良 中 及格 不及格2、是否完成指定的论文(设计)任务(包括装订及附件)? 优 良 中 及格 不及格三、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义 优 良 中 及格 不及格2、论文的观念是否有新意?设计是否有创意? 优 良 中 及格 不及格3、论文(设计说明书)所体现的整体水平 优 良 中 及格 不及格建议成绩: 优 良 中 及格 不及格(在所选等级前的内画“”)指导教师: (签名) 单位: (盖章)年 月 日评阅教师评阅书评阅教师评价:一、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范? 优 良 中 及格 不及格2、是否完成指定的论文(设计)任务(包括装订及附件)? 优 良 中 及格 不及格二、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义 优 良 中 及格 不及格2、论文的观念是否有新意?设计是否有创意? 优 良 中 及格 不及格3、论文(设计说明书)所体现的整体水平 优 良 中 及格 不及格建议成绩: 优 良 中 及格 不及格(在所选等级前的内画“”)评阅教师: (签名) 单位: (盖章)年 月 日大连理工大学专业学位硕士学位论文教研室(或答辩小组)及教学系意见教研室(或答辩小组)评价:一、答辩过程1、毕业论文(设计)的基本要点和见解的叙述情况 优 良 中 及格 不及格2、对答辩问题的反应、理解、表达情况 优 良 中 及格 不及格3、学生答辩过程中的精神状态 优 良 中 及格 不及格二、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范? 优 良 中 及格 不及格2、是否完成指定的论文(设计)任务(包括装订及附件)? 优 良 中 及格 不及格三、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义 优 良 中 及格 不及格2、论文的观念是否有新意?设计是否有创意? 优 良 中 及格 不及格3、论文(设计说明书)所体现的整体水平 优 良 中 及格 不及格评定成绩: 优 良 中 及格 不及格(在所选等级前的内画“”)教研室主任(或答辩小组组长): (签名)年 月 日教学系意见:系主任: (签名)年 月 日摘 要随着网络技术、计算机技术和Internet的发展,“利用信息技术来推动教学改革”是当前学校教育改革的一条重要思想,网上考试是教育信息化的必然发展趋势。基于Web技术的考试系统是Internet的重要应用之一,对这个方向的研究具有重要的理论意义和现实意义。本课题研究的任务是为由南京化工职业技术学院承办的全国“化工检修钳工”技能竞赛暨首届全国化工装备技术专业技能大赛开发一个在线测试的平台,研究基于B/S模式的网上考试系统的构建方法及相关技术。本文采用B/S三层模式结构作为系统开发的体系结构,使用现在市场上应用广泛且先进的ASP.NET技术进行系统开发,后台数据库使用SQL Server,设计并实现了一个网络考试系统。系统采用以经典测试理论CTT为指导,结合项目反应理论IRT的设计思路进行题库设计,从题库有效性、试题类型选择等方面探讨了对题库质量的控制。使用ADO.NET技术进行数据处理及传输,实现了考试过程中的自定义组卷、学生答卷、机器阅卷、自适应考试及成绩查询、分析等功能。本系统克服了传统考试的不足,让计算机参与到整个考试过程中来,实现无纸化考试,大大提高了考务工作效率,具有广泛的应用前景。关键词:网络考试系统 ;B/S ; ASP.NET- III -Design and Realization of Network Test System Based on.NETAbstractAlong with the development of network technology, computer technology and the internet “using information technology to promote teaching reform” is a very important idea of education reform. The fashion of the online examination is the inevitable trend of the education development. The web based online examination system is one of the most important application of the Internet. The research in this field has very important theoretical and practical significance . This research is the task of vocational and technical grounds Nanjing Chemical Industry Institute of the National contractors Chemical Maintenance fitter skills and the first race of the chemical industry equipment and technology skills competition test platform for the development of online, and the developing means and relative technique of the online examination system based on B/S model will be specified in this thesis.The article is about using B/S model-structure as key structure of developing program, these system uses the ASP.NET technology, which is very popular in market, in developing program and uses SQL Server in backstage database. With above-mentioned technology, we design and come true a Computer Web Test-System. Uses take Classical Test Theory(CTT)as the instruction, the union Item Response Theory(IRT)the design mentality carries on the item bank design. Regard them as principle to analysis the quality control with two aspects, validness and choosing the type of exercises. Through using ADO.NET technology to deal with and delivery the data, we have built this system which has foundations in grouping the paper, checking the paper, querying and analyzing the mark by the machine, besides these.The system has over the disadvantage of traditional test ,making the computer managing all test process ,coming true paper-free test ,improving the test management, has a bright future.Key Words:Network Test System;B/S ;ASP.NET- VII -目 录摘 要IAbstractII1 绪论11.1 课题背景及意义11.2 课题国内外研究概况21.2.1 系统运行模式21.2.2 动态网页的开发工具31.2.3 数据库管理系统DBMS41.2.4 系统的安全机制51.2.5 网上考试系统的几种类型61.3 本课题研究的内容和全文安排62 系统构建的相关技术82.1 Web数据库技术82.1.1 Web数据库技术简介82.1.2 Web数据库的运行方式82.1.3 Browser/Server结构102.2 基于ASP.NET的编程技术112.2.1 ASP.NET的优势122.2.2 ASP.NET的关键技术132.3 基于ASP.NET应用程序的开发环境142.3.1 软件环境的要求和配置142.3.2 硬件要求152.4 SQL Server2000数据库管理系统152.4.1 SQL Server 2000的特点152.4.2 SQL Server 2000安全体系结构172.4.3 SQL Server 2000中权限管理183 系统总体分析与设计203.1 系统分析203.1.1 用户需求203.1.2 系统设计的原则213.1.3 系统模型结构213.1.4 系统业务流程图223.1.5 系统数据流图233.2 系统总体设计243.2.1 系统总体框架结构243.2.2 系统模块功能描述243.2.3 系统权限设置283.3 数据库设计293.3.1 概念结构设计293.3.2 逻辑结构设计(E-R图向关系模型的转换)323.3.3 物理结构设计334 系统功能实现414.1 登录模块414.2 系统管理模块424.2.1 建立类别库424.2.2 设置组卷参数424.2.3 用户管理434.3 考生考试模块444.3.1 上机正式考试444.3.2 上机模拟练习444.3.3 考生自我信息查询444.4 教师管理模块444.4.1 科目管理454.4.2 试题管理464.4.3 试题审核464.4.4 试题检索464.4.5 题库统计464.4.6 试卷生成模块464.4.7 成绩管理模块:514.4.8 新闻发布模块51结 论53参 考 文 献55致 谢57大连理工大学学位论文版权使用授权书581 绪论1.1 课题背景及意义随着Internet网络的通贯全球,网络化、信息化浪潮的涌动迭起,科技生产力-知识经济-信息社会雏形的孕育诞生,网络教育发展战略已日益成为目前教育的重大研究课题。在面向21世纪中国网络教育发展战略的构想中,国家大力强调了网络教学资源的建设,把发展网络教育作为国家信息化的一项重要的基本内容,加大对网络教育的投入,同时借鉴网络教育发达国家(地区)的成功经验,为网络教育营造宽松环境。在国家信息产业化、教育现代化政策中,突出网络教育的地位和作用。在上述形式下,基于网络教学的各种研究成为了一种热潮,考试系统的研究正是在这种环境下开始的1。目前信息技术飞速发展,已大量应用于社会的各个领域。随着信息技术向教育领域的扩展,校园信息化建设的步伐日益加快。“利用信息技术来推动教学改革”是当前学校教育改革的一条重要思想,是提高教学质量的具体措施2。学生成绩的测评是教学工作中的一个重要环节,课程考试不仅是衡量学生的学习质量的重要依据,而且与提高教师的教学质量密切相关。根据考试结果来评价学生学习成绩和对教学内容掌握程度,从一定角度讲,是激励学生学习动机的一种手段。根据考试结果对学生掌握教学内容的情况做出分析,也有助于教师实行因材施教,提高教学质量3。传统的考试方式中,从出卷、印刷、监考、评分、试卷分析、成绩上报及公布等有一系列操作过程,教师有大量的、繁琐的工作要做;学生很难及时的查询自己的成绩,查看自己的试卷,对自己的学习情况进行总结;而且在复习、监考、阅卷等环节中很难保证考试的公正性。在教育信息化浪潮的推动下,传统的考试方式因其固有的弱点,必将面临着改革,而网上考试是教育改革是教育信息化的必然发展趋势4。网上考试可克服传统考试的弊端,考生可在题库中由计算机随机抽取试题,完成考试,并在网上进行成绩的查询和试卷的复查。教师可在计算机上完成出卷、监考、评分、成绩的上报和试卷分析。使考试过程变得方便、高效、快捷,同时也降低了考试成本,提高了考试的公平性、公正性、有效性,减少了人情分、关系分、误差分。因此,为了适应现代化教学的发展,提高教学信息化程度,降低教学成本,提高教学质量,加快教学评价信息反馈的速度,本人根据全国“化工检修钳工”技能竞赛暨首届全国化工装备技术专业技能大赛测试要求,结合本单位(南京化工职业技术学院)校园网建设及教学管理信息化的发展现状,运用动态网页语言和数据库技术相结合开发网上考试系统,实现考务工作的信息化、网络化、科学化管理5。1.2 课题国内外研究概况1.2.1 系统运行模式网上考试系统的系统结构主要有两种:Client/Server(客户/服务器)和Browser/Server(浏览器/服务器)。对C/S结构6的研究起步较早,技术较成熟,例如我省的高校非计算机专业计算机等级考试目前就是采用这种结构。C/S结构模型如图1.1所示。图1.1 C/S结构模型Fig. 1.1 C/S structure model在C/S结构的考试系统中的应用程序分为服务器端程序和客户端程序两部分,服务器端程序负责维护题库、抽取试题、以及考后的阅卷、成绩统计汇总等工作;客户端则负责显示试题,考试计时及与服务器通信联络等工作。考生在客户端参加考试,考试结果被系统收集到服务器中的指定目录下。C/S结构存在的主要问题是:(1) 客户端程序的运行依赖于其应用平台,在为数众多的客户端上安装考试系统软件,以及日后的维护及升级等工作过于繁琐。(2) 服务器端所做的任何变动都会对每个客户端产生连锁影响。目前,对网上考试系统的研究主要集中在B/S结构7下进行。B/S结构模型如图1.2所示。在B/S结构中采用了浏览器、Web服务器、数据库服务器三层分布结构8。其中Web服务器是系统的核心,它负责接收并处理来自浏览器的Web页请求和数据请求,将数据请求通过数据库接口程序转换成数据库服务器能够接受的形式后,送到数据库服务器。数据库服务器负责执行相应的数据库操作,并将结果通过数据库接口程序的转换送回Web服务器。Web服务器将结果处理成浏览器能够接受的形式后,送回发出请求的浏览器,显示结果。图1.2 B/S结构模型Fig. 1.2 B/S structure model在B/S结构中更有利于对数据的集中管理,因为所有的应用程序和试题内容都储存在服务器上,客户机上只须安装网页浏览器(例如Internet Explore 5.0)就可以了,不用其它任何辅助软件。从系统的承载内容来看,考试的科目和内容随着教学过程的发展而不断变化、更新的,而且考试系统本身也要经常进行修改和维护9;而这些升级和维护工作只需要在服务器端进行就可以了。B/S结构的主要特点是:(1) 客户端只需要安装浏览器,不需要安装应用程序,大大减轻了管理负担。(2) 实现了开发环境与应用环境的分离,提高了系统的可扩展性、安全性和重用性。(3) 数据库结构的改变不再对客户端产生连锁影响,只需修改服务器端的应用程序即可,极大地提高了系统的维护效率。1.2.2 动态网页的开发工具基于B/S模式的网上考试系统中,考生是通过浏览器打开页面的方式来进行考试和成绩的查询,系统开发过程中必须要选择合适的网页开发工具。随着网络技术的发展,静态网页由于是由单纯的HTML语言组成,没有交互性, 已不能满足发展的需要。目前,许多网页文件的后缀名不再是HTM或HTML,而是出现了PHP、JSP、ASP、ASPX等,这些都是采用动态网页技术制作出来的。比较受关注的动态网页设计技术主要有:PHP、JSP、ASP、ASP.NET等。PHP(Hyper Text Processor超文本处理器)10是网上较为流行的脚本语言,其语法借鉴了C、Java、Perl等语言,而且只需要很少的编程知识就可以使用PHP建起一个真正交互的WEB站点。其主要优点是源码公开,可用资源多;能支持现有几乎所有的数据库,协议方面的支持也很好,具有很好的跨平台性。主要缺陷是:只能按解释方式执行,执行效率低;没有对组件的支持。JSP(Java Server Page)是由Sun Micro system公司推出的基于Java体系的Web开发技术11,它通过在传统的HTML代码中,利用HTML标签的扩展,插入JSP脚本代码,构成JSP页面。其主要优点是:继承了Java的一切特性,采用Java Bean组件,有非常好的跨平台性和重用性;JSP页面只在第一次被请求的时候才编译,以后可直接用编译过的字节码,代码执行效率高。ASP(Active Server Page)l2是Microsoft公司开发的一种运行于Web服务器端的脚本编写模型。它允许用户使用许多己有的脚本语言编写ASP应用程序,使用起来方便、灵活;可通过ASP组件和对象技术直接使用ActiveX,调用对象方法和属性,以简单的方式实现强大的交互功能。缺点是:ASP仅能运行在微软的Windows平台,必须还要有IIS或PWS的支持,代码的可移植性差;采用解释方式,一边解释,一边执行,效率不高。ASP.NETl3是微软推出的基于通用语言的编程框架,使用它可以在服务器端编制强大的网络程序,可以使用所见即所得的HTML编辑器及其他编程工具来开发ASP.NET程序,可将设计、开发、编译、运行都集中到一起,开发效率高。与ASP相比,它还有程序代码和页面标识完全剥离,使用Web控件,不再区分客户端和服务器端程序,可以直接进行数据交换支持面向对象编程,可以在第一次请求时自动编译,以后再次请求时不需要重新编译等,因而具有性能好、易管理、易开发、易扩展、安全性好等优点。1.2.3 数据库管理系统DBMS在网上考试系统的构建中,有大量的数据要求存储,如题库、考生信息、考生成绩等。这就需要有专门的DBMS来管理这些数据。目前比较受关注的DBMS主要有Oracle、SQL Server、Access等。Oracle14可运行在不同的操作系统之上,并拥有许多不同的产品,是一个强大和健壮的DBMS。它支持面向对象的结构,开发者可以利用它们来定义自己的抽象数据类型。能创建和处理传统数据库与对象数据库相混合的数据库。支持分布式数据库处理,其中的数据库是存放在多台计算机上的。Oracle适合于大型数据库的管理,有许多不同的新产品,结构较复杂,安装和应用均很困难。Access是微软公司的产品,结构和功能均较简单,比较适合个人计算机上开发小型的数据库的管理。SQL Server15也是微软公司的产品,具有用户喜欢的易用性、适合分布式组织的可伸缩性、用于决策支持的数据仓库功能、与许多其他服务器软件紧密关联的集成性、良好的性能价格比等优点。它具有完备的Web功能,提供了完全集成的、基于标准的XML(Extensible Markup Language可扩展标记语言)的支持,它对于Web开发人员和数据库程序员来说都是灵活、高效而且易于使用的。SQL Server还提供了重要的安全性方面的增强,保护防火墙内和防火墙外的数据,它支持强有力的、灵活的、基于角色的安全,并提供高级的文件加密和网络加密功能。1.2.4 系统的安全机制在网上考试系统中,由于存储有大量的数据,有系统管理员、出卷老师、任课老师、考生等不同的用户,不同的用户有不同的使用权限,因此对于身份的确认及系统的安全有较高的要求。对于目前常用的系统的安全机制16主要有访问权限控制、数字签名、数据加密、防火墙以及入侵检测17等。访问控制决定了谁能够访问系统的何种资源以及如何使用这种资源。适当的访问控制能够阻止未经允许的用户有意或无意地获取数据,访问控制的手段包括用户识别代码、口令、登录控制、资源授权、授权核查、日志和审计。数字签名用来保证信息传输过程中信息的完整和提供信息发送者的身份和不可抵赖性,该技术可用公开密钥算法对电子信息进行数学变换,通过这一过程,数字签名存在于文档之中,不能被复制。数字签名的方法很多,应用最为广泛的是:Hash签名、DSS签名、RSA签名。数据加密技术18是最基本的网络安全技术,被誉为信息安全的核心,最初主要用于保证数据在存储和传输过程中的保密性。它通过变换和置换等各种方法将被保护信息置换成密文,然后再进行信息的存储或传输,即使加密信息在存储或者传输过程为非授权人员所获得,也可以保证这些信息不为其认知,从而达到保护信息的目的。根据密钥类型不同可以将现代密码技术分为两类:对称加密算法和非对称加密算法。在对称加密算法中,数据加密和解密采用的都是同一个密钥,因而其安全性依赖于所持有密钥的安全性。对称加密算法的主要优点是加密和解密速度快,加密强度高,且算法公开,但其最大的缺点是实现密钥的秘密分发困难,在大量用户的情况下密钥管理复杂,而且无法完成身份认证等功能,不便于应用在网络开放的环境中。目前最著名的对称加密算法有数据加密标准DES和欧洲数据加密标准IDEA等。防火墙是位于两个网络(或多个)间实施网络间访问控制的一组组件的集合,它是一套建立有内外网络边界上的过滤封锁机制。它满足以下条件,内部和外部之间的所有网络数据流必须经过防火墙,只有符合安全政策的数据流才能通过防火墙,防火墙自身应对渗透免疫。防火墙系统是保证内部网络安全的一个很重要的安全部件,但由于防火墙系统配置复杂,很容易产生错误的配置,从而可能给内部网络留下安全漏洞。此外,防火墙系统都是运行于特定的操作系统之上,操作系统潜在的安全漏洞也可能给内部网络的安全造成威胁。为解决上述问题,防火墙安全扫描软件提供了对防火墙系统配置及其运行操作系统的安全检测,通常通过源端口、源路由、SOCKS和TCP系列号来猜测攻击等潜在的防火墙安全漏洞,进行模拟测试来检查其配置的正确性,并通过模拟强力攻击、拒绝服务攻击等来测试操作系统的安全性。目前对于网上考试系统19中的身份的确认及系统的安全的考虑还不够多,大多数只是采用口令和登录控制来控制用户的使用权限。目前的研究大多出现在用数字签名的方法来进行用户的确认,使用防火墙系统是保证内部网络安全,使用数字加密的方法对数据的传输和存储进行有效的保存等20。1.2.5 网上考试系统的几种类型根据对网上考试的组织状况可将目前的网上考试系统分为三种类型21:(1) 完全开放型:这种类型适合自我认定性质的考试,用于对所学知识进行检验的自我考核。它完全可以在互联网上公开进行,可在任何网络环境中进行,不需要监考,任何时间、地点随时考试。往往考试结果立即可知,非常方便,一般是不收取费用的。如网上公开的一些小型知识问答。(2) 半开放型:这种类型适用于社会上认证性质的考试。它需要被试者个人申请,并按要求在指定的考点上网参加考试。这些考点是由所认定的考试机构专门开设的,有专人监考,一般是随机服务方式,随到随考,考完立即知晓成绩。如微软的各种认证考试。(3) 组织型:这种类型适用于单位、学校及社会认证性质的考试。通过集体申请,在认定的考试机构专门开设的大型考点上网参加考试,也有专人监考,要定时定点。如学校机房针对在校学生的网上考试。论文中实现的考试系统主要是针对全国“化工检修钳工”技能竞赛暨首届全国化工装备技术专业技能大赛的要求而设计的。目前选手(学生组/职工组)的考试还是要在组委会统一安排下,在规定的时间及地点进行,组委会安排专人监考,考试过程中要核对考生身份,属于组织型的考试系统。1.3 本课题研究的内容和全文安排作者所在的工作单位“南京化工职业技术学院”是江苏省省批示范性高等职业技术院校建设单位,为培养适应现代社会发展的复合型高等教育人才,学院进行全面的专业教学改革。为实现教、考分离,减轻因阅卷、评分与分析给教师所带来的繁重的工作,学院决定开发网络考试系统,并实现对学生的自适应测试功能的设计。本文在研究了考试系统在国内外开发使用的现状的基础上,根据全国“化工检修钳工”技能竞赛暨首届全国化工装备技术专业技能大赛的要求,设计了一个具有自适应功能的网络考试系统。主要研究内容有:(1) 采用B/S体系结构,以学院校园网为基础,进行系统设计。(2) 以经典测试理论为基础,结合项目反应理论,进行系统数据库设计,确定试题库的题目与命题要求。(3) 设计组卷算法,生成试题库。(4) 利用监控系统完成上机考试的监考管理,并提供考试服务管理。(5) 以SQL Server为系统数据库,并运用先进的ASP.NET、ADO.NET等技术进行系统开发,实现上机考试、机器阅卷及成绩分析等功能。论文安排,全文共分五章:第一章 绪论 介绍了网络考试系统发展的现状;课题研究的背景及意义。第二章 系统构建相关技术 介绍了考试系统开发中涉及的一些开发技术和手段;决定采用ASP.NET+SQL Server进行开发。第三章 系统分析与设计 讨论分析了考试系统的业务流程图和数据流图,运用题库建设理论完成相关数据库的设计;系统功能模块的划分与设计。第四章 系统功能实现 详细讨论了考试系统实现的具体过程,重点介绍系统组卷模块。第五章 总结 对考试系统做了总结和分析,指出其特点,提出了下一步工作的展望。2 系统构建的相关技术基于学校校园网提供的网络平台,考试用的学生机与考试服务器可通过代理服务器连接或直接连接,考试服务器和数据库服务器使用专用服务器,服务器采用Windows 2000 Server,客户机采用Windows个人PC操作系统均可。Web服务器选用IIS加装.NET框架,数据库服务器选用SQL Server 2000,客户机浏览器IE 4.0以上版本均可,并运用ASP.NET、ADO.NET等技术实现系统功能。2.1 Web数据库技术2.1.1 Web数据库技术简介Internet是目前全球最大的计算机通信网,它遍及全球几乎所有的国家和地区。WWW系统是一个大型的分布式超媒体信息数据库,它极大地推动了Internet的发展,己经成为Internet中最流行、最主要的信息服务方式。它能够把各种类型的信息资源,如静态图像、文本、数据、视频和音频有机地结合起来,使用户能够在Internet上浏览、查询和共享建立在WWW服务器所有站点上的超媒体信息。目前Web技术与数据库管理系统(DBMS)相互融合领域的研究已成为热点方向之一22,数据库厂家和Web公司也纷纷推出各自的产品和中间件来支持Web技术和DBMS的融合,将两者取长补短,发挥各自的优势,使用户可以在Web浏览器上方便地检索数据库的内容。当前的Web数据库技术并无统一的规范。Microsoft、Sun、Netscape等公司各支持不同的技术,存在这一领域的竞争。较早使用的技术有CGI、ISAPI/NSAP1,之后有DC、Java/Applet,最近流行的技术有ASP、JSP、PHP,还有Microsoft新推出的ASP.NET等。总的来说,当前的Web数据库技术不外乎是在服务器端或客户端扩展功能,以实现对数据库的访问。在服务器端的扩展主要是CGI和API。客户端扩展技术主要是Microsoft、Sun、Netscape三大公司之间的标准之争,无论是ASP、PHP还是JSP其性能均无太大的差异,它们之间的取舍主要应考虑支持平台、兼容性和竞争前景等因素。Web数据库技术的发展依赖于相关技术的发展。Web技术本身也在不断的发展中,未来会不会将数据库访问功能直接集成到Web中,应该是一个值得注意的问题。2.1.2 Web数据库的运行方式一般的Web数据库运行方式如图2.1所示。从图中可以看出一个数据库的必要元素: 后台数据库、WEB数据库、客户端浏览器及联系客户端和服务器之间的网络。图2.1 Web数据库示意图Fig. 2.1 Web database sketch客户端只需Web浏览器即可。WEB浏览器接受的其实只是文本形式的HTML代码(包括一些动态脚本语言),通过逐条解释HTML代码来组织各种文本和多媒体对象,以一定的方式显示在客户端的浏览器界面上,传递信息给客户。要实现动态的交互浏览形式,Web服务器必须具有动态生成HTML代码的能力。Web数据库系统运行方式如图2.2所示。从图2.2可以看出用户通过客户端浏览器来访问一个Web数据库系统的过程。客户端的浏览器首先发出请求,服务器根据请求向客户端发回相应的HTML文件,这时客户端将显示出这一Web数据库系统的登录界面,假设在这个登录界面上需要输入并提交后,信息通过Internet/Intranet网传递到服务器端,这时服务器端的相应程序启动并执行,向后台数据库发出相关的数据操作指令,后台数据库的引擎将执行该命令,进行相应的数据库存储和查询操作,将结果返回到服务器的运行程序,服务器端的运行程序根据从后台数据库返回的数据生成相应的数据存储和查询操作,将结果返回到服务器的运行程序,服务器端的运行程序根据从后台数据库返回的数据生成相应的HTML文件,并通过网络返回到客户端,客户端将看到相应的信息。编写服务器端应用程序在开发Web数据库系统中有很重要的地位,应用程序的效果直接影响对客户的服务质量和服务方式。这样的应用程序必须有以下几项功能:(1) 建立与后台数据库的联系;(2) 能够给后台数据库发出数据操作指令;(3) 能够对客户发出的请求做出响应;(4) 能够处理客户反馈的数据;(5) 能够处理从数据库返回的信息。图2.2 Web数据库的运行方式Fig. 2.2 Web database operation2.1.3 Browser/Server结构随着网上浏览器功能的日益增强,一种新型的体系结构B/S应运而生,并获得飞速发展23。B/S结构极大的简化了客户端的工作,客户端只需安装、配置少量的客户端软件即可,服务器将担负更多的工作,对数据库的访问和应用程序的执行只由服务器完成。其体系结构如图2.3所示。 在B/S三层体系结构24中,表示层、功能层、数据层被分割成三个相对独立的单元:(1) 第一层表示层:Web浏览器在表示层中包含系统的显示逻辑,位于客户端。它的任务是由Web浏览器向网上的Web服务器发出服务请求,Web服务器对用户身份验证后,用HTTP协议把所需的协议传给客户端,客户机接受传来的主页文件,并把它显示在浏览器上。(2) 第二层功能层:Web服务器在功能层中包含系统的事务处理逻辑,位于Web服务器端。它的任务是接受用户的请求,首先执行扩展的应用程序并与数据库进行连接,通过SQL方式向数据库服务器提出数据处理申请,而后等待数据库服务器将数据处理的结果提交给Web服务器,再由Web服务器将结果传回给客户端。(3) 第三层数据层:数据库服务器在数据层中包含系统的数据处理逻辑,位于数据库服务器端。它的任务是接受Web服务器向数据库操作的请求,实现对数据库查询、修改、更新等功能,把运行结果提交给Web服务器。这种结构不仅把客户机从沉重的负担和不断对其提高的性能的要求中解放出来,也把技术维护人员从繁重的维护升级工作中解脱出来。由于客户机把事务处理逻辑部分交给了Web服务器,使客户机一下子“苗条”了很多,不再负责处理复杂计算及数据访问等关键事务,只负责显示部分,所以维护人员不再为程序的维护工作奔波于每个客户机之间,而把主要精力放在Web服务器上的程序的更新工作中。这种三层结构的层与层相互独立,任何一层的改变不影响其它层的功能,它从根本上改变了传统的两层C/S结构的缺陷,它是应用系统体系结构中的一次深刻变革。图2.3 B/S三层体系结构Fig. 2.3 B/S three-tier architecture2.2 基于ASP.NET的编程技术随着网络经济的到来,Microsoft公司为了能够使用户充分利用网络资源而推出了Microsoft.NET战略。其思想是将互联网本身作为构建新一代操作系统的基础,对互联网和操作系统的设计进行合理延伸,从而使自己不仅仅是平台和产品的开发者,并且还将作为架构服务提供商、应用程序提供商,为广大用户提供全方位的Internet服务。2.2.1 ASP.NET的优势ASP.NET是在ASP的基础上发展起来的,是Microsoft公司推出的新一代Active Server Pages脚本语言和新型体系结构.NET的一部分,是建立在公共语言运行库上的编程框架,使用它可在服务器上生成功能强大的Web应用程序,与过去的Web开发模型相比,ASP.NET的优势主要体现在25:(1) 增强性:与ASP不同的是,ASP.NET是在服务器上运行已编译好的公共语言运行库代码,还可利用早期绑定、实时编译、本机优化等,这相当于在编写程序之前就显著提高了性能,大大地提高了程序的执行效率。另外,ASP.NET框架不但提供了设计周到的结构和可视化的开发工具的支持,它使开发人员可以在适当的级别“插入”用户代码,可以用自己编写的自定义组件扩展或替换ASP.NET运行库的任何子组件,还补充了Visual Studio集成环境中的大量工具箱和设计器,在自定义性和扩展性方面得到了增强。(2) 灵活性:由于ASP.NET基于公共语言运行库,.NET框架类库、消息处理和数据库访问解决方案都可从Web无缝访问。ASP.NET也与语言无关,所以可以选择最适合的应用程序语言,或跨平台多种语言分割应用。另外,公共语言运行库的交互性保证在迁移到ASP.NET时保留基于COM开发中的现有投资,因此,Web应用程序开发人员可以利用整个平台的威力和灵活性。(3) 简易性:ASP.NET使执行常见任务变得容易,从简单的窗体提交和客户端身份验证到站点的部署和配置。例如:ASP.NET页框架使开发人员可以生成将应用逻辑与表示代码清楚分开的用户界面,和在类似Visual Basic的简单窗体处理模型中处理事件。另外,公共语言运行库(CLR)利用托管代码服务(如自动引用计数和垃圾回收)简化了开发。(4) 可管理性:ASP.NET采用基于文本的分层配置系统,简化了将设置应用于服务器环境和Web应用。由于配置信息是以纯文本形式存储的,因此可以在没有本地管理工具帮助的情况下应用新设置。此“零本地管理”哲学也扩展到了ASP.NET的部署,只须将必要的文件复制到服务器,即可将ASP.NET框架应用程序部署到服务器,即使是在部署或替换运行的编译代码时,也不需要重新启动服务器。(5) 可缩放性和重用性:ASP.NET在设计时考虑了要缩放性,增加了专门用于在聚集环境和多处理器环境中提高性能的功能。另外,进程受到ASP.NET运行库的密切监视和管理,以便当进程行为不正常(泄漏、或死锁)时,可就地创建新进程,以帮助保持应用程序始终可用于处理请求。(6) 安全性:借助内置的Windows身份验证和基于每个应用配置,可以保持应用程序是安全的。另外,在ASP.NET中取消了组件注册及DLL锁定,全面使用了XML配置文件,只需要执行复制文件的工作就能配置一个Web应用程序。另外,ASP.NET与Windows2000 Server/Advanced Server的完美组合,为中小型乃到企业级的Web商业模型提供了更为稳定、高效、安全的运行环境。2.2.2 ASP.NET的关键技术(1) 事件驱动:ASP.NET允许用服务器端控件取代传统的HTML元素,并充分支持事件驱动机制,不必考虑如何将服务器端的信息回送浏览器,当然,服务器端程序可以“直接”读取位于浏览器端的信息,程序设计人员也不必再为将浏览器的信息发送给服务器而大费周折了。(2) 代码隐藏(Code Behind)技术:ASP.NET中引入Code Behind技术,通过使用Code Behind技术、用户控件、自定义控件和组件等方法,可以很好地将程序的执行代码和逻辑代码分开,两者互不影响,从面实现了结构化的Web页面设计。在ASP.NET中默认采用Code Behind技术编写程序代码,虽然文件数和每个文件的代码数有所增多,但是需要程序设计人员做的工作却大大减少了,而且更方便多个程序设计人员分工合作。(3) 数据绑定(Data Binding)技术:在开发Web应用程序中,是否能简单、灵活的方式将后台数据显示在Web页面上,数据存取技术是一项很重要的功能,它决定了程序设计人员如何解决数据源和页面控制项之间的通信问题。虽然数据绑定技术在ASP中就有过,但是在ASP.NET中却得到了更进一步的发展,一些新的声明性数据绑定性语法允许程序设计人员不仅可以绑定到数据源,而且可以绑定到简单属性、集合、表达式或从方法调用所返回的结果中。(4) 数据访问技术:ADQ.NET:无论是以简单文件、相关数据库,还是以其他的存储类型存在,几乎所有的网络服务都需要更永久性数据。为了更好地提供对数据的访问,在ASP.NET的服务框架中包括了Active Data Object+(ADO.NET)类库。ADO.NET由ADO发展而来,为连接的指针风格的数据访问,同时也为更适合于把数据返回到客户端应用程序的无连接的数据模板提供高性能的APIS流。目的是为基于网络的可扩展的应用程序和服务器提供数据访问服务。此项技术是专门为Web设计的,并且考虑了可伸缩性、无状态性和XML的设计问题。(5) 面向对象特性:ASP.NET的程序设计和运行模式,与ASP有所不同,采用了“面向对象”的机制,并引入了面向对象的属性、事件和方法的新特性,促进了组件共享。(6) 多语言支持:ASP属于一种解释型的编程框架,它的核心是VBScript和Jscript,由于受这两种脚本语言的限制,它无法像传统编程语言那样进行底层的操作,如果要进行一些诸如Socket、文件等操作时不得不借助于C+、VB、JAVA等编写的组件,并且由于它是解释执行的,所以运行效率较低。面ASP.NET是一种编译型的编程框架,它的核心是NGWS runtime,除了和ASP一样可以采用VBScript和Jscript作为编程语言外,还可以用VB和C#来编写,这就决定了它的功能强大,可以进行低层操作而不必借助于其他编程语言的优势。(7) 大型站点应用:.NET框架使用符合企业标准的协议和各种通信方式,使得在分布式计算中更加安全可靠,更加适合企业级的大型站点应用。2.3 基于ASP.NET应用程序的开发环境要进行ASP.NET应用程序的开发,首先就当建立ASP.NET应用程序的运行及开发环境,这就必需对系统的硬件和软件环境进行一定的配置26。2.3.1 软件环境的要求和配置(1) 操作系统:Window:2000系列/Windows XP Professional/ Windows Server 2003。(2) 浏览器:IE5.0以上版本。(3) Web服务器:ISS5.0以上版本。IIS(Internet Information Services,即Internet信息服务器)是ASP.NET应用程序所必需的服务器平台。在安装Windows 2000 Server与Windows2003时,默认时会自动在系统中安装IIS5.0,但若是安装Windows2000 Professional与Windows XP Professional,则默认时并不会安装IIS,需要单独进行安装。(4) 集成开发工具:Visual Studio.NET 2005。Visual Studio.NET 2005是ASP.NET应用程序最优秀的集成开发工具,它提供了控件拖放、自动调试、语法自动检测等功能,能够快速地设计、开发、高度和部署ASP.NET应用程序,从而大大提高程序开发的工作效率。(5) 数据库服务器SQL Server或Access。对于一些较复杂的数据库应用,一般应安装SQL Server2000或SQL Server2005。由于安装Visual Studio .NET需要较大的硬盘空间,对计算机的配置要求也比较高,用户也可以不安装Visual Studio.NET,而是通过单独安装“Microsoft Net Framewor
展开阅读全文