




已阅读5页,还剩28页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2006届计算机科学与技术毕业论文1 引言在重庆市的各高校中,每年都有学生要参加全国计算机等级考试,重庆市每年参加此类考试的人数保守估计达到几千人以上,因此从阅卷到公布成绩起码要3个月时间。计算机等级考试分为理论题和操作题两部分。理论题重点考察学生对计算机知识的掌握情况;操作题重点考察学生对计算机实践操作的掌握情况。教师阅卷时,对照评分标准判定分数,统计分数。随着计算机应用的迅猛发展,网络应用不断扩大,使得在线考试成为网络研究与应用的热点之一。基于Internet的在线考试己经成为现代考试方式的有力的补充和发展。传统的考试模式的主要地点是教室,只要房间里面配备了桌椅,就可以成为考试的地方。随着电子信息技术的发展,在线考试系统应运而生,它将突破传统考试模式的时间、空间限制。随着计算机Internet技术的日渐成熟,使得原本处于理论研究阶段的在线考试逐渐成为可以实际应用的技术。另外,我们也欣喜地看到,社会上许多考试也是在网上(1o1进行的,如(GRE)美国研究生入学考试、(GMAT)工商管理类研究生入学考试以及(CGFNS)全美护士国家委员会资格等。开发在线考试系统是为了培养21世纪的合格计算机应用有才,在教学内容不断更新的前提下,改进教学方法,利用Internet开辟在线考试系统使学生可以在网上对自己的知识进行测试,从而真正实现计算机教学方法和手段的现代化。本项目研究开发的在线考试系统虽然是一个初步的尝试,不管是否成熟,对于探索基Web服务的在线考试系统的开发和实施都有一定的意义。本系统即采用B/S模式,利用ASP + Access数据库,实现了基于Web的在线考试。本系统调试已经成功,可以上网测试运行。2 在线考试系统的需求分析因为考试是有特定的对象的,所以考生进入系统应该进行身份验证。考生进入考试系统后,需要选择考试科目,所以系统还应有考试科目选择的功能。鉴于考试环境一般为机房,考试者之间的距离很近,为了避免考试做弊,试卷的试题和题量都应是相同的,但试题并不相同。在线考试基于网络环境,试卷应该从服务器的数据库随机抽取试题后动态生成的。另外,系统还应该对考试时间进行控制,时间到了会要求考试者交卷。考试者选择答案提交后,应该由计算机自动判卷,得到成绩后显示出来。考试完毕后,可以返回登录界面或继续考试。开发在线的考试系统应能满足以下的有关功能需求和性能需求。2.1 功能需求分析(1)系统可允许教师或学生在服务器端或在客户端使用浏览器Internet访问该系统数据库。 (2)系统可同时多个数据库进行操作,具有操作方便、易于维护的考试题目数据库。不同的科目有各自的数据库,系统根据用户的要求自动选择相应的数据库,并可以对其进行访问和维护。 (3) 系统为考试而设计,因此应可对试卷进行维护、管理。可按教师要求自动生成一份或多份同等水平而题目不同的试卷,也可由教师手工编辑试卷;要求同一份试卷内应避免题目的相关性,注意试题的抽取应存在一定的间隔时间。 (4) 系统应能实现考试控制功能。可在服务器端以及通过网络接受学生的应考要求,接受并处理考生的答案,控制考生考试的答题时间。 (5) 系统可实现自动成绩管理。可自动对考生的答卷进行评分,并记录成绩;自动对依次考试的情况进行汇总并进行分析。 (6) 系统可提供查询的功能,包括查询成绩,查询考试科目,查询考试试卷等。(7) 保证试卷的保密性和安全性。从用户对系统的要求出发,经过综合分析,可以归纳出用户对在线考试系统的一般要求:网络考试系统应当是一个基于网络数据库和Internet处理 的实时处理系统;应当可以产生随机的和公平的试卷;应当为考生提供实 时的通信,以保证考生的成绩准确无误;应当能够对考试的结果进行处理 和分析,为教师提供参考意见。 网络考试系统具有降低考试成本,解决繁重的考务工作的优点。它 可以免去教师大量的临考工作,试卷可以根据题库中的内容即时生成: 教师也无须去做考后的阅卷、统计、分析工作,计算机可自动判卷,直 接把成绩送到数据库中进行统计、排序、汇总。实现无纸化考试,大大 提高了工作效率,同时,试卷是随机组成的,不存在试卷的泄密和考试 作弊问题,使考试的公平性、答案的安全性得到有效的保证。(8) 现有的考试系统在成绩分析上存在缺陷。 传统意义上的成绩分析,只是对学生绝对成绩进行分析,例如计算 总分、平均分,根据绝对分数进行简单的排序等。但这里存在着一些不 合理的因素,例如学生A高等数学得分90分,法律基础得分40分,而学生 B高等数学得分40分,法律基础得分90分,如果我们只是做简单的总分排 序的话,那么他们两个人的总分是相同的,排名也应该是相同的。但从 实际来说,他们两人的差异是很大的,不能把他们分在相同类的学生中。 所以,用学生的绝对分数进行排序、分类是有一定的缺陷的。现有的考试系统没有一套有效的综合评估体系。 对试卷的合理性分析以及对考生综合能力的评估只能靠教师的经 验,进行人为的评判,没有固定的指标体系及评定标准,很难达到科学、 客观和公正,分析结果不具太强的说服力。现有的考试系统大多数实现了客观题(选择、填空、判断)的计算 机自动评判,但主观题的评判仍需教师参与。因为主观题的答案不唯一, 解决方案应涉及词法分析、语义识别等人工智能万面的知识,所以现有 绝大多数考试系统还未实现这一功能。主观题的自动评判是未来网络考 试系统有待解决的问题。2.1.1 性能需求分析对于一个系统来说,可扩展性,安全性,可管理性是几个很关键的因素。(1) 可扩展性:可扩展性是指系统能保证可持续增长以满足用户需求和业务复杂性要求,Web系统为动态变化的模型:它们通常一开始很小,但随着需求的增长而呈指数级增长。这种增长非常迅速,不仅表现在支持的用户的数量上,而且表现在提供的用户服务的复杂性和集成性方面。对于考试系统而言,这种扩展性就显得尤为重要,因为考试系统的功能完善是一个渐进的过程,我们目前开发的这个系统需要随着考生的要求和技术的发展而需要不断改进。所以可扩展性是非常必要的。 (2) 可靠性:服务质量的一个重要方而是能够在期望的响应时间内访问信息。对需要通过Internet的应用程序或信息的单位用户来说;还意味着必须在用户期望的时间内为用户提供其需要的信息。试想一个同时有几百甚至几千人访问的考试系统,一旦服务器发生阻塞或者崩溃,会带来怎样的不可想象的麻烦。另外太长的延迟时间也会给考生带来不便。 (3) 安全性:安全性是指系统能够保护数据或基础结构避免受恶意攻击或者盗用。安全性是通过为信息的机密性,完整性和可靠性提供充分的保护来预防风险,保障系统安全,是任何系统成功的基本要素。(4) 可管理性: 可管理性是指可以很方便地对系统进行管理,确保系统的正常运行管理和运作涉及以下几个因素:维护系统服务及其服务正常工作所需的基础结构,工具以及管理员和技术人员。考试系统的主机是放在学校的远程教育学院机房中,但是对考试教务的管理员也许并不在远程教育学院中,因此,系统的管理和监控必须能够远程完成。两种不同使用权限的用户: 普通用户(主要针对学生和一般教师); 管理员(主要对整个考试系统管理的教师);2.1.2 普通用户(学生和一般教师)主要是需要 按自己的需要在系统中对相应的内容进行测试2.1.3 管理员(主要对整个考试系统管理的教师)主要是需要 按普通用户的需要对考试系统的功能和内容进行修改和维护。2.2 数据字典的描述数据字典是关于数据的信息的集合,也就是对数据流图包含的所有元素的定义的集合。任何字典最重要的用途都是供人查阅对不了解的条目的解释,数据字典的作用也正是在软件分析和设计的过程中给人提供关于数据的描述信息。数据字典最重要的用途是作为分析阶段的工具。在数据字典中建立的一组严密一致的定义很有助于改进分析员和用户之间的通信,因此将消除许多可能的误解。对数据的这一系列严密一致的定义也有助于改进在不同的开发人员或不同的开发小组之间的通信。如果要求所有开发人员都根据公共的数据字典描述数据和设计模块,则能避免许多麻烦的接口问题。数据字典中包含的每个数据元素的控制信息是很有价值的。因为列出了使用一个给定的数据元素的所有程序(或模块),所以很容易估计改变一个数据将产生的影响,并且能对所有受影响的程序或模块作出相应的改变。因此,数据字典是开发数据库的第一步,而且是很有价值的一步。限于篇幅,下面给出本系统的部分数据字典描述: 考生信息表的数据字典的描述:该表描述的是考生信息。查询时主要是调用了数据库中的教材信息表,从而返回给用户信息。名字:考生信息表描述:三种用户都可以用不同的查询方式,获得教材信息、库存情况,经系统处理生成报表。主要存储教材信息及库存情况定义:考生学好+考生姓名+考生性别位置:考生信息表(student) 试题信息表的数据字典的描述:该表描述的是试题信息的情况。管理员根据试题的编号进行查询,得到相应的信息。名字:试题信息表 描述:三种用户都可以按班号、发放时间查询教材书库的发放情况,经系统处理生成发放教材报表。主要存储已发教材的信息。定义:班号+代号+课程名称+备注位置:数据库发放表(quention) 答案返回表的数据字典的描述:名字:答案返回表 描述:系级根据考生考试的相关信息,经系统处理生成答案返回表。主要答案的信息。定义:系号+书号+班号+开课学期+用书类型位置:答案返回表(answer) 该表描述的是考生考试结果的情况。系统根据考生所答的答案进行打分,以及给出正确答案。 添加试题表的数据字典的描述:名字:添加试题表 描述:管理员输入试题的相关信息,经系统处理生成入库教材报表。主要存储入库教材的信息。定义:试题号+试题内容位置:添加试题表(add)该表描述的是添加试题的情况。管理员根据用户的需要去添加试题。 用户报表的数据字典的描述:名字:用户表 描述:超级管理员处理用户的相关信息,经系统处理生成各级用户报表。主要存储用户的相关信息。定义:序号+用户名+用户密码+用户类型位置:用户表(adminlist、dadm_list、userlist)该表描述的是用户资料信息表,管理员对用户操作后返回数据库,生成了用户的报表,方便对用户进行管理。2.3 在线考试系统的数据流图根据用户需求,把在线考试系统模块化。主要分为用户登陆、添加试题、删除试题、修改密码、退出、列出试题答案等模块。下面简要介绍部分需求的数据流图:2.3.1 总系统数据流程图题库管理题库文件教师考题题库管理考题题库文件考生数据合法考生信息录入评分系统考生信息文件生成试卷登录合法考生 图2-1 总系统数据流程图2.3.2 教师组卷数据流图更改题库接受请求教师添加试题添加内容试题信息 图2-2 教师组卷数据流图2.3.3 学生考试数据流图学生进行考试系统试卷输入考号试卷信息显示成绩 图 2-3 学生考试数据流图3 在线考试系统分析与设计本系统是面对重庆三峡学院的全体学生及教师。对一些公开信息,所有的用户都可以使用并能得到结果,比如:所有的普通用户、管理员都可以对本系统进行使用;但是有一些信息被设置了权限,只允许管理员进行某些操作,比如:普通用户(学生)就不能添加试题、删除试题等。因此,经过用户的需求分析,做出了详细的系统设计。3.1 系统设计总体思想、目标采用了B/S结构基于Web技术,以ACCESS作为后台数据库,来实现在线考试系统。该系统本着减轻教师工作负担、提高工作效率、优化学生考试的流程,增强参加考试学生的身份识别,比传统的考试模式节省人力财力和时间。随着网上浏览器功能的日益增强,一种新型的体系结构B/S应运而 生,并获得飞速发展。B/S结构极大的简化了客户端的工作,客户端只需 安装、配置少量的客户端软件即可,服务器将担负更多的工作,对数据 库的访问和应用程序的执行只由服务器完成。3.2 在线考试系统结构、功能设计3.2.1 系统结构设计系统按照结构化分析(Structure Analysis)的方法,采用自顶向下,逐步求精的原则,确定相应的系统数据流图,在设计阶段与结构化设计方法(Structure Design)想结合,运用“模块化设计”思想,把系统分为若干个功能子系统,把每个子系统按业务性质划分为若干个功能模块。根据需求分析,在线考试系统的功能模块图如下: 系统管理模块用户登录 考生管理模块 题库管理模块 监控中心模块 图3-1 系统功能模块图 系统结构图如下:用户信息学生登录模块 教师 题库制作模块功 能 控 制 模 块学生 学 生成绩记录成 绩 管 理 模 块试题库用户信息统计查询成绩打印 图3-2 系统结构图3.2.2 系统功能模块设计根据需求分析和系统结构图,进行了系统功能模块设计,主要的模块有:用户登陆、添加试题、删除试题、列出试题答案、修改密码、退出、考试结果等。 用户登陆:系统分为二种用户角色,根据不同的权限登陆到不同的管理界面。 添加试题:该模块为管理员提供了对系统的修改,管理员可以根据用户的需要来对系统中的试题进行添加,对考试系统中的内容进行及时的更新,满足全体师生的需求。 删除试题:该模块为管理员提供了对系统中错误试题或者是不合理的试题,以及不需要的过期试题进行一定的删除,可以使用户更方便地使用系统。 列出试题答案:该模块可以为参加考试的用户提供正确的答案,可以让用户及时的得到考试的结果,以便用户纠正和巩固。 修改密码:该模块是管理员根据系统安全的需要,更改登陆的密码,以防止一些破坏分子进入系统。 退出:该模块主要提供了对二种用户使用完系统之后安全正确的退出。3.3 在线考试系统的数据库设计确定了系统的结构以及功能模块之后,下一步重要的就是要设计数据库,数据库的内容以及表的设计直接影响了开发的系统的质量。依据一般的考试系统的功能要求,考虑了设计数据表范式规则和用户使用的方便性,设计出主要的数据库表的有:管理员信息表、考生信息表、考生成绩表、考生试卷答案表、问题属性表、问题库表、科目信息表等。 管理员信息表管理员表(adminlist),其字段包括:工作证号(Wnum)、密码(Wpswd)、管理员姓名(Tname),类型(dadm_type), 性别(Tsex); 考生信息表。其字段有: 准考证号(snum)、登录密码(spswd)、姓名(Sname)、性别(ssex)、学号(sno)、年级(grade)、班级(sclass)、考试状态(state)、考试权限(power) 考生成绩表。其字段有:准考证号(snume)、科目号(sbnum)、试卷号(pnum)、科目名称(subject)、成绩(success) 考生试卷答案表。其字段有:准考证号(snume)、科目号(sbnum)、试卷号(pnum)、问题号(qnum)、答案(keys) 问题属性表。其字段包括:科目号(sbnum)、试卷号(pnum)、问题号(qnum)、问题(question)、题型(type)、难度(diff)、分数(mark)、状态(state)、被提取次数(num); 问题库表,其字段包括:问题(question)、科目号(sbnum)、选项号(knum)、选项内容(answer)、答案(keys)。 科目信息表,其字段包括:科目号(snum)、科目称号(sbname)。4 系统平台、计算模式及技术 系统的硬件平台:服务器端的最低配置是由建立站点所需的软件来决定的,在最低配置的情况下,服务器的性能往往不尽如人意,现在的硬件性能已经相当出色,而且价格也很便宜,因此通常应给服务器配置高性能硬件。包括Web服务器、客户机、网卡及Internet网络资源。 系统的软件平台:本系统基于Windows 2000 server操作系统、ACCESS数据库平台,采用B/S计算模式及Asp开发动态Web技术。4.1 计算模式的进化及本系统选用的模式优越性回顾计算机的发展史,计算模式有过三次质的飞跃:4.1.1 集中式管理主机/终端模式以主机为中心的计算环境,数据管理,事务处理高度集中,起始成本高,系统维护升级只涉及主机,管理成本低,但用户端缺乏个人定置,无任何处理功能。适用于大规模集中式应用,具有较高的效率和安全性,但存在执行效率及容量不足问题。4.1.2 Client/Server模式它把集中管理模式转化为一种服务器与客户机负荷均衡的分布式计算模式,解决了执行效率及容量不足的问题。该结构以PC为主,适合部门级应用。初级成本低,但随着应用规模扩展,网络上异种资源类型的增多,开发、管理、维护的复杂程度加大,频繁的软硬件升级,后期成本骤升,缺乏关键事物处理的安全性与并发处理能力。Client/Server模式又分为2种: 胖服务器、瘦客户机方式:数据计算与数据集中在数据库服务器端,当接入的用户较多时,会发生通讯堵塞,系统性能也急剧下降,无法适应多用户的需要。 瘦服务器、胖客户机方式:数据计算与数据处理集中在客户机端,这加大了网络负荷,影响了业务处理速度,而且客户端PC机的多样性,使数据库服务器端如何有效管理控制整个系统增加了困难。 无论上述哪种方式都存在着明显的不足,使其不能适应不断增长的多方面需求。4.1.3 Brower/Server模式随着网上浏览器功能的日益增强,一种新型的体系结构B/S应运而 生,并获得飞速发展。B/S结构极大的简化了客户端的工作,客户端只需 安装、配置少量的客户端软件即可,服务器将担负更多的工作,对数据 库的访问和应用程序的执行只由服务器完成。它将Web技术与数据库技术相结合,扩展了C/S模式的分布计算特性,实现了动态Web应用。B/S模式采用三层分布结构:浏览器Web服务器数据库服务器。B/S模式增加了较厚的中间层服务器(包括Web服务器及相关的接口程序),它将浏览器与数据库服务器连接的同时,分提了数据库服务器上较多的任务,真正实现了“瘦客户机胖中间层瘦数据库服务器”的计算模式。图4-1 B/S三层结构模式浏览器(IE、NetScape)Web服务器Asp(ADO)ODBC数据库服务器(SQL Server)4.1.4 系统采用B/S三层体系结构模式的优越性采用B/S(Brower/Server)三层体系结构模式的优越性在于: 使用简单,用户使用单一的Browser软件,通过鼠标即可访问文本、图像、声音、电影及数据库等信息,特别适合非计算机人员使用。在客户端安装的是标准、易用的通用浏览器(如Windows的IE),无需像C/S模式那样在不同的客户机上安装不同的客户应用程序,系统管理员无须再为客户端操心,大大减轻了管理负担。 实现了开发环境与应用环境的分离,系统开发人员基于Web浏览器进行MIS系统开发,绝大部分工作由服务器端完成,只有生成的HTML页面被送回到客户端(包括少量嵌入式构件及脚本信息),可保证所有用户通过浏览器调用应用程序,实现了平台的无关性。 数据库结构的改变不再对客户端产生连锁影响,只需修改服务器端的应用程序即可,极大地提高了系统的维护效率。 统一的客户端程序浏览器,简化(甚至免除)了对用户的使用培训,今后即使修改信息管理(MIS)系统或进行系统升级,也无须再对用户进行培训。正是由于上述优点,使得以浏览器Web服务器数据库服务器的三层B/S模式成为网络数据库计算的主流。 保障系统安全性,B/S系统在客户机与数据库服务器之间增加了一层Web服务器,使两者不在直接相连,通过对中间层的用户编程可实现更加健全、灵活的安全机制。客户机无法直接对数据库操纵,有效地防止用户的非法入侵。 保护企业投资,B/S模式由于采用标准的TCP/IP技术、HTTP协议,它可以与企业现有网络很好的结合。 信息共享度高,HTML是数据格式的一个开放标准,目前大多数流行的软件均支持HTML,同时MIME技术使得Browser可访问多种格式文件。 扩展性好,TCP/IP、HTTP的标准性使得B/S模式可直接接入Internet,具有良好的扩展性。 广域网支持,无论是PSTN、DDN、帧中继X25、ISDN,还是新出现的CATV、ADSL均能良好支持。 较低的开发和维护成本,Client/Server的应用必须开发出专用的客户端软件,无论是安装、配置还是升级都需要在所有的客户机上实施,极大地浪费了人力和物力。Brower/Server的应用只需在客户端装有通用的浏览器即可,维护和升级工作都在服务器端进行,不需对客户端进行任何改变,故而大大降低了开发和维护的成本。4.2 ASP 技术4.2.1 ASP概述Microsoft Active Server Pages即我们所称的ASP,其实是一套微软开发的服务器端脚本环境。Active Server Page是创建动态网页的一个很好的工具,它起一种编程语言的作用,可以利用它编写动态产生HTML的程序代码。因此,只要用户浏览Web站点并请求一个ASP页,Web服务器就可以处理相应的ASP代码,生成HTML代码,然后将它传递到用户浏览器并显示出网页。ASP内含于IIS3.0和4.0之中,通过ASP我们可以结合HTML网页、ASP指令和ActiveX元件建立动态、交互且高效的WEB服务器应用程序。有了ASP就不必担心客户的浏览器是否能运行所编写的代码,因为所有的程序都将在服务器端执行,包括所有嵌在普通HTML中的脚本程序。当程序执行完毕后,服务器仅将执行的结果返回给客户浏览器,这样也就减轻了客户端浏览器的负担,大大提高了交互的速度。ASP是Microsoft开发的服务器端的脚本环境。是目前非常流行的开放式的Web服务器应用程序开发技术。ASP既不是一种语言,也不是一种开发工具,而是一种技术框架,其主要功能是为生成动态、交互且高效的Web服务器应用程序提供一种强大的方法和技术。ASP的主要特性是能够把脚本、HTML、组件和强大的Web数据库访问功能结合在一起,对于编写、维护都十分容易,而且它很注重客户端程序的通用性和服务器程序的效率。图4-2 ASP工作模型HTTP ResponseHTTP Request浏览器BrowerWeb ServerIISASP当用户浏览器向Web服务器请求一个ASP文件时,Web服务器调用ASP并执行该文件中的所有脚本,最后给浏览器返回一个响应页面。ASP的脚本在Web服务器运行,Web服务器负责所有的脚本处理并生成标准的HTML页面传送给浏览器,而不是传统的在客户浏览器中运行,这一措施使客户的浏览器无须担心服务器端的网页使用何种脚本,ASP都会生成一个符合HTML标准的网页送回客户端,其工作原理如下图:ASP在性能方面的优势体现在以下几点: 完全与HTML融合在一起; 创建简单,不需要编译和链接,脚本可以在ASP环境下直接运行; 面向对象,可通过由ActiveX服务器构件来扩充功能; 由于脚本在服务器端执行,因此它几乎可以支持任何一种浏览器; ASP的源代码不会传到浏览器端,源程序不会外漏。由于ASP的出现,使网页访问者和服务器进行交互更加容易,利用ASP可以实现基于Web的信息管理系统。利用ASP实现的信息管理系统使用户非常方便地对后端数据库记录进行增加、删除、修改、查询操作,而且利用ASP可以实现分页技术,用户对大量记录的查询一目了然,轻松查看所有记录。ASP是微软产品,它与微软的Excel等办公软件可以有机结合,使对报表的打印美观,轻松实现。4.2.2 ASP内建对象ASP本身自带了5个服务器组件(对象),它们分别是: Request对象,从浏览器获得信息; Response对象,发送信息到浏览器; Server对象,控制SP执行情况,对服务器端ActiveX控件起作用; Session对象,存储用户任务的信息; Application对象,使多用户共享一个程序的信息。一般常用的是前三个对象。Request和Response是用来实现Web服务器与浏览器交互。Request的一个重要方法是Form(),起作用是提取浏览器的用户输入信息。输出要用到Response的一个重要方法Write。Server对象有两个重要方法:MapPath和CreateObject。MapPath用来将Web服务器的虚拟路径还原成实际路径;CreateObject用来产生服务器组件的对象实例。4.2.3 ASP访问数据库的技术ASP采用ADO技术访问数据库。为了同数据库进行交互,就必须用脚本语言生成ADO(ActiveX Data Objects)。用ADO可以使客户端的程序通过ODBC存取和操纵服务器端的数据。ADO的优点是简单易用、高速、占用资源少。ADO不同于DAO(Data Access Object)和RDO(Remote Data Object),ADO并不强调对象的继承,大部分的ADO对象单独生成,这就允许开发人员只生成和继承需要的对象。ADO包括以下7个对象: Command对象,定义对数据源进行操作的命令; Connection对象,表示建立一个数据源的联接; Error对象,提供属于数据访问错误的细节; Field对象,表示一般数据类型的字段; Parameter对象,表示Command对象的参数; Property对象,表示由数据提供源定义ADO对象的动态特性; Recordset对象,表示由数据库或命令结果产生的全部结果集。使用ADO对象可以建立和管理数据库的联接,从服务器要求和获取数据,执行数据更新、删除、添加,获取ODBC的错误信息等。数据库访问构件使用ADO提供一个简单的管理数据库的方法,使用数据库访问构件对数据库操作之前,必须在服务器的控制面板中配置好数据库的ODBC数据源。ASP数据库的实现如下:ADO(ActiveX Data Objects)是一组优化的访问数据库专用对象集, 为ASP提供了完整的站点数据库访问解决方案。它可作用于服务器端,以 提供含有数据库信息的主页内容。 ASP使用ADO对象实现对各种数据库的存取操作,ADO是微软开发的汲 取了DAO和RDO精华的数据库存取对象群,基于OLEDB,可在服务器端脚本 中提供对数据库的强大操作,更适合于Internet上数据库的开发,允许 用户方便地控制和管理数据,与数据库交互。它和ODBC在底层打开数据 库并执行添加、修改记录等的操作方式相比有很大的不同,通过ADO访问 数据库是采用ActiveX来实现,取代了ODBC的DLL(动态链接库),因这种 方式减少了程序和需要进入的数据库引擎之间的层次,因而提高了数据 库编程的速度。如果在Script程序中使用了ADO对象,Web服务器会根据 ADO对象的参数来启动相应的数据库驱动程序,或者直接利用ADO对象, 或者通过ADO对象发送SQL指令,进行数据库存取的操作。最后依据后台 数据库的访问结果集自动生成HTML页面,并传送给客户浏览器。ASP的特点:无需编译。 ASP脚本集成于HTML当中,容易生成,无需编译或链 接即可直接解释执行。 易于生成。 使用常规文本编辑器即可进行*.asp页面的设计。 独立于浏览器。 用户端只要使用可解释常规HTML代码的浏览 器, 即可浏览ASP所设计的主页。ASP脚本是在站点服务器端执 行的,用户端的浏览器不需要支持它。因此,若不通过从服务器 下载来观察*.asp 主页,在浏览器端见不到正确的页面内容。 面向对象。在ASP脚本中可以方便地引用系统组件和ASP的内置 组件,还能通过定制 ActiveX Server Component(ActiveX服务 器组件)来扩充功能。 与任ActiveX scripting 语言兼容 除了可使用VBScript 和JScript语言进行设计外,还可通过Plug-in的方式。4.3 Access数据库4.3.1 Access概述Access是一个数据库管理系统,它之所以被集成到Office中而不是VisualStudio中,是因为它与其它的数据库管理系统(如VisualFoxPro)相比更加简单易学,一个普通的计算机用户即可掌握并使用它。而且最重要的一点是,Access的功能足够强大,足以应付一般的数据管理及处理需要。让我们以用MSAccess创建一个数据库为例介绍这种数据库的基本用法: 新建数据库:新建一个数据库有两种方法:一种是创建一个空数据库,即建立一个没有表、查询、窗体和报表等内容的数据库;另一种方法是使用Access中提供的数据库模板创建数据库,即通过对向导所提出的选项和不同选择来设计窗体、查询和报表等,从而建立一个完整的数据库。这里我们将使用第一种方法:Step1:在Access窗口中单击“文件(F)”菜单,在下拉菜单中选择“新建”项,将得到一对话框。Step2:双击“数据库”图标,即会显示“文件新建数据库”对话框。Step3:在文件名文本框中输入要保存数据库的文件夹及新建的数据库名,如“C:test”,然后选择“确定”。 添加数据表:表是Access数据库的基础,是信息的载体。其它对象如查询、窗体和报表,也是将表中的信息以各种形式表现出来,方便用户使用这些信息。在Access中,创建表的方法有三种:一是使用设计器创建表;二是通过输入数据创建表;三是利用向导创建表。在这里,我们采用第一种方法创建表:双击“使用设计器创建表”,则会出现一对话框。在“字段名称”列的第一行中输入authors表的第一个字段的名字id。然后按回车键,此时在“数据类型”列中会显示出一个按钮,单击按钮,在弹出的下拉列表中选择“文本”选项,设置id字段的类型为文本型。在“字段属性”域的“常规”选项卡中,可以设置字段的大小、格式和规则等。如我们可以把id字段的长度大小设置为12,并且规定其不能为空,因此,可以设置如下:在“字段大小”文本框中输入12,在“必填字段”文本框中输入“是”,在“允许空字符串”文本框中输入“否”。重复上述方法,添加其它字段,并设置其属性;设置完成后,单击“文件(F)”菜单,在下拉菜单中选择“保存”项,将会出现一个如图1.8的对话框,在“表名称”文本框中输入表名authors,单击确定按钮。此时,系统会提示用户建立一关键字段。一般情况下单击“是”完成即可。 表的操作:在添加了数据表之后,我们实际上就初步地完成了一个数据库的建立工作,接下来我们就可以通过SQL语句对数据库进行操作。当然,在Access中,对表的操作十分的方便,可以浏览表;为表添加、删除备忘录;对表记录进行排序,因为Access是面向一些普通用户的,所以其操作方法不必要用户清楚SQL语句的语法及结构。在此,我们就简要地介绍一下在Access环境下表的操作。打开原先建立的test数据库,在打开了数据表之后,我们就可以通过记录选定器,定位按钮和滚动条。 添加与编辑记录:在打开了的查看窗体中即可添加与编辑记录。 删除表中的记录:对表中记录的删除两种,一种是删一条的记录,单击该条记录左边的记录选定器选定该记录,然后单击右键,在弹出的菜单中选择删除记录即可;另一种操作是删除多条记录,单击第一条要删除的第一条记录的记录选定器,同时不要松开鼠标,继续向下拖动,直至覆盖要删除的其它记录为止,然后单击右键并在弹出菜单中选择删除记录。Access是Office办公套件中一个极为重要的组成部分。刚开始时微软公司是将Access单独作为一个产品进行销售的,后来微软发现如果将Access捆绑在OFFICE中一起发售,将带来更加可观的利润,于是第一次将Access捆绑到OFFICE97中,成为OFFICE套件中的一个重要成员。现在它已经成为Office办公套件中不可缺少的部件了。自从1992年开始销售以来,Access 已经卖出了超过6000万份,现在它已经成为世界上最流行的桌面数据库管理系统。5 系统实现5.1 用户登陆流程用户进入登录页面以后,就选择用户类型,然后输入用户名和密码,单击登录按钮,就可以登陆。本系统的登陆页面为login.asp,用户类型判断为check.asp,登陆后用户界面为manage.asp。不同类型的用户进入系统的时候用户界面会不同。其结构见图5.1,登陆界面见图5.2,其主要代码见附件1(具体的操作日志、程序头和初始化页面等代码就省略了)。图5-1 用户登陆流程错误正确Login.asp登陆选择用户类型用户名、密码系统主页面5.2 管理员添加试题流程管理员登陆成功后,可以在界面中点击添加试题进入该模块。在这个模块中能提供管理员添加所需要的试题;添加时把添加试题的题目和答案在界面中填完整,单击添加就完成添加的操作。其结构流图见图5.2,添加界面见图,其主要代码见附件1,具体的操作日志、程序头和初始化页面等代码就省略了。图5-2 添加试题流程否是管理员界面添加试题输入添加试题的具体内容和答案单击添加添加成功返回用户添加不成功5.3 管理员删除试题流程管理员登陆成功之后,可以对系统里面的试题进行修改和删除,对好的试题和资料进行及时的更新,以便能够满足用户的需要。图5-3 添加删除流程否是管理员界面删除试题输入所要删除试题的编号单击查询单击删除返回用户重新查询5.4 修改试题流程图5-4修改试题流程图否否是是用户登陆返回用户界面单击列出试题答案单查询表进入修改5.5 修改密码流程管理员登陆系统后,有权限来修改登陆密码。其流程图如下:图5-5 教材入库流程否否是是用户界面单击修改密码输入所要填写的信息单击决定修改成功返回首页 6 在线考试系统设计的技术关键6.1 ASP和Access数据库ASP提供对Active Data Object(ADO)的支持,以供脚本代码程序访问数据库,ADO是目前微软在www应用方面最具有代表性的面向对象数据访问技术。对于本系统ADO的使用方法如下: 利用Connection对象与SQL数据库建立连接(6是计算机科学系806的36号机IP,jiaocaiku是ACCESS中我们设计的教材管理系统的数据库的名称)。 访问数据库(jiaocaiku)中的数据(含进行查询、增加、删除等操作)我们在处理查询教材库存信息过程中使用了Recordset对象和前面建立的connection对象。&strdate1& and publishdate同样,我们在处理普通用户登陆的时候使用了另外一种方法。 关闭记录集和连接对象。在这里的第步中,我只是举了本系统中的查询库存书信息时使用Recordset对象和处理普通用户登陆时用execute的例子。在本系统的其他部分涉及到数据的增加、修改、删除和查询基本上都是采用了这2种方式来对数据库操作,只是select后面的关键字、from后面的表名、where后面的条件不一样,本系统的各部分功能模块处理数据库的方式的源代码详细请见附件1。6.2 用户权限探讨与设计本系统主要的对象是两种用户,为此我们针对两种用户设置了权限管理。某些功能模块只能对应拥有相应权限的用户使用,比如说修改用户密码,按我校用户需求,普通用户就不能修改密码,只能按其自己的学号进入系统,系级管理员则有修改自己用户密码的权限,而超级管理员不但可以改自己的密码,还能改自己的用户名。因此要管理好这些功能,就必须对用户的权限进行设置。为此,我们采用了单属性权限控制的方法。 单属性权限控制介绍权限级别为二元组 L:其中A为属性,称为存取控制属性,LV是一个集合,为属性A的可能取值。要以一个属性作为用户数据库数据存取控制属性,该属性的取值应是一有限集。关系权限控制要求,关系权限控制要求为二元组:RPC:其中R为关系,A为关系R上的一个属性。他表明任何用户存取R必须进行以属性A为分类的权限级别检查。关系元组的级别,在单属性权限控制中,关系元组的级别为该元组在属性上的值,为四元组:RTPL:其中R为关系,A为关系R上的属性,T为R上一元组,RAV为该元组在A上的值用户的权限级别,用户权限级别为四元组:OUPL:OU为用户,R为关系,A为关系R上的属性,OURAV为属性集LV的子集。描述了OU可处理的管理元组,其在A上的值必须属于OURAV.权限检查对一个OU和一个关系R,如果存在RPC,对R的一个元组,当RAVOURAV成立时,OU拥有R该元组的存取权限。否则拒绝存取,如果不存在RPC,则不作检查。 在本系统中,利用属性type来实现本系统中有三种用户拥有不同的权限,为此我们就增加了一个属性type,来控制用户的权限。(定义type为整型,3则代表普通用户、2代表系级管理员、1代表超级管理员),这样定义的好处就在于,当某一页面只能是某用户的功能模块时,我们就可以通过type判断当前用户的权限是否能对该页面进行操作,是则进入,否则返回错误页面。例如在本系统用户管理(manageusr.asp),该模块只能是超级管理员才能进行操作,因此对于超级管理员的权限检查为超级管理员名(admin_name),管理用户,类型(type),1(类型值)本页面就对于一个超级管理员(admin_name)和管理用户关系,而且又存在,当type=1时,用户就存在对该管理用户模块权限操作。反之则无,返回错误信息页面。我们在页面的源代码中首先都要对用户的权限进行判断,具体的代码如下:1 thenresponse.write 您没有操作的权限response.endend if end if%7 系统试运行结果与评价经过几个月的系统设计和开发,这个简单的在线考试系统基本开发完毕。经测试和试运行,其功能基本符合一般的在线考试系统的功能。方便师生们加强交流和对自我的测试情况;方便管理员及时了解用户的需求情况:方便管理员进行对整
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年园艺科普知识考查试题及答案
- 2024年农业职业经理人考试试题及答案
- 2024年农艺师考试变革与创新试题及答案
- 2024北京房山区三年级(下)期末语文试题及答案
- 园艺师考试复习策略试题及答案
- 泵车安全教育试题及答案
- 农业项目评估与实施的最佳实践试题及答案
- 学习花艺设计的有效途径试题及答案
- 农业职业经理人考试在个人职业生涯中的重要性与体现试题及答案
- 植物采收与保鲜技术试题及答案
- GB/T 18655-2025车辆、船和内燃机无线电骚扰特性用于保护车载接收机的限值和测量方法
- 吉林省吉林市2024-2025学年高三下学期3月三模试题 生物 含答案
- 2025年陕西农业发展集团有限公司(陕西省土地工程建设集团)招聘(200人)笔试参考题库附带答案详解
- 辽宁省协作校2024-2025学年度下学期高三第一次模拟考试语文+答案
- 2025年03月中央社会工作部所属事业单位公开招聘11人笔试历年参考题库考点剖析附解题思路及答案详解
- 2025年中高端女装市场趋势与前景深度分析
- 2025北京清华附中高三(下)统练一数学(教师版)
- 2025春人教版历史七年级下册《第一单元 隋唐时期 繁荣与开放的时代》大单元整体教学设计2022课标
- 2025-2030中国孵化器行业市场发展前瞻及投资战略研究报告
- GB/T 16895.36-2024低压电气装置第 7-722 部分:特殊装置或场所的要求电动车供电
- 食品安全日管控、周排查及月调度记录表
评论
0/150
提交评论