1、本科毕业设计(论文)题目基于个人电脑的无纸化考试软件的设计与实现(高等数学篇)学生姓名学号指导教师学院(系)信息技术学院专业计算机科学与技术交稿日期2012年5月20日上海建桥学院毕业设计(论文)学术诚信声明本人郑重声明所呈交的毕业设计(论文),是本人在导师的指导下,独立进行研究工作所取得的成果。除文中已经注明引用的内容外,本毕业设计(论文)不含任何其他个人或集体已经发表或撰写过的作品或成果。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。作者签名日期2012年5月20日上海建桥学院毕业设计(论文)版权使用授权书本毕业设计(论文)作者同
2、意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权上海建桥学院可以将本毕业设计(论文)的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本毕业设计(论文)。保密,在年解密后适用本授权书。本论文属于不保密。(请在以上方框内打“”)作者签名指导教师签名日期2012年5月20日日期2012年5月20日基于个人电脑的无纸化考试软件的设计与实现(高等数学篇)I本科毕业设计(论文)基于个人电脑的无纸化考试软件的设计与实现(高等数学篇)摘要随着计算机的技术日益普及,素质教育不断的推广,计算机作为教学手段开始不断进入我们的生活,这种教育方
3、式给传统的教育模式带来有益的补充,而基于个人电脑的考试软件也因为它的准确性、便捷性、可重复性不断受到人们的青睐,这也使其成为传统教育考试发展的一种趋势。本系统运行于单机模式,采用VISUALSTUDIO2010作为开发平台,以ACCESS2003作为后台数据库,使用的语言为C语言。该系统实现了显示考生姓名学号,随机生成题目,判断对错,统计分数。该系统分为练习与考试部分,区别在于练习部分由答案提示。该系统使用方便,操作简单,对于广大学生的高等数学的学习具有帮助作用。文中首先阐述了个人考试系统发展背景与现状,简要介绍了NET、ACCESS、C等相关知识。接着详细介绍了系统的需求分析、可行性分析、技
4、术分析、功能设计、结构设计、数据库设计及系统功能的实现。最后描述了系统的细节制作,并对系统的开发做出了全面的总结。关键词C,ACCESS,高等数学,考试练习系统基于个人电脑的无纸化考试软件的设计与实现(高等数学篇)IIBASEDONTHEPERSONALCOMPUTERPAPERLESSTESTSYSTEMSOFTWAREDESIGNANDIMPLEMENTATIONHIGHERMATHEMATICSABSTRACTWITHTHESPREADOFCOMPUTEROFCOMPUTERSCIENCEANDQUALITYEDUCATION,COMPUTERHAVEBEENBECOMEATEACHIN
5、GTOOLCOMEINTOOURLIVES,THISTEACHINGMEANSISAGOOSUPPLEMENTOFTRADITIONALTEACHING,ATTHESAMETIMEPERSONALCOMPUTERTESTSOFTWAREISPOPULARWITHHUMANBECAUSEITSACCURACY、CONVENIENCE、REPEATABILITY,THISISALSOBECOMEATRENDOFTRADITIONALTEACHINGTESTMYSOFTWAREUSESINGALCOMPUTERPATTERN,USINGVISUALSTUDIO2010ASADEVELOPMENTPL
6、ATFORM,INTHEACCESS2003DATABASEASABACKGROUND,USINGTHELANGUAGEOFCLANGUAGETHESYSTEMREALIZESTHEDISPLAYNAMESTUDENTID,RANDOMLYGENERATEDQUESTIONS,TOJUDGERIGHTANDWRONG,STATISTICALSCORESTHESYSTEMISDIVIDEDINTOTRAININGANDTEST,DIFFERENCEISTHEPRACTICEINPARTBYTHEANSWERPROMPTTHESYSTEMISEASYTOUSE,SIMPLEOPERATION,FO
7、RTHEMAJORITYOFSTUDENTSINTHEHIGHERMATHEMATICSLEARNINGHASHELPEDTHISARTICLEFIRSTELABORATEDTHEINDIVIDUALTESTSYSTEMDEVELOPMENTBACKGROUNDANDCURRENTSITUATION,INTRODUCEDBRIEFLYNET,ACCESS,CANDOTHERRELATEDKNOWLEDGETHENINTRODUCESINDETAILTHESYSTEMREQUIREMENTSANALYSIS,FEASIBILITYANALYSIS,TECHNICALANALYSIS,FUNCTI
8、ONDESIGN,STRUCTUREDESIGN,THEDATABASEDESIGNANDTHESYSTEMFUNCTIONREALIZATIONFINALLY,DESCRIBESTHEDETAILSOFTHESYSTEM,ANDTHEDEVELOPMENTOFTHESYSTEMTOMAKEACOMPREHENSIVESUMMARYKEYWORDSC,ACCESS,HIGHERMATHEMATICS,EXAMINATIONEXERCISESYSTEM基于个人电脑的无纸化考试软件的设计与实现(高等数学篇)III目录前言11系统概述211项目开发的目的和意义212无纸化考试软件的现状与分析313计
9、算机考试系统的发展趋势42系统分析521需求分析5211课题欲解决的问题5212解决方案623技术可行性分析7231VISUALSTUDIO20107232NETC程序设计8233ADONET数据连接9234ACCEESS数据库与SQL查询语言103系统总体设计1331系统功能分析1332系统功能模块设计1333数据库设计14331数据库需求分析14332数据库概念设计14333数据库逻辑结构设计1534环境配置164系统实现17基于个人电脑的无纸化考试软件的设计与实现(高等数学篇)IV41登陆界面实现1742使用说明界面实现1943数据库连接实现2044判断题模块的实现2145单选题模块的实
10、现2446多选题模块的实现2647填空题模块的实现2848显示分数模块的实现2949管理使用者模块的实现305测试3251测试环境与测试条件3252测试过程3253测试结果与分析346总结35参考文献36致谢37基于个人电脑的无纸化考试软件的设计与实现(高等数学篇)1前言高校扩招后,我国高等教育步入了大众教育。高等教育的受众不再仅仅是绝少数的精英,而是广大更加普通的学生。数学教育的难题在于既要满足数学发展越来越高的要求,又要适应大众化教育的现状。根据调查,大部分高等院校的学生,高等数学的成绩都不较为理想,这是由于最近几年的教育模式只注重了数学发展的要求,而没有注重大众化教育的现状原因1。现行的
11、教学大纲,教学模式基本延续扩招以前的模式,教学时间同时较为下降,这不仅增加了教师教学的困难,也造成了学生们学习的困难,基础较差的学生往往无法接受所学知识,对学习失去信息,以至于旷课、早退、抄袭作业的现象普遍出现,考试及格率也大幅下降,即使考题非常简单,不及格率也较高,而学习差的同学常常不及格,甚至有连续补考不及格的同学。而与此同时,计算机作为越来越普遍的电子设备,在人们日常生活中扮演了越来越重要的角色,人们利用它进行休闲娱乐、办公学习,现在人们的日常生活往往离不开计算机。同样在教育方面,随着素质教育的全面推广,计算机辅助教学是教育发展的趋势,是一种新兴的学习方式。无纸化考试的引用,可以更好的帮
12、助同学们考前训练,也可以帮助老师们更好的教学。除此之外,无纸化考试增强了学生的动手能力,也提高了考试的自动化和科学化。节约了考试的时间与与金钱的花费。现在大部分大学生人均一台计算机,学生们普遍日常生活大量接触计算机,乐于使用计算机。无纸化考试软件的引入,更好的体现了高等数学的教学目的,增强了学生的动手能力,而且大大提高了考试的自动化和科学化。同学们练习或模拟考试的结果均可以得到即实反馈,高效准确,这使得同学们的练习和测试具有更强的针对性。对于高等数学的学习,我相信计算机考试软件可以很大程度上帮助到广大学生。基于个人电脑的无纸化考试软件的设计与实现(高等数学篇)21系统概述11项目开发的目的和意
13、义对比与传统考试,需要大量时间精力去准备试题,组织学生考试,批改分数,分析试卷,随着计算机技术的不断发展与进步,无纸化考试软件的出现就有了其必然性。计算机考试凭着其操作简单,阅卷准确快捷,成绩分析科学直观的优点,不断受到广大师生的欢迎与喜爱。如何使考试变得更加方便、高效、公正、方便,是现代教育的一个重要课题,计算机考试系统是传统考场的延伸,利用计算机技术可以方便地对学生进行考试,加上数据库技术的利用,大大简化了传统考试的过程。因此计算机考试系统是现代教学不可缺少的一个重要环节。有趋势表明,计算机考试已经成为考试的发展方向,现在国许多考试认证,例如GRE、CISCO,微软认证考试,计算机考试其出
14、题、答卷以及评分都是在计算机上完成的。无纸化的考试形式有着其科学、及时、准确、公平等优点,具有传统考试形式无法替代和比拟的优势。系统结合高等数学内容,为大学生提供可及时反馈的集练习与测验于一体的软件,内容结合教学实际,符合大学生特点。考试系统智能化、自动化,节省了出卷阅卷时间,体现了计算机技术的优越性。学生通过使用软件即时得到正确答案,在不断的练习中,反思自己的对错与否,强化记忆,提高学生的自学能力。考试系统配置极为简单,使得考试的过程大大简化。一个完整的考试系统可以使使用者在学习过后及时检测自己的学习效果,发现自己的不足,从而提高学习效率。考试系统中题目的生成、试卷的提交、成绩的评定等都可以
15、自动完成。这样一来,教师所要做的只是精心设计题目,而不是组织考试,这可以大大减轻了教师与组织者的负担。考试系统具有智能化、科学化、自动化、高效化、等诸多优势,具有较好的发展前景。希望学生通过使用这个软件可以不断练习,在练习中总结错误,强化记忆,提高自己的数学知识。帮助学生提高高等数学成绩。基于个人电脑的无纸化考试软件的设计与实现(高等数学篇)312无纸化考试软件的现状与分析计算机考试系统的实现,将教师从繁琐的出题、监考、阅卷、试卷分析和成绩统计的传统考试中解脱出来,充分体现了准确、客观、公正、快速、简捷等特点。计算机考试系统起源于60年代美国,20世纪70年代,美国考试委员会着手进行计算机模拟
16、考试的研究工作,并于1983年编制出有效的模拟考试系统,当时的名称是计算机辅助考试系统。1990年8月,美国加利福尼亚、得克萨斯等十个州创建各州以及各高等院校相互认可的学位证书以及相应的教学体系,从而正式拉开网络远程考试的序幕。著名的考试机构有美国思而文学习系统有限公司。经过40多年来的发展,已经在全世界得到了广泛应用。国内也有许多考试采用了计算机考试系统。比方说托福考试、微软认证考试、CICSO认证考试、全国计算机等级考试、驾驶员理论考试等等,可以说计算机考试系统逐渐成为了公证、效率的考试代名词。这都是由于计算机考试的出卷迅速,阅卷准确,统计成绩快速,自动化科学化的特点决定的,采用计算机考试
17、系统的考试最大程度上被人们所信赖着。计算机考试系统主要有两种模式,C/S模式(客户端/服务器模式),B/S(浏览器/服务器模式)。通常C/S的客户端与服务器端分别与不同计算机中,客户端是普通的PC,而服务器为专业的服务器。C/S模式可以分成两层模式和三层模式。两层模式CLIENT和SERVER通过网络联结起来,通常CLIENT端和SERVER端分别运行在不同的计算机中,CLIENT端一般可以安装于普通计算机,而SERVER端一般安装在功能更加强大的服务器。在三层C/S模式中,则将业务逻辑独立出来放在中间服务器上,数据逻辑在另一个服务器上。而B/S模式是由网络技术不断发展而成长起来,它由C/S模
18、式发展开来,而基于网页上的一种应用,B/S是基于网络浏览器和网络服务器而构成的。C/S模式B/S模式各有优缺点,C/S模式安全性较高,数据处理能力较强,而B/S模式更加方便快捷,可以不受地点的限制。比方说如果50台机器安装一款软件,如果采取C/S模式,那么50台机器都需要独立的下载安装,十分花费时间,而采取B/S模式则不需要安装,只需要浏览就可以了。但是C/S模式可以提供的功能更加全面,更加基于个人电脑的无纸化考试软件的设计与实现(高等数学篇)4强大。所以说应该看具体项目需求而采取哪一种的开发模式。13计算机考试系统的发展趋势计算机考试系统的发展趋势趋势有以下几点。1向开放式的网络体系结构发展
19、使不同软硬件环境、不同网络协议的网络可以互相连接,真正达到不受地域时间的限制、数据通信分布处理的目标。1向高性能发展追求高速、高可靠和高安全性,加强考试系统的安全性,添加防火墙,保护好系统数据。采用多媒体技术,提供文本、图像、声音、视频等综合性服务3向智能化发展提高网络性能和提供网络综合的多功能服务,并更加合理地进行有关考试的各种业务的管理,真正以分布和开放的形式向用户提供服务。基于个人电脑的无纸化考试软件的设计与实现(高等数学篇)52系统分析21需求分析需求分析是软件开发过程中开始的一环,也是重要的一环。就如房屋建造过程中打造地基,如果地基打的不劳固,房屋也不会坚实。针对时下教学环境,本系统
20、主要目标是满足广大师生关于高等数学的考试需求。本系统需要操作简便,使用方法简单,如果使用复杂,上手难,使用者使用就花费了较长时间,显然这是不受人欢迎的。系统需要稳定,有一定的纠错能力,不能在使用过程中崩溃。对比传统的考试方式,基于个人电脑的考试系统的特点在于无纸化、效率高,考试时间短,无需批改,这样就可以从传动的选题、生成试卷、到批改试卷所需的大量时间,节约到了只需使用者答题的时间。系统还可以在使用完毕即给出成绩,可以帮助学生了解自己所掌握的知识多少。基于上述情况,采用计算机考试系统实现考试将成为未来考试的一种重要的考试方式。同时也是教育事业的一大发展,前景广阔。211课题欲解决的问题在我国,
21、现在绝大多数考试还是传统考试方式,这种考试方式需要大量时间老师准备题目,组织考试,批阅书卷,统计数据,可以说是十分浪费时间与精力,已经不能满足社会以及教育事业发展与进步,所以课题应该解决的问题在于提高考试的自动化、科学化,提高效率与准确率,符合广大学生的需求。本系统是一个提供给大学生考试的平台。通过这个考试系统考生可以方便快捷的进行考试或练习,从而提高自己对于高等数学的掌握。需要注意的地方有,题目的内容涉及高等数学的哪些方面题目是以什么形式的方式出现高等数学设计很多复杂的符号,这些符号键盘很难输入,怎么答题和制作题目题目从哪里收集而来。是寻找题库还是网上找还是从书本上寻找。基于个人电脑的无纸化
22、考试软件的设计与实现(高等数学篇)6212解决方案本系统应该操作简单,上手性快,界面一目了然不需要很复杂的操作。其次要有提示功能,最好完成答题后可以对题目进行正确答案的提示,可以增添练习模块。除了这些系统要有稳定性,可以保证考试流程的正常进行,不会因为各种操作而导致系统的崩溃不运行,对答题的正确性要有保证性。本系统是运行于单机环境,采用C和ACCESS2000数据库技术制作。系统制作的平台是VISUALSTUDIO2010。该系统的功能模块为登陆模块、考试模块(单选题、判断题、多选题、填空题)、计分模块、显示答案模块、练习模块、测试模块、后台题库、管理使用者信息模块。本系统的题目是以路径方式存
23、储在数据库表中。使用的数据库是ACCESS,因为ACCESS方便操作,兼容性好,使用简单。题目因为很难由键盘输入,于是我决定题目由图片格式出现,然后以路径的方式存取在数据库中。题目的类型涉及简答题、多选题、单选题、和判断题涉及的高等数学单元有函数与极限、导数的概念、不定积分、定积分、微分方程、多元函数微积分。选取这些单元,是因为这些单元基本涵括了高等数学的重要内容。图21为普通用户系统登录用例图,图22为管理员登陆用例图。图21普通用户系统登陆的用例图基于个人电脑的无纸化考试软件的设计与实现(高等数学篇)7图22管理员登陆模块23技术可行性分析本文主要采用的技术是VISUALSTUDIO201
24、0,ACCESS,C和数据库,这节论述了技术上的可行性。231VISUALSTUDIO2010VISUALSTUDIO是个是个十分方便好用的软件,它提供了很多使用的组件、控件,很多时候你不用编写程序,只需要拖拖控件就可以完成复杂的命令,真是可以说是傻瓜式的开发系统,当然如果你想钻研VISUALSTUDIO,它也有很多复杂的功能,可以说它是个既可以完成简单工作也可以完成专业复杂工作的好工具。在VISUALSTUDIO2010中,微软重建了编辑器,这为开发者提供了灵活、功能丰富的开发环境,并支持多显示器即开发者可以同时在多台显示器上查看代码、用户界面设计器和数据库结构。VISUALSTUDIO20
25、10中具有大量可支持最新微软产品的新功能。对WINDOWS7多点触控和“RIBBON”界面的支持有助于为终端用户提供令人赞叹的应用程序。SHAREPOINT开基于个人电脑的无纸化考试软件的设计与实现(高等数学篇)8发者首次可以全面使用VISUALSTUDIO集成开发环境(IDE)中的SHAREPOINT功能。借助WINDOWSAZURE开发套件,开发人员将可在熟悉的VISUALSTUDIO环境中迅速轻松地开发、调试、测试并部署云应用程序。对于ASPNET模型视图控制器MVC的支持为开发人员带来了更多的灵活性,使他们得以分别更换网络应用的外观和核心业务逻辑。WINDOWSPHONE7的开发者也可
26、以通过使用VISUALSTUDIO的集成手机设计界面开发出令人惊叹的手机应用。232NETC程序设计本系统是基于VISUALSTUDIO2010的,所采用的语言就是C,C面向对象,模块化,可以继承、封装,节省了开发时间,这只是个小系统,如果是规模坏的大软件更可以节省时间与精力,这充分说明了面向对象软件的优越性。C语言与C语言区别不是很大,有C语言的基础的人上手很快,很多都不是语法的不同,而是使用思想的不同。而CCSHARP是微软MICROSOFT为NETFRAMEWORK量身订做的程序语言,C不仅拥有C/C的强大功能以及VISUALBASIC简易使用的特性,与当今计算机语言发展一致的是,和C与
27、JAVA一样亦为面向对象导向程序语言。C语言中定义主要是从C和C继承而来的,而且语言中的许多元素也反映了这一点。C在设计者从C继承的可选选项方面比JAVA要广泛一些比如说STRUTS,它还增加了自己新的特点比方说源代码版本定义C是一种面向对象的编程语言。由于面向对象语言的优越性,它使得程序员可以快速地编写各种基于NET平台的应用程序,NET提供了一系列的工具和组件来最大程度地开发利用计算与通讯领域。正是由于C面向对象的卓越设计,使它成为构建各类组件的理想之选无论是高级的商业对象还是系统级的应用程序。使用简单的C语言结构,如C丰富多用的各种租借,这些组件可以方便的转化为XML网络服务,从而使它们
28、可以由任何语言在任何操作系统上通过INTERNET进行调用。最重要的是,C使得C程序员可以高效的开发程序,而绝不损失C/C原有的强基于个人电脑的无纸化考试软件的设计与实现(高等数学篇)9大的功能。因为这种继承关系,C与C/C具有极大的相似性,对于熟悉类似语言的开发者可以很快的转向C。C语言的优越性使开发过程节约了很多时间,比方说由于它的继承性,只要开发了一个公共界面,然后相似的界面就可以继承它了,这样就节省了很多时间。还有就是C提供的各种控件,通过这些控件我们可以完成各种各样的功能,而且不需要编写代码,只需要直接拖取控件,可以说是相当方便简单。比方说经常使用的BUTTON按钮,这个控件是提供按
29、钮的功能,还有PICTUREBOX控件,使用这个控件显示图片。还有TEXTBOX控件,使用这个控件,可以显示文字。233ADONET数据连接通过使用ADO这个对象类库,我们可以进行数据的连接,这是一个很重要的类库。ADONET的名称起源于ADOACTIVEXDATAOBJECTS,这是一个广泛的类组,用于在以往的MICROSOFT技术中访问数据之所以使用ADONET名称,是因为MICROSOFT希望表明,这是在NET编程环境中优先使用的数据访问接口它提供了平台互用性和可伸缩的数据访问。ADONET增强了对非连接编程模式的支持,并支持RICHXML。由于传送的数据都是XML格式的,因此任何能够读
30、取XML格式的应用程序都可以进行数据处理。事实上,接受数据的组件不一定要是ADONET组件,它可以是基于一个MICROSOFTVISUALSTUDIO的解决方案,也可以是任何运行在其它平台上的任何应用程序。ADONET是一组用于和数据源进行交互的面向对象类库。通常情况下,数据源是数据库,但它同样也能够是文本文件、EXCEL表格或者XML文件。ADONET允许和不同类型的数据源以及数据库进行交互。然而并没有与此相关的一系列类来完成这样的工作。因为不同的数据源采用不同的协议,所以对于不同的数据源必须采用相应的协议。一些老式的数据源使用ODBC协议,许多新的数据源使用OLEDB协议,并且现在还不断出
31、现更多的数据源,这些数据源都可以通过。NET的ADONET类库来进行连接9。ADONET提供与数据源进行交互的相关的公共方法,但是对于不同的数据源采用基于个人电脑的无纸化考试软件的设计与实现(高等数学篇)10一组不同的类库。这些类库称为DATAPROVIDERS,并且通常是以与之交互的协议和数据源的类型来命名的234ACCEESS数据库与SQL查询语言本系统定位于单机环境,ACCESS属于OFFICE家族一员,普及率高,使用简单。有好的页面交互模式,通过使用ACCESS可以节约我熟悉操作开发软件的过程,而着重于具体设计数据库,具体设计数据的工作上面。我使用的ACCESS吧版本是2003,因为这
32、个版本属于老版本而又不是被淘汰的版本,所以无论兼容性或者稳定都是值得信赖的。ACCESS是微软公司推出的基于WINDOWS的桌面关系数据库管理系统(RDBMS,即RELATIONALDATABASEMANAGEMENTSYSTEM),是OFFICE系列应用软件之一。它提供了表、查询、窗体、报表、页、宏、模块7种用来建立数据库系统的对象;提供了多种向导、生成器、模板,把数据存储、数据查询、界面设计、报表生成等操作规范化;为建立功能完善的数据库管理系统提供了方便,也使得普通用户不必编写代码,就可以完成大部分数据管理的任务。ACCESS能够存取ACCESS/JET、MICROSOFTSQLSERVE
33、R、ORACLE甲骨文软件公司,或者任何ODBC兼容数据库内的资料。熟练的软件设计师和资料分析师利用它来开发应用软件,而一些不熟练的程序员和非程序员的“进阶用户“则能使用它来开发简单的应用软件。虽然它支援部分面向对象(OOP)技术,但是未能成为一种完整的面向对象开发工具。ACCESS最大的特点是使用简单,和VISUALSUIDIO的结合度高,因为它的制作是界面化的,就如同操作EXCEL一样,我们只需要先思考好表格设计成什么样,然后就可以通过ACCESS直接编辑数据了。通过使用ACCESS数据库方便了我的操作,节省了数据库开发时间,是个十分简单好用的软件。查询数据库的语言主要是使用SQL语言,S
34、QL语言是数据库通用的语言,通过使基于个人电脑的无纸化考试软件的设计与实现(高等数学篇)11用SQL语言,我们可以完成对数据库的增、删、改、查的功能,比方说如果查询一个命名为登陆的表,需要连接、建立数据集、使用SQL语句,建立适配器的一个过程。(1)建立连接的代码OLEDBCONNECTIONKKNEWOLEDBCONNECTION“PROVIDERMICROSOFTJETOLEDB40DATASOURCE“APPLICATIONSTARTUPPATH“DMDB“(2)建立数据集的代码DATASETMYDATASETNEWDATASET(3)输入SQL语句的代码OLEDBCOMMANDMYCO
35、MKKCREATECOMMANDMYCOMCOMMANDTEXT“SELECT地址FROM“BIAO“WHERE编号“Q“(4)建立适配器的代码OLEDBDATAADAPTERDATDANEWOLEDBDATAADAPTER“SELECTFROM“BIAO“,KKDATDAFILLMYDATASET,“BIAO“SQL全名是结构化查询语言,是用于数据库中的标准数据查询语言,IBM公司最早使用在其开发的数据库系统中。1986年10月,美国国家标准学会ANSI对SQL进行规范后,以此作为关系式数据库管理系统的标准语言ANSIX31351986,1987年得到国际标准组织的支持下成为国际标准。不过各
36、种通行的数据库系统在其实践过程中都对SQL规范作了某些编改和扩充。所以,实际上不同数据库系统之间的SQL不能完全相互通用。SQL是高级的非过程化编程语言,它允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解其具体的数据存放方式。而它的界面,能使具有底层结构完全不同的数据库系统和不同数据库之间,使用相同的SQL作为数据的输入与管理。它以记录项目的合集作为操纵对象,所有SQL语句接受项集作为输入,回送出的项集作为输出,这种项集特性允许一条SQL语句的输出作为另一条SQL语句的输入,所以SQL语句可以嵌套,这使它拥有极大的灵活性和强大的功能。在多基于个人电脑的无纸化考试
37、软件的设计与实现(高等数学篇)12数情况下,在其他编程语言中需要用一大段程序才可实践的一个单独事件,而其在SQL上只需要一个语句就可以被表达出来。这也意味着用SQL可以写出非常复杂的语句。基于个人电脑的无纸化考试软件的设计与实现(高等数学篇)133系统总体设计31系统功能分析本系统运行于单机环境,系统不连接网络,题库与系统都安装在个人电脑上面。缺点是不能联网操作,优点是结构简单方便。系统设计本着稳定、完成答题、测试、算分数的功能,系统运行过程中不应该出现崩溃,答案与题目不符的情况。32系统功能模块设计根据前面的分析,系统分为登陆界面,介绍界面,测试界面,和练习界面,和管理使用者信息界面。下面分
38、别介绍如下。(1)登陆界面要求输入姓名与学号,这是对于使用者的信息确认,而使用者的信息是由我事先在数据库编辑好的,如果输入不正确则不能登陆,如果不输入也不能登陆,除此之外,姓名与学号还能在后面测试和考试界面中状态栏中显示。(2)使用说明界面,使用说明界面是对于系统介绍的一个界面,介绍了系统设计的高等数学单元,与系统测设的题数与分数。除此之外通过说明界面,我们还可以分别进入练习界面和测试界面。它们的主要区别为练习界面答题后有正确答案提示,而测试界面则没有提示。(3)答题界面答题界面分为练习模式与测试模式,设计的提醒有单选题、判断题、多选题、与填空题,答题过程中如果不答题则不能进行到下一题,练习模
39、式中答题后还可以看到正确答案。图31为答题功能结构图。基于个人电脑的无纸化考试软件的设计与实现(高等数学篇)14图31答题功能结构图(4)为了体现系统的完整性,系统的管理员具有对系统的使用者进行添加和删除的功能,从而起着一个限制使用者的功能,而系统的数据因为要受到保护,并不是谁都有一个这个天价和删除的权限,只有管理员有着这个权限。对于本系统而言系统的管理员为系统的开发者,只有系统的开发者才有权利进行这个操作。33数据库设计331数据库需求分析针对个人电脑的高等数学考试系统的分析。总结出如下信息。数据库主要存放题目,和答案。题目分为函数与极限、导数的概念、不定积分、定积分、微分方程、多元函数微积
40、分。332数据库概念设计题目主要是以图片方式存储,数据库中存放的是图片路径,题目总共分为六个单元,每个单元分为单选题、判断题、多选题、填空题。基于个人电脑的无纸化考试软件的设计与实现(高等数学篇)15333数据库逻辑结构设计对应需求,设立表是题目的编号,以及表示题目路径的地址,以及题目对应的答案。本系统是在ACCESS2003中设计表,因为ACCESS的易操作性与兼容性,方便设计与开展工作。表32为题目与答案数据库表。表32题目与答案数据库表字段字段类型简要说明编号自动编号本表主键地址字符串型存放题目的图片路径答案字符串型题目对应答案编号字段类型为自动编号,这是数据库ACCESS2003系自动
41、生成一个唯一的整形值。此字段作为本表的主键来。可以通过这个字段查找对应信息。地址字段本类型为字符串型,这里主要存放着题目的的相对路径信息,通过查找这个信息,可以读取到题目。答案字段本类型为字符串型,这里存放着对应的题目对应的答案。系统读取表中的此字段,可以判断使用者答题的准确性。数据库中主要有两种表,除了存放题目与答案的表之外,就是存放登陆者信息的表,如表33用户信息数据库表所示。表33用户信息数据库表编号字段类型为自动编号,这是数据库ACCESS2003自动生成一个唯一的整形值。此字段作为本表的主键。可以通过这个字段查找对应信息。字段字段类型简要说明编号自动编号本表主键姓名字符串型存放登陆的
42、姓名学号字符串型存放登陆的学号基于个人电脑的无纸化考试软件的设计与实现(高等数学篇)16姓名字段本类型为字符串型,这里主要存放登陆的姓名,从而判断使用者是否有资格使用本系统。学号字段本类型为字符串型,这里主要存放登陆的学号,如果不符后则不能登陆。34环境配置本系统对于硬件环境要求不高,可广泛应用于普通PC机上,但因为是在VS2010上开发,所以要求要安装NETFRAMEWORK40。操作系统WIN7开发环境NETFRAMEWORK40,VISUALSTUDIO2010,数据库ACCESS2003内存4GBCPU奔腾酷睿双核28GHZ基于个人电脑的无纸化考试软件的设计与实现(高等数学篇)174系
43、统实现41登陆界面实现图41登陆界面图图41是系统的登陆界面,如果登陆的时候不输入姓名与学号,则会弹出对话框提示输入,如果输入的话,本界面会隐藏,显示系统的介绍界面。除此之外,系统还会对姓名与学号进行验证,数据库中有我输入的可以使用的账号与姓名,如果用户名与密码不符合数据库表中数据,则不能登陆。以下为代码部分。1如果没输入姓名学号则提示输入PRIVATEVOIDBUTTON1_CLICKOBJECTSENDER,EVENTARGSEIFTEXTBOX1TEXT“|TEXTBOX2TEXT“MESSAGEBOXSHOW“请输入姓名与学号“(2)验证输入的姓名与学号,如果错误则不能登陆ELSE基于
44、个人电脑的无纸化考试软件的设计与实现(高等数学篇)18S1TEXTBOX1TEXTTRIMS2TEXTBOX2TEXTTRIMOLEDBCOMMANDMYCOMYCREATECOMMANDMYCOMCOMMANDTEXT“SELECTFROM登陆WHERE姓名“TEXTBOX1TEXTTRIM“IFYSTATECONNECTIONSTATEOPEN/如果数据库当前状态为关闭则打开,避免了数据库连接重复打开的冲突YOPENIFMYCOMEXECUTESCALARNULLMESSAGEBOXSHOW“用户名错误“ELSEMYCOMCOMMANDTEXT“SELECTFROM登陆WHERE学号“TE
45、XTBOX2TEXTTRIM“IFMYCOMEXECUTESCALARNULLMESSAGEBOXSHOW“学号错误“ELSEYCLOSE使用说明ANEW使用说明ASHOWTHISHIDE基于个人电脑的无纸化考试软件的设计与实现(高等数学篇)1942使用说明界面实现图42使用说明界面图42为使用说明界面,使用说明界面主要介绍了软件的测试单元,和进入练习模块还是进入测试模块的部分。以下为部分代码PRIVATEVOIDBUTTON1_CLICKOBJECTSENDER,EVENTARGSE练习窗口BNEW练习窗口BSHOWTHISCLOSEPRIVATEVOIDBUTTON2_CLICKOBJEC
46、TSENDER,EVENTARGSE测试窗口ANEW测试窗口ASHOWTHISCLOSE基于个人电脑的无纸化考试软件的设计与实现(高等数学篇)2043数据库连接实现本系统因为要和数据库连接所以一开始我就连接了数据库,连接数据库有几个过程,建立连接,建立数据集,和建立适配器。建立连接是为了找到数据库,建立数据集是建立本地脱机数据库,而适配器是传输数据用的。除此之外我们还要用到数据库命令传输SQL语句OLEDBCOMMAND因为适配器代码是传输数据用的,所以我们一般在写完SQL语句后使用适配器装在SQL语句。以下为部分代码(1)建立连接的代码OLEDBCONNECTIONKKNEWOLEDBCON
47、NECTION“PROVIDERMICROSOFTJETOLEDB40DATASOURCE“APPLICATIONSTARTUPPATH“DMDB“(5)建立数据集的代码DATASETMYDATASETNEWDATASET(6)输入SQL语句的代码OLEDBCOMMANDMYCOMKKCREATECOMMANDMYCOMCOMMANDTEXT“SELECT地址FROM“BIAO“WHERE编号“Q“(7)建立适配器的代码OLEDBDATAADAPTERDATDANEWOLEDBDATAADAPTER“SELECTFROM“BIAO“,KKDATDAFILLMYDATASET,“BIAO“基于个
48、人电脑的无纸化考试软件的设计与实现(高等数学篇)2144判断题模块的实现图43系统的判断题图系统的题目分为判断题,选择题,多选题,填空题,各单元存放在SWITCHCASE语句中,当执行判断题的模块时候,显示此模块的各种控件,而隐藏其他模块的组建。此模块与单选题模块的区别就是实现判断题的两个正确与错误的选项。当读取题目的时候,题目是存放在当前路径下的,所以使用了读取当前路径的语句,然后加上从数据库中读取的数据,然后使用PICTUREBOX读取。以下是部分代码。(1)存放单元模块的SWITCHCASE语句SWITCHICASE0BIAO“函数与极限判断题“BREAKCASE1BIAO“函数与极限选
49、择题“BREAKCASE2BIAO“函数与极限多选题“BREAKCASE3BIAO“函数与极限填空题“BREAKCASE4BIAO“导数的概念判断题“BREAKCASE5BIAO“导数的概念选择题“BREAKCASE6BIAO“导数的概念多选题“BREAKCASE7BIAO“导数的概念填空题“BREAK基于个人电脑的无纸化考试软件的设计与实现(高等数学篇)22CASE8BIAO“不定积分判断题“BREAKCASE9BIAO“不定积分选择题“BREAKCASE10BIAO“不定积分多选题“BREAKCASE11BIAO“不定积分填空题“BREAKCASE12BIAO“定积分判断题“BREAKCASE13BIAO“定积分选择题“BREAKCASE14BIAO“定积分多选题“BREAKCASE15BIAO“定积分填空题“BREAKCASE16BIAO“微分方程判断题“BREAKCASE17BIAO“微分方程选择题“BREAKCASE18BIAO“微分方程多选题“BREAKCASE19BIAO“微分方程填空题“BREAKCASE20BIAO“多元函数微积分判断题“BREAKCASE21BIAO“多元函数微积分选择题“BREAKCASE22BIAO“多元函数微积分多选题“BREAKCASE23BIAO“多元函数微积分填空题