毕业设计(论文)-delphi+sql通用试卷自动生成系统_第1页
毕业设计(论文)-delphi+sql通用试卷自动生成系统_第2页
毕业设计(论文)-delphi+sql通用试卷自动生成系统_第3页
毕业设计(论文)-delphi+sql通用试卷自动生成系统_第4页
毕业设计(论文)-delphi+sql通用试卷自动生成系统_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

通用试卷自动生成系统摘要一般情况教师想出一份试卷,要么到庞大的题库里一道一道的把题找出来,或是从几本相关的书里把题一道一道挑出来。这样即费时又费力,而且很难保证试题的覆盖面和把握好试卷的难度。正是为了能够帮助教师轻松的出一份高质量的试卷而开发了本软件。为了达到预期的目标我们最终选择了MICROSOFTOFFICEWORD做为本软件的终端输出。本软件是在对现有控件的改进和DELPHI编程的研究的基础上开发的。本软件实现了以下主要功能1手动生成试卷;2自动生成试卷;3抽取现有试卷;4用户管理大量的测试表明本软件在WINDOWS98ME2000XP平台配合OFFICEXP2003的环境下程序运行稳定且各项功能运行得都很正确,基本达到了预期的要求。关键词题库,试卷生成,数据库GENERALEXAMINATIONPAPERAUTOMATICPRODUCTIONSYSTEMABSTRACTTHEGENERALSITUATIONTEACHERTHINKSOUTAPAPER,REACHHUGEEXAMPOOLEACHFINDSOUTTHEQUESTION,ORSHOULDERTHEQUESTIONTOGETHEROUTFROMSEVERALRELEVANTBOOKSTIMECONSUMINGANDALSOSTRENUOUSLIKETHIS,ANDVERYDIFFICULTTOGUARANTEECOVERAGERATEANDPAPERDEGREEOFDIFFICULTYOFEXAMINATIONQUESTIONHELPINGTHETEACHERTHINKSOUTAHIGHQUALITYPAPERISTHEDESTINATIONOFDEVELOPTHISSOFTWAREINTHECAUSEOFTHISWESELECTTHETERMINALISMICROSOFTOFFICEWORDTHISSOFTWARESBASEOFDEVELOPISIMPROVEONCONTROLINEXISTENCEANDSTUDYTHEDELPHIPROGRAMMINGTHESEFUNCTIONSOFTHISSOFTWAREAREASFOLLOWSONEMANUALCREATEPAPERTWOAUTOCREATEPAPERTHREESELECTFROMEXISTENTIALPAPERSFOURUSERMANAGETHERESULTOFMANYTESTISTHATTHISSOFTWAREISRUNNINGSTEADILYANDTHESEFUNCTIONSOFITISRUNNINGRIGHTINTHEENVIRONMENTWHICHMAKEUPOFWINDOWS98ME2000XPANDOFFICEXP2003,ITISBASICREACHTHEREQUESTSKEYWORDEXAMPOOL,CREATEPAPER,DATABASE目录摘要1ABSTRACT1前言3第一章绪论411系统开发背景及现状412系统开发的目的413系统开发关键技术与开发环境4131DELPHI70的新特点4132系统运行平台514全文结构5第二章数据库技术分析621数据库理论基础6211数据库管理系统6212数据库系统设计622数据库的逻辑结构723在DELPHI中存取数据库824SQL语言在DELPHI中的运用925本章小结10第三章系统分析与设计1131系统功能需求1132系统介绍11321总体框架11322系统功能特点1233系统设计12331系统的开发原理12332系统的总体设计1234系统的详细设计1235本章小结13第四章系统功能的实现1441系统结构和主要界面14411系统登入界面和首页界面14412系统管理模块14413试卷管理模块16414题库管理模块1842数据库的设计和构建2043数据库的连接2244主要功能的实现代码23441用户登入功能的实现代码23442数据备份的实现代码25443试卷自动生成的实现代码(部分)2645本章小结30结论31参考文献32致谢33前言随着计算机技术的不断发展,计算机作为知识经济时代的产物,已被广泛的应用于社会各个行业和领域,成为各行业前进的不竭动力。课程改革后,一本教材统天下的局面已不复存在。于是,不同版本多样化的教材,辅导资料应运而生。各个学校不再使用单一固定的教材,那么学校原有的教学思路,方案也要随之进行改革。新课表明确每个阶段的学习目标,至于每个年级学什么、学多少、怎么学,没有做具体规定,所以对每一个学校首先需要结合自己本身的条件制定向适应的标准,选择向适应的教材与辅导资料。目前,市场上的各类资料特别多,特别杂,内容水平上更是褒贬不一、参差不齐,所以很难找到一套适合自己学校教师教学,学生学习的材料。除此以外,教务管理工作中一项非常重要的工作就是考试管理工作,每学期各学科考试,从组织出卷到试卷的印制及试卷的管理等工作非常繁琐且工作量庞大,这种方式不仅工作任务繁重而且试卷的标准化程度、难易程度、题量大小等各方面难以控制,难以形成针对本校学生的试卷,给出卷工作和试卷管理带来很多问题和困难,不利于学生暴露学习中的不足,也不利于老师把握学生对知识了解的情况。鉴于这种情况,利用计算机的快速计算、网络的资源共享和数据库的信息维护三者的优势,综合新课标、各辅导资料,以及学校教学特点,将各科习题、资料进行有效的整理和总结,形成适合本校教学的教学资源信息库,使学校的教学资源可以取百家之所长,使得教学更具备针对性,让出卷工作和试卷管理变得高效而便捷,对提高工作效率,使试卷管理逐步走向正规化、自动化将起到十分重要的作用。第一章绪论11系统开发背景及现状目前,经济发达国家已经建立了完善的试卷生成系统。随着在各学校开始逐步引入计算机的今天,试卷作为考察教学成果的重要手段之一,通用试卷自动生成系统升化了传统的手工出卷,解决了很多问题,例如避免了不必要的重复劳动,节约了人力资源及时间;使用科学的衡量、评价及统一试卷难易度、试卷质量的有效手段大幅度降低了试卷出现错漏缺的机率,减少不必要的麻烦。在以往的教学中,老师出试卷大多由手工出卷,这样生成的试卷往往会有知识点分布太集中、难易程度不当、分值分布不均等一些缺点;这样,既增加了老师的负担,也没有达到很好考查学生学习的真实水平,造成教学上的失误。基于以上的原因,有很多从事软件开发的人员,在试卷自动生成方面做了很大的研究。目前这一领域也以良好的发展姿态而不断进步,早期已经有了一些类似的系统,但经过软件开发人不断的完善,大致形成了具备如下功能的系统删除试题、批量录入试题、试题交流、合并题库、自定义试题参数等一些功能,其中试题交流功能非常实用,主要用于同事间交流试题。系统体积非常小,压缩后只有几百K。平时只要将一些试题或从网络下载的试题,按学科、章节、知识点、题型、难易程度、备注六个参数进行归类,录入题库,需要用时,只要输入一些查询条件即可查出所要找的试题。生成试卷非常方便,只需几分钟就可以生成一份试卷,生成的试卷还配有答案,更重要的是软件能与WROD的完美结合,试题、答案的编辑、试卷的排版打印全部由WORD来完成,试卷和答案都可保存为DOC格式。可见,试卷自动生成系统这方面的研究日益成熟,这不但减轻了教师的工作负担,也使用教学更加地科学化,有利用教育事业的发展。12系统开发的目的为促进教学手段的现代化,提高教学质量,减轻教师在出题、组卷和成绩分析中的工作量,帮助教师方便、快速、准确地分析、评价学生的学习成绩,本系统在DELPHI编程环境下开发了一套能实现试卷自动生成的软件。本系统大大减轻了教师的工作量,有效地提高了整个考试过程的效率,对学校推动教学改革、提高教学质量起着很大的促进作用。13系统开发关键技术与开发环境131DELPHI70的新特点DELPHI70是BORLAND公司出品的开发工具,是一个针对WINDOWS平台上的跨平台快速开发(RAD)环境。DELPHI70的一个显著特性是企业开发和部署。通过新的UML设计器和模型驱动的构架(MDA)技术,它允许开发者利用企业应用开发方法,更快地把概念变成产品。1、企业应用的MDA开发通过让开发者从设计到发布都重复使用一个应用程序,加速开发进程,同时显著减少代码量和需要的开发时间。2、可视化的快速WEB开发让开发者能够在DELPHI70环境中可视化地创建WEB应用,并且它的应用模型框架,不必再考虑通用的服务器端的开发任务,还能透明地处理会话管理。3、内建的对LINUX的跨平台支持DELPHI70在出售时将附带DELPHI语言版本的KYLIX3。KYLIX3是第一个LINUX操作系统上的高性能的可视化集成开发环境(IDE),他适合用来快速创建数据库应用、GUI应用、WEB应用和WEB服务应用。4、企业级的报表能力让开发者能创建跨平台的报表,这些报表能帮助查看应用程序运行的效率。5、免费的DATASNAP多层应用开发(即MIDAS)新的DELPHI7STUDIODATASNAP授权协议允许开发者无缝地升级单层和客户/服务器应用到多层应用,而无需额外的运行时使用费。6、WINDOWSXP应用DELPHI7包含了对WINDOWSXP风格支持,让开发者能够创建可以利用WINDOWSXP使用者界面风格的应用。基于以上理由,我们毫不忧郁的选择了DELPHI做为我们的开发工具。DELPHI类可以粗略地分成两部分一部分是组件类,这些组件类通常以某种方式出现在组件面板上,当用户从组件面板上点取一个类的图标后,在程序中就自动生成了该类的对象(非可视组件除外);另一部分是功能类,这此功能类的对象通常出现在程序代码中,起着不可代替的作用,但是这些功能类在组件面板上是找不到的。在DELPHI中,每一个类的祖先都是TOBJECT类,整个类的层次结构就像一棵倒挂的树,在最顶层的树根即为TOBJECT类。这样,按照面向对象编程的基本思想,就使得用户可用TOBJECT类这个类型代替任何其它类的数据类型。实际上在DELPHI的类库中,TOBJECT类派生出了为数相当众多的子类,它们形成了一个庞大的体系,通常情况下,如果不自行开发组件,就不必了解整个类的体系结构,只用到类层次树的叶结点就足够了。132系统运行平台硬件要求主机兼容机(PENTIUMIII或更高)内存RAM最小128MB推荐256MB磁盘驱动器CDROM驱动器硬盘所需空间至少700M软件要求操作系统WINDOWS98,WINDOWS2000,WINDOWSXP等一系列操作系统。数据库SQLSERVER开发工具DELPHI7014全文结构上面我们对该系统的开发环境及开发工具做了简要的介绍,以下我们将逐步介绍开发技术的设计、系统的分析与设计、系统功能的实现等。第二章数据库技术分析21数据库理论基础数据库处理在信息系统的研究中一直是非常重要的主题,然而近年来随着WORLDWIDEWEBWWW的猛增及INTERNET技术的迅速发展,使得数据库技术之时成为最热门技术之一。数据库技术能使INTERNET应用超越具有早期应用特点的简单的发布。同时INTERNET技术提供了一种向用户发布数据库内容的标准化的访问方法,这些技术没有脱离经典数据库技术的要求。它们只是加重了数据库技术的重要性。数据库的设计和开发既包括艺术又包括工程。理解用户的需求,然后把它们转变为有效的数据库设计是一个艺术过程。把设计转变为实际的数据库,并且这些数据库带有功能完备、高效能的应用,是一个工程过程。数据库的目的是帮助人们跟踪事务。经典的数据库应用涉及诸如订单、顾客、工作、员工、学生、电话之类的项,或其它数据量较大、需要密切关注的事务。最近,由于数据库的普及,数据库技术已经被应用到了新的领域,诸如用于INTERNET的数据库或用于公司内联网的数据库。数据库也被越来越多地应用于生成和维护多媒体应用程序上。211数据库管理系统数据库管理系统(DBMS)是用描述、管理和维护数据库的程序系统,是数据库系统的核心组成部分。它建立在操作系统的基础上,对数据库进行统一的管理和控制。其主要功能有1、描述数据库描述数据库的逻辑结构、存储结构、语义信息和保密要求等。2、管理数据库控制整个数据库系统的运行,控制用户的并发性访问,检验数据的安全、保密与完整性,执行数据的检索、插入、删除、修改等操作。3、维护数据库控制数据库初始数据的装入,记录日志,监视数据库性能,修改更新数据库,重新组织数据库,恢复出现故障的数据库。4、数据通信组织数据的传输。212数据库系统设计在软件需求分析阶段,搞清楚了软件“做什么”的问题,形成了目标系统的逻辑模型。现在我们所要做的就是要把软件“做什么”的逻辑模型变换为“怎么做”的物理模型,即着手实现软件的需求。首先,我们需要描述的是系统的总的体系结构1、数据库模块设计系统的概要设计中最重要的就是系统模块化设计。模块化是指解决一个复杂问题时自项向下逐层把软件系统划分成若干个模块的过程。每个模块完成一个特定的功能,所有的模块按某种方法组织起来,成为一个整体,完成整个系统所要求的功能。将系统划分为多个模块是为了降低软件系统的复杂性,提高可读性、可维护性,但模块的划分不能是任意的,应尽量保持其独立性。也就是说,每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单,即尽量做到高内聚低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础。2、数据表设计数据表的设计是指设计数据库中表的结构,数据表的逻辑结构包括属性名称,类型、表示形式、缺省值、是否关键字、可否为空等。关系型数据库要尽量按关系规范化要求进行数据库设计,但为了使效率高,规范化程度应用环境和条件来决定。数据表设计不仅要满足数据存储的要求,还要增加一些如反映有关信息、操作责任、中间数据的字段或临时数据表。3、存储设备和存储空间组织确定数据的存放地点、存储路径、存储设备等,备份方案,对多版本如何保证一致性和数据的完整性。4、数据使用权限设置针对用户的不同使用要求,确定数据的用户使用权限,确保数据完全。22数据库的逻辑结构用DELPHI70开发数据库应用,重点是和各种数据库组件打交道,数据集是一组离散的数据记录的集合。在DELPHI中,数据集有3种表现形式表,查询,存储过程;3种形式的数据集分别用TTABLE,TQUERY,TSTOREDPROC来操纵。而TTABLE,TQUERY,TSTOREDPROC的直接上级是TDBDATASET,TDBDATASET而是从TDBEDATASET派生的,而TDBEDATASET又是从TDATASET派生的。这些数据集之间的继承关系如图示TDATASOUCE对象用于在DATASET对象(包括TTABLE,TQUERY,TSTOREDPROC)和数据感TDATASETTCUSTOMADODATASETTADODATASETTADOTABLETADOQUERYTADOSTOREDPROCTBDEDATASETTNESTEDTABLETBDEDATESETTTABLETQUERYTSTOREDPROCTCLIENTDATASET知组件之间提供一个连接的纽带,以便在窗体上显示数据库中的数据,在数据库中导航定位与编辑数据集中的数据。数据感知组件负责数据库的显示,并把用户对数据的修改传回。这里面的绝大多数组件,如DBEDIT,DBTEXT,DBMEMO,DBCOMBOBOX等的功能和对应的非数据感知组件相同。结合自己的系统,我使用了以下的数据库应用的逻辑三层的结构如下图所示23在DELPHI中存取数据库DELPHI对数据库的操作主要是利用BDE(数据库引擎,BORLANDDATABASEENGINE的缩写)来进行。当然,通过其他方式直接访问数据库,在DELPHI中也都是可以实现的。不过,对于本地数据库来说,通过BDE存取数据效率很高。对本地数据库如果能够熟练操作,编写网络数据库也就容易上手了。BDE是负责用户和数据库交流的中间媒介。事实上,应用程序是通过数据访问组件和BDE连接,再由BDE去访问数据库,完成对数据库的操作,而并非直接操作BDE。这样用户只需关心DELPHI中的数据组件即可,不用直接和BDE打交道。数据库组件主要分为两类“数据访问组件”和“数据控制组件”,它们和数据库的关系可用下面的关系图来示意用户数据控制组件数据库BDE数据访问组件客户端应用程序用户界面数据模块TDATASOUCETTABLETQUERYBDE数据库服务器1、数据访问组件(DATAACCESSCOMPONENT)数据访问组件在DELPHI组件面板的DATAACCESS组件页上可以找到。这里我们应当注意TABLE、QUERY和STOREDPROC三个控件,它们称为“数据集组件”,用于和数据库连接。学习者可以将这些控件视为“虚拟”的数据库,对它们的操作就可以认为是对数据库的操作。DATASOURCE控件是数据集组件和数据控制组件的连接媒介。数据控制组件是用户操作数据库中数据的界面,只有通过DATASOURCE控件才能和数据集组件连接,从而对数据进行显示、修改、维护等操作。TABLE控件是通过数据库引擎BDE来存取数据库中的数据的。通过BDE将用户对数据库的操作(如添加、删除、修改等)传递给数据库。QUERY控件是利用SQL(STRUCTUREDQUERYLANGUAGE,结构化查询语言)通过BDE来操作数据库的,和TABLE控件完成的功能相似,它只是采用了SQL来实现。STOREDPROC控件是通过BDE对服务器数据库进行操作的,常用于客户/服务器(C/S)结构的数据库应用程序。DATABASE控件一般用于建立远程的数据库服务器客户/服务器结构的数据库应用程序和数据库之间的连接。SESSION控件是用于控制数据库应用程序和数据库连接的,主要用于复杂功能的实现,例如多线程数据库程序设计。2、数据控制组件(DATACONTROLCOMPONENT)数据控制组件也可以称为数据显示组件或数据浏览组件。它们的主要功能是与数据访问组件相配合,提供给用户一个对数据进行浏览、编辑等操作的界面。数据控制组件在组件板上的DATACONTROL页上。它们主要有DBGRID控件、DBNAVIGATOR控件、DBTEXT控件、DBEDIT控件、DBMEMO控件、DBIMAGE控件、DBLISTBOX控件、DBCOMBOBOX控件、DBCHECKBOX控件、DBRADIOGROUP控件、DBLOOKUPLISTBOX控件、DBLOOKUPCOMBOBOX控件、DBRICHEDIT控件、DBCTRLGRID控件、DBCHART控件等。24SQL语言在DELPHI中的运用在DELPHI中使用SQL语言非常方便,一般来说,都是通过TQUERY组件来使用SQL语言的。可以在TQUERY组件的SQL属性中设置SQL语句。设计程序时,在该组件的属性对话框中选择SQL属性,单击带省略号的按钮,就可以打开STRINGLISTEDITOR对话框,然后我们就可以在对话框中添加SQL语句。还可以使用DELPHI的SQLBUILDER来自动生成SQL语句,这样可以避免手工编写SQL而可能造成的语法错误。静态SQL语句在程序设计时便已固定下来,它不包含任何参数和变量。动态SQL语句,也被称作参数化的语句,在其中间包含着表示字段名或表名的参数,例如下面的语句是一条动态SQL语句SELECTFROMSTUDENTSWHERESTUDENTCODESTUDENTCODE其中的变量STUDENTCODE便是一个参数变量,它由一个冒号引导,在程序运行过程中,必须要为该参数赋值,该条SQL语句才能正确执行,每次运行应用程序时可以为该参数变量赋予不同的值。为参数赋值有三种方法根据参数在SQL语句中出现的顺序,设置TQUERY部件的PARAMS属性值为参数赋值。直接根据SQL语句中各参数的名字,调用PARAMBYNAME方法来为各参数赋值。将TQUERY部件的DATASOURCE属性设置为另一个数据源,这样将另一个数据源中与当前TQUERY部件的SQL语句中的参数名相匹配的字段值赋给其对应的参数。利用这种方法也能实现所谓的连接查询,创建主要明细型数据库应用。在程序运行过程中,要想设置TQUERY部件的SQL属性,必须首先调用CLOSE方法,关闭TQUERY部件,然后再调用CLEAR方法清除SQL属性中现存的SQL命令语句,最后再调用ADD方法为SQL属性设置新的SQL命令语句。例如QUERY1CLOSE关闭QUERY1QUERY1SQLCLEAR清除SQL属性中的SQL命令语句QUERY1SQLADDSELECTFROMSTUDENTSQUERY1SQLADDWHERENAME“LUCY“在为TQUERY部件设置SQL属性时调用CLOSE方法总是很安全的,如果TQUERY部件已经被关闭了,调用CLOSE方法时不会产生任何影响。在应用程序中为SQL属性设置新的SQL命令语句时,必须要调用CLEAR方法以清除SQL属性中现存的SQL命令语句,如果不调用CLEAR方法,便调用ADD方法向SQL属性中设置SQL命令语句,那么新设置的SQL命令语句会追加在现存SQL命令语句后面,在程序运行时常常会出现出乎意料的查询结果甚至程序无法运行下去。在这里要特别注意的,一般情况下TQUERY部件的SQL属性只能包含一条完整的SQL语句,它不允许被设置成多条SQL语句。当然有些数据库服务器也支持在TQUERY部件的SQL属性中设置多条SQL语句,只要数据库服务器允许这样,我们在编程时可以为SQL属性设置多条SQL语句。在为TQUERY部件设置完SQL属性的属性值之后,也即编写好适当的SQL程序之后,可以有多种方式来执行SQL程序。在设计过程中,设置完TQUERY部件的SQL属性之后将其ACTIVE属性的值置为TRUE,这样便可以执行SQL属性中的SQL程序,如果应用中有与TQUERY部件相连的数据浏览部件如TDDGRIDTDBEDIT等那么在这些数据浏览部件中会显示SQL程序的执行结果。在应用程序运行过程中,通过程序调用TQUERY部件的OPEN方法或EXECSQL方法可以执行其SQL属性中的SQL程序。OPEN方法和EXECSQL方法是不一样的。OPEN方法只能用来执行SQL语言的查询语句SELECT命令,并返回一个查询结果集,而EXECSQL方法还可以用来执行其它常用的SQL语句如INSERT,UPDATE,DELETE等命令,例如QUERY1OPEN这样会返回一个查询结果集如果调用OPEN方法,而没有查询结果时,会出错。此时应该调用EXECSQL方法来代替OPEN方法。如QUERY1EXECSQL没有返回结果当然在设计应用程序时,程序设计人员是无法确定TQUERY部件中的SQL语句是否会返回一个查询结果的。对于这种情况应当用TRYEXCEPT模块来设计程序。在TRY部分调用OPEN方法,而在EXCEPT部分调用EXCESQL方法,这样才能保证程序的正确运行。25本章小结本章内容主要介绍了本系统采用的数据库技术及工具的特点。第三章系统分析与设计31系统功能需求试卷自动生成系统为了使得教学更具备针对性,让出卷工作和试卷管理变得高效而便捷,提高工作效率。将老师从出卷工作中解放出来,轻轻松松的出题,并可将试题进行统计、保存,定义试题的难易程度。通过该系统,老师可将多年来教学中的经典试题进行管理,并共享给同教学组的其他老师,从整体提升了老师的教学质量,提高了学生考试通过率,扩大学校的知名度。32系统介绍该系统可以设置管理员和一般用户,一般用户只能对试卷更改,而管理员还能对题库进行操作。321总体框架系统可分为4个模块来设计1系统管理2试卷管理3题库管理4帮助系统功能模块结构图试卷自动生成系统系统管理登陆系统试卷管理题库管理修改密码用户添加用户删除修改权限数据管理退出系统试题输入试题查询试题添加试题修改手工生成自动生成试卷修改试卷删除试卷预览322系统功能特点1、系统管理模块具有管理用户和密码,数据还原和备份,注销和退出系统。2、试卷管理模块能够自动或手动生成试卷,对生成好的试卷进行修改、删除和预览。3、题库管理模块对题库中的试题与答案可进行整体浏览,或根据用户选择的具体查询条件进行相应的查询,也可以对试题库中的试题进行修改、删除等维护操作。4、帮助模块是对该系统的介绍和使用说明。33系统设计331系统的开发原理该系统主要采用SQLSERVER数据库、DELPHI语言等技术,整体设计遵循软件工程的方法,经过需求分析、总体设计、文档和代码的编制、模块测试和系统实现几个阶段。332系统的总体设计事务题库管理程序操作记录题库事务试卷生成程序试卷34系统的详细设计1、登录系统登录时将注册表中的用户名、口令、权限字符串取出,并分解到相应的数组中,将用户输入的用户名与用户名数组中的各元素比较,若在该数组中找到该用户名,则取出该元素在数组中的位置,再将用户输入的口令与口令数组中的相同位置的元素相比较,如一致则登录成功,将权限数组中相同位置的元素取出,得到该用户拥有的权限值,然后根据权限值给该用户分配操作功能,否则登录失败。2、试题录入功能能将每道题的全部信息(包括每道题的题型、难度系数、分值等)录入到试题库中,而且若试题或答案中含有图形或公式,可以进行相应的录入。在试卷生成时,按照各题型的统计信息选择题型难度及数量选择结束后,已选择信息将存储在试题库中,以此继续下一题型的选择,直到全部选择完毕。3、题库管理功能对题库中的试题与答案可进行整体浏览,或根据用户选择的具查询条件进行相应的查询,也可以对试题库中的试题进行修改、删除等维护操作。4、试卷生成提供按预定要求全自动或人工控制的自动生成功能,同时提供生成试卷对应答案的功能。5、试卷浏览与修改功能可对当前试卷进行整体浏览,并对不满意的试题进行修改和删除。6、试卷打印试卷生成的结果有两种,一种是固定的打印输出格式,可直接打印输出;另一种是生成一个自由格式的文本文件,可利用本功能直接启动2000进行编辑排版,也可退出本系统,启动其他文字处理软件(如、等)进行编辑处理,处理完毕后可直接打印输出;复习题打印过程与此基本相同;对应的试卷答案或复习题答案可同时或单独打印,过程类似。7、用户管理功能为不同级别的用户设定密码,登录后方可实现对应的操作。35本章小结以上介绍了本系统的模块功能及其它特点,为下面模块的具体设计提供了总体的框架。第四章系统功能的实现41系统结构和主要界面该系统主要要有四个大模块组成,分别是系统管理、试卷管理、题库管理、帮助。具体结构如下411系统登入界面和首页界面用户以管理员的身份登入系统,登入后进入系统的首页。412系统管理模块该模块主要包括以下几个功能用户管理、权限管理、密码管理、数据备份、数据还原、注销和退出系统。1、用户管理对该系统的所有用户进行管理包括删除用户名、添加用户名等。2、权限管理该模块是选择一般用户所具有的功能,而管理员享有系统的所有功能。3、密码管理对一般用户和管理员的密码进行修改。4、数据备份和数据还原该模块提供数据库的备份功能,并可根据用户的实际需要自行恢复,提高使用的方便性。413试卷管理模块该模块主要包括定制试卷、试卷预览这两个部分。1、定制试卷这是本系统最重要的部分,自动生成试卷功能。2、试卷预览浏览所生成试卷的样子,看所生成的试卷符合用户的需要。414题库管理模块该模块包括对5大题型(选择题、填空题、判断题、简答题、论述题)的修改、添加、删除等功能。1、选择题2、填空题3、判断题4、简答题5、论述题42数据库的设计和构建数据只有用数据库来管理才能有自动化管理的可能。数据的结构将影响整个管理机制的应用,而且一旦建立以后要修改常会出现麻烦。所以一开始就要仔细慎重地搭建一个完整而合理的结构。本系统数据库采用SQLSERVER2000数据库主要由以下几个表格组成系统用户表、试卷表、试卷管理表、题型表、题库结构的表。1、系统用户表列名数据类型长度允许为空主键IDCHAR10YESNOMICHAR6YESNOQXCHAR1YESNO2、试卷表列名数据类型长度允许为空主键JNOINT4YESNOJNAMEVARCHAR255YESNOZONGFENINT4YESNOCHOOSE_NUMINT4YESNOCHOOSE_SCOREINT4YESNOCHOOSE_SUMINT4YESNOJUDGE_NUMINT4YESNOJUDGE_SCOREINT4YESNOJUDGE_SUMINT4YESNOREADPRO_NUMINT4YESNOREADPRO_SCOREINT4YESNOREADPRO_SUMINT4YESNOFILLTEXT_NUMINT4YESNOFILLTEXT_SCOREINT4YESNOFILLTEXT_SUMINT4YESNOPROCEDUCE_NUMINT4YESNOPROCEDUCE_SCOREINT4YESNOPROCEDUCE_SUMINT4YESNO3、试卷管理表列名数据类型长度允许为空主键JNAMEVARCHAR50YESNOSIGNVARCHAR10YESNOPAPERTEXTVARCHAR8000YESNOANSWERTEXTVARCHAR8000YESNO4、题型表列名数据类型长度允许为空主键KINDCHAR1YESNONAMEVARCHAR50YESNOSCORETINYINT1YESNO5、题库结构的表列名数据类型长度允许为空主键TNOINT4YESYESTIGANVARCHAR500YESNOXAVARCHAR100YESNOXBVARCHAR100YESNOXCVARCHAR100YESNOXDVARCHAR100YESNOANSWERCHAR1YESNOSCORETINYINT1YESNODIFFICULTYCHAR1YESNONOTEVARCHAR200YESNO43数据库的连接BDE数据库技术BDE是BORLAND自带的数据引擎,能够对本地数据库快速,高效率的连接。步骤(1)首先添加本系统中的数据名ABAO到SQLSERVER中;(2)单击管理工具中的数据源,然后单击添加,进入创建新数据源;(3)选择SQLSERVER单击完成进入创建新的数据源;(4)单击“下一步”,勾起“更改默认的数据库”,选择数据库ABAO,最后测试成功。44主要功能的实现代码441用户登入功能的实现代码用户登入主要代码实现PROCEDURETLOGINFORMBITBTN2CLICKSENDERTOBJECTBEGINIFMESSAGEDLG确认要退出系统吗,MTCONFIRMATION,MBYES,MBNO,0MRYESTHENAPPLICATIONTERMINATEENDPROCEDURETLOGINFORMFORMCREATESENDERTOBJECTBEGINFLASHFALSET0QUERY1CLOSEQUERY1SQLCLEARQUERY1SQLADDSELECTFROMUQUERY1OPENWHILENOTQUERY1EOFDOBEGINCOMBOBOX1ITEMSADDTRIMQUERY1FIELDBYNAMEIDASSTRINGQUERY1NEXTENDENDPROCEDURETLOGINFORMBITBTN1CLICKSENDERTOBJECTBEGINQUERY1CLOSEQUERY1SQLCLEARQUERY1SQLADDSELECTFROMUWHEREIDP1ANDMIP2QUERY1PARAMS0ASSTRINGCOMBOBOX1TEXTQUERY1PARAMS1ASSTRINGEDIT1TEXTQUERY1OPENINCTIFQUERY1RECORDCOUNT0THENBEGINMAINFORMUSERNAMECOMBOBOX1TEXTMAINFORMPASSWORDEDIT1TEXTMAINFORMSTATUSBAR1PANELS1TEXT当前用户COMBOBOX1TEXTIFQUERY1FIELDBYNAMEQXASSTRINGBTHENBEGINIFRIGHTFORMCHECKBOX1STATECBCHECKEDTHENMAINFORMN3ENABLEDTRUEELSEMAINFORMN3ENABLEDFALSEIFRIGHTFORMCHECKBOX2STATECBCHECKEDTHENMAINFORMN18ENABLEDTRUEELSEMAINFORMN18ENABLEDFALSEIFRIGHTFORMCHECKBOX4STATECBCHECKEDTHENMAINFORMN6ENABLEDTRUEELSEMAINFORMN6ENABLEDFALSEIFRIGHTFORMCHECKBOX5STATECBCHECKEDTHENMAINFORMN7ENABLEDTRUEELSEMAINFORMN7ENABLEDFALSEIFRIGHTFORMCHECKBOX7STATECBCHECKEDTHENMAINFORMN10ENABLEDTRUEELSEMAINFORMN10ENABLEDFALSEENDIFQUERY1FIELDBYNAMEQXASSTRINGATHENBEGINMAINFORMN3ENABLEDTRUEMAINFORMN6ENABLEDTRUEMAINFORMN7ENABLEDTRUEMAINFORMN10ENABLEDTRUEMAINFORMN18ENABLEDTRUEENDHAVELOGINTRUELOGINFORMCLOSEENDELSEBEGINSHOWMESSAGE密码输入错误,请重新输入IFT3THENBEGINMESSAGEBOXHANDLE,输入密码错误超过三次,程序退出,信息,MB_OKCLOSEAPPLICATIONTERMINATEENDELSEBEGINEDIT1TEXTEDIT1SETFOCUSENDENDENDPROCEDURETLOGINFORMEDIT1KEYDOWNSENDERTOBJECTVARKEYWORDSHIFTTSHIFTSTATEBEGINIFKEY13THENBITBTN1CLICKSENDERENDPROCEDURETLOGINFORMFORMSHOWSENDERTOBJECTBEGINEDIT1SETFOCUSEND442数据备份的实现代码PROCEDURETBACKUPFORMBITBTN1CLICKSENDERTOBJECTVARFAILUREBOOLEANBEGINFAILUREFALSEIFNOTCOPYFILEDDELPHIZYDATAA,PCHARTRIMEDIT1TEXT,FALSETHENFAILURETRUEIFFAILURETHENSHOWMESSAGE数据备份没有成功ELSESHOWMESSAGE数据备份成功ENDPROCEDURETBACKUPFORMSPEEDBUTTON1CLICKSENDERTOBJECTBEGINIFSAVEDIALOG1EXECUTETHENEDIT1TEXTSAVEDIALOG1FILENAMEENDPROCEDURETBACKUPFORMBITBTN3CLICKSENDERTOBJECTVARISTRINGFAILUREBOOLEANBEGINFAILUREFALSEIEXTRACTFILEPATHAPPLICATIONEXENAMEIFNOTCOPYFILEPCHARIABAO,PCHARTRIMEDIT1TEXT,FALSETHENFAILURETRUEIFFAILURETHENSHOWMESSAGE数据备份没有成功ELSESHOWMESSAGE数据备份成功END443试卷自动生成的实现代码(部分)PROCEDURETPAPERAUTOFORMBITBTN1CLICKSENDERTOBJECTVARTT,PP,CC,MM,II,N,DIFFNUM,TEMP,M,R,RAN,Q,I,JINTEGERT,HADEBOOLEANC,F,JU,RE,PINTEGERBEGINPP1IFCOMBOBOX2TEXTTHENBEGINSHOWMESSAGE请选择试卷难度EXITEND/LABEL3CAPTION/LABEL3CAPTION试卷正在提取中,请耐心等待/LABEL3SHOWCCHOOSENUMBERFFILLTEXTNUMBERJUJUDGENUMBERREREADPRONUMBERPPROCEDURENUMBERPROGRESSBAR1POSITION0PROGRESSBAR1MAXPAPERALLNUMBER10PROGRESSBAR1POSITION10RANDOMIZETEMP0I1TFALSEDEFINEDIFFCOMBOBOX2ITEMINDEX1FORIILISTBOX2ITEMSCOUNT1DOWNTO0DOBEGINIFLISTBOX2ITEMSII第一章C语言基础知识THENTF1TIFLISTBOX2ITEMSII第二章数据类型、运算符与表达式THENTF2TIFLISTBOX2ITEMSII第三章顺序结构THENTF3TIFLISTBOX2ITEMSII第四章选择结构THENTF4TIFLISTBOX2ITEMSII第五章循环控制THENTF5TIFLISTBOX2ITEMSII第六章数组指针THENTF6TIFLISTBOX2ITEMSII第七章函数结构体与共用体THENTF7TIFLISTBOX2ITEMSII第八章预处理命令THENTF8TIFLISTBOX2ITEMSII第九章常用算法设计THENTF9TEND/选择题PAPERAUTOFORMMEMO1TEXTPAPERAUTOFORMMEMO1TEXTDEFINEPAPERFORMDBEDIT1TEXT总分DEFINEPAPERFORMDBEDIT2TEXT131013101310PAPERAUTOFORMMEMO1TEXTPAPERAUTOFORMMEMO1TEXT学校_班级_姓名_得分_13101310AUTOANSWERFORMMEMO1TEXTAUTOANSWERFORMMEMO1TEXTDEFINEPAPERFORMDBEDIT1TEXT答案13101310IFDEFINEPAPERFORMDBEDIT3TEXT0THENBEGINTT0PAPERAUTOFORMMEMO1TEXTPAPERAUTOFORMMEMO1TEXT1310TMNOPP选择题共DEFINEPAPERFORMDBEDIT3TEXT小题,每题DEFINEPAPERFORMDBEDIT6TEXT分,小计DEFINEPAPERFORMDBEDIT9TEXT分)1310AUTOANSWERFORMMEMO1TEXTAUTOANSWERFORMMEMO1TEXT1310TMNOPP选择题1310PPPP1ENDBEGINQUERY1CLOSEQUERY1SQLCLEARQUERY1SQLADDSELECTTNOFROMTI_CHOOSEIFLISTBOX2COUNT1THENBEGINFORMM1TO9DOBEGINIFTFMMTTHENBEGINQUERY1SQLADDWHERETNONOTLIKEINTTOSTRMMBREAKENDENDIFLISTBOX2COUNT1THENBEGINFORMM1TO9DOIFTFMMTTHENBEGINQUERY1SQLADDANDTNONOTLIKEINTTOSTRMMENDENDENDQUERY1OPENQUERY1FIRSTWHILENOTQUERY1EOFDOBEGINHADEFALSEIFI1THENBEGINTHAOIQUERY1FIELDVALUESTNODIV10ENDELSEIFI1THENBEGINFORJI1DOWNTO1DOBEGINIFTHAOJQUERY1FIELDVALUESTNODIV10THENBEGINTTRUEBREAKENDELSETFALSEENDIFNOTTTHENBEGINTHAOIQUERY1FIELDVALUESTNODIV10TFALSEENDENDQUERY1NEXTIFNOTTTHENII1ENDTEMPRANDOMI11RT

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论