版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、学 位 论 文在线考试模拟系统开发指导教师姓名 申请学位级别 学 士 专业名称 论文提交日期 年月 论文答辩日期 年月 学位授予单位和日期 答辩委员会主任 评阅人 年月日35独 创 性 声 明本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得湖北汽车工业学院或其它教育机构的学位或证书而使用过的材料。与我一同工作的同学对本研究所做的任何贡献均已在论文中作了明确的说明并表示谢意。签名: 日期: 年 月 日关于论文使用授权的说明本学位论文作者完全了解湖北汽车工业学院有关保
2、留、使用学位论文的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅和借阅。本人授权湖北汽车工业学院可以将学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。签名: 导师签名: 日期: 年 月 日摘要本文描述现代网络教育的教学手段在线考试,并对动态服务器主页(asp:active server pages)技术的应用方法进行了探讨。在远程教育传统方法的础上,提出了利用asp技术构建基于web的学习平台的模式,从而产生并执行了高效、交互、动态的web服务器应用程序,使用户通过互联网学习,充分发挥现代网络学习的优势。关键字:
3、asp,分布式,b/s,在线考试 abstractthis article describes a new teaching method in modern networkon-line examination。study technical and applied method of the main page in dynamic server( asp: active server pages)。in the foundation in traditional method,put forward a new model based on the web in which asp te
4、chnical is used .then every kind of users can take advantage of network to learn and test themselves .we can say network will charm learning. key words: asp,distribution,b/s,on-line,examination 目录第一章 引言1第二章 asp的介绍及其发展22.1 asp技术的特点22.2 active server pages 模型22.3 asp的发展2第三章 理论依据与应用43.1 网络开发模式的发展与比较43.
5、2 分布式动态web应用系统的构成73.3 理论与实际的结合8第四章 开发环境与总体设计104.1 计算机软硬件环境及规划104.2 总体设计规划104.2.1 系统设计阶段104.2.2 数据库设计与实现阶段104.2.3 后台服务器和数据库配置阶段104.2.4 前端网络页面的开发与设计阶段104.2.5 系统的发布与维护阶段10第五章 在线考试系统的开发115.1 网站系统分析115.1.1 对网站进行需求分析:115.1.2 组织和管理站点结构125.2网站开发的设计思想与实现方法135.2.1 目标设计:135.2.2 系统功能设计145.2.3 数据库设计 数据库
6、需求分析 数据库的逻辑设计165.2.4 后台服务器和数据库配置 后台服务器库配置 建asp应用程序的具体步骤175.2.5 整个系统的所有页面情况为:175.2.6 系统数据流程图18第六章 在开发过程中的一些问题226.1 随机选题算法226.2 出题页面保存226.3 系统安全226.3.1 软件安全性 access数据库的存储隐患 access数据库的解密隐患 源代码的安全隐患 程序设计中的安全隐患 利用session对象进行注册验证246.3
7、.1.6 session与cookie的安全性2 使用身份验证机制保护asp页面256.3.2 硬件安全性2 ntfs 权限2 web服务器权限2 自动判分功能的实现26第七章 系统的发布与维护29第八章 结论30致谢32参考文献33第一章 引言 随着internet的普及和发展,越来越多的计算机通信应用正在向互连网的主流应用模式动态交互应用转移。传统的万维网中的多数信息是静止的,文件中的信息只是在站点管理人员修改后才能发生变化,这种静态页面缺少交互性。能取到什么信息完全由信息提供者决定,用户处于被动的地位,因而缺少交互性,难以形
8、成真正有效的服务。这就使动态服务成为未来www应用发展的方向。所谓动态服务,包含有两个方面的含意:首先,必须从用户的角度出发,将简单的检索页面抽象成服务来看待,也就是说、用户的每一次使用就是为了需要得到某种服务。这样,才能形成internet中高效的服务。其次,所提供的服务应具有交互性,针对不同的使用者以及不同的要求而提供不同的服务。internet/intranet的出现是本世纪内计算机通信领域最重要的一次革命,利用这种媒体,人们可以建立一个虚拟的电子世界,在这个世界里,人们的思想和概念可以在几分钟内传遍全世界。这是一个比传统媒体更为灵活和快速的媒体,通过它商家可以与它们自己的员工、潜在的客
9、户乃至世界上任何一个人沟通,电子商务的概念也随之而来。借助于www通过动态的交互式信息发布,诸如网上购物、网上银行、网上书店等一系列在线电子商务服务系统得于盛行。这些系统都离不开分布式的数据库、与用户及后台数据库交互的动态web应用程序、安全认证等技术。分布式动态web应用系统开发技术自然而然地成为一项热门技术,本文不讨论分布式数据库的技术细节,只是将其思想应用到本文中,本文讨论的是一个在线数考试系统的分析与建设,在线考试系统充分利用了browse/server结构特点,实现了将考试系统移植到互联网上的功能,该系统的优势在于极大的简化了老师出题的工作和学生考试的选题,做到了试题的多样性。第二章
10、 asp的介绍及其发展2.1asp技术的特点asp技术是目前网站应用中的核心技术,也是目前流行的3p技术中应用最广泛的一种。3p技术分别是:asp(active server pages)、php(personal homepage)和jsp(java server pages)。asp是微软公司的产品,jsp最初是sun公司推出的,php是由一个网络小组开发和维护的。目前最常用的是asp和jsp。在企业应用中,操作系统使用windows 2000 server,web服务器使用操作系统自带的iis5.0(internet information server),服务器端语言使用asp,数据库
11、服务器使用sql server。这种搭配已经成为目前开发领域中的标准配置。asp可以使用jscript(javascript的微软版)或者vbscript作为脚本语言。使用该脚本有四个优点: 1、jscript和c语言的语法很类似,几乎所有的高校都开c语言这门课程。这样有利于利用已有的知识,或者为学习其他课程提供良好的基础。2、客户端编程考虑浏览器兼容的问题,目前一般采用javascript语言。这样客户端和服务器端使用语言的语法就一致了,不至于将语法弄混,有利于学习。3、在asp.net中,一般采用c#作为脚本,c#的语法和jscript一致,这样就为学习新技术提供了必要的基础。4、在实际应
12、用中,大部分企业采用jscript作为脚本,一些知名的企业如:联想、方正和用友软件等等。这样使学习更加贴近于实际的工程应用1。2.2 active server pages 模型浏览器从 web 服务器上请求 .asp 文件时,asp 脚本开始运行。然后 web 服务器调用 asp,asp 全面读取请求的文件,执行所有脚本命令,并将 web 页传送给浏览器。由于脚本在服务器上而不是在客户端运行,传送到浏览器上的 web页是在web服务器上生成的。所以不必担心浏览器能否处理脚本:web 服务器已经完成了所有脚本的处理,并将标准的 html 传输到浏览器。由于只有脚本的结果返回到浏览器,所以服务器
13、端脚本不易复制。用户看不到他们正在浏览的页的脚本命令2。2.3 asp的发展web源于静态文本,现在很多站点几乎还是采用这种方式。静态文本的缺点就是维护难(文件数目多)、查询难、修改难。虽然可以采用frontpage对站 点进行管理,但这只是其中的一个办法。现在,很多的站点都会在后台采用数据库,动态生成超文本。这样,要改变式样,只需修改几个文件;要变更内容,只需对数据库进行操作即可,而且易于保持一致性;而对于全文检索等查询应用,这种方式的优越性更为突出。(经常说的“动态”也包括图片的动态显示, 如动态的gif、java、applet等,本文所指为资料的动态性)通用网关界面cgi(common
14、gateway interface)和网络服务器应用程序界面isapi(internet server application programminginterface)与其他相关技术的出现,使我们能够方便地与webserver进行沟通,从而像一些计数器、留言版等cgi程式相继出现并蔚然成风。但这些cgi程序都有一个很大的缺点,就是cgi(可用vb、java、perl、c或dephi等编写)与html只能分开 编写、分开运行,要将两者融合在一起并不容易,从而导致维护与编写都相当困难。因此,一些厂商后来都推出了自己的script语言,来增强网页开发的功能。其中netscape(网景公司)推出了j
15、avascript(forclient端和forserver端两种);微软则推出了vbscript和asp(asp的语法与vb的语法类似)两种,也用于服务器端和客户端程序的编写。对于专业开发人员而言,客户端程序的最重要的一点是通用性,而服务器端的则强调功能和效率。对于client端程序的开发,javascript无疑是最佳的,因为当今两大主流浏览器ie和netscape都宣称支持该标准;而vbscript则只有ie才能支持。但令我们苦恼的是对某些javascript的标记,ie或ie的某些版本并不一定会支持,这会导致我们不得不把一部分程序移到服务器端去执行,因为服务器端的程序会先解释生成htm
16、l(或含activex)文本,再送到客户端,故不存在兼容问题。livewire(javascriptforserver端的编译器)和asp一样,都是一些手稿语言(手稿是指类似client端的javascript一样的、可嵌套在html文本里面、只需用标记标明是由服务器执行的程序段),也就是类似c/c+一样的面向对象的语言。livewire的文件后缀名还是html,asp的文件后缀名则是asp,因为asp的文件在客户读取它的时候,服务器才进行解释,而livewire的文件则必须预先进行编译(每次修改后,都要重新编译)。asp有相应的辅助开发工具(interdev、dream weaver等),可
17、代为生成一些控件。当然,这些并不重要,关键是你采用的是netscapewebserver还是微软的iis。但就一般而言,因为iis是捆绑在nt上的,故采用iis的用户会偏多一些。自从netscape公司推出了livewire和微软推出了activeserverpage以后,程序员编写网上程序就方便和容易了很多。但这种script类的语言有一个共同的缺点,那就是由于是解释执行的,故速度不会太快。最近,微软建议采用三层模型,中间层可以不用asp,而直接采用vb6.0生成的activex控件,因为是编译执行的,故速度会较快。随着.net技术的发展,.net 将asp也一网打尽,由于本文主要使用asp
18、,故不对asp.net作介绍345。 asp功能强大,简单易用,更加上微软的技术支持,使得他成为目前使用的最为广泛的脚本语言,成为学生学习开发网站的首选。第三章 理论依据与应用3.1 网络开发模式的发展与比较目前比较流行的两种网络开发模式分别是client/server模式和browse/server模式。传统的应用系统模式是“主机/终端”或“客户机/服务器”,客户机/服务器系统(client/serversystem)的结构是指把一个大型的计算机应用系统变为多个能互为独立的子系统,而服务器便是整个应用系统资源的存储与管理中心,多台客户机则各自处理相应的功能,共同实现完整的应用。随着inter
19、net的发展壮大,这些传统模式已经不能适应新的环境,于是就产生了新的分布式应用系统,即所谓的“浏览器/服务器”结构、“瘦客户机”模式。在client/server结构模式中,客户端直接连接到数据库服务器,由二者分担业务处理,这样体系有以下的缺点:1、client与server直接连接,安全性低。非法用户容易通过client直接闯入中心数据库,造成数据损失;2、client程序肥大,并且随着业务规则的变化,需要随时更新client端程序,大大增加维护量,造成维护工作困难;3、每个client都要直接连到数据库服务器,使服务器为每个client建立连接而消耗大量本就紧张的服务器资源;4、大量的数据
20、直接client/server传送,在业务高峰期容易造成网络流量暴增,网络阻塞。由于客户服务器两层结构存在灵活性差、升级困难、维护工作量大等缺陷,已较难适应当前信息技术与网络技术发展的需要6。随着web技术的日益成熟,browse/server(简称b/s)结构已成为取代client/server(简称c/s)结构的一种全新技术。采用该结构软件的优势在于:1、无须开发客户端软件,维护和升级方便;2、可跨平台操作,任何一台机器只要装有www浏览器软件,均可作为客户机来访问系统;3、具有良好的开放性和可扩充性;4、可采用防火墙技术来保证系统的安全性,有效地适应了当前用户对管理信息系统的新需求。因此
21、该结构在管理信息系统开发领域中获得飞速发展,成为应用软件研制中一种流行的体系结构。client/server模式的先天不足与b/s模式的后天优势形成比较,随着业务量的变化,client/server模式出现越来越多的问题,我们有必要对这种两层体系进行改革,将业务处理与客户交互分开来,实现瘦客户/业务服务/数据服务的多层分布式应用体系结构,因此有人在原来的b/s模式基础上提出“基于internet/intranet的分布式动态web应用系统开发”主要包括:三层结构技术、web数据库访问策略、访问技术及应用系统的构成。三层结构技术在internet还没有开始流行的前些年,client/server
22、的二层结构是局域网环境中mis应用系统的主流结构。随着internet的渗透,web正在改变企业应用系统开发及实施的方法。client/server体系结构由单一的两个层次扩展到由客户、应用服务器、数据库服务器组成的三层结构7。有了统一的通信协议tcp/ip和统一的基于web浏览器的用户界面。回顾计算机的发展史,有过三次大的飞跃。80年代第一代信息技术的主体是大型机,以主机/终端结构为主,是一种典型的胖服务器/瘦客户机工作模式,提供了高度的集中控制,这种模式易用性差,过于封闭,系统伸缩性较小。所以才有了个人pc机的出现,实现了第一次飞跃。第二代信息技术的主流,是pc/文件服务器结构,它由pc机
23、与传统的网络技术相结合而成,数据集中存放在文件服务器中,用户可通过不同的平台存取它,有一定的系统伸缩性。但由于它的服务对象开始转向为面向个人,因此对于一个应用系统来说,其整体开销与维护成本大增,系统的整体运行效率不高,吞吐量也不足。因此出现了client/server结构,实现了第二次飞跃。第三代信息技术的主流是client/server结构,它的数据及应用服务集中存储,可通过不同的平台存取,有较好的系统伸缩性。它把集中管理模式转化为一种服务器与客户机负荷均衡的分布式计算模式,解决了执行效率及容量不足的问题。client/server模式又分为两种: 1、胖服务器/瘦客户机方式:数据计算与数据
24、集中在数据库服务器端,数据库服务器端是这种系统的瓶颈,当接入的用户较多时,会发生通讯堵塞,系统性能也急剧下降,无法适应多用户的需要。 2、瘦服务器/胖客户机方式:数据计算与数据处理集中在客户机端,这加大了网络负荷,影响了业务处理速度,而且客户端pc机的多样性,使如何有效管理控制整个系统,并不断予以更新成为一个新的“瓶颈”。 在client/server模式下开发的应用系统也有一些方面尚不够完善,不能适应不断增长的多方面需求,主要体现以下几点:1、封闭式系统,不同系统之间无法交流;2、用户界面风格不一,使用繁杂,不利于推广使用;3、系统开发和维护复杂,移植困难,升级麻烦;4、无法包容已有系统,造
25、成重复投资;5、不能接纳新技术,限制了扩展性;6、缺乏系统性和具有前瞻性的结构框架8-14。web技术的出现有了第三次飞跃,client/server变成了browse/server,数据及应用可通过不同平台、不同网络存取,与平台无关,伸缩性大。此模式具有以下特点:1、易用性好:用户使用单一的browser软件,通过鼠标即可访问图像、声音、视频及数据库等信息,特别适合非计算机人员使用。2、易于维护:由于用户端除了标准浏览器之外无需专用的软件,系统的维护工作简单 。3、信息共享度高:html是数据格式的一个开放标准,目前大多数流行的软件均支持html,同时mime技术使得browser可访问除h
26、tml之外的多种格式文件。4、扩展性好:browse/server模式使用标准的tcp/ip 、http,能够直接接入internet,具有良好的扩展性。5、安全性好:通过配备防火墙,将保证现代企业网络的安全性 。 6、广域网支持:无论是pstn 、ddn 、帧中继,x25 、isdn ,还是新出现的catv 、adsl,browse/server均能与其共“舞”。7、保护企业投资:browse/server模式由于采用标准的tcp/ip 、http协议,它可以与企业现有网络很好的结合。从表面上看browse/server类似于主机/终端方式,是典型的胖服务器/瘦客户机模式,好像经过若干年之后
27、,计算机应用的体系结构又从起点回到了起点。但是这已不是简单的循环往复,从整体环境看,计算机应用的体系结构是从封闭的集中式主机向开放的与平台无关的环境过渡,此时的服务器端可以不只一台主机,而可以采用主机的群集技术构成。这种以服务器为中心的结构体系使企业摆脱了以往密集人才资源、高成本的操作管理方式,对用户最大的好处是客户端不需要安装什么设备与软件,只需要一个web浏览器,在大型的公司中,相同的瘦型客户端应用程序可以在不同的硬件平台上运行,不必针对不同平台来写不同版本的应用程序并维护它,而且这已不是简单的二层结构,而是一种由表示层(browser)、功能层(web server)与数据库服务层(db
28、 server)构成的三层分布式结构如图3-1所示。图3-1 web三层结构browser端只有browser,一般没有应用程序,借助于java applet、vbscript、javascript、activex技术可以处理一些简单的客户端处理逻辑,显示用户界面和web server端的运行结果。 web server + transaction server端的负责接受远程或本地的数据查询请求,然后运行服务器脚本,借助于cgi、ado等中间部件把数据请求通过odbc发送到db server上以获取相关数据,再把结果数据转化成html及各种脚本传回客户的browse。 db server端负
29、责管理数据库,处理数据更新及完成查询要求、运行存储过程。可以是集中式的也可以是分布式的。 web browse与web server之间的关系就类似于主机/终端结构中两者之间的关系,web server+ transaction server与db server之间的关系就像client/server结构中两者之间的关系。在三层结构中,数据计算与数据处理集中在中间层,即web server+ transaction server这一层,由于中间层的服务器的性能容易提升,所以在intranet下的三层结构可以满足用户的需求。但这种结构对数据库服务器提出了高要求。从管理的角度来看,程序代码的维护、
30、数据库的备份虽然可以在服务器端执行,但这种三层结构对网络带宽是有一定要求的,因为客户端每次要求获取的数据和反馈信息都要通过网络与服务器联系。3.2、分布式动态web应用系统的构成 分布式动态web应用系统一般由如下四部分构成: 3.2.1web server 以往的web server主要任务是提供文件服务或邮件服务,现在它正成为一种独立的应用系统开发及运行环境,用来管理控制这个环境中的网站及服务器端组件,而且有一些服务器从web服务器中独立出来,主要承担运行应用系统的任务,这就是所谓的应用服务器,其目的是把以前复杂的胖客户端变为瘦客户端,从而把复杂的应用程序转到web服务器上,使面向用户的复
31、杂性从客户端转到了web服务器一端,瘦客户端也有易学易用易管理的优点15。 目前流行的web服务器软件是微软公司的iis,由于iis与windows nt 集成在一起,通过nt所做的优化工作,使之有很高的执行效率,它采用nt的安全认证特性,易于管理。从iis2.0版之后就支持cgi、isapi、asp。iis4.0更是支持多个ip,可在一台服务器上支持多个web网站和ftp网站,而不会相互影响,iis 4.0也加进了mts 2.0(事务服务器),具有分布式事务处理的能力,所以iis是构建分布式动态web应用的较佳选择1617。3.2.2服务器端组件 微软公司推出的基于com/dcom的acti
32、vex技术,可以用于为web应用开发很多可重用的服务器端组件,用以增强web服务器端应用程序的功能,基于组件的应用已成为一种必然的趋势。3.2.3数据库服务器 胖服务器/瘦客户机模式使数据库服务器变得必不可少。很多厂商都推出了各种类型的数据库软件,在windows nt环境下,微软的sql server 6.5/7.0是较好的选择,因为它与nt同样很好的集成在一起了,可以充分发挥nt的优势。 3.2.4浏览器 目前占市场份额较大的是微软公司的ie和netscape的navigator。两者都支持浏览器端组件,前者采用activex control,后者采用plug-ins技术。浏览器为客户端提
33、供了一个界面友好,风格统一,易于使用,较少维护的通用界面。 3.3理论与实际的结合正如前面引言部分所述:对于本在线考试系统,其功能目标是实现将现有的纸张答题式考试向基于互联网的无纸张考试系统的转变,所以它必须考虑整个考试流程的进行,实现对系统的账户不同管理,以及完成阅卷、评分这些环节的处理。由于系统数据收集的实时性要求不高,针对3.1中的分析,采用browse/server结构来进行设计是合理可行的 图3-2 考试系统原理示意图第四章 开发环境与总体设计4.1计算机软硬件环境及规划本系统采用软件环境为:操作系统:win2000专业版软件环境:macromedia dream weaver mx
34、 2004+access2000 注:可以将access2000导入到sql server4.2总体设计规划4.2.1系统设计阶段目标设计,功能设计4.2.2数据库设计与实现阶段数据库需求分析数据库逻辑设计数据库结构创建4.2.3后台服务器和数据库配置阶段后台服务器配置后台数据库配置4.2.4前端网络页面的开发与设计阶段按照逻辑模块展开4.2.5系统的发布与维护阶段湖北汽车工业学院信息管理系易飞erp实验室机房可以提供计算机软硬件环境。可以保证论文的写作环境能够按时完成并达到要求18。第五章 在线考试系统的开发5.1网站系统分析一般的大型网站目前已经越来越少的使用asp来架构,不过在中小型商务
35、站点上,asp依然占据了较大的市场范围。asp以其简单,开发周期短,易维护的优点受到中小型站点管理员的青睐。不过,据我所知,完全使用asp来集成更新维护网站的仅常见于那些真正的商务站点或者比较成熟的技术站点,更多的网站仅仅有一些独立的栏目在使用asp程序。这样的特点是站点管理过于分散,比如:每进入一个栏目管理都要输入不同的账号和密码。不仅浪费管理员的精力,更加重了网站的维护困难程度。而我们看见的那些单栏目使用的asp程序有很多是从网上寻找的源代码,这样使你的网站安全性也会受到一定的威胁,因为网上提供的源代码都是开放的,每个人都可以研究这个代码,asp的安全性本来就是一个受用户长期关注的问题,而
36、被开放的源代码更是危险。当然并不是不赞成使用网上的源代码,只是希望我们能够注意这个问题,不要完全信奉拿来主义,该修改的地方还是要修改,该打补丁的地方还是要打上补丁(当然绝不是让你去修改人家的版权信息)。综上所述,我觉得凡是对asp有一定了解的人都可以自己开发一个整站系统,并且是集成化的。下面的分析就是建立一套完整的web动态站点的思路。5.1.1对网站进行需求分析:很多人都忽略了这一点,他们认为开发web站点程序不需要用软件工程的思想,实际上最后会导致web站点的无序化,比如:一些人想到要开发什么站点想都不想,直接开始写代码,想到什么就写什么,直到他们写完之后,才发现还有什么功能没有写,然后就
37、立刻返回加代码。这样的话,使得程序极易出错。所以一开始的时候应该像软件工程一样,制定web站点开发的需求分析,包括所开发web系统的基本要求,如:功能,性能,用户群,基本的数据流程和处理流程,安全与保密的要求。web系统的目标,条件、假设、限制等19。详细一点来说,就以我的站点来说,它是一个技术型站点,应包括登录系统、选题系统、管理系统等等,那么这些系统需要具备哪些功能就是我们要分析的问题。 实际上,不管对于什么系统,在一开始对其需求进行了详细分析之后,实现起来肯定比想到哪写道哪轻松高效。如果方便的话用电脑或者纸将web系统的开发需求记录下来,在开发过程中也可以进行参考。这里还不得不提的一个话
38、题是关于用户验证的,一般我们对用户的验证使用的是session和cookie,session变量和cookies是同一类型的。如果某用户将浏览器设置为不兼容任何cookie,那么该用户就无法使用这个session变量及cookies。一般来说,对于网站管理员的操作我个人推荐使用session,因为我们的主题是开发web整站,那么管理员肯定要在多个管理页面中跳转,在这里session是非常方便的。若是对用户进行验证,那么可以使用cookies,比如用户可以设置强制浏览器把cookie存储在计算机上面,只需要使用response. cookies的expires属性就可以轻松的做到,还有一点就是因
39、为session的信息是非常容易丢失的,对于用户这种长时间访问的集群,则必须通过在用户的web浏览器中存储一个专用的cookie,并且把cookie信息保存到数据库中来创建一个用户标识。上面是web整站开发的先期需求分析,就我个人认为是在网站工程中非常重要的一步。5.1.2 组织和管理站点结构开发一个有一定规模的站点的时候,使站点具有较好的目录结构是一个值得注意的问题。商业应用的程序往往都要求具有在事务内部运行脚本和组件的能力。事务是服务器端的操作,简单的说就是即便该操作包含了许多步骤,例如:下定单,查看定单,打印订单等也只能整体返回操作是成功还是失败。用户可以创建在事务内部运行的asp脚本,
40、如果教本的任何一部分操作失败,那么整个事务就终止。 这里要详细说明的并不是事务性脚本在整站中的应用,而是要让你在开发中不至于被众多的文件,众多的操作搅昏了头20。 合理的对文件名进行组织。例如:将管理页面命名为admin.asp,而管理页面中对各个栏目进行操作的页面可以在admin后面加下划线然后命以这个栏目的名称,比如成绩管理页面admin_score.asp,用户管理页面admin_users.asp 关于文件的放置。我这里仅是以我的做法来讲解,不同的人有不同的见解。将所有管理操作页面放置于同一目录下面,为的是更加方便的管理和分配权限。各个栏目用户页面可以放在一个目录下方便于管理。数据库可
41、以放在统一的目录下面。 图5-1 本系统的目录结构 为了减少文件的数量。没有必要为每个添加,删除,修改或者别的操作新建许多页面,你可以使用参数来减少页面,打一个比方,在管理页面admin_users.asp中,当admin_users.asp?action=addnew的时候执行添加操作,当admin_users.asp?action=del的时候执行删除操作,这样将大大增强站点的集成化程度21。5.2网站开发的设计思想与实现方法在线考试系统主要包括系统的注册、在线的考试系统、评分系统、在线的管理系统和在线的阅卷系统等5.2.1目标设计:在线考试系统功能如下。 、登录系统主要功能要求、欢迎页面
42、、功能选择页面 各种功能的登录页面及密码验证、在线考试系统的主要是实现功能要求、让用户选择试卷类型、用户选择试卷断线情况、从试题库中随机出题给用户、将随机试卷保存在暂时表中、保存用户答案、给用户判分、保存用户试卷、查询用户成绩、在线账户管理系统的主要功能要求、选择更改账户属性的类别、浏览整个系统中的各种用户(超级用户、普同用户、添加试题的管理用户和评卷老师用户)、添加包含某项功能的用户、删除不再需要的用户、更改用户的密码、在线阅卷系统的主要功能、浏览系统中用户答题情况、删除某个用户的其中一个答卷或删除某种系统试卷5.2.2、系统功能设计根据系统功能的要求,在线考试系统分为上述三个模块。即在线考
43、试系统,在线账号管理系统和在线的阅卷系统。可以将系统分为几个功能模块来分别设计,功能模块之间关系如图5-2所示。图5-2 系统功能模块5.2.3数据库设计数据库需求分析根据系统功能的设计要求以及功能模块的划分,对于在线考试系统的试题库数据库,可以列出以下数据项和数据结构:1试卷名称表:主要包括试卷的名称、该试卷的总分数、试卷的答题时间,以及试卷内各类题型的数目等。2试题信息表:主要包括试题的id、专业、试题类型、难易程度、试题内容、试题分数、试题答案以及一些附加的内容。试题本身包含三个表,在本考试系统中包括了3个专业的试题表。对于用户记录数据主要包含如下的一些数据项和数据结构:1
44、超级用户信息:用户的id、用户名、密码、权限等内容。2用户记录表:用户的id、用户名、密码、权限以及当前的状态(此状态可以查看所选用户是否处于考试状态,包括正在考试和断线两种情况)等信息。对于在线的考试系统,可以列出以下数据项和数据结构:1试卷名称:主要包括试卷名称、试题分数、试题的题量,以及试卷的答题时间等内容2试题信息表:主要包括试题的id、专业、试题类型、难易程度、试题内容、试题分数、试题答案,以及一些附加的内容。3 暂时试题信息表:主要包括试题的id、专业、试题类型、难易程度、试题内容、试题分数、试题答案,以及一些附加的内容。4成绩登记表:主要包括用户、成绩、当前状态等。对于在线的管理
45、系统,可以列出下面数据项和数据结构:用户记录表:用户id、用户名、密码、权限,以及当前状态(此状态可以查看所选用户是否处于考试状态,包括正在考试和断线两种)等信息22。数据库的逻辑设计根据系统功能设计的要求以及功能模块的划分,对于系统用户信息数据库,可以列出以下数据项和数据结构;用户的id、用户名、密码、权限。他不需要任何的外部数据支持。对于在线的考试系统,可以列出以下数据项和数据结构:试题信息:主要包括试题id、专业、试题题型、难易程度、试题内容、试题分数、试题答案,以及一些附加的内容。所需的外部数据支持:试卷信息:试卷名称、试卷分数、答题时间。用户信息:用户名。对于在线帐户管
46、理系统,可以列出以下数据项和数据结构:用户信息:用户的id、用户名、密码、权限。超级用户信息:用户的id、用户名、密码、权限。对于在线的阅卷系统,可以列出以下数据项和数据结构:试卷信息:试卷名称、答题用户、当前状态。试卷名称信息:试卷名称(从试卷表获得)。所需的外部数据支持:超级用户信息:用户的id、用户名、密码、权限。5.2.4后台服务器和数据库配置后台服务器库配置首先,我要谈的是在线考试系统的服务器配置问题。本系统使用了 microsoft的 iis 5对作为系统服务器。如果使用的是 windows 2000以上版本的操作系统,那么添加 iis 5对服务器非常简单,只需要打开
47、“控制面板”里面的“添加删除程序”选项,然后选择“添加删除 windows组件”,最后选中弹出对话框的“internet信息服务(iis)选项”,按照系统提示进行安装即可。下面来介绍一下怎么设置iis的服务。 因为在在线考试系统的各个系统模块里都使用asp的session(会话)对象和application(应用程序)对象。这样,就必须创建一个asp应用程序来处理用户登录次数信息。一个asp应用程序必须使用一个公用的目录结构,该目录包含了同站使用的所有页面。页面的具体位置并不重要,但要让这些页面都存于一个公用的目录结构里。建asp应用程序的具体步骤 打开iis服务器,进入web根
48、目录。单击鼠标右键,选择“属性”命令,弹出一个属性对话框,在应用程序设置里,创建asp应用程序。名称与web根目录同名。这样我们就创建了一个asp应用程序,但真正具有该应用程序执行功能的是一个称作globalasa的特殊文件23。后台数据库的配置本章系统没有使用odbc这种形式的数据库,而是直接采用了access文件的相对路径来实现读取数据库的功能,简单的代码如下所示:set conn =server.creatobject(“adodb.connection”)conn.open”driver=microsoft access driver(*.mdb) ;dbq =”&ser
49、ver .mappath(“./试题库.mdb”)set rs=server.creatobject(“adodb.recordset)但需要强调,微软的access数据库本身并不是一个数据库服务器,它不能用服务器来运行查询。对于数据庞大的情况,access本身不是一个好的选择。另外一个要考虑的是数据库的安全性问题。access比起 sql server而言,总体的安全性能要差。但是从应用的角度而言,access数据库易于使用,而且在创建和配置上,access数据库都比sqlserver要容易24。5.2.5整个系统的所有页面情况为:对于在线考试系统,根据系统功能分析,仅有一个单一的流程化页面
50、。所以从试题选择页面开始,然后是断线记录选择页面,接着就进入考试页面,然后是判分以及查询成绩的页面。对于在线的管理系统,根据系统功能分析,可以具体化为浏览系统用户页面,添加用户页面,删除用户页面以及该用户密码页面。对于在线的阅卷系统,根据系统功能分析,可以具体细化为阅卷登录页面,另外一个就是试卷管理页面。图5-3 系统的页面逻辑示意图5.2.6、系统数据流程图下面图5-4是此系统的第一层数据流程图图5-4 第一层数据流程图下面图5-5是在线考试模块的扩展图5-5 考试模块的数据流程图下面图5-6是账号管理的扩展图5-6 账号管理流程图以下图5-7是阅卷管理的流程图扩展图5-7 阅卷管理流程图第
51、六章 在开发过程中的一些问题6.1随机选题算法随机选题算法先设定某项题型的题数,然后通过页面的上下文获取的系统试题表中这项题型的所有试题的总数,接着以这个总数来生成随机试题数组,生成数组时要防止生成重复数字,要进行重新判断。6.2出题页面保存主要通过建立一个暂时表来实现。系统保存考试用户的试题后,然后通过暂时生成的试题表来保存用户答案,从而实现判分功能,最后完成保存用户试卷。暂时表的另一个功能是能够在用户选择读取断线记录的情况下,将试题表的内容读取出来,然后显示给用户,提供给用户二次考试机会6.3系统安全6.3.1软件安全性随着internet的发展,web技术日新月异。继通用网关接口(cgi
52、)之后,“asp”(active server pages)作为一种典型的服务器端网页设计技术,被广泛地应用在网上银行、电子商务、搜索引擎等各种互联网应用中。同时access数据库作为微软推出的以标准jet为引擎的桌面型数据库系统,由于具有操作简单、界面友好等特点,具有较大的用户群体。因此aspaccess成为许多中小型网上应用系统的首选方案。但aspaccess解决方案在为我们带来便捷的同时,也带来了不容忽视的安全问题。aspaccess解决方案的主要安全隐患来自access数据库的安全性,其次在于asp网页设计过程中的安全漏洞。 下面就这些安全隐患与漏洞作一介绍,作为提高系统安全性的参考2
53、5。access数据库的存储隐患 在aspaccess应用系统中,如果获得或者猜到access数据库的存储路径和数据库名,则该数据库就可以被下载到本地。例如:对于网上书店的access数据库,人们一般命名为book.mdb、store.mdb等,而存储的路径一般为“url/database”或干脆放在根目录(“url/”)下。这样,只要在浏览器地址栏中敲入地址:“url/database/store.mdb”,就可以轻易地把store.mdb下载到本地的机器中。 .access数据库的解密隐患 由于access数据库的加密机制非常简单,所以即使数据库设置了密码,解密
54、也很容易。该数据库系统通过将用户输入的密码与某一固定密钥进行异或来形成一个加密串,并将其存储在.mdb文件中从地址“h42”开始的区域内。由于异或操作的特点是“经过两次异或就恢复原值”,因此,用这一密钥与*.mdb文件中的加密串进行第二次异或操作,就可以轻松地得到access数据库的密码。基于这种原理,可以很容易地编制出解密程序。由此可见,无论是否设置了数据库密码,只要数据库被下载,其信息就没有任何安全性可言了26。 .源代码的安全隐患 由于asp程序采用的是非编译性语言,这大大降低了程序源代码的安全性。任何人只要进入站点,就可以获得源代码,从而造成asp应用程序源代码的泄露。 .程序设计中的安全隐患asp代码利用表单(form)实现与用户交互的功能,而相应的内容会反映在浏览器的地址栏中,如果不采用适当的安全措施,只要记下这些内容,就可以绕过验证直接进入某一页面。例如在浏览器中敲入“page.asp?x=1”,即可不经过表单页面直接进入满足“x=1”条件的页面。因此,在设计验证或注册页面时,必须采取特殊措施来避免此类问题的发生。提高数据库的安全性由于access数据库加密机制过于简单,因此,如何有效地防止access数据库被下载,就成了提高
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年鞋业连锁店鞋类采购合同范本3篇
- 2025年宠物活体交易税收合规合同4篇
- 2025年项目经理劳动合同提前解除员工档案管理服务合同3篇
- 2025年度苗圃用地租赁及管理服务合同4篇
- 2025年度车床设备采购与节能环保技术研发合同4篇
- 2025版供应链金融委托担保合同公证实施方案3篇
- 2025版住宅小区消防设施维修合同范本3篇
- 二零二五版个人独资企业整体转让与融资对接合同3篇
- 2025版临时设施工程监理与转让合同范本4篇
- 二零二五年度旅游景区车位租赁管理合同6篇
- 2024版塑料购销合同范本买卖
- JJF 2184-2025电子计价秤型式评价大纲(试行)
- GB/T 44890-2024行政许可工作规范
- 2025届山东省德州市物理高三第一学期期末调研模拟试题含解析
- 2024年沪教版一年级上学期语文期末复习习题
- 两人退股协议书范文合伙人签字
- 2024版【人教精通版】小学英语六年级下册全册教案
- 汽车喷漆劳务外包合同范本
- 2024年重庆南开(融侨)中学中考三模英语试题含答案
- 建筑制图与阴影透视-第3版-课件12
- 2023年最新的校长给教师春节祝福语
评论
0/150
提交评论