摘 要
随着计算机技术的迅猛发展,学校教学和管理的信息化发展也有长足的进步,这就要求各个环节都均衡发展,从软硬件双方面把学校建设成一流的信息管理、教育教学的平台。本文设计开发的考试管理系统也是其中重要的一个方面。该系统本着减轻教师工作负担、提高工作效率、优化学生考试的流程,增强参加考试学生的身份识别,比传统的考试模式节省人力财力和时间。
系统分为三大模块:考试模块,系统管理模块和用户注册模块。其中系统管理模块是进行题目的添加、存储和删除,是系统运行的基础;查询子模块实现了对学生考试信息查询。考试模块是客户端学生或教师通过自己的姓名和学号以及密码登陆系统,进入界面时由系统按照出题教师预先设置好的试卷结构从题库中随机抽取适合的题目,形成试卷。第三部分是用户注册模块,这一模块的任务是完成师生的注册和删除。
系统选用的开发软件是VB,后台数据库为SQL Server。
本系统的开发采用结构化设计思想。系统说明书介绍了考试系统的开发初衷和背景,系统的开发工具,结构化开发的具体步骤,其中包括实体-联系模型,数据流图,功能结构图等必要的图形说明。
关键词:
上机考试;考试;系统;模块
Abstract
The system is composed of three parts: system management module, examination module, registration module. System management module is in charge of questions’ adding saving and deleting. The subjecting is the base of the system; the second part is examination module, students can log on the system by his name and number, and then turn into the examination's screen, the system will give random questions to the students. Finally come into an exam paper. The third part is users’ registration module. This module's task is to complete the students and teachers' registration and deleting.
The development software that the system chooses is VB, background database is SQL Server
The system’s development adopts ideas of construction designing. The system introduced the original intention and background of the examination system, the development tools of the system, the detail process of construction development is made up of the entity-model, the data stream chart, function and configuration chart, and other necessary chart explanations.
Keywords:
Online examination;Examination;System;Module
引 言
随着技术的飞速发展,现在很多国外的大学和社会其他部门都已经开设了教学,通过计算机实现异地教育和培训。现在,计算机硬件技术的发展已经达到了相当高的水平[1]。但是,教学软件的开发目前还处于起步阶段,随着这项技术的不断深入发展,就要求有更好、更完善的软件系统应用到教学当中去,这就给软件设计人员提出了更高的设计要求。
教学包括很多环节,例如教学系统、答疑系统和考试系统等等。其中很重要的一个环节就是考试系统,同时它也是最难实现的环节。在我国,虽然教学已经蓬勃地发展起来,但是目前学校与社会上的各种考试大都采用传统的考试方式,在此方式下,组织一次考试至少要经过五个步骤,即人工出题、考生考试、人工阅卷、成绩评估和试卷分析[2]。显然,随着考试类型的不断增加及考试要求的不断提高,教师的工作量将会越来越大,并且其工作将是一件十分烦琐和非常容易出错的事情,可以说传统的考试方式已经不能适应现代考试的需要。随着计算机应用的迅猛发展,应用不断扩大,如教学和虚拟大学的出现等等,且这些应用正逐步深入到千家万户。人们迫切要求利用这些技术来进行在线考试,以减轻教师的工作负担及提高工作效率,与此同时也提高了考试的质量,从而使考试更趋于公证、客观,更加激发学生的学习兴趣。例如目前许多国际著名的计算机公司所举办的各种认证考试绝大部分采用这种方式。
考试系统是现阶段研究开发的一个热点。它是建立在国际互联网上的应用系统,客户端的配置可以极为简单,使考试不受地域的局限[3]。一个完备的在线考试系统可以使用户在网上学习过后及时检验自己的学习效果,已发现自己的不足,使得学习效率得到很大提高。在线考试系统中题目的生成、试卷的提交、成绩的批阅等都可以在上自动完成。只要形成一套成熟的题库就可以实现考试的自动化。这样一来,教师所要做的只是精心设计题目、维护题库,而不是组织考试,从而大大减轻了教师的负担,这表明其经济性是相当可观的。为了适应新形势的发展,我进行了这一系统的初步设计工作,也可以说是做一个初步的探索,希望它能够在各类考试中发挥高效、便捷的作用,把老师从繁重的工作中解脱出来!
目前,应用软件运行的模式主要有二类:Client/server模式,Browser/Web模式。后者虽然维护和升级起来比较简单,但应用服务器运行数据负荷较重,一旦发生服务器“崩溃”等问题,后果不堪设想。同时对安全以及访问速度的多重的考虑,建立是需要在更加优化的基础之上。比C/S有更高的要求。而C/S 程序注重流程,可以对权限多层次校验,对系统运行速度可以较少考虑,基于上述考虑,用Client/server模式来做毕业设计的学生期末考试系统比较合适。
利用和数据库技术,应用VB可视化开发技术,我开发了基于C/S模式的学生考试考试系统这一程序。它运用方便、操作简单,效率很高。现阶段已经实现了用户注册、在线考试、随机出题、时间控制、自动判卷,试题录入、修改题库、用户管理、科目管理、管理员管理、等重要功能,也就是说实现了真正的无纸化考试,满足任何授权的考生随时随地考试并迅速获得成绩,同时也大大减轻了教师出题、出题和判卷等繁重的工作量。
1 涉及技术简介
1.1 数据库管理系统简介
数据管理指的是如何对数据进行分类、组织、存储、检索及维护。要注意,这里所说的数据,不仅是指数字,还包括文字、图形、图像、声音等。凡是计算机中用来描述事物的记灵,统称为数据。
数据库技术是计算机应用领域中非常重要的技术,随着计算机应用的不断深入,数据库的重要性日益被人们所认识,它已成为信息管理、办公自动、计算机辅助设计等方面的重要手段[4]。
对一个特定的数据库来说,它是集中、统一地保存、管理着某一个单位或某一领域内所有有用信息的系统,这个系统根据数据间的自然联系结构而成,数据较少冗余,且具有较高的数据独立性,能为多种应用服务。
因此可以看出,数据库系统是管理数据且为不同应用服务的工具。它所管理的数据是大量的有关某一方面的信息,需要较长时间的保存;它所提供的数据应该是正确的、可靠的、高效率的。
数据库管理系统简称DBMS(database management system)是专门用于建立和管理数据库的一套软件,介于应用程序和操作系统之间。DBMS不仅具有最基本的数据管理功能,还能保证数据的完整性、安全性,提供多用户的并发控制,当数据库出现故障时对系统进行恢复[5]。
1.2 开发工具Visual Basic 6.0
Visual Basic 6.0是面向对象程序设计的有利工具,它不仅秉承了BASIC的特点,而且为人们揭开了开发Windows应用程序的神秘面纱,有了它,您就能成为Windows环境下的编程高手。何谓Visual Basic?其中,“Visual”中文意义为“可视化”,它提供了一种创建图形用户接口(GUI)的方法。利用这种方法,用户不必书写复杂的描述接口元素外观和位置的程序代码,而只需将系统提供的对象放在屏幕上的适当位置,并通过属性窗口进行适当的设置,即可设计一个优秀的程序界面。“Basic”指的是BASIC(Beginners A11-Purpose Symbolit Instruction Code)语方,一种在计算技术发展历史上应用得最为广泛的语言[6]。Visual Basic在原有BASIC编程语言的功能,而初学者只要掌握几个关键词就可以建立实用的应用程序。
Visual Basic不仅是Visual Basic 编程系统和VBA都使用这一语言。Visual Basic Scripting Edition(VBScript)是广泛使用的脚本语言,它是Visual Basic语言的子集。这样,在学习Visual Basic 中得到的经验可应用到所有这些领域中。
此外,用户除了可以使用单独的Visual Basic程序设计环境进行程序设计外。
Visual Basic程序设计系统还被包括在Excel 、Access等众多的Windows应用软件中,以供用户进行二次开发。此外,目前使用较多的VBScript 脚本语言实际上是Visual Basic 语言的子集。因此,无论从哪方面讲,学习Visual Basic都是一件非常合算的投资。
Visual Basic语言的特点无论用户是编制一个小的实用程序,还是开发一个大型的专业系统,甚至是开发一个跨越Internet的分布式应用系统,Visual Basic都为用户提供了合适的工具。
利用Visual Basic的数据访问特性,用户可创建数据库、前端应用程序、适合于大多数流行数据库格式的服务端。
利用ActiveX技术允许用户使用其它的应用程序提供的功能,如Microsoft Word、Microsoft Excel,甚至可直接使用由Visual Basic专业版和企业版所创建的应用程序和对象[7]。
Visual Basic的Internet 功能允许用户通过程序方便的通过Internet或Intranet 访问文档和应用程序,甚至创建Internet 服务器程序。
用户最终创建的程序是一个真正的可执行文件,该文件可自由发布。
数据访问特性允许对包括Microsoft Access和其它企业数据库在内的大部分数据格式建立数据库和前端应用程序,以及可调整的服务器端部件。
分数据格式建立数据库和前端应用程序,以及可调整的服务器端部件。
Visual Basicmh 由于功能强大、简单易用而有着广泛的用户,尤其是在数据库、多媒体、商用系统的用户界面以及一般应用程序的设计等方面,Visual Basic更是有其他开发环境所不能取代的优越之处。升级到6.0之后,其功能和性能都得到了增强,汉化后的Visual Basic6.0中文版,由于有全新的中文界面,更是方便了用户的使用。
专业版为专业编程人员提供了一整套功能完备的开发工具。该版本包括学习版的全部功能以及ActiveA控件、Internet Information Sever Application Ddsigner、集成的Visual Database Tools和Data Environment Active Date Objects 和Dynamic HTML Page Designer.专业版提供的文档有Visual Studio professional Features 手册和包含全部联机文档的Microsoft Developer Network CD。
企业版使得专业编程人员能够开发功能强大的组内分布式应用程序。该版本包括专业版的全部功能以及Back Office 工具,SQL Sever 、Microsoft transaction sever、Visual Sourcesafe 、SNASever,以及其他。企业版包括的印刷文档包括Visual Studio Enterprise Features 手册以及包含全部联机文档的Microsoft Developer Network CD。
面向对象的程序设计Visual Basic6.0它提供了开发Microsoft Windows应用程序的最迅速、最简捷的方法。不论是Microsoft Windows 应用程序的资深专业开发人员还是初学者,Visual Basic6.0都为他们提供了整套工具,以方便开发应用程序。
尽管Visual Basic以非常快的速度成熟起来,但它也只有这些年间才作为实用的软件开发工具得到应用。这主要是因为在很长一段时间内忽略了数据访问这方面的功能,如果没有外部的数据库支持,不可能简单的拥有一个严格的开发工具。这个情况甚至在Visual Basic3.0中增加了对Microsoft JET数据库引擎的支持之后也没有得到改善,因为这些功能还不足以使Visual Basic像C++一样有完全的数据库访问能力[7]。随后在发布支持ODBC和RDO数据库访问方法的产品后,Visual Basic才真正加入了严格的开发工具领域。
最新发布的Visual Basic在数据库访问方面带来了一些变化,它增加了Active 数据对像(ADO)访问方法。ADO是DAO和RDO的继承者,它的目标是成为Windows开发上的唯一通用(ONE-SIZE-FITS-ALL)的数据访问方法。Visual Basic6.0在很大方面对尚未成熟的ADO提供支持,大约提供了六个使用ADO数据库的专门优化过的控件。在Visual Basic6.0中增加了数据环境,这是一种对利用ADO的层次数据库进行组织的方法。增加数据报表实用程序,这是使用数据环境的结构生成报表的内部工具[8]。
1.3 SQL Server 2000 简介
SQL SERVER 2000 是一个大型关系数据库管理系统,具有客户机/服务器体系结构,采用Transact-SQL语言在客户机和服务器之间传递客户机请求和服务器处理结果。SQL SERVER 2000是一个优秀的数据库管理系统,拥有许多优秀的特点,如受到用户欢迎的易用性、适合分布式组织的可伸缩性、与许多其他服务器软件紧密关联的集成性、适于决策支持的数据仓库功能、卓越的性能价格比等[9]。
客户机/服务器体系结构:
在客户机/服务器体系结构中,数据库所在的中心计算机称为服务器,该服务器由许多用户共享其中的数据,用户可以通过运行客户应用程序访问服务器中的数据。用户运行本地计算机上的某个应用程序通过网络连接到运行一下SQL Server实例的数据库服务器上,本地机器上的这个应用程序称为客户应用程序。客户机上运行业务处理逻辑和显示由数据库服务器中返回的结果。客户机上运行SQL Server的客户应用程序,它通过网络与数据库服务器上的SQL Server实例进行通信,即发送请求和传递结果。数据库服务器上运行着SQL SERVER客户程序。
(1)SQL SERVER 2000往往成为首选的理由
①上手容易:
话分两头,如果您的企业至今还未购置数据库,其中一个主要的原因可能就是认为它不好上手,那么,从SQL Server开始吧。毕竟,大多数的中小企业日常的数据应用是建立在Windows平台上的。由于SQL Server与Windows界面风格完全一致,且有许多“向导(Wizard)”帮助,因此易于安装和学习,有关SQL Server的资料、培训随处可得,并且目前国内具有MCDBA认证的工程师不在少数。
从另一个角度来讲,学习SQL Server是掌握其他平台及大型数据,如Oracle,Sybase,DB/2的基础。因为这些大型数据库对于设备、平台、人员知识的要求往往较高,而并不是每个人都具备这样的条件,且有机会去接触它们。但有了SQL Server的基础,再去学习和使用它们就容易多了。IT行业的实践经验充分证明了这一点。
②兼容性良好:
由于今天Windows操作系统占领着主导地的位,选择SQL Server一定会在兼容性方面取得一些优势。另外,SQL Server 2000 除了具有扩展性,可靠性以外,还具有可以迅速开发新的因特网系统的功能。尤其是它可以直接存贮 XML 数据,可以将搜索结果以 XML格式输出等特点,有利于构建了异构系统的互操作性,奠定了面向互联网的企业应用和服务的基石。这些特点在.NET 战略中发挥着重要的作用。
(2)相对于7.0的优越性
Microsoft SQL Server 2000是在SQL Server 7.0的基础上对性能、可靠性、质量以及易用性进行了扩展。SQL Server 2000中包含许多新特性,这些特性使其成为针对电子商务、数据仓库和在线商务解决方案的卓越的数据库平台。其增强的特性包括对丰富的扩展标记语言(XML)的支持、综合分析服务以及便捷的数据库管理。
(3)电子商务
在使用由Microsoft SQL Server 2000关系数据库引擎的情况下,XML数据可在关系表中进行存储,而查询则能以XML格式将有关结果返回。此外,XML支持还简化了后端系统集成,并实现了跨防火墙的无缝数据传输。你还可以使用Hypertext Transfer Protocol(超文本传输协议,HTTP)来访问SQL Server 2000,以实现面向SQL Server 2000数据库的安全Web连接和无须额外编程的联机分析处理(OLAP)多维数据集。
(4)数据仓库
Microsoft SQL Server 2000非常明显的改进就是增加了OLAP(联机分析处理)功能,这可以让很多中小企业用户也可以使用数据仓库的一些特性进行分析。OLAP可以通过多维存储技术对大型、复杂数据集执行快速、高级的分析工作。数据挖掘功能能够揭示出隐藏在大量数据中的倾向及趋势,它允许组织或机构最大限度的从数据中获取价值。通过对现有数据进行有效分析,这一功能可以对未来的趋势进行预测。
(5)增强的在线商务
Microsoft SQL Server 2000简化了管理、优化工作,并且增强了迅速、成功的部署在线商务应用程序所需的可靠性和伸缩性。其中,用以提高可靠性的特性包括日志传送、在线备份和故障切换群集。在伸缩性方面的改进包括对多达32颗CPU和64 GB RAM的支持。通过自动优化和改进后的管理特性诸如数据文件尺寸的自动管理、基于向导的数据库拷贝、自动内存管理和简化的故障切换群集安装与管理,在线商务应用程序能够被迅速部署并有效管理。
(6)利于构筑“敏捷性商务”
所谓“敏捷性商务” 就是能够打破内部和外部的商业界限,对迅速改变的环境做出快速反应。微软已经与关键的合作伙伴建立起了战略关系,创造出了能够与许多供应商的产品实现整合的解决方案,因而企业用户并不需要做出“要么完全接受,要么全部不要”的承诺。在部署解决方案的过程中,企业用户不一定要拆除原有的设备从头。敏捷商务让企业用户能够充分利用现有的系统,自主决定所需的硬件和软件解决方案以及由谁来提供,伸缩自如、游刃有余。
2 系统的需求分析
2.1 可行性分析
可行性研究就是预开发软件系统的总体目标,给出它的功能、性能、可靠性以及其他方面的要求。其目的是用最小的代价在尽可能短的时间内确定问题是否能够解决、是否值得去解决。
下面从四个方面分析本系统的可行性
(1)技术可行性
本系统采用SQL Server 2000进行后台数据库的管理,用VB进行前台界面设计、与后台数据库的接口、数据的录入、查询、浏览等功能。根据VB的特点,以及他们当前的广泛实际应用,充分说明本系统在技术方面可行。
(2)经济可行性
经济可行性分析(能否赢利)是,从经济的角度分析系统的规划方案有无实现的可能和开发的价值;分析系统所带来的经济效益是否超过开发和维护网站所需要的费用。经济上的可行性是企业行为的基础。
由于学生期末考试系统的开发设计是为完成毕业设计任务而进行的,所以不存在赢利问题。所在此也就不讨论经济可行性问题。
(3)开发环境可行性
网站开发需要的开发环境需要装有windows98系统以上的电脑上运行,这样的配置在当今已经不能成为难题,而服务器方面,只需要一台安装了VB和SQL Server 2000数据库服务的计算机即可。所以开发环境可行性是没有任何问题的[10]。
2.2 开发环境
考试系统开发环境如下
(1)硬件配置环境:CPU:P4 1.8A、内存:256MDDR、硬盘:60G。
(2)操作系统:Microsoft Windows 98。
(3)数据库:开发过程中数据库工具采用了SQL Server 2000。
(4)编码工具:可视化开发工具Visual Basic。
2.3 研究设计中要解决的问题和实现的功能
(1)本系统主要是为毕业设计而准备的,在考虑一系列利弊关系后,本系统是以单机的考试形式而表现的。这套系统要能满足用户的基本要求,但在功能上模仿网上考试系统。
(2)该系统在登陆管理上应该具备权限功能,这样不仅有利于管理,也可以加强这套系统的安全性,所以权限的管理也是要解决的问题之一。例如管理员和教师可以对试题进行管理,但他们的区别在于管理员可以注册教师,教师只有成功被注册后才能拥有自己的权限。
(3)如果出的试题有错误,或者教师对出的试题不满意,就必须要对所出的试题进行修改。只是简单的让教师在数据库中对试题进行修改,对一套软件系统来说是不恰当的,不完善的,也是不安全的。所以,必须在上机考试系统中要有教师试题修改这部分的功能。如果教师发现哪一道试题有错误,或者教师对某一道试题不满意,希望修改,就可以在试题修改中实现。教师可以对试题的所有属性进行修改,例如:题目,选择题的答案,正确的答案,分数,等进行修改。如何很好的解决和实现教师对试题的修改是个关键性的问题。
(4)在学生考试之前,教师必须先出题。学生在考试过程中同时可以答选择题和填空题,在要求的时间内答完交卷,否则回强制交卷,同样学生也可以提前交卷,但如果一个学生在可考试过程中退出系统这样将不会有这个考生的成绩信息。
(5)对学生试卷的判卷功能是必须要有的。因为该考试系统可以对选择题,填空题进行考试,所以在系统中必须加入自动判卷,计算机自动判完分数后,自动将结果存入该考生的数据库中。因为问答题属于主观题类型,计算机对主观题实现自动判卷是困难的,不准确的。所以该系统不提供简答题的考试。
(6)学生如果希望进行一门或几门学科的考试,就必须在选课这一模块中进行课程的选择。学生只有选择了课程之后才能够进行考试,不选择课程是无法进行考试的。
(7)上机考试系统顾名思义是要在网络上进行的考试,最主要的目的就是考试,所以实现学生的网上考试是本系统中最最重要的一部分。学生可以选择课程名称,进行课程的上机考试。在学生考试的时候要求每位学生每次考试的题目的顺序都是随机的。学生提交完试卷之后,立即就可以得考试成绩。
(8)如果教师希望在庞大的题库中查找自己需要的试题,只是让教师在数据库中盲目的查找是不适当的,对数据库也是不安全的。要实现教师对试题的查找,在考试系统中加入教师试题查询这一模块是非常有必要的。教师可以根据题目,题目的关键字,题号,题型,试题进行快速准确的查询。如何实现教师试题查询的这部分功能,这方面是研究设计中要解决的问题。
3 系统总体设计
3.1 上机考试系统设计实现的策略
在上机考试系统的设计和实现过程中,为了使系统便于管理和安全,在网上考试系统中编辑设计了管理员登录,管理员具有最高权限,他可以向网上考试系统增加和删除教师和学生。教师和学生要想使用该考试系统必须先登录。教师登录后,可以对试题进行管理;为学生的考试出题,系统会自动生成一套根据老师设置的时间,分值和科目等要求的一套试卷;对试题进行修改,添加和删除。学生登录后可以对自己的密码进行修改;选择课程进行考试;在此之前一可以对要考试的试题进行练习。
上机考试系统的设计思想把整个系统分成管理员登陆、教师登陆、学生登陆三个模块。具体分别如图1所示。
图1 系统模块图
管理员登陆分为管理员密码修改、教师注册。管理员密码修改可以修改管理员的基本信息,而教师注册可以帮助其获得用户名和密码,进而登陆到各自的模块中。
教师登陆分为教师出题、试题修改、教师对分值和考试时间的设置、考后分析、整体分析。教师出题可以支持老师出单选题、多选题、填空题。考后分析和整体可以对考试的成绩进行分析,从而对考题难度,考生的掌握程度以及教学成果进行分析和总结。资源共享增加了信息的透明度,可以对考题和成绩进行共享,可以让学生网上答题和查询成绩。
学生登陆分为开始考试、查询分数、试题练习。在练习过程中系统会在学生做答的时候给出所做的答案的对错。
3.2 数据流程图
图2 管理员登陆模块流程图
图3 教师登陆模块流程图
图4 学生登陆模块流程图
4 系统详细设计
4.1 数据库结构图
4.1.1 数据库E-R图
图5 系统信息E-R图
4.1.2 数据库结构表
利用SQL2000 创建数据库
根据以上数据项和数据结构,及其ER图,数据库包含如下几个表文件:
(1)学生信息如表1所示。
表1 学生信息表
字段名称 | 数据类型 | 字段大小 |
学生学号 | 文本 | 8 |
学生姓名 | 文本 | 10 |
学生密码 | 文本 | 8 |
学生班级 | 文本 | 20 |
(2)学生课程信息如表2所示。
表2 学生课程信息表
字段名称 | 数据类型 | 字段大小 |
学生学号 | 文本 | 8 |
学生姓名 | 文本 | 10 |
学科编号 | 文本 | 8 |
考试学科 | 文本 | 50 |
考试时间 | 日期 | 长日期 |
分数 | 数字 | 双精度型 |
(3)学生项目信息如表3所示。
表3 学生项目信息表
字段名称 | 数据类型 | 字段大小 |
学生学号 | 文本 | 8 |
课程编号 | 文本 | 8 |
所学课程 | 文本 | 50 |
(4)学生考试信息如表4所示。
表4 学生考试信息表
字段名称 | 数据类型 | 字段大小 |
学生学号 | 文本 | 8 |
学生姓名 | 文本 | 10 |
学科编号 | 文本 | 8 |
考试学科 | 文本 | 50 |
考试时间 | 日期 | 长日期 |
题号 | 数字 | 长整型 |
题型 | 文本 | 50 |
答案 | 备注 | |
分数 | 数字 | 双精度型 |
(5)管理员信息如表5所示。
表5 管理员信息表
字段名称 | 数据类型 | 字段大小 |
管理员姓名 | 文本 | 50 |
密码 | 文本 | 50 |
(6)教师信息如表6所示。
表6 教师信息表
字段名称 | 数据类型 | 字段大小 |
ID | 自动编号 | |
教师姓名 | 文本 | 10 |
所讲学科 | 文本 | 50 |
学科编号 | 文本 | 8 |
所讲学科 | 文本 | 50 |
教师密码 | 文本 | 8 |
(7)考试信息如表7所示。
表7 考试信息表
字段名称 | 数据类型 | 字段大小 |
学科编号 | 文本 | 8 |
所讲学科 | 文本 | 50 |
考试时间 | 日期 | 长日期 |
题号 | 数字 | 长整型 |
题型 | 文本 | 8 |
章节 | 文本 | 8 |
题目 | 备注 | |
分数 | 数字 | 双精度型 |
难度 | 文本 | 8 |
正确的 | 文本 | 8 |
A~J | 备注 |
(8)试题信息如表8所示。
表8 试题信息表
字段名称 | 数据类型 | 字段大小 |
学科编号 | 文本 | 8 |
所讲学科 | 文本 | 50 |
出题时间 | 日期 | 长日期 |
考试时间 | 日期 | 长日期 |
题号 | 数字 | 长整型 |
题型 | 文本 | 8 |
章节 | 文本 | 8 |
题目 | 备注 | |
分数 | 数字 | 双精度型 |
难度 | 文本 | 8 |
正确的 | 文本 | 8 |
A~J | 备注 |
4.2 程序模块实现
4.2.1登录模块的实现
当使用者单击“.exe”文件时就弹出登录界面,用户可以选择自己的身份登录,如果没有用户名和密码,可单击到注册界面。登录界面如图6所示。
图6 登录界面
4.2.2 注册模块的实现
用户填写自己的身份、用户名和密码,以及确认密码后,完成注册,用此帐号登录。注册界面如图7所示。
图7 注册界面
4.2.3 教师出题模块实现
本模块可以实现对选择题和填空题的添加,对科目和题目进行规定,让其一一对应,然后把正确答案写在答案一栏,留判卷时使用,添好后,单击“添加”按钮,成功添加题目。教师出题界面如图8所示。
图8 教师出题界面
4.2.4 教师改题模块实现
如果教师发现已出的题目有错误,可以打开修改题目的界面,选择题目的编号,对此题目进行修改,修改完成后,直接提交即可。教师改题界面如图9所示。
图9 教师改题界面
4.2.5 学生考试模块实现
此模块是主要部分。实现了题目的显示和时间的限制,学生可根据题目来做出答案,每答完一题单击“下一题”按钮,便开始对下一题目进行回答。当完成试卷时单击“交卷退出”按钮,即可完成试卷提交。学生答题如图10所示。
图10 学生答题界面
4.2.6 学生成绩查询模块实现
当教师对学生的阅卷完成给出分数后,分数就会记录在学生的数据库里,学生就可登录自己的用户名和密码,对自己的分数进行查询。学生成绩查询如图11所示。
图11 学生成绩查询界面
5 系统运行与测试
5.1 调试
系统调试的目的是发现程序和系统中的错误并及时予以纠正。在一个系统中调试应该包括程序调试、功能调试(分调)、总调,在库存管理系统中用的调试方法也包括这些:
(1)程序调试
包括语法调试和逻辑检查,测试数据除采用正常数据外,还应用一些异常资料,用来考验程序的正确性。
① 用正常资料调试。
② 用异常资料调试。
③ 用错误资料调试。
(2)分调
即将一个功能内所有程序按次序串联起来调试。
(3)总调
将主控制调度程序和功能模块联结起来调试。
5.2 测试
测试是系统开发周期中一个十分重要的阶段,其重要性体现在它是保证系统质量与可靠性的最后关口,是对整个系统开发过程的最终审查,如果错误不能在测试阶段被发现并纠正,就会造成不堪设想的后果。在上机考试系统中测试的对象不仅仅是源程序,而是整个软件。系统测试是以找错误为目的,不是要证明程序无错,而是要精心选取那些易于发生错误的测试数据,以十分挑剔的态度,证明程序有错。
在上机考试系统中,所用到的测试方法有人工测试和机器测试。在人工测试中用的是个人复查,即当源程序编完以后,由自己进行检查,但这种测试方法存在不足之处:由于心理上对自己程序的偏爱,因此有些习惯性的错误不易发现,如果对功能理解有误,自己也不易纠正,所以在个人复查的基础上又用了机器测试中的白盒测试和黑盒测试。
(1)白盒测试:也称结构测试,将软件看作一个透明的白盒子,按照程序的内部结构和处理逻辑来选定测试用例,对软件的逻辑路径及过程进行测试,检查它与设计是否符。在进行白盒测试时,开发者对其软件进行测试,在完全了解系统功能、内部结构的前提下对系统进行测试,看实现的功能与想要实现的设计有什么冲突不符,并及时改正。
(2)黑盒测试:也称功能测试,将软件看作黑盒子,在完全不考虑程序的内部结构和特性的情况下,测试软件的外部特性,根据软件的需求规格说明书设计测试用例,从程序的输入和输出特性上测试是否满足设定的功能。在进行黑盒测试时,开发者以使用者的身份对其软件进行测试,多次输入符合条件的数据,看结果是否与预期相符,如果相符则说明程序对输入的条件反映正确,如果不符则说明程序有错,所以这种黑盒测试只能证明程序有错而不能证明程序无错。
典型的面向对象程序具有继承、封装和多态的新特性,这使得传统的测试策略必须有所改变。封装是对数据的隐藏,外界只能通过被提供的操作来访问或修改数据,这样降低了数据被任意修改和读写的可能性,降低了传统程序中对数据非法操作的测试。继承是面向以对程序的重要特点,继承使得代码的重用率提高,同时也使错误传播的概率提高。多态性使得面向对象程序对外呈现出强大的处理能力。但同时去使得程序内“同一”函数的行为复杂化,测试时不得不考虑不同类型具体执行的代码和产生 的行为。
(1)功能测试:测试是否满足开发要求,是否能够提供设计所描述的功能,是否用户的需求都得到满足。功能测试是系统测试最常用和必须的测试,通常还会以正式的软件说明书为测试标准。
(2)强度测试及性能测试:测试系统的能力最高实际限度,即软件在一些超负荷的情况,功能实现情况,如要求软件某一行为的大量重复、输入大量的数据、对数据库大量复杂性的查询等。测试软件的运行性能。这种测试常常与强度测试结合进行,需要事先对被测试软件提出性能指标,如传输连接的最长时限、传输的错误率、计算的精度 、记录的精度、响应的时限和恢复时限等。
结 论
经过三个多月的开发和设计,上机考试系统基本开发完成,其功能基本满足本系统的需求,覆盖所有需要计算机处理的业务;功能齐全;数据共享;信息传递方便、快捷;操作简单。本系统的管理模块可以实现项目统计、网上评审、经费管理、科研工作量统计、科研状态表、科技活动管理、成果管理、专家资料管理、科研机构管理等多种功能。该系统经历二十多年的发展,至今已具有相当高的水平,应用领域也在不断扩大和深入。计算机软硬件技术和数字通信技术的最新成就给管理信息系统提供了有力的技术支持。
但是由于毕业设计时间较短,加之本人水平所限,此系统只能初步运用Visual Basic强大功能的一些基本控件,在创建这个系统时也遇到过一些困难,是几经调试才能正常运行的。因此在设计过程中可能有漏洞或不尽如人意的地方,这有待于以后进一步完善,请老师和同学们体谅并多提宝贵意见。
通过本次毕业设计,我基本掌握了Visual Basic编程,使我更进一步了解了面向对象编程的内涵,领略了Visual Basic的博大精深,以及其高效率的开发环境,Visual Basic真的是很好的开发工具。
参考文献
[1] 龚沛曾, 陆慰民, 杨志强著. Visual Basic 程序设计教程(6.0版)[M].北京:高等教育出版社,2005.2:3-354
[2] 李耀辉. 无纸化考试系统的研究与分析[J].华北科技学院学报,2001,(04):2-3
[3] 张 铭. 计算机无纸化考试在教学改革中的实践[J]. 厦门广播电视大学学报,2003,(02):4-5
[4] James R.groff, Paul N.Weinberg, 章小莉, 宁 欣, 汪永好译. SQL完全手册.[M].北京:电子工业出版社,2004.2:1-293
[5] 朱如龙. SQL Server 数据库应用系统开发技术[M]. 北京:机械工业出版社,2004.1:1-248
[6] 刘炳文, 许蔓舒. Visual Basic程序设计教程[M]. 北京:清华大学出版社,2002.8:1-435
[7] 刘 韬, 骆 娟, 何旭洪. Visual Basic数据库系统开发实例导航[M]. 北京:人民邮电出版社,2006.8:1-423
[8] 毕 茹,李光明,李 茜. ADO数据库开发在VB6中的应用[J]. 计算机系统应用,2002,(12):2-13
[9] 熊 凯. 基于VB6.0编程实现SQL数据任意条件查询[J]. 电脑编程技巧与维护,2007,(03):5-15
[10] 申晋祥. 基于计算机考试系统的软件描述[J]. 雁北师范学院学报,2005,(02):20-22
[11] 谢树云. 在VB6.0中使用数据控件访问数据库的技术[J]. 昭通师范高等专科学校学报,2003,(02):3-5
[12] 韦建忠. VB6.0数据访问编程技术[J]. 内蒙古科技与经济,2006,(21):33-36
[13] 周梅红, 李 珊, 郑 宇, 罗建平. VB实验考试自动阅卷系统的实现[J]. 福建电脑,2004,(12):44-46
[14] 沈军飞. 基于VB的考试系统的设计[J]. 电脑知识与技术,2005,(17):2-9
[15] 陈宁川. VB6.0数据库访问技术[J]. 辽宁师专学报(自然科学版),2006(03):8-11
标签:毕设,系统,数据库,Basic,JavaEE,Visual,源码,SQL,考试 From: https://blog.csdn.net/qq_52030698/article/details/139423346