




免费预览已结束,剩余31页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
江苏大学学士学位论文摘 要无纸化考试系统网络和数据库的综合运用。该系统包括教师管理系统和学生考试系统两部分。教师管理系统能够实现试题的管理、组卷、考试时间班级设置、考卷的批改、成绩的查询。学生考试系统能够实现考生密码修改和考试。本系统所涉及到四个数据库:试题库、试卷库、答卷库、学生库,这些都采用Access数据库类型。系统所采用的开发工具是Visual Basic 6.0,数据库访问方式是采用Data数据控件和ADO数据访问对象相结合。关键字: 无纸化 、 数据库 、 VB AbstractNo-Paper Testing System is a comprehensive application of network and database .The system includes two parts: Teacher-administering system and Student-testing system. The Teacher-administering system can realize managing test-questions , generating test-papers , setting test-time and test-class,checking test-papers,inquiring score of students. The Student-testing system can realize modifying login password and taking test. This system involves four databases: test-question database, test-paper database , test-answer database,student-information database . All of these databases adopt Access database type. The developing tool of this system is Visual Basic 6.0 , The way of database-visiting is one which is composed of Data controlling object and ADO (ActiveX Data Object).Key word: No_paper 、 Database 、 VB目 录摘要2目录 2第一章 概述 1 前言11.1 VB数据库编程概述 11.1.1 DAO 数据库引擎 1.1.2 RDO 远程数据对象 1.1.3 ADO 数据访问对象 1.2无纸化考试系统概述 31.3无纸化考试系统发展现况 4第二章 方案分析 62.1 数据库连接方式分析与选定62.1.1 DAO、RDO、ADO的比较2.1.2 连接方案选定2.2 网络服务方式分析与选定62.2.1 B/S与C/S的比较2.2.2 服务方案选定第三章 系统设计83.1服务器端功能设计 83.1.1 试题管理3.1.2 考试设定3.1.3 成绩管理3.1.4 管理员密码设置3.2客户端功能设计 103.2.1 身份验证3.2.2 密码修改3.2.3 考试界面3.2.4 答卷提交3.3数据库设计 113.3.1 试题库3.3.2 试卷库3.3.3 答卷库3.3.4 学生库第四章 系统实现134.1网络数据库功能的实现 134.2教师管理系统实现 144.2.1试题管理实现4.2.2 考试设定实现4.2.3 成绩管理实现4.2.4 管理员密码设置实现4.3学生考试系统实现 234.3.1 身份验证实现4.3.2 密码修改实现4.3.3 考试界面实现4.3.4 答卷提交实现4.4 数据库实现 274.4.1 试题库实现4.4.2 试卷库实现4.4.3 答卷库实现4.4.4 学生库实现第五章 系统功能分析 295.1 教师管理系统分析 295.2 学生考试系统功能分析 29第六章 总结 30参考文献 31附录:程序源代码 32第一章 概 述前 言这次毕业设计的题目是无纸化考试系统,采用的编程工具是Microsoft公司的Visual Basic,因此有必要简单介绍一下该语言在数据库编程方面的特点。首先,在第一节中我将介绍一下VB数据库编程的几种方法,主要以DAO Jet、ADO、RDO为主;其次,在第二节中将简单介绍一下无纸化考试的概况;最后,第三节将介绍无纸化考试目前的发展现状。1.1 VB数据库编程概述1.1.1 DAO数据库引擎DAO Jet 的设计思想使用一种接口来访问多种类型的数据。Microsoft设计DAO Jet的目的是给用户提供一个统一的界面,而不管用户使用什么类型的数据。所以,可以用存取ASCII文本文件或Microsoft Excel电子表格的同一Microsoft Jet函数来对Microsoft Access数据库来执行数据操作。DAO Jet引擎不是一个程序,而是协同工作的一系列例程。DAO Jet引擎跟一组翻译例程对话。这些例程把请求转换为目标数据库可以理解的格式。翻译例成绩服务于Microsoft Access数据库,又服务于非Microsoft Access ISAM文件,如dBASE.FoxPro.Paradox等等。翻译例程还处理使用Microsoft Jet接口的ODBC数据源。在理论上,只要拥有引擎可使用的一系列翻译程序,就可以通过DAO Jet引擎访问任何数据文件格式。数据存取对象(DAO)能执行Data数据控件的所有功能,甚至更多。数据存取对象赋予了对数据库管理的完全控制权。DAO Jet 数据服务的最独特的方面就是它有自己的查询引擎。这意味着不必有大型的、复杂的数据库服务程序就可以使用标准SQL语句来检索、排列和筛选数据。所需的只是DAO Jet组件和一个兼容的数据文件。当然包含自己的查询引擎也是DAO Jet的一个弱点。由于查询服务于本地机上,这就意味着在处理任何远程数据之前,必须把所有的数据都传到本地工作站上。DAO Jet服务视为单机和局域网开发的,因此它不能用于Internet或企业网应用程序。Microsoft DAO Jet被组织于一套数据存取中。每一个对象都有集合、属性和方法:(1)集合 包含同类对象的数据存取对象。(2)属性 对象(控制按钮、窗体等等)中决定其特点的数据,由用户设置。(3)方法 能在对象中执行的过程,有用户来调用执行。 Microsoft Jet数据存取对象以分级结构的形式存在,这意味着对象之间存在着至上而下的关系。分级树中的一个数据对象是DBEngine数据存取对象,其他所有的数据对象都位于DBEngine数据存取对象之下。图1-1-1 显示了DAO Jet对象模型的大体结构。1.1.2 RDO远程数据对象远程数据对象(Remote Data Objects,简称RDO)是位于ODBC API之上的一个对象模 图1-1-1 图1-1-2型薄层,它依赖ODBC API、选定的ODBC驱动程序以及后端数据库引擎实现大部分的功能,因此RDO短小(大约250K)、快速、强健。RDO具备基本的ODBC处理方法,所以可以直接执行大多数ODBC API函数。RDO有一个动态连结库MSRDO32.DLL实现。RDO是从DAO派生出来的,但两者很大的不同在于其数据库模式。DAO是针对记录(Recordsets)和字段(Fields),而RDO是作为行(Rows)和列(Columns)来处理。也就是说DAO是ISAM模式,RDO是关系模式。此外DAO是访问Access的Jet引擎(Jet是ISAM)的借口,而RDO则是访问ODBC的接口.使用RDO远程数据对象的方法基本上与使用Microsoft Jet数据库引擎数据访问对象(DAO)的方法类似,RemoteData控件也与Data控件类似。使用RDO可以提交查询、创结果集或游标,以及用与数据库无关的、面向对象的代码处理查询结果。使用RemoteData控件,可以在创建的窗体中使用能够被Data控件识别的所有绑定控件,还可以用很少或几乎不用代码处理查询结果集。对现有的使用DAO及Data空间的应用程序做些稍微的改动,即可将其转换成使用RDO和RemoteData控件。但是RDO用于关系数据库。因此RDO 并没有它自己的查询处理程序:它依靠数据源来处理所有的查询,并创建结果集。数据对象本身是由ODBC驱动程序返回的结果集和游标来建立的。远程数据对象使用行和列的概念,而不是通常关系数据库中的记录和域的概念。查询以结果集的形式返回数据,结果既可以包括零个和多个数据行,每行又可包括一个或多个列。DAO需要使用游标访问数据,而RDO允许创建无游标的结果集,所需的资源大大少于游标。通过DAO方法和属性,DAO也支持数据库模式的创建、修改、参照完整性(RI)以及安全性。RDO不支持任何形式的RI、安全性或模式修改,因为服务器系统所提供的工具和实用程序完全能够支持这些功能。可见,RDO是综合了DAO/Jet、VBSQL/DBLib以及ODBC的优点的对象(Object).需要强调的事,RDO是包裹着ODBC API 的一层薄薄的外壳,被设计成在后台(服务器)有数据库存在前提下运行,同时也是针对SQL Server和Oracle而特别设计的。RDO的优势在于它完全被集成在VB中。此外,直接访问SQL Server存储过程、完全支持T-SQL、T-SQL调试集成在开发环境中、Visual Database Tools的集成化等,也是RDO的长处。RDO对象模型的层次结构如图1-1-2所示。1.1.3 ADO 数据访问对象与DAO、RDO等类似,ADO实际上是一种对象模型。不过这个对象模型相对简单,ADO模型的层次结构如图1-1-3所示;Connection、Command、Recordset、Field对象都有属性集,如图1-1-4所示: 图1-1-3 图1-1-4在这个对象模型中,Connection类似于RDO的rdoConnection或者DAO的Database,Command类似于RDO的rdoPrepareStatement或者DAO的QueryDef。值得注意的是:与DAO等模型的层次结构不同,ADO基本上是一种平板结构:Command和Recordset于Connect之间并没有上下层关系,这种设计主要是为了适应Internet应用开发的需要。因为在Internet上,想在局域网内那样维护一个永久性的连结、然后再连结的基础上执行查询,基本上是不可能的。ADO使程序员能够编写应用程序以通过OLE DB提供者访问和操作数据库服务器中的数据。ADO最主要的优点是易于使用、速度快、内存支出少和磁盘遗迹少。ADO支持建立客户端/服务器和基于Web的应用程序的关键功能。ADO的另一个功能是“远程数据访问”(RDS),能够通过一个来回的传输数据从服务器移动到客户端应用程序或Web页中,然后在客户端对数据进行操作,最后将更新数据返回服务器。RDS已与ADO编程模块合并一简化客户端数据的远程调用。1. 2无纸化考试系统概述传统的考试方式要求教师们拟试卷、刻试卷、印试卷,安排监考、收集试卷、阅卷判分、评估、分析,这是一个漫长而复杂的过程、它已经越来越不适应现代教学的需要.计算机具有存储功能和逻辑判断能力,我们完全可以利用它设计题库进行自动编辑组卷,使那些占据老师大量时间的事务性工作基本上都让计算机去完成,这样可大大提高工作效率.相对于传统的纸笔考试而言,无纸化考试是建立在计算机处理技术、计算机网络技术和多媒体技术基础上的一种全新的考试模式,是现代化信息技术高速度发展的产物.它用电子信息的流通代替了物件的流通,用电子档案代替了纸介质档案,用电子试卷代替了原来的纸质试卷,用计算机直接作为答题工具,并记录答题结果,而且我们还能用计算机进行自动评卷、汇总考试成绩.无纸化考试实现了考试工作全过程的电子化、信息化和无纸化管理,与传统的卷面考试方式相比, 计算机无纸化考试方式有以下特点: (1)提高工作效率完全避免了传统考试方式中所必须进行的试卷印刷、人工阅卷、分数登记等一系列的工作环节,大大提高了工作效率。另外,由于在系统中存储了有关考试的全部信息,因此非常有利于系统对考试的各类数据进行统计分析。(2)迅速准确、公平公正计算机考试系统对标准化试题进行自动评分, 无任何人为因素,既迅速准确又保证了考试的公平公正。(3)客观性强:计算机无纸化考试系统采用随机抽题组卷的方式,试题抽取面较广,且同时生成多套试卷,从而保证考试的客观性和准确性.(4)保密性好:计算机无纸化考试系统采用试题库方式提供试题来源,所有考卷由计算机随机生成,试题库可指定专人负责管理,并采用特定加密方法,从而增强保密性.(5)适应于计算机上机能力考试:由于无纸化考试是在计算机上进行, 因此这种考试方式非常适宜于对大量的学生进行计算机上机能力考试, 例如可使考生在计算机上调试程序并将运行的结果填入答卷中。近年来,随着计算机网络与通信技术的迅猛发展,基于网络的远程教育、开放式网上虚拟学校等先进的教育方式已成为人们关注的热点,建立功能完备、实用的计算机网络无纸化考试系统也已成为计算机专业人员竞相开发研究的重要课题。1.3 无纸化考试系统发展现状无纸化考试系统一般是网络系统,从网络应用程序的处理方式分类可分为二种方式。一种是传统的网络方式, 称为C/S方式;另一种是基于Web的实现方式,即B/S方式。基于C/S方式的应用程序由客户端应用程序与服务器端应用程序组成, 系统的功能被合理地分布在网络中的客户端及服务器端的计算机上,通过数据通信、彼此协作共同完成一些 较为复杂的任务。这种实现方式的界面设置灵活, 系统的运行效率较高, 程序的可读性也比较好,但程序的处理范围有限。基于Web方式的应用程序称为Web应用程序。这种应用程序要由Web服务器进行控制或处理,并由浏览器进行显示。从概念上讲,这种程序的执行过程是根据用户在浏览器端所提供的信息,在Web服务器的控制或处理下,建造相应的HTML内容送到前端的浏览器之中。由于这种方式是通过互联网进行信息传输, 因此它完全突破了时间和空间的限制。但这种方式也存在一定的局限性,例如它依赖于浏览器和专用的服务器,必须以HTML 语言为基础,只能按页面传输等。目前,前端开发工具有许多,经过综合比较,我们选用了面向对象的Visual Basic6.0作为前端开发工具,并且采用传统的C/S客户服务模式,将系统设计分为服务器端和客户端,从功能上来看,分为教师管理系统和学生考试系统。第二章 方 案 分 析 2.1 数据库连接方式分析与选定2.1.1 DAO、RDO、ADO的比较DAO数据访问对象是第一个面向对象的接口,使用了Microsoft Jet数据库引擎(由Microsoft Access所使用),并允许Visual Basic开发者通过 ODBC,就像直接连接到其他数据库一样,直接连接到Access数据表。DAO最是用于单系统应用程序或小范围本地分布使用。RDO远程数据对象是一个连接到ODBC的、面向对象的数据访问接口,形式上具有所有ODBC的底层功能和灵活性。但是RDO在很好的访问Jet或ISAM数据库方面受到限制,而且它只能通过现存的ODBC驱动程序来访问关系数据库。但是,RDO已经被证明是许多SQL Server、Oracle以及其他大型关系数据库开发者经常选用的最佳接口。比起DAO来,RDO提供了用来访问存储过程和复杂结果集的更多和更复杂的对象、属性和方法。ADO视为Microsoft最新和最强大的数据访问规范OLE DB而设计的,是一个便于使用的应用程序接口。OLE DB为任何数据源提供了高性能的访问,这些数据源包括关系和非关系数据库、电子邮件和文件系统、文本和图形、自定义业务对象等等。ADO在关键的Internet方案中使用最少的网络流量,并且在前端和数据源之间使用最少的层数,所有这些都是为了提供简单、高性能的接口。同时ADO使用了与DAO和RDO相似的约定和特性,简化的语义是它更易于学习。2.1.2 连接方案选定 无纸化考试系统是一个网络数据库应用程序。虽然这次的毕业设计的数据库是建立在本地的,但是采用的连接方式应该具有网络连接数据库的功能。网络数据库应用程序的开发可以使用的编程接口包括:DAO、ADO、RDO、ODBC等等,除了这些标准的编程接口之外,还有一些应用程序(例如MsAccess)也可以作为访问远程数据库的编程工具。这些接口或工具在编程的简便程度和利用远程数据库的功能方面差异很大。使用MsAccess(通过DAOJet),编程非常容易,但是因为把远程网络数据库当成本地Access数据库对待,很难利用网络数据库的高级特性;而ODBC API则刚好相反,数据库系统的特性几乎可以完全利用,但是编程复杂、效率低。 ADO在编程难以程度方面比DAO和RDO都好,但在利用数据库方面与DAO不相上下;至于程序运行效率,ADO在功能和性能方面都将与DAO相当或更强。因此,本系统采用ADO数据访问接口。2.2 网络服务模式分析与选定2.2.1 B/S与C/S的比较所谓B/S结构,就是只安装维护一个服务器(Server),而客户端采用浏览器(Browse)运行软件,即浏览器/服务器结构。 它的优点是维护方便,能够降低总体拥有成本。客户端运行软件,就像我们平时上网浏览网页一样,有个浏览器就行了,不用安装其它软件。而且通过电话线也可以运行软件。B/S结构的软件所有的维护、升级工作都只在服务器上进行,而客户端就能获得最新版本的软件。而C/S体系结构,由两部分组成,即客户应用程序和数据库服务器程序。二者可分别称为前台程序与后台程序。运行数据库服务器程序的机器,称为应用服务器,一旦服务器程序被启动,就随时等待响应客户程序发来的请求;客户程序运行在用户自己的电脑上,对应于服务器电脑,可称为客户电脑。当需要对数据库中的数据进行任何操作时,客户程序就自动地寻找服务器程序,并向其发出请求,服务器程序根据预定的规则作出应答,送回结果。在典型的C/S数据库应用中,数据的储存管理功能,是由服务器程序独立进行的,并且通常把那些不同的前台应用所不能违反的规则,在服务器程序中集中实现,例如访问者的权限,编号不准重复、必须有客户才能建立定单这样的规则。所有这些,对于工作在前台程序上的最终用户,是“透明”的,他们无须过问(通常也无法干涉)这背后的过程,就可以完成自己的一切工作。在客户服务器架构的应用中,前台程序可以变的非常“瘦小”,麻烦的事情,都交给了服务器和网络。在C/S体系的下,数据库真正变成了公共、专业化的仓库,受到独立的专门管理。2.2.2 服务方案选定在这个设计中,已经确定的需求,就是建立一个集中、统一的数据库,实现更新、查询等操作。采用C/S架构,选择适当的数据库平台,可以实现数据库数据的真正“统一”,分布于两地的数据同步完全交由数据库系统去管理,逻辑上,两地的操作者都直接访问同一个数据库。其次,用户的应用方式和规则具有不确定性和不断改变发展的特征,但数据库描述的基本对象却具有相对稳定、有序扩充的特点,因而数据库的结构相对稳定,也就是说,基于对实体的深入分析和抽象作出的数据表是相对稳定的,随着未来的发展,多数的变化将是新表的增加及数据项的增加,而较少更改。针对这个特征最直接有效的策略,就是将易变的部分(应用和应用规则)和相对稳定的部分(数据和基本属性、结构)分离,这正是C/S结构数据库应用的典型模式。从目前的技术看,先建立C/S结构的局域网络应用,再向Internet/Intranet模式下数据库应用过渡,是比较现实,相对易于把握、成本较低的。即使是一次到位的开发,对于类似的环境和小型的应用而言,要想实现不同的人员,从不同的地点,以不同的接入方式(比如LAN, WAN, Internet/Intranet等)访问和操作共同的数据库,并有效地保证和管理数据的安全性、访问权限、完整性,采用C/S架构和支持C/S架构的数据平台,是必然选择。第三章 系 统 设 计系统的功能分布在服务器端与客户端的计算机上,在服务器端设置面向教师的功能, 在客户器端设置面向考生的功能。作为管理员的教师,可以在服务器应用程序上进行试题管理、考试设定、成绩管理等。3.1 服务器端功能设计服务器端功能主要为教师管理系统,其功能结构图如下3-1-1所示: 图3-1-13.1.1 试题管理本系统设计成为能够对不同的专业、不同的课程进行考试。因此,必须要能够对不同专业、不同课程的试题进行分别管理。在试题管理中,我们将试题管理模块以学科类别为大类,其中包括基础学科、计算机类、经管类、艺术类等等。基础学科包括一些公共课程,如高等数学、大学英语等;计算机类按专业课程分类,有数据库、操作系统、数据结构、微机接口、编译原理等;经管类、艺术类也类似地包括了一些课程,在这就不再赘述。作为管理员的老师在通过身份验证后,就可以进入到教师管理主界面。在试题管理下拉菜单中,可以看到以学科大类为标题的子菜单项。选择要进行编辑的课程试题所在学科类,在其下拉菜单中选重要察看的科目,这样就可进入该课程的试题库。点击进入后,将会出现试题,试题信息包括编号、类别、难度、试题内容、答案、更新日期。点击前进后退箭头可以实现在试题间的转换。试题管理包括试题的查找、添加、删除、修改。试题的查找是按照试题的编号来查找的。按添加按钮后,试题显示栏将变为空,这时可以输入新的试题,输入后点击保存,就可将新试题保存到试题库;点击“删除”就可将当前的试题删除;选中要修改得试题,然后按“修改”,就可以对该试题修改,改好后按保存,如想放弃可按取消。完成操作后可按退出退回到管理主窗体。3.1.2 考试设定在考试前,管理员必须对考试进行必要的设定,包括试卷的生成、考试班级的选择,最后是考试时间的设定,只有这些全部设置好后,学生才能进入考试系统进行考试。首先是生成试卷:为了使考试公平,每一个考生遇到的试题难度一样,因此管理员需提前生成一张考卷。点击“生成试卷”菜单项,将会弹出一张类似前面所述的试题管理界面,界面上包括显示试题的区域,与前面不同的是此处的试题是不能修改的。要生成一张试卷,首先要选择考试的科目,比如从下拉选项中选择“数据库”,这是下面的试题显示区域将会显示数据库的试题。将当前显示调整到要选入得试题,然后按下“加入试卷”按钮,此时就可将当前试题加入试卷。其次是设置考试班级:考试班级设置是为了防止其他班级的同学进入考试。进入设置界面后,将会出现三个下拉列表,分别是所在学院、所在专业、所在班级。设置时应从上到下,如不设置前一个,后面的下拉列表将不能出现选择项。在设置过程中,如出现错误,可以按“重设”按钮,进行重新设置;点击“确定”按钮后,将把考试班级锁定为所选班级,考生登陆和考试时都将只对该班级开放。最后是设置考试时间:考试时间分为考试开始时间和考试结束时间。考试开始前5分钟到开考后30分钟之内是学生登陆时间,没到时间或超过时间均不能登陆考试。考试时间的设置是以24小时为标准。在判断时间时是以服务器端的时间为基准,这样可以防止学生通过修改客户端的时间来提前登陆或延长考试时间。3.1.3 成绩管理学生在考试结束,提交答卷后,教师须对答卷进行批改,然后将成绩写入学生数据库中,以便于察看。首先是批改试卷:学生在考完提交试卷后,系统将会把每个同学的答卷存入到答卷库中,并以课程名加同学的学号作为每个人的答卷表名。教师在批改试卷时,须选择考试科目和考生学号,以此可以确定唯一的一张学生答卷。将答卷中的学生答案俞试卷库中的标准答案对比,可以得出该考生的成绩,并将该成绩记录到学生库中该班该同学的这门课程成绩中;一次完成所有同学的试卷批改。然后是察看成绩:教师在批改完一个班级的试卷后,就可以察看该班同学的所有成绩。在察看界面上,选择所要察看的课程和班级,选定后按“确定”,系统就将在学生数据库中先找到该班的成绩表,然后查出所选课程的一列,最后将成绩列出。而且,还可以对该班的这门课的成绩进行平均分的计算,只要点击“求平均分”按钮即会产生平均分。3.1.4 管理员密码设置管理员密码时管理员进入管理系统的唯一凭证,因此我们将管理员密码放在试题库中的一张单独的表中,是一个六位的字母数字串。管理员在登陆成功后,可以进行密码的修改。点击主窗体上的密码修改菜单,即可进入密码修改窗体。该窗体分为两部分:新密码、确认新密码。管理员只有在输入6位的新密码和确认新密码,而且两个密码串完全相等时,系统才可以接受,按“确定”按钮后即可修改成功,否则将会报错;若位数不对,将会提示输入位数不对;如新密码和确认新密码不一致,也会有相应的提示。3.2客户端功能设计客户端功能主要为学生考试系统,其功能结构如图3-2-1所示:图3-2-13.2.1 身份验证 身份验证是用来判断该用户是否有登录的权限的。身份验证包括验证三个部分,一是用户名,二是密码,三是用户是否已经登录过。用户名采用的是学生的学号,首先他必须是管理员所选班级里的一员,不然将无法登录。其次,用户的密码必须与学生表中的预设密码一致。最后是察看用户登录标识是否为真,若为真则表示已经登录过,若出现重复登录,则要求管理员解决。3.2.2 密码修改 密码修改是用来修改用户登录密码的。密码修改是在用户登录后才有效的,需要用户填入两次新密码,密码的位数限制在6位数。两次输入的密码必须一致,如果不一致将不能实现修改。密码修改时系统将查找到用户所在班级的表,然后根据登录时的ID即学号来修改相应的密码。3.2.3 考试界面用户在进入考试时,系统将更具用户所选的考试科目,以及考省得学号生成一张答卷,答卷名是课程名加上学号。考试界面上将会显示出试题的序号、试题内容、试题答案填写框以及时间倒记时。试题序号是试题在试卷中的位置;试题内容显示区是用来显示题目的;答案填写区使用户填写当前试题答案的;时间倒记时是用来显示考试剩余时间的。3.2.4 答卷提交 答卷提交是用户在完成答题时或者考试时间结束时发生的事件。用户在考试为结束前是主动提交试卷,而在考试结束时是被动交卷,也就是有系统全面控制,强制将答卷写入数据库。考生在考试中间提交试卷,系统将会请考生确认是否要交答卷,只有在确认后,系统才会将是答卷存入答卷库。3.3数据库设计数据库是存放所有数据的地方,一切程序都是在数据库的基础上进行操作的。为了能够清楚、安全地反映出系统中各个数据集合间的关系,我们将数据库设置为四个:试题数据库、试卷数据库、答卷数据库、学生数据库,下面将对他们进行系统地设计。3.3.1 试题库试题数据库是用来存放各个学科类中各门课程的试题,每一张试题表存放了一门课程的所有试题。试题表的命名方法也是根据学科类来安排的,比如计算机类中的数据库试题表,就是用其课程名“数据库”来直接命名的。因此,在试题管理中,在选中了课程名后,就可以用课程名去直接命中试题表,然后进行编辑等操作。另外,在试题库中还放了一张单独的表,是用来存放管理员密码的,管理员在每次登陆时,都会打开该表并核对密码,密码一致时才可以进入。3.3.2 试卷库试卷库是用来存放考试试卷的,每一张试卷对应一门课程。在生成试卷时,通过选择课程名,可以将试卷定位在该门课程的试卷表上。试卷表的内容包括序号、编号、题目内容和标准答案。每个学生登陆进入考试时,都是以非独占方式打开数据库,而且试题在考试时,只显示出序号、题目内容。而且该试卷可以用多次,也就是说一张试卷可以给几个班作为考试用;但为了不至于泄密,试卷也可以清空,然后进行重新组卷,但是试卷表仍然存在。另外,管理员也可以为一门课设置多张试卷。3.3.3 答卷库答卷库是用来存放每一位同学的答卷,每一张表对应一个学生,每一个学生有若干张表,对应于不同的学习课程。学生在登陆考试时会产生一张答卷表。该表的命名方法是,在学生学号的前面加上对应课程名,这样就可以唯一的确定一张表。教师在批改试卷时,就可以根据课程名和学生学号直接命中答卷。答卷表中的记录与试卷表中的试题是对应的,以试题编号为准。答卷表的结构是包括量字段:编号和答案;其中编号与试卷表中的试题编号一致,一一对应。在批改试卷时,将编号相同的答案与标准答案对比得出成绩。3.3.4 学生库学生数据库包括两部分:一是用来存放学生的信息的;二是用来存放学生成绩的。首先是存放学生信息的表,每一个学生的信息包括:学号、学生姓名、联系电话、是否登陆到考试系统和登陆密码。学生信息以班级为单位,每个班级一张表。表的命名方式也是有规律的:名字第一位表示学院(用数字表示),第二位表示专业,第三四位表示入学年份,最后一位表示班级号,得到一个字符串,最后在前面加上个“S”。比如计算机学院计算机专业2000年入学的3班,对应表名为S00003。用来存放学生成绩的表包括三部分。一是学生学号,其他是一门课的成绩。学号的编排方式也如上表命名,只是不加字母,在后面加了两位数字,表示在班级中的号码。成绩表也是以班级为单位,命名方式也类似于上面,只是在学号前面加上对应课程名。第四章 系 统 实 现4.1网络数据库功能的实现客户端的应用程序要访问或更新服务器端的数据库。例如在进行考生认定时要访问考生库;在进入答题界面时要访问试卷库;在执行交卷功能时要访问答卷库,向服务器端传送答卷即向答卷库追加相当于试题道数的记录。系统采用ADO 连接方式实现与数据库的直接连接,即可以完全由相关的数据连接组件实现连接而无需另外的支撑程序。为了调试方便,将客户端的应用程序的所有的功能先在单机上实现, 然后再将其中的数据库功能扩展成网络数据库功能。这样处理可以避免在调试中反复涉及服务器端的程序。要将单机数据库处理程序改造成网络版的处理程序实际上就是将其中的数据传输过程分为服务器端和客户端二个部分。从现有的单机程序着手,创建相应的网络数据库处理程序的过程大致可按以下的步骤来实现:(1)将设置在窗体中的数据库组件 Table 或 Query 改换成 ClientDataSet 组件,并新建一个DataModule模块,将数据存取组件(包括 DataSource 和 ClientDataSet 组件)设置在该模块中,这样就基本建成了客户端应用程序。(2)在服务器端创建服务器应用程序,可将服务器应用程序看成是客户端应用程序向数据库方向的延伸。在该应用程序中建立一个Remote DataModule模块,将相关的数据存取组件设置在该模块中。(3)通过设置服务器端和客户端数据存取组件的相关属性,建立起二端间的数据连接。在服务器端和客户端所设置的数据存取组件之间的关系如图4-1-1所示: 图 4-1-14.2教师管理系统实现对系统做了一个整体的设计之后,我们对系统的主要功能有了一个大概的了解。下面将对系统各个功能如何实现做一个具体的描述。本程序所连结的数据库是Microsoft Access型数据库,采用Data数据控件和ADO数据访问对象相结合的方式来访问数据库。教师管理系统首先要从管理系统登陆界面进入,选择教师管理系统,将弹出教师管理系统登陆界面,管理员只需输入密码就可进入管理系统,登陆界面如图4-2-1所示: 图4-2-1用户在输入密码后,系统将打开试题数据库中的密码表,然后判断是否相同,若相同系统将进入下一步;否则系统将密码框清空,并提示密码错误,要求从新输入。(1)系统打开数据库的代码如下:Dim cnn As New ADODB.ConnectionDim rs As New ADODB.Recordsetcnn.Open Provider=Microsoft.jet.OLeDB.3.51;Data Source= & App.Path & 试题.mdbSet rs = cnn.Execute(select * from key) (2)系统判断密码正确与否的代码: If txtPassword = rs.Fields(密码).Value Then LoginSucceeded = True ;LoginSucceeded为全局变量 Unload Me frmMain.Show ;管理主窗体显示 Else MsgBox 无效的用户或密码,请重试!, , 登录 txtPassword = txtPassword.SetFocus 如果用户选择“取消”,系统将退出登陆界面。用户在通过密码检测后,系统将自动关闭登陆界面,然后弹出管理系统主界面,如图4-2-2所示: 图4-2-24.2.1 试题管理实现 试题管理模块是管理员用来管理所有试题的界面,它是以学科为分类的;管理员在主窗体中单击“试题管理”菜单,会弹出一系列以学科名为菜单名的子菜单,其下又可以弹出各学科类中的不同课程。选中其中任一课程,都将会弹出试题管理窗口,每一个窗口对应与不同的课程。试题管理窗口上包含有一个Data数据控件,七个用来管理试题的按钮以及用来显示试题信息的文本框,具体如图4-2-3所示。 图4-2-3 图中Data数据控件不需添加任何代码,只要设置一下属性,就可以连结到数据库。Data数据控件的DatabaseName设置成所要连结的数据库名,将其RecordSource属性设置为要连结的数据表。同时将Text的DataSource设置为Data控件,将DataField设置为所要显示的字段。具体功能实现如下:(1) 搜索功能:搜索功能是在知道试题序号的情况下,通过输入序号能够直接定位到该试题。试题序号的输入界面如图4-2-4所示: 图4-2-4findxh = InputBox(请输入试题序号, 按序号搜索)通过上一段代码,将输入的序号保存到字符串findxh中,如果findxh 不为空,则将其做处理,形成查询条件:If findxh Then findxh = xh= + findxh + 若试题库中有该试题,则系统将该题通过数据控件Data1.Recordset.FindFirst (findxh) 若试题库中不存在所输入序号的试题,系统会产生对话框提示用户不存在该试题:If Data1.Recordset.NoMatch Then MsgBox(没有相应的试题记录, vbOKOnly, 信息) (2) 添加功能:添加功能是在试题库最后加入一道试题。在单击“添加”按钮后,试题管理窗口中的文框变为空,用来输入新试题的信息:Data1.Recordset.AddNew若在输入过程中出现输入错误或是不符合字段要求,将会出现出错处理:On Error GoTo AddErr AddErr: MsgBox Err.Description ;显示出错信息在输入新试题后,此时“保存”和“取消”按钮生效:SaveCancelEnable 。按“保存”就可将试题存入数据库,并将刷新当前Data控件;按“取消”就将放弃输入。(3) 删除功能:删除功能是用来删除一道试题的。首先将试题定位到要删除的试题,然后按“ 删除”按钮,系统将弹出一个信息框,提示管理员是否要删除当前试题:If MsgBox(确定要删除这个记录吗?, vbOKCancel, 确定删除) = vbOK Then如果用户选择“确定”,将进行下面的事务处理:BeginTrans Data1.Recordset.Delete CommitTrans删除完后,系统将会把当前试题定位到前一道试题:Data1.Recordset.MovePrevious如果删除完后,试题库中没有试题,也将会出现一个提示框If Data1.Recordset.RecordCount = 0 ThenMsgBox(数据库中已经没有数据库题目了!, vbInformation + vbOKOnly, 数据库信息)如果在删除过程中出现错误,系统将执行下面的事务回滚处理,以恢复到删除之前:DelErr: Rollback MsgBox Err.Description(4) 修改功能:修改功能是用来修改当前记录的。首先将当前记录定位到要修改的记录,然后点击“修改”按钮,系统则将当前试题处于可编辑状态。管理员只需对要修改的地方进行改正,此时所做的修改都将保存在内存中:Data1.Recordset.Edit ;将当前记录设为可编辑状态管理员在修改好试题后,若不点击“保存”,试题内容将不会被保存到题库;当试题修改好后,“保存”和“取消”按钮都将有效,系统调用函数SaveCancelEnable 。一旦在编辑过程中出现错误,系统将会调处到出错处理程序,并显示错误信息:On Error GoTo UpdateErrUpdateErr: MsgBox Err.Description(5) 保存功能:保存功能是将试题的修改等保存到试题库中。Data数据控件连结到数据库,只需将控件的记录集更新,就可以实现将试题保存,系统采用事务的方式: BeginTransData1.Recordset.UpdateCommitTrans 试题库在得到更新后,为了使当前的管理窗口能够显示出最新的试题信息,需要将数据控件进行刷新:Data1.Refresh ,并将重新初始化管理界面:InitialCmd 。一旦更新过程中有一个或若干个记录出现错误,系统就将对之前所做的处理进行会滚,以取消更新,并报告错误:Rollback MsgBox Err.Description(6) 取消功能:取消功能是用来放弃对试题所做的修改的,包括试题添加,修改等:Data1.Recordset.CancelUpdate 取消的出错处理程序如下:On Error GoTo CancelErrCancelErr: MsgBox Err.Description管理界面在装载时,需要对按钮进行初始化,开始是“保存”和“取消”按钮都不可用,只有当管理员进行编辑后才会可用;而且程序还会判断试题库中试题数量是否为零,若为零则“删除”按钮无效。4.2.2 考试设定实现考试设定包括三个方面:生成试卷、设置班级、设置时间。三则是缺一不可的,不生成试卷将无法考试;不设置班级将无法判断登陆学生是否拥有登陆考试的权限;不设置考试时间系统将无法判断当时是否已到登陆的时间。下面将对他们设计做具体叙述:(1) 生成试卷:点击“生成试卷”菜单项,将会弹出一张类似前面所述的试题管理界面,界面上包括显示试题的区域,与前面不同的是此处的试题是不能修改的。首先要选择考试的科目,这时下面的试题显示区域将会显示相应课程的试题。首先要建立一个Connection对象cnn
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 课件民族复兴梦
- 火焊操作培训课件
- 培训现场互动
- 课件朗读绿色的梦
- 美术人体结构课件
- 课件显示屏黑色问题
- 广东工程计量自考试题及答案
- 辣椒种植考试题及答案
- 2025年教师招聘之《幼儿教师招聘》模考模拟试题及答案详解【名校卷】
- 多功能机组操作工转正考核试卷及答案
- 老年人体检分析报告总结
- 2024-2029年中国红外热像技术在建筑物检测中的应用行业市场现状供需分析及市场深度研究发展前景及规划战略投资分析研究报告
- 第4课《用联系的观点看问题》第2框《在和谐共处中实现人生发展》-【中职专用】《哲学与人生》同步课堂课件
- 新媒体广告-课件-第三章-新媒体广告伦理与法规
- 计量安全防护
- 食品生物技术原理课件
- 关于车的英语原版书
- 马克思主义基本原理概论全部-课件
- 【上海旺旺食品集团公司固定资产管理问题及优化研究案例报告(数据图表论文)7400字】
- 沙里宁的大赫尔辛基规划
- 教学一体机施工方案
评论
0/150
提交评论