1、工程设计 技术专题研究 理论研究 软硬件产品开发一、 设计任务及要求1按照某学院教务部门管理考试信息系统的需求分析及总体设计方案。2考试管理包括 用户管理、试题管理、试卷管理、登录用户权限管理、用户注册管理等几个方面 。3采用Access数据库,使用Delphi6.0 开发工具实现本需求分析所涉及的功能,保证软件能够正常使用 二、 应完成的硬件或软件实验 用Delphi工具开发系统,并进行系统测试。三、 应交出的设计文件及实物(包括设计论文、程序清单或磁盘、实验装置或产品等) 毕业设计、毕业论文、含毕业设计论文和源代码的光盘 四、 指导教师提供的设计资料1电子稿件和电子图书 2朱振元编著 De
2、lphi面向对象程序设计及其应用 西安电子科技大学出版社 3吕伟臣编著 Delphi入门与提高 清华大学出版社 五、 要求学生搜集的技术资料(指出搜集资料的技术领域)1软件工程方法资料。2考试题库系统开发资料 3Access 、Delphi6.0 资料 六、 设计进度安排第一部分 熟练课题,收集、整理课题相关资料 ( 1 周)第二部分 系统需求分析与总体设计 ( 2 周)第三部分 熟悉系统实现平台:熟练掌握delphi6.0及Access ( 2 周)第四部分 详细设计、编码、测试 ( 3 周)第五部分 毕业设计论文文档编写整理 ( 2 周)评阅或答辩 ( 1 周)学院审查意见:审 批 人:诚
3、信承诺一、 本设计是本人独立完成;二、 本设计没有任何抄袭行为;三、若有不实,一经查出,请答辩委员会取消本人答辩(评阅)资格。承诺人:年月日摘 要 I摘 要目前考试系统越来越被人们所重视,它可以为院系教务部门的决策制定提供强有力的数据支持。为此,作者开发了考试题库系统,以现代计算机技术为工具来管理学生的考试进程,方便教师和管理考试人员的工作。本系统探讨数字电子技术基础课程无纸化考试系统的设计方法,并加以实现,主要负责生成试卷和管理题库。用户根据不同的权限访问系统,对试卷的编码、生成等信息进行日常维护,并能生成试卷供学生测试。从数据库的安全性出发,根据需要可对数据库或数据表中的信息进行备份和恢复
4、,以防止因不慎丢失数据而给用户造成不必要的麻烦。本系统在设计过程中以人为本,充分考虑了用户的需求,界面力求简单;使用了Delphi6.0开发前台应用程序,采用Access2000为后台数据库开发工具,它是一套完整的基于C/S考试系统。包括考生登入、考生退出、文字录入、数据库操作、Word字表处理等主要模块。系统具有维护简单、使用方便等特点,可应用于数字电路技术基础的教学中。关键词:考试题库系统, Delphi, Access, 功能模块,无纸化考试第1章 前 言本文介绍的无纸化模拟测试系统的实现方式,并采用面向对象的开发工具Delphi来实现系统的功能,系统的主要特点如下:1. 系统的答题界面
5、美观合理,答题方式方便灵活,系统采用一套可视化的答题组件接受答题信息,而每一答题组件都是根据试卷中试题的题型动态生成的,答题时随试卷中的当前试题的变化而改变。2. 系统提供了“题库保存”功能,提供“题库打印”功能。3. 系统具有“考前设置”“考生认定”等一系列的控制功能及“答题”“参考答案”等一系列的处理功能。面向教师的功能和面向考生的功能分别设置在服务器端和客户端,功能完善,可靠性和执行效率较高。1.1 课题的来源和目的1.1.1 教育信息化的趋势以计算机和现代网络技术为特征的现代信息技术极大地促进了社会经济的发展,也引发了一场知识和信息的革命。自20世纪90年代以来,国际教育界出现了以信息
6、技术(IT)的广泛应用为特征的发展趋向,国内学者称之为教育信息化现象。什么是教育信息化呢?教育信息化是指以现代信息技术为基础的新教育体系,包括教育观念、教育组织、教育内容、教育模式、教育技术、教育评价、教育环境等一系列的改革和变化。其主要特点是在教学过程中广泛应用以电脑多媒体和网络通讯为基础的现代化信息技术。教育信息化使现行的教育方式面临着前所未有的挑战。为了迎接新世纪的挑战,国务院转发了面向21世纪教育振兴行动计划,教育部将按照统一规划的原则,分三个层面推进教育信息化:第一个层面是以多媒体计算机技术为核心的教育技术在学校的普及和运用;第二个层面是网络的普及和应用,利用网上资源提高教学质量;第
7、三个层面是开办现代远程教育,建设并提供大量的网络资源,不断满足社会日益增长的终身教育需求。我国的教育科研网经过十多年的建设,已初具规模,但是在此基础上的网络资源利用率并不高,很多可以用网络基础设施及现有的硬软件条件实现的教学过程仍然沿用传统的方式,这无疑是对现有网络资源的浪费,追根究底,主要是因为与教学相关的应用系统的开发还比较匮乏。1.1.2 传统的考试活动我国近年来在实行教学体制的改革,对检验教师教学效果和学生学习效果的手段也一直在探讨中,但是在现在以及将来的一段时间内,教师出卷学生答卷模式仍然是大多数学校首选的手段。而且多数情况下还是沿用传统手工处理方式,传统手工方式对处理主观性试卷的有
8、一定的优越性势,但又不可避免的将出现以下问题。1. 试卷缺乏随机性:因为在手工方式下,由教师手工编写具体的试卷,其中的每道试题均由教师指定,每次考试只有有限的一两套试卷,对于每个考生来说缺乏随机性,这就有可能发生下面两种情况,一种就是试卷在从教师向学生传递的过程中发生泄密,因为这个传递过程要经历好几个环节;另外一种则是在考试过程中难以从技术上避免作弊行为的发生,因为在多数情况下某门课程的所有考生都面对内容,形式完全相同的一套试卷,虽然现在有的考试采取了A/B卷的方法,但是仍不能算是一种行之有效的方法。2. 教师的工作量极大,负担重:这主要表现在出卷环节和评卷环节上。出卷时,教师一方面要总结、整
9、理本学期的教学内容和归纳知识要点,另一方面还要手工出题组织试卷。考试完毕后,学生返回的试卷均要由教师手工评阅评分,最后还要由教师登记分数、讲评试卷。可见教师在整个考试过程中的工作量大,工作效率不高。3. 考试场所缺乏灵活性,考生必须在统一规定的考试地点进行考试(有时甚至具体到考试座位),这对本地考生可能问题不大,但有时却给外地考生带来了很大的不便。而且,每个考场必须由专门监考人员管理,这也是一笔不小的人力资源开销。4. 此外,这种方式无法适应现代远程教育的需要。本文所讲到的考试系统即是考虑到学校用传统的手工方式处理考试活动的不足,旨在用现代信息技术将考试活动纳入到学校的教育信息化系统的建设中,
10、以充分利用网络资源来共享学校的教学资源。这也是本课题的目的所在。1.2 开发工具的选择1.2.1 Delphi简介Delphi是面向对象的可视化编程工具,利用该工具既可以开发系统软件,也可以开发包括数据库软件在内的各种应用程序。Delphi是全新的可视化编程环境,为我们提供了一种方便、快捷的Windows应用程序开发工具。它使用了Microsoft Windows图形用户界面的许多先进特性和设计思想,采用了弹性可重复利用的完整的面向对象程序语言(Object-Oriented Language)、当今世界上最快的编辑器、最为领先的数据库技术。对于广大的程序开发人员来讲,使用Delphi开发应用
11、软件,无疑会大大地提高编程效率,而且随着应用的深入,您将会发现编程不再是枯燥无味的工作Delphi的每一个设计细节,都将带给您一份欣喜。其主要特点有:1. 集成化的开发环境设计功能:可以在一个集成的环境中完成应用程序的开发、测试和维护。2. 优秀的界面设计功能:Delphi提供了大量的用于设计界面的控件,用它们可以设计出各种优秀的用户界面。而且,Delphi还可以自动生成众多的定制界面,极大地简化了界面设计工作。3. 强大的数据库功能:Delphi提供了许多与数据库相关的控件,用它们可以快速开发功能强大的数据库应用程序。Delphi中内置的数据库引擎支持访问Paradox、AccessFoxp
12、ro、dBase、Informix、Oracle、Sybase以及SQL Server等多种数据库。4. 支持Internet/Internet开发:Delphi的Client/Server版本提供了几个用于开发Internet/Internet应用程序的组件,这些组件可以处理与Web服务器的所有通信服务。5. 支持ActiveX控件:Delphi提供了创建ActiveX控件的向导。创建的ActiveX控件可以用于其他开发工具,如C、Java、Visual Basic以及PowrBuilder等。Delphi实际上是Pascal语言的一种版本,但它与传统的Pascal语言有天壤之别。一个Del
13、phi程序首先是应用程序框架,而这一框架正是应用程序的“骨架”。在骨架上即使没有附着任何东西,仍可以严格地按照设计运行。您的工作只是在“骨架”中加入您的程序。缺省的应用程序是一个空白的窗体(Form),您可以运行它,结果得到一个空白的窗口。这个窗口具有Windows窗口的全部性质:可以被放大缩小、移动、最大最小化等,但您却没有编写一行程序。因此,可以说应用程序框架通过,为用户应用程序的开发打下了良好的基础。Delphi已经为您做好了一切基础工作程序框架就是一个已经完成的可运行应用程序,只是不处理任何事情。您所需要做的,只是在程序中加入完成您所需功能的代码而已。面向对象的程序设计(Object-
14、Oriented Programming,简记为OOP)是Delphi诞生的基础。OOP立意于创建软件重用代码,具备更好地模拟现实世界环境的能力,这使它被公认为是自上而下编程的优胜者。它通过给程序中加入扩展语句,把函数“封装”进Windows编程所必需的“对象”中。面向对象的编程语言使得复杂的工作条理清晰、编写容易。说它是一场革命,不是对对象本身而言,而是对它们处理工作的能力而言。对象并不与传统程序设计和编程方法兼容,只是部分面向对象反而会使情形更糟。除非整个开发环境都是面向对象的,否则对象产生的好处还没有带来的麻烦多。而Delphi是完全面向对象的,这就使得Delphi成为一种触手可及的促进
15、软件重用的开发工具,从而具有强大的吸引力。一些早期的具有OOP性能的程序语言如C+,Pascal,Smalltalk等,虽然具有面向对象的特征,但不能轻松地画出可视化对象,与用户交互能力较差,程序员仍然要编写大量的代码。Delphi的推出,填补了这项空白。您不必自己建立对象,只要在提供的程序框架中加入完成功能的代码,其余的都交给Delphi去做。欲生成漂亮的界面和结构良好的程序丝毫不必绞尽脑汁,Delphi将帮助您轻松地完成。它允许在一个具有真正OOP扩展的可视化编程环境中,使用它的Object Pascal语言。这种革命性的组合,使得可视化编程与面向对象的开发框架紧密地结合起来。1.2.2
16、Access 简介Access2000数据库管理系统是Microsoft Office2000套件的重要组成部分,是Access的最新版本,可在Windows xp环境下运行。Access2000适用于小型商务活动,用以存贮和管理商务活动所需要的数据。Access2000不仅是一个数据库,而且它具有强大的数据管理功能,它可以方便地利用各种数据源,生成窗体(表单),查询,报表和应用程序等。数据库是有结构的数据集合,它与一般的数据文件不同,(其中的数据是无结构的)是一串文字或数字流。数据库中的数据可以是文字、图象、声音等。 Microsoft Access是一种关系式数据库,关系式数据库由一系列表
17、组成,表又由一系列行和列组成,每一行是一个记录,每一列是一个字段,每个字段有一个字段名,字段名在一个表中不能重复。每个表都有N个记录组成,一个记录占一行,每一个记录由实体的基本属性的字段组成。表与表之间可以建立关系(或称关联,连接),以便查询相关联的信息。Access数据库以文件形式保存,文件的扩展名是MDB。 Access 2000数据库由六种对象组成,它们是表、查询、窗体、报表、宏和模块。表(Table) 表是数据库的基本对象,是创建其他5种对象的基础。表由记录组成,记录由字段组成,表用来存贮数据库的数据,故又称数据表。查询(Query)查询可以按索引快速查找到需要的记录,按要求筛选记录并
18、能连接若干个表的字段组成新表。窗体(Form)窗体提供了一种方便的浏览、输入及更改数据的窗口。还可以创建子窗体显示相关联的表的内容。窗体也称表单。报表(Report)报表的功能是将数据库中的数据分类汇总,然后打印出来,以便分析。宏(Macro)宏相当于DOS中的批处理,用来自动执行一系列操作。Access列出了一些常用的操作供用户选择,使用起来十分方便。模块(Module)模块的功能与宏类似,但它定义的操作比宏更精细和复杂,用户可以根据自己的需要编写程序。模块使用Visual Basic编程。与Access 以前的版本比较,Access2000新增了许多功能,字段类型增加了OLE对象和超级链接
19、,特别是与Internet的融合,在数据库中可以直接链接到指定的Web页面或网络文件,也可以把Web页面上的表格导入到数据库。Access 2000可以方便地利用各种数据源,包括dBASE, FoxBase,FoxPro,Excel,Word 等。Access 2000增加了数据库访问的安全机制,可对表一级设置访问许可权。Access 2000还可以方便地利用FoxPro数据库、Excel电子表格的数据,还可以和Word混合使用,打印通用信函或信封。在安装Access 2000后,在“程序”菜单中会出现Microsoft Access项,单击“开始”|“程序”|“Microsoft Acces
20、s”,启动Access 2000。启动后会出现一个对话框,对话框中有两个组合框,如果要新建一个数据库可以选择“空数据库”或“数据库向导”选项,如果要打开已存在的数据库,则选择“打开已有数据库”选项,并选择要打开的数据库文件,然后单击“确定”按钮。1.2.3 C/S 简介C/S模式即客户机/服务器(Client server)体系结构是当前非常流行的计算机体系结构。在这种体系结构中,客户机提出请求,服务器对客户机的请求作出回应。在客户机/服务器体系结构中,客户机负责管理用户界面、接收用户数据、处理应用逻辑、生成数据库服务请求,然后将这些请求发送给服务器,并且接收服务器返回的结果,最后再将这些结果
21、按照一定的格式返回给用户。服务器接收客户机的请求,处理这些请求,并把处理结果返回给客户机,这些处理结果包括访问数据库的结果数据和执行状态例如成功或失败。 在典型的C/S数据库应用中,数据的储存管理功能,是由服务器程序独立进行的,并且通常把那些不同的(不管是已知还是未知的)前台应用所不能违反的规则,在服务器程序中集中实现,例如访问者的权限,编号不准重复、必须有客户才能建立定单这样的规则。所有这些,对于工作在前台程序上的最终用户,是“透明”的,他们无须过问(通常也无法干涉)这背后的过程,就可以完成自己的一切工作。在客户服务器架构的应用中,前台程序可以变的非常“瘦小”,麻烦的事情,都交给了服务器和网
22、络。在C/S体系的下,数据库真正变成了公共、专业化的仓库,受到独立的专门管理。第2章 系统设计2.1 功能设计系统的开发,主要包括后台数据库的建立和维护,以及前端应用程序的开发两个方面.前者要求建立起资料一致性、完整性强和资料安全性好的数据库;而后者则要求应用程序具有功能完备、易使用等特点.经过分析,我们使用Borland公司的Delphi6.0所提供的各种面向对象开发工具,尤其是资料窗口这一方便而简洁的操纵数据库的智能化对象.采用Access2000进行后台数据库的设计,建立了DZJS.mdb数据库,放置2张不同用途的表,用于存放考生登录信息、题库信息等. 考生通过系统提供注册界面,输入用户
23、名和密码进行注册,考生注册后系统会自动把注册信息保存到数据库的用户表格中供管理员操作;通过登录界面,考生输入正确的用户名和密码,即可登录到考试系统,考生登录后,系统自动为其建立一个考生文件夹,并分别从各类题库中随机抽取考题,形成一份试卷. 系统的功能分布在服务器端与客户端的计算机上,在服务器端设置面向教师的功能,在客户端设置面向考生的功能。服务器端应用程序的主要功能如下:1. 维护 对课程的题库进行初始装入和日常维护,对系统中的其他数据库如用户表进行维护。此功能只有超级管理员才可以进行增、删、改、查询。2. 选题 系统提供指定选题,并提供试卷、答卷的打印功能。3. 开考 作开考前的准备工作,包
24、括设置考试的相关信息如题目的难易程度等。系统分为难、低二个档次的试题供考生选择。题型选择有选择题,计算题和分析题。客户端应用程序的主要功能如下:1. 认定 考生在进入系统时必须输入考生的相关信息,如用户名、密码。未进行注册的考生不得进入系统参加考试,考生注册后系统自动把此信息录入到用户表的数据库中。 2. 答题 考生经系统确认进入考试环境后系统即在屏幕上显示相应的试卷并提供组件。答题完毕退出时,系统提示考生是否保存次试卷。 3. 自测 学生可以针对自己学习的特点,从试题库选择试题,形成针对性的试卷进行测试,并给出标准答案供考生参考。2.2 数据库设计一级考试系统的规模较小,故只建立一个数据库(
25、DZJS.mdb).在此数据库基础上,建立考生登录情况表、操作题题库、选择题题库、数据库题库,Word题题库、在数据库连接方面,采用了Delphi6.0附带的Borland数据库引擎ADO.使用ADO的ADO管道连接用MSAccess设计的后台数据库,建立一个名为DZJS的数据源.在系统的OLEcontainer中放入访问数据库的控件,将其ADOconnction指向DZJS。 系统中主要的数据文件如下: 1. 试题库:用于存放课程的试题,试题库的结构由试题的属性即科目、编号、类型、难度、分值、内容、答案和文本形式等字段组成。 2. 考生库 用于存放考生的信息包括用户名、密码。2.3 界面设计
26、为了验证考生身份,设计了一个登录界面,考生登录以后,直接到试卷编辑界面。这样的好处是方便简捷。2.4 数据文件结构2.4.1 考试模板基本表试卷模板表用来记录一份试卷的基本信息,包括所选课程、难度、试题类型等。如表2-1表2-1 考试模板基本表字段名类 型长 度说 明IDInt4自增型SCORE50分值设置TYPE_1Char8题型DIFLEVEL难度SUBJECT1考试类型(课程)BLOBDATAOLE20数据流EXT3文本形式2.4.2 学生模板基本表该表由系统动态产生,主要存储考生的基本信息,包括用户名、用户密码等。如表2-2表2-2 学生模板基本表int用户名PASSWD16用户密码Q
27、UES提示问题KEY_16提示答案第3章 系统实现3.1 功能模块1注册模块. 注册账号和密码自动存入数据库中。2登录模块 用户验证即正确输入用户名和密码如果输入的数据与数据库中数据一直,系统将提供登录成功。3数据库操作模块.自动从数据库题题库中抽取题目,供考生完成建立数据库文件、编辑等一系列操作。4Word字表处理模块.从Word题题库中抽取题目,使用OLE技术自动打开Word,让考生在Word环境中完成操作。3.2 注册功能的实现procedure TForm3.Button1Click(Sender: TObject);varID,MA :string ;s : string;begin
28、 if trim(edit1.Text) then ID := Trim(Edit1.Text) else showmessage(请输入您的帐号!); if trim(edit2.text) then MA := Trim(edit2.text) else begin showmessage(请输入您的密码! exit; end; trim(edit3.text) then begin showmessage(密码和确认密码不一致!try s:=select * from use where id =+ Trim(edit1.text)+ ; ADOQuery1.SQL.Clear; ADO
29、Query1.SQL.Add(s); ADOQuery1.Open;exceptend; if not(ADOQuery1.IsEmpty) then begin showmessage(该帐号已经存在!) end else begin ID:=edit1.Text; MA:=edit2.Text; adocommand1.CommandText:inserTintouse(id,passwd) values(+ID+,+MA+); adocommand1.Execute; showmessage(添加成功3.3 登录功能的实现 procedure TForm1.Button3Click(Sender:=
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1