学生网上自测系统

更新时间:2024-06-15 21:28:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

辽宁科技大学毕业设计(论文) 第I页 学生网上自测系统

摘 要

本系统主要用于学生在网上进行考试。教师在网上为学生出题和抽题。学生考完试后本系统可以自动为学生判卷,并且将结果存入相应的数据库表中。教师可以利用此系统的出题功能从而为自己所讲学科的试题形成一个题库。教师还可利用此系统将从题库中抽出的题生成Word文件。

本文首先进行系统的需求分析,得出要建的各个系统模块。其次用Microsoft ODBC数据源管理支持下的数据库Microsoft Access建立系统运行所要的后台数据库。本考试系统具有自动出题、随机出题、自动阅卷计分、在线记时考试、用户帐户管理、批量添加考生、成绩存档等功能,它将有效地提高考试效率。在本系统的设计中,尽量做到了对其的设计达到较强的移植性,使得本系统具有一定的应用前景。

关键词 网上考试;数据库;互联网

辽宁科技大学毕业设计(论文) 第II页

Abstract

The system is mainly utilized to the Internet tests. Teachers put questions and select questions for the students on the Internet, and this system can correct them automatically after testing and saving the results to the relevant tables of the database. In addition, the teachers can use the system to form a tests-base for their teaching-subjects, and they may also utilize this system to make the selected-exam create a Word file from the tests base.

In this paper, a systematic needs analysis, come to build the various system modules. Followed by Microsoft ODBC Data Source Administrator, supported the establishment of Microsoft Access database system to the background database. The examination system has automatically questions, random questions, automated scoring points, on-line in mind when the exam, the user account management, added volume of candidates, results archiving and other functions, it will effectively improve the efficiency of the examination. In the design of the system, as far as possible the design of its transplantation to achieve a stronger, and makes the system a certain application. Keywords Internet examinations; Data base; Internet

辽宁科技大学毕业设计(论文) 第III页 目 录

摘 要……………………………………………………………………….I Abstract…………………………………………………………………….II 第1章 绪论………………………………………………………………1

1.1 课题的研究意义 ............................................................ ………...1 1.2 相近研究课题的特点及优缺点分析 ........................................... 1 第2章 系统技术理论简介 ......................................................................... 3

2.1 ASP技术介绍 ............................................................................... 3 2.2 VBScript介绍. .............................................................................. 7 2.3 IIS 5.1 简介…………………………………………………….8 2.3.1 IIS 5.1服务器特征………………………………………….9 2.3.2 IIS 5.1的安装配置………………………………………….9 2.4 课题要达到的设计目标 ............................................................. 10 第3章 系统的需求分析………………………………………………..12

3.1可行性分析 .................................................................................... 12 3.2 开发环境 ..................................................................................... 13 3.3 研究设计中要解决的问题 ......................................................... 13 第4章 系统总体设计…………………………………………………..15

4.1 网上考试系统设计实现的策略 ................................................. 15 4.2 网上考试系统流程 ..................................................................... 16 第5章 系统详细设计…………………………………………………..17

5.1 数据库设计 ................................................................................. 17 5.2 数据库结构图 ............................................................................. 17

5.2.1 数据库E-R图……………………………………………..17 5.2.2 数据库结构表……………………………………………..18

第6章 程序模块实现…………………………………………………..22

6.1 分模块详述系统各部分的实现方法 ......................................... 22 6.2 系统的部分代码实现 ................................................................. 29 6.3 系统需要完善的地方 ................................................................. 30

辽宁科技大学毕业设计(论文) 第IV页 第7章 系统测试………………………………………………………..31

7.1 测试目的 ..................................................................................... 31 7.2 测试过程 ..................................................................................... 31 7.3 测试结果 ..................................................................................... 33 结论………………………………………………………………………..34 致谢………………………………………………………………………..35 参考文献…………………………………………………………………..36 附录A……………………………………………………………………..37 附录B……………………………………………………………………..40

辽宁科技大学毕业设计(论文) 第1页 第1章 绪论

1.1 课题的研究意义

计算机技术与网络技术飞速发展,传统的教育模式和考试模式受到了严重的挑战。很多国家和地区的大学和社会都开设了远程教育,通过计算机网络实现异地教育和培训。计算机硬件技术的发展已经达到了相当高的水平,但是远程教育软件的开发目前还处于起步阶段,于是就要求有更好、更完善的软件系统应用到远程教育当中去。

远程教育包括很多环节,如教学系统、答疑系统和考试系统等等。其中很重要的一个环节就是网上考试系统,同时它也是最难实现的环节。以往组织一次考试至少要经过五个步骤,即人工出题、考生考试、人工阅卷、成绩评估和试卷分析。可以说传统的考试方式已经不能适应现代考试的需要。

在线考试是现阶段研究开发的一个热点。它是建立在国际互联网上的应用系统,客户端的配置可以极为简单,使考试不受地域的局限。一个完备的网上考试系统可以使用户在网上学习过后及时检验自己的学习效果,发现自己的不足,使得学习效率得到很大提高。网上考试系统中题目的生成、试卷的提交、成绩的批阅等都可以在网络上自动完成。只要形成一套成熟的题库就可以实现考试的自动化。这样一来,教师所要做的只是精心设计题目、维护题库,而不是组织考试,从而大大减轻了教师的负担,这表明其经济性是相当可观的。

1.2 相近研究课题的特点及优缺点分析

网上考试系统的特点是实现了网上的无纸化考试,减轻了教师的工作量,自动判卷,网上查分,网上试题查询等功能。有些网上考试系统只面向一种学科,使用的范围比较狭窄。还有的网上考试系统功能比较单一,只能进行选择题的考试,或者只能实现判断题的考试。也有的网上考试系统只能实现网上考试,而不能对学生考试后的试卷进行保存,以待学生以后查询。总之,现在的网上考试系统产品很多,质量有好有坏,参差不齐。

辽宁科技大学毕业设计(论文) 第2页 本考试系统是一套功能强大、操作简便而又实用的模拟考试管理软件,它可以被广泛用于各种类型的考试中。考试管理部分包括系统的用户信息管理、科目信息管理以及试题信息管理。学生考试部分实现提供考试试卷、控制考试时间和进行考试的分数统计等功能。

辽宁科技大学毕业设计(论文) 第3页 第2章 系统技术理论简介

2.1 ASP技术介绍

ASP (Active Server Pages)其实是一套微软开发的服务器端脚本环境,是创建动态网页的一个很好的工具,它起到一种编程语言的作用,可以利用它编写产生HTML的程序代码。只要用户浏览Web站点并请求一个ASP页,Web服务器就可以处理相应的ASP代码,生成HTML (Hyper Text Markup Language)代码,然后将它传递到用户浏览器并显示出网页。ASP含于IIS3.0和4.0之中,可以通过结合HTML网页、ASP指令和ActiveX元件建立动态、交互且高效的Web服务器应用程序。有了ASP就不必担心客户的浏览器是否能运行所编写的代码,因为所有的程序都将在服务器端执行,包括所有嵌在普通HTML中的脚本程序。当程序执行完毕后,服务器仅将执行的结果返回给客户浏览器,这样也就减轻了客户端浏览器的负担,大大提高了交互的速度。

ASP所独具的一些特点:

(1)使用VBScript 、JavaScript等简单易懂的脚本语言,结合HTML代码,即可快速地完成网站的应用程序。

(2)无须编译,容易编写,可在服务器端直接执行。

(3)使用普通的文本编辑器,如Windows的记事本,即可进行编辑设计。 (4)与浏览器无关,用户端只要使用可执行HTML码的浏览器,即可浏览ASP所设计的网页内容。ASP所使用的脚本语言(VBScript 、JavaScript)均在Web服务器端执行,用户端的浏览器不需要能够执行这些脚本语言。

(5)ASP能与任何ActiveX Scripting语言相容。除了可使用VBScript或JavaScript语言来设计外,还通过Plug-in的方式,使用由第三方所提供的其他脚本语言,譬如REXX(Restructured Extended Executor Language)、PERL(Practical Extraction and Report Language)等。脚本引擎是处理脚本程序的COM(Component Object Model)物件。

(6)ASP的源程序,不会被传到客户浏览器,因而可以避免所写的源程序被他人剽窃,也提高了程序的安全性。

(7)可使用服务器端的脚本来产生客户端的脚本。

辽宁科技大学毕业设计(论文) 第4页 (8)物件导向(Object-oriented)。

(9)ActiveX Server Components(ActiveX服务器元件)具有无限可扩充性。可以使用Visual Basic 、Java 、Visual C++等编程语言来编写你所需要的ActiveX Server Component。

(10)另外,ASP技术的处理速度相当快,并且其安全性也很高。ASP最重要的优点是能够建立对诸如时间、地点、用户标志、以前的选择和活动等因素敏感的页面。换句话说,可针对每个用户的个别需求,用ASP定制网页。

总之,ASP包含三方面含义:

(1)Active:ASP使用了微软的ActiveX技术。ActiveX(COM)技术是现在Microsoft软件的重要基础。它采用封装对象,程序调用对象的技术,简化编程,加强程序间合作。ASP本身封装了一些基本组件和常用组件,有很多公司也开发了很多实用组件。只要在服务器上安装这些组件,通过访问组件,就可以快速、简易地建立自己的Web应用。

(2)Server:ASP运行在服务器端。这样就不必担心浏览器是否支持ASP所使用的编程语言。ASP的编程语言可以是VBScript和JavaScript。VBScript是VB(Visual Basic)的一个简集,会VB的人可以很方便的快速上手。然而Netscape浏览器不支持客户端的VBScript,所以最好不要在客户端使用VBScript。而在服务器端,则无需考虑浏览器的支持问题。Netscape浏览器也可以正常显示ASP页面。

(3)Pages:ASP返回标准的HTML页面,可以正常地在常用的浏览器中显示。浏览者查看页面源文件时,看到的是ASP生成的HTML代码,而不是ASP程序代码。这样就可以防止别人抄袭程序。

由此可以看出,ASP是在IIS下开发Web应用的一种简单、方便的编程工具。在了解了VBScript的基本语法后,只需要清楚各个组件的用途、属性、方法,就可以轻松编写出自己的ASP系统。

与一般的程序不同,ASP程序无须编译。ASP程序的控制部份,是使用VBScript、JavaScript等脚本语言来设计的,当执行ASP程序时,脚本程序将一整套命令发送给脚本解释器(即脚本引擎),由脚本解释器进行翻译并将其转换成服务器所能执行的命令。当然,同其他编程语言一样,ASP程序的编写也遵循一定的规则,如果想使用喜爱的脚本语言编写ASP程序,那么服务器上必须要有能解释这种脚本语言的脚本解

辽宁科技大学毕业设计(论文) 第5页 释器。当安装ASP时,系统提供了两种脚本语言:VBScript和JavaScript,而VBScript则被作为系统默认的脚本语言。

ASP程序其实是以扩展名为.asp的纯文本形式存在于Web服务器上的,可以用任何文本编辑器打开它,ASP程序中可以包含纯文本、HTML标记以及脚本命令。只需将.asp程序放在Web服务器的虚拟目录下(该目录必须要有可执行权限),就可以通过WWW的方式访问ASP程序了。要学好ASP程序的设计,必须掌握脚本的编写,那么究竟什么是脚本呢?其实脚本是由一系列的脚本命令所组成的,如同一般的程序,脚本可以将一个值赋给一个变量,可以命令Web服务器发送一个值到客户浏览器,还可以将一系列命令定义成一个过程。要编写脚本,必须要熟悉至少一门脚本语言,如VBScript。脚本语言是一种介于HTML和诸如Java、VB、C++等编程语言之间的一种特殊的语言,尽管它更接近后者,但它却不具有编程语言复杂、严谨的语法和规则。如前所述ASP所提供的脚本运行环境可支持多种脚本语言,譬如:JavaScript、REXX、PERL等等,这无疑给ASP程序设计者提供了广泛的发挥余地。ASP的出现使得广大Web设计者不必在为客户浏览器是否支持而担心,实际上就算在同一个.asp文件中使用不同的脚本语言,都无须为此担忧,因为所有的一切都将在服务器端进行,客户浏览器得到的只是一个程序执行的结果,只需在文件中声明使用不同的脚本语言即可[1]。

ASP的对象和组件: (1)ASP有7个固有对象

这7个固有对象分别是Request、Response、Server、Application、Session、ASP Error和Object Context。

Request对象用来处理用户做出的请求,就是处理用户要求浏览器查看特定的网页或Web应用时做出的请求。此请求可以HTML的形式输入或仅以URL(Uniform Resource Location)的形式做出。Response对象用来处理从Web服务器向用户发送信息并对此信息进行控制。

Server对象用来代表服务器自身。因此它提供几个与Web服务器可能要完成的任务相关的常用功能,诸如建立新对象和设置脚本的超时特性等。还有通过将不合法字符转化为合法字符,把字符串转换为URL和HTML正确的使用格式的方法。

Application对象用来代表应用,可用它来管理诸如应用目录这一类的东西。

辽宁科技大学毕业设计(论文) 第6页 Session对象用来代表用户会话,并存储该会话的信息。可利用Session对象来管理如Web服务器在用户“请求”之间等待的时间等。

Object Context对象用来管理事务处理。它目前已经集成到Windows2000操作系统中了。它包含了所有ASP其他对象,可通过Object Context引用ASP的每个对象。

ASP Error对象包含ASP脚本或asp.dll本身产生的任何错误的详细内容。 (2)Microsoft Data Access Components

MDAC (Microsoft Data Access Components)作为操作系统的组成部分的组件,与ASP一起提供。此组件中包含一组称为ADO(ActiveX Data Object)的对象,他们对于查看不同平台上的各种数据(数据库、表单、文本文件)是必不可少的。ADO主要有3个对象,分别是Connection、Command和Record Set。

Connection对象就是使ADO与数据库之间建立一个通道,也就是实现与数据库的连接。

Command对象就是对数据库进行发号施令,比如建立新的索引,执行查询等,它可以通过标准的SQL (Structured Query Language)数据库操作语言得以实现。

Record Set对象是一个数据记录集,它包含检索出来的记录数据,通过它可以直接对数据库进行修改。

(3)活动服务器组件

活动服务器组件是与ASP一起免费带来的组件或DLL(Dynamic Link library),他们有着广泛的用途。主要包括AD Rotator、Browser Capabilities、Content Link、Content Rotator、Counters、Logging Utility、My Info、Page Counter、Permission Checker、Tools等组件。由于本次设计用到的不多,在此就不详细介绍了

(4)ASP脚本对象

它们分别是Dictionary、File System Object和Text Stream由于本设计用到的也不多,在此就不详细介绍了。

辽宁科技大学毕业设计(论文) 第7页 2.2 VBScript介绍

Microsoft Visual Basic Scripting Edition是程序开发语言Visual Basic家族的最新成员,它将灵活的Script应用于更广泛的领域,包括Microsoft Internet Explorer中的 Web 客户机 Script 和 Microsoft Internet Information Server 中的 Web 服务器 Script。

VBScript使用ActiveX Script与宿主应用程序对话。使用ActiveX Script,浏览器和其他宿主应用程序不再需要每个Script部件的特殊集成代码。ActiveX Script使宿主可以编译Script、获取和调用入口点及管理开发者可用的命名空间。通过ActiveX Script,语言厂商可以建立标准Script运行时语言。Microsoft将提供VBScript的运行时支持。Microsoft正在与多个Internet组一起定义ActiveX Script标准以使Script引擎可以互换。ActiveX Script可用在Microsoft Internet Explorer和Microsoft Internet Information Server中。

VBScript只有一种数据类型,称为Variant。Variant 是一种特殊的数据类型,根据使用的方式,它可以包含不同类别的信息。因为Variant是VBScript中唯一的数据类型,所以它也是VBScript 中所有函数的返回值的数据类型。最简单的Variant可以包含数字或字符串信息。Variant用于数字上下文中时作为数字处理,用于字符串上下文中时作为字符串处理。这就是说,如果使用看起来象是数字的数据,则VBScript会假定其为数字并以适用于数字的方式处理。与此类似,如果使用的数据只可能是字符串,则VBScript将按字符串处理。当然,也可以将数字包含在引号(\中使其成为字符串。除简单数字或字符串以外,Variant可以进一步区分数值信息的特定含义。例如使用数值信息表示日期或时间。此类数据在与其他日期或时间数据一起使用时,结果也总是表示为日期或时间。当然,从Boolean值到浮点数,数值信息是多种多样的。Variant包含的数值信息类型称为子类型。大多数情况下,可将所需的数据放进Variant中,而Variant也会按照最适用于其包含的数据的方式进行操作。声明变量的一种方式是使用Dim语句、Public语句和Private语句在Script中显式声明变量。

另一种方式是通过直接在Script中使用变量名这一简单方式隐式声明变量。这通常不是一个好习惯,因为这样有时会由于变量名被拼错而导致在运行Script时出现意外的结果。因此,最好使用Option Explicit语句显式声明所有变量。

辽宁科技大学毕业设计(论文) 第8页 2.3 IIS 5.1 简介

IIS(Internet Information Server),是微软公司主推的服务器,最新的版本是IIS 6.0,IIS与Windows NT(Network Termination) Server完全集成在一起,因而用户能够利用Windows NT Server和NTFS(NT File System)内置的安全特性,建立强大,灵活而安全的Internet站点。

IIS支持HTTP(Hypertext Transfer Protocol)、FTP(File Transfer Protocol)以及SMTP(Simple Mail Transfer Protocol)协议,通过使用CGI(Common Gateway Interface)和ISAPI(Internet Server Application Programming Interface),IIS可以得到高度的扩展。

IIS支持与语言无关的脚本编写和组件,通过IIS,开发人员就可以开发新一代动态的,富有魅力的Web站点。IIS不需要开发人员学习新的脚本语言或者编译应用程序,IIS完全支持VBScript,JavaScript开发软件以及Java,它也支持CGI和Win CGI,以及ISAPI扩展和过滤器。

IIS支持服务器应用的Microsoft BackOffice系列,Microsoft BackOffice系列包括的内容:

(1)Microsoft Exchange Server 客户/服务器通讯和群组软件; (2)Microsoft Proxy Server 代理服务器;

(3)用于连接IBM企业网络的Microsoft SNA(Systems Network Architecture) Server;

(4)用于集中管理分布式系统的Microsoft Systems Management Server; (5) MCIS(Microsoft Commercial Internet System)。

IIS的设计目的是建立一套集成的服务器服务,用以支持HTTP(Hyper Text Transfer Protocol),FTP(File Transfer Protocol)和SMTP(Supplemental Medium Term Policy),它能够提供快速且集成的现有产品,同时可扩展Internet服务器。 IIS相应性极高,系统资源的消耗也是最少,IIS的安装,管理和配置都相当简单,这是因为IIS与Windows NT Server网络操作系统紧密的集成在一起,另外,IIS还使用与Windows NT Server相同的SAM(Security Accounts Manager),对于管理员来说,IIS使用诸如Performance Monitor和SNMP(Simple Network Management Protocol)之类

辽宁科技大学毕业设计(论文) 第9页 的NT已有管理工具。

2.3.1 IIS 5.1服务器特征

IIS的一个重要特性是支持ASP,IIS 3.0版本以后引入了ASP,可以很容易的显示动态内容和开发基于Web的应用程序。对于诸如VBScript,JavaScript开发软件,或者由Visual Basic,Java,Visual C++开发系统,以及现有的CGI和Win CGI脚本开发的应用程序,IIS都提供强大的本地支持。

IIS可以赋予一部主机电脑一组以上的IP地址,而且还可以有一个以上的域名作为Web网站,可以利用TCP/IP内容设置两组以上的IP地址给它,除了为网卡再加进一组IP地址之外,必须在负责这个点的DNS(Domain Name System)上为这组IP地址指定另一个域名,完成这些步骤以后,在Internet Service Manage中就会出现一个虚拟Web服务器,虚拟服务器(Virtual Server)必须有它自己的主目录(Home Directory),对于IIS来说,所有服务器都是它的虚拟服务器。

在互联网上,有很多网站需要多部服务器才能够应付来自用户端的请求,这就需要利用DNS所具有的功能,将一组以上的IP指定给同一个域名,每当这个网站接到服务要求,由DNS负责进行解析,它会指定域名的下一组IP地址给它,若要求采用这套做法,服务器的内容必须逐一复制到每一部服务器上。

为了存取后端数据库,IIS支持三种方式: IDC(Internet Data Connector)、ADO及ADC(Advanced Data Connector)。

这三种存储方式各有其特点,这里特别强调的是这三种数据库存取方式的后端数据库都必须提供ODBC(Open Database Connection)界面。

2.3.2 IIS 5.1的安装配置

IIS是构建ASP站点所必须的,IIS的安装及其配置步骤:(以Windows XP为例) (1) 打开“控制面板”;

辽宁科技大学毕业设计(论文) 第10页 (2) 点击“添加/删除程序”;

(3) 单击“添加/删除Windows组件”,打开添加/删除Windows组件对话框; (4) 从下拉的列表中选择“Internet 信息服务(IIS)”单击“下一步”;

(5) 出现组件安装进度窗口,如弹出需要安装盘的话,放入Windows XP安装盘,

按提示操作即可。直至最后安装完毕。

2.3.3 ADO简介

ActiveX数据对象作为微软公司数据库接口的组成部分,其定义了一组 COM (通用对象模型)对象,用以操作不同的数据源的数据。ADO 为不同的数据类型提供了一个非常通用的接口,而你则不用也没必要去管这些接口究竟是在单机还是分布在网络中。因为,在 ADO 中使用的是 COM 对象,是它们很容易在众多的编程环境中使用,包括:VB,Visual C,甚至 Java Script 。本系统是采用 C# 来实现的,而在 C# 中使用 ADO 比在 Visual C 中使用 ADO 对象要简单的多。

其中,使用 ADO 的执行操作过程:

(1)连接到数据源。同时,可确定对数据源的所有更改是否已成功或没有发生。 (2)指定访问数据源的命令,同时可带变量参数,或优化执行。

(3)执行命令。

(4)如果这个命令是数据按表中的行的形式返回,则将这些行存储在易于检查、

操作或更改的缓存中。 (5)适当情况下,可使用缓存行的更改内容来更新数据源。 (6)提供常规方法检测错误(通常由建立连接或执行命令造成)。

这些只是在典型情况下,编程模型中使用的步骤,由于 ADO 有很强的灵活性,所以在一般情况下,模型只需执行部分步骤。本系统的各个功能模型中使用数据库时,也只是执行部分操作。

2.4 课题要达到的设计目标

网上考试系统要达到的目标是: (1)能够实现在网上的考试。

(2)能够实现网上自动判卷,包括单选题的自动判卷,多选题的自动判卷,判断

辽宁科技大学毕业设计(论文) 第11页 题的自动判卷,将结果存入数据库,并且要保证判卷的正确,准确无误。

(3)学生选课。学生只有选择了课程之后才能够进行考试,不选择课程是无法进行考试的。

(4)管理员登录。为了确保安全,网上考试系统提供了管理员登录功能。管理员必须通过管理员姓名和管理员密码认证后,如果正确才能够进入。如果不正确则管理员不能够进入。

(5)科目管理。如果学生已经取得了这门课程的学分,或者是选择了错误的课程,就可以在此删除选择的课程。

(6)学生注册。对新的学生进行注册,注册内容包括学生姓名,学生学号,学生密码。

(7)学生登录。为了确保安全,网上考试系统提供了学生登录功能。学生必须通过学生姓名和学生密码认证后,如果正确才能够进入。如果不正确则学生不能够进入。

(8)查询分数。学生考完试后,可以通过考试学科名称,考试学科的编号,考试学科的日期,进行自己分数的查询。

辽宁科技大学毕业设计(论文) 第12页 第3章 系统的需求分析

3.1可行性分析

可行性研究就是预开发软件系统的总体目标,给出它的功能、性能、可靠性以及其他方面的要求。其目的是用最小的代价在尽可能短的时间内确定问题是否能够解决、是否值得去解决。

从四个方面分析本系统的可行性: (1) 技术可行性

本网站采用Microsoft Access 2003进行后台数据库的管理、操作和维护,用Macromedia DreamweaverMX2004 和HTML、ASP进行前台界面设计、与后台数据库的接口、数据的录入、查询、浏览等功能。根据ASP的特点与DreamweaverMX2004强大的方便快捷的开发工具,以及他们当前的广泛实际应用,充分说明本网站在技术方面可行。

(2) 经济可行性

经济可行性分析(能否赢利)是,从经济的角度分析网站系统的规划方案有无实现的可能和开发的价值;分析网站系统所带来的经济效益是否超过开发和维护网站所需要的费用。经济上的可行性是企业行为的基础。

由于网上考试系统的开发设计是为完成毕业设计任务而进行的,所以不存在赢利问题。所以在此也就不讨论经济可行性问题。

(3) 开发环境可行性

网站开发需要的开发环境需要装有Windows98系统以上的电脑上运行,这样的配置在当今已经不能成为难题,而服务器方面,只需要一台安装了IIS服务的计算机即可。所以开发环境可行性是没有任何问题的。

辽宁科技大学毕业设计(论文) 第13页 3.2 开发环境

系统开发环境:

(1)硬件配置环境:CPU:P4 1.8A、内存:256MDDR、硬盘:60G。 (2) 操作系统:: Windows98以上。

(3) Web服务器: IIS 5.1 是Windows XP中自带的Internet信息服务组件。 (4) 数据库:开发过程中数据库工具采用了Access2003。因为IIS默认支持Access数据库,这样在变更编程所用的计算机时不用重新设置,且Access使用起来比较方便、符合Web服务器对数据库的要求。

(5) 编码工具:采用Macromedia DreamweaverMX2004编写VBScript和JavaScript来实现ASP动态网页的编码,同时也用它来设计网页前台的框架。

3.3 研究设计中要解决的问题

任何一套系统的编辑和设计中都会遇到这样或者那样的问题。遇到了问题和困难,就要想办法去解决。可以翻阅参考资料书籍,请教教师同学,还可以在网上查找一些相应的材料。先要分析出现问题的原因,然后再寻找解决问题和困难的方法。要从多个角度思考问题。为了解决困难要多做一些实验性的工作,利用多种方法,多种函数,去攻克困难。

在研究设计网上考试系统中要解决的问题有几个方面:

(1)因为本系统要求是在网上的无纸化的考试,而不是单机的考试。这套系统要满足广大网络用户的要求,要实现在局域网上的应用。所以要解决这方面的问题。

(2)既然是网上考试系统,对学生试卷的判卷功能是必须要有的。因为本网上考试系统可以对单选题,多选题,判断题,问答题进行网上考试,所以在系统中必须加入网上自动判卷,主要是对单选题,多选题,判断题这些客观题进行网上的自动判卷。

(3)学生如果希望进行一门或几门学科的考试,就必须在选课这一模块中进行课程的选择。学生只有选择了课程之后才能够进行考试,不选择课程是无法进行考试的。学生选择了课程之后,在相应的数据库表中就会有该学生选择课程的相关记录产生。

辽宁科技大学毕业设计(论文) 第14页 (4)如果学生已经取得了这门课程,或者是选择了错误的课程,就要进行删除课程的工作,所以,网上考试系统中就要具备删除已经选择的课程的内容。

(5)网上考试系统顾名思义是要在网络上进行的考试,最主要的目的就是考试,所以实现学生的网上考试是本系统中最最重要的一部分。学生可以选择课程名称,课程编号,考试时间,进行课程的网上考试。如何实现学生网上考试的这部分功能,是研究设计中重点要解决的问题。

辽宁科技大学毕业设计(论文) 第15页 第4章 系统总体设计

4.1 网上考试系统设计实现的策略

在网上考试系统的设计和实现过程中,为了使系统便于管理和安全,在网上考试系统中编辑设计了管理员登录,管理员具有最高权限,他可以向网上考试系统增加和删除教师和学生。教师和学生要想使用网上考试系统必须先登录。教师登录后,可以修改自己的登录密码;为学生的考试出题,并且形成题库;为学生将要进行的考试在题库中抽题;对试题进行修改;对试题进行按要求的查询;将考试的试题生成word文件。学生登录后可以选择自己考试的课程;删除考过的课程;按照考试课程的名称,课程的编号和时间选择考试;查看自己的分数;查询学生考过课程的试卷。

网上考试系统的设计思想把整个系统分成管理员登陆、教师登陆、学生登陆三个模块。具体结构如图4.1所示:

网上考试系统管理员登陆教师登陆学生登陆教师出题试题查询试题修改教师抽题教师判卷考后分析整体分析资源共享教师注册码管修理改员密学生注册学生选课学生删课开始考试查询分数查询试题 图4.1 系统的结构图

辽宁科技大学毕业设计(论文) 第16页 管理员登陆分为管理员密码修改、教师注册、学生注册。管理员密码修改可以修改管理员的基本信息,而教师注册和学生注册可以帮助其获得用户名和密码,进而登陆到各自的模块中。

教师登陆分为教师出题、试题查询、试题修改、教师抽题、教师判卷、考后分析、整体分析、资源共享。教师出题可以支持老师出单选题、多选题、判断题、简答题。试题查询可以根据题目,题目的关键字,题号,题型,考试日期对试题进行快速准确的查询。试题修改可以对不符合要求题目进行删除和修改。教师抽题可以按照试题和老师进行题目的抽取。考后分析和整体可以对考试的成绩进行分析,从而对考题难度,考生的掌握程度以及教学成果进行分析和总结。资源共享增加了信息的透明度,可以对考题和成绩进行共享,可以让学生网上答题和查询成绩。

学生登陆分为学生选课、开始考试、查询分数、查询试题。学生选课可以对科目进行选取,选择对应的科目试题。管理员可以将结业的科目和选错,以及近期不用的题目进行删除。开始考试是把所选科目的试题拿来进行网上的同步考试。查询分数是对老师判卷后的成绩进行查询。查询试题是对所考过的题目进行系统查询[2]。

4.2网上考试系统流程

首先,管理员部分需要身份认证,与考生登陆类似,还需管理员帐号维护。 其次,管理部分还需添加考试的考生帐号和密码,为考生分配考试资格。 网络在线考试管理部分主要内容是考试科目管理和考试试题管理。举行一场考试首先要确定一个科目,然后为该科目出考题。考试试题包含试题类型、试题内容、试题分数等。

考生交卷后,考试系统可以立即批阅学生考卷,并马上给出考试结果。系统自动阅卷功能也要在管理部分实现。

考生考试结束后,考试分数存储在系统中,对其中需要修改的分数可以进行修改或删除。

辽宁科技大学毕业设计(论文) 第17页 第5章 系统详细设计

5.1 数据库设计

现在,世界上绝大数的数据库都采用关系模型,至于关系模型的优点,以及概念、完整性约束等内容,由于本文不是专门研究数据库的,这里就不进行详细的讨论了,只需知道这里的数据库也是关系数据库。目前,主流的数据库系统主要有 Oracle ,Microsoft SQL Server 2000 ,Sybase ,Microsoft Access ,Informix ,IBM 的 DB2等。Microsoft SQL Server 2000 是一种专门的大型数据库系统,提供完全的数据库操作;Microsoft Access 只是 Microsoft Office 附属的,提供一般的数据库操作。而本系统所涉及的数据库所执行的工作也只是一般的增加、查询、删除和修改等操作,为了简单易行,所以选择了 Microsoft Access 来设计数据库[3]。

5.2 数据库结构图

5.2.1 数据库E-R图

用名名试题信息其他信息答题信息分数信息其他信息密码学号姓名教师学生管理试题使用题号题型难易程度答案分数 图5. 1 系统信息E-R图

辽宁科技大学毕业设计(论文) 第18页 5.2.2 数据库结构表

利用Microsoft Access 创建数据库,库文件名为WebTest.mdb

根据系统数据项和数据结构及其ER图创建表。

(1) 为了存储学生信息,实现学生登陆模块功能,建立学生信息表,如表5.1所

示:

表5.1 学生信息表

字段名称 学生学号 学生姓名 学生密码

数据类型 文本 文本 文本

字段大小

8 10 8

(2)为了存储学生信息,实现学生查询分数模块功能,建立学生课程信息表,如

表5.2所示:

表5.2学生课程信息表

字段名称 学生学号 学生姓名 学科编号 考试学科 考试时间 分数

数据类型 文本 文本 文本 文本 日期 数字

字段大小

8 10 8 50 长日期 双精度型

(3)为了存储学生信息,实现学生选课模块功能,建立学生项目信息表,如表5.3

所示:

辽宁科技大学毕业设计(论文) 第19页 表5.3 学生项目信息表

字段名称 学生学号 课程编号 所学课程

数据类型 文本 文本 文本

字段大小

8 8 50

(4)为了存储学生信息,实现学生查询试题模块功能,建立考试信息表,如表5.4

所示:

表5.4 学生考试信息表

字段名称 学生学号 学生姓名 学科编号 考试学科 考试时间 题号 题型 答案 分数

数据类型 文本 文本 文本 文本 日期 数字 文本 备注 数字

字段大小

8 10 8 50 长日期 长整型 50

双精度型

(5) 为了存储管理员信息,实现管理员登陆模块功能,建立管理员信息表,如表

5.5所示:

表5.5 管理员信息表

字段名称 管理员姓名 密码

数据类型 文本 文本

字段大小 50 50

辽宁科技大学毕业设计(论文) 第20页

(6)为了存储教师信息,实现教师试题查询、整体分析等模块功能,建立教师信息表,如表5.6所示:

表5.6 教师信息表

字段名称 ID 教师姓名 所讲学科 学科编号 所讲学科 教师密码

数据类型 自动编号 文本 文本 文本 文本 文本

字段大小

10 50 8 50 8

(7)为了存储考试信息,实现考试模块功能,建立考试信息表,如表5.7所示:

表5.7 考试信息表

字段名称 学科编号 所讲学科 考试时间 题号 题型 章节 题目 分数 难度 正确的 A ? J

数据类型 文本 文本 日期 数字 文本 文本 备注 数字 文本 文本 备注 备注

字段大小 8 50 长日期 长整型 8 8

双精度型

8

8

(8)为了存储试题信息,实现试题查询、修改模块功能,建立试题信息表,如表5.8所示:

辽宁科技大学毕业设计(论文) 第21页

表5.8 试题信息表

字段名称 学科编号 所讲学科 出题时间 考试时间 题号 题型 章节 题目 分数 难度 正确的 A ? J

数据类型 文本 文本 日期 日期 数字 文本 文本 备注 数字 文本 文本 备注 备注

字段大小 8 50 长日期 长日期 长整型 8 8

双精度型

8 8

辽宁科技大学毕业设计(论文) 第22页 第6章 程序模块实现

6.1 分模块详述系统各部分的实现方法

1、教师出题模块的实现方法

教师登录后,选择进入教师出题界面(teacher_subject.asp),在这里教师可以为学生选择出单选题,多选题,判断题和问答题。这些都是通过超级链接的方式实现的。

单选题和多选题出题的实现方法是,主要采用框架页面,左页面用于设置试题的一些参数,它们是章节,难度,分数,答案个数。右页面用于对试题的一些具体情况进行操作,它们是单选题和多选题试题的题目,A,B,C……J的选择题选择的答案。用SQL语句中的INSERT INTO插入语句将输入的数据插入到数据库中。示例图如6.1所示:

图6.1 教师出题模块图

辽宁科技大学毕业设计(论文) 第23页 问答题和判断题出题的实现方法是,在网页中分别设置了两个用单行文本框,用于输入试题的章节和分数;设置了一个多行文本框用于输入判断题的题目;一个多选按钮框用于输入判断题的对错。用SQL语句中的INSERT INTO插入语句将输入的数据插入到数据库中。示例图如6.2所示:

图6.2教师出题模块图

2、试卷生成模块的实现方法

试卷生成的实现方法是,在一个单独的页面中设置了三个下拉菜单,分别用于教师选择将要考试的学科编号,学科名称和考试时间;设置了一个确定按钮,一个重写按钮和一个信息查看按钮。选择信息后点击确定按钮程序利用Post提交表单的方法将数据提交到teacher_paper_word.asp网页,teacher_paper_word.asp网页利用<% response.contenttype=\%>代码将网页与Word文件形式保存显示出

辽宁科技大学毕业设计(论文) 第24页 来。示例图6.3所示:

图6.3 试卷生成模块图

3、教师判卷模块的实现方法

教师判卷的实现方法是,同样采用了框架页面,左页面设置了四个下拉菜单,分别用于教师选择考试时间,学科编号,考试学科,学生学号;还设置了一个确定按钮。在右页面中用循环语句,以表格的形式将学生回答的问答题显示出来,每道的后面设置了一个单行文本框,用于教师为这道题打分。示例图6.4所示:

辽宁科技大学毕业设计(论文) 第25页

图6.4 教师判卷模块图

4、学生选课模块的实现方法

学生选课的实现方法是,利用SQL语句的Select命令查找出数据库表中所有不重复课程的名称。再利用ASP对象中的Record Set对象和循环语句将数据库中的课程在网页中显示出来,在每个课程名前加一个多选框,用于选择课程。示例图6.5所示:

辽宁科技大学毕业设计(论文) 第26页

图6.5 学生选课模块图

5、修改试题模块的实现方法

修改试题的实现方法是,采用框架页面,左页面设置了一个下拉菜单,用于选择题型;设置了一个单行文本框,用于输入题号;设置了两个按钮,一个是确定按钮,一个是重写按钮。右页面用于试题的修改。主要采用循环语句将试题的各种信息用单行文本框显示出来,教师可以在单行文本框中对试题进行各种修改。用SQL语句中的update语句将修改后的数据更新到数据库中。示例图如6.6所示:

辽宁科技大学毕业设计(论文) 第27页

图6.6 教师修改试题模块图

6、教师抽题模块的实现方法

教师抽题的实现方法是,也采用了框架页面,左页面设置了一个单行文本框,用于输入考试的时间;设置了四个单选按钮,用于选择题型;设置了一个确定按钮。右页面用于显示要抽的题目有关信息。每道题前设置了一个多选框,用于选择题目。

示例图如6.7所示:

辽宁科技大学毕业设计(论文) 第28页

图6.7 教师抽题模块图

7、学生考试模块的实现方法

学生考试的实现方法是,这是编辑和设计网上考试系统的重点。由于要求每个学生在考试的时候都要使用一份考试试题,而且每个学生抽的试题的题目的顺序都要求不一样,并且每个学生的选择题的A,B,C,D的顺序也要求不一样。所以在设计时采用了随机数的方法,由于随机函数在产生随机数的时候会有重复,所以在程序中编辑设计了一个使随机函数不产生重复数字的小函数来解决这个问题。示例图如6.8所示:

辽宁科技大学毕业设计(论文) 第29页

图 6.8 学生考试模块图

6.2 系统的部分代码实现

学生信息管理模块部分代码: if request(“action”)=”add” then

if trem(request(“studentname”))=””or trem(request(“studentpassword”))=””then response.write”错误!用户名或密码不能为空!返回” response.end end if

set rs=server.createobject(“adodb.recordset”) rs.open”select*from

student

where

studentname=’”&cstr(trim(request(“studentname”)))&”’”,conn,1,1

response.end end if

辽宁科技大学毕业设计(论文) 第30页 6.3系统需要完善的地方

(1)在表格的设计方面还有些不足,在数据多的时候,数据在表格中就会挤到一起,这是需要改进的。

(2)在选择数据库后台方面还有些不足的地方,由于采用Access数据库,Access数据库只能应用于小型的数据量,所以这是需要改进的。

(3)在网上考试系统的考试功能方面还有些不足的地方,现在只能进行单选题,多选题,判断题和问答题的考试。而不能进行填空题,画图题,连线题的一些考试,所以这是需要改进的。

辽宁科技大学毕业设计(论文) 第31页 第7章 系统测试

程序编写出来并不是软件开发的结束,因为,一个可靠的程序必须经得住考验,这就是调试与测试得工作了。不可否认的是,这一步是软件开发的最后一步,也是重要的一步。测试不仅包括,系统调试与测试,同时还包含后期的系统维护,当然,考虑到这是毕业设计的内容,因此,系统维护可以暂时不计算在内,但这不能影响测试在本系统开发中的重要地位。

7.1 测试目的

测试是一个为了寻找错误而运行程序的过程,它的目的就是找出尽可能多的程序漏洞,对系统进行改善,以便客户运行时得以顺利进行,而不发生故障。一个好的测试的标准就是指找到迄今为止尚未发现的错误,并且,一个成功的测试的标准则是指揭示了迄今为止尚未发现的错误,可见,发现错误后漏洞是一个测试的重要目标。

7.2测试过程

整个项目的安装包括几个环节:

(1)创建虚拟目录,这里使用Windows自带的IIS (5.0以上的版本),如果在“控制面板”->“管理工具”里面没有找到,则需要用Windows的安装盘进行Windows组件的添加。

(2)如果没有安装Access2000 数据库,应该先安装好Access2000。

(3)创建一个错误提示页面Checkuser.asp,首先定义两个变量:founderror,布尔型,指示当前是否有错误;Errormsg,字符串,错误信息内容。

(4)然后定义了3种错误处理,即用户未登陆或者Session超时、用户帐号不存在和用户密码错误。当出现这3种错误时,将founderror设置为true。

(5)页面Checkuser.asp定义过程disperrs()用于在网页显示错误信息。如果网页中founderror的值为true,则使用过程disperrs()显示保存在Errormsg中的错误。

表7.1 登陆测试用例

项目软件 功能模块 功能特性 网上自测 用户登陆 程序版本 编制人 用户身份验证 1.0 王寅冰

辽宁科技大学毕业设计(论文) 第32页 测试目的 测试数据 操作步骤 1 操作描述 输入用户名验证是否输入合法的信息,允许合法登陆,阻止非法登陆 用户名=a / b 密码=a / b 数据 用户名=a,密码为空 用户名为空,密码=a 用户名=b,密码=1 用户名=xxx,密码=1 用户名=xxx,密码=2 用户名=空,密码=空 用户名=stu,密码=stu 用户名=Admin,密码=admin 用户名=Admin',密码=1 用户名=空,密码=admin' 用户名Admin,密码=admin 开发人员 王寅冰 清空输入信息 期望结果 显示警告信息“请输入用户名和密码!” 显示警告信息“请输入用户名和密码!” 显示警告信息“密码错误” 显示警告信息“请输入用户名和密码!” 显示警告信息“请输入用户名和密码!” 显示警告信息“请输入用户名和密码!” 进入系统页面 实际结果 实际结果 测试状态 “请输入“请输入用户名和密码” “请输入用户名和密码” “密码错误” “请输入用户名和密码” “请输入用户名和密码” “请输入用户名和密码” 进入系统页面 进入系统用户名和密码” “请输入用户名和密码” “密码错误” “请输入用户名和密码” “请输入用户名和密码” “请输入用户名和密码” 进入系统页面 进入系统正确 正确 正确 正确 称,按“登陆”按钮。 2 输入密码,按“登陆”按钮。 输入用户名和密码,按“登陆”按钮。 输入用户名和密码,按“登陆”按钮。 输入用户名和密码,按“登陆”按钮。 输入用户名和密码,按“登陆”按钮。 输入用户名和密码,按“登陆”按钮。 输入用户名和密码,按“登陆”按钮。 输入用户名和密码,按“登陆”按钮。 输入用户名和3 4 正确 5 正确 6 7 正确 8 进入系统管理页面 显示警告信息“请输入用户名和密码!” 显示警告信息“请输入用户名和密码!” 管理页面 管理页面 请输入用户名和密码 请输入用户名和密码 输入信息被清空 请输入用户名和密码 请输入用户名和密码 输入信息被清空 项目负责人 正确 9 正确 10 密码,按“登陆”按钮。 输入用户名和密码,按“重置”按钮。 王寅冰 正确 11 正确 测试人员 王寅冰

辽宁科技大学毕业设计(论文) 第33页 7.3 测试结果

在对程序的调试与测试中容易发现许多编程时出现的问题,有些问题是大家普遍存在的,而有些则是个人容易造成的。

首先的问题,就是拼写错误问题。这种错误不容易察觉,不过越来越先进的编译器给编程用户在这方面带来了很大帮助。同时,这里不得不提一下, C# 编译器在这方面做得尤为优秀。在 C++ 语言中编译器是在“编程人员总比编译器聪明” 的假设下设计的,因此,用 C++ 编写的程序效率非常高,但程序中的错误却非常难以诊断,这不正是“编程人员总比编译器聪明”么。但 C# 在这方面有了很大的进步,它不存在这种假设,因此用 C# 编程时,程序漏洞更容易检测。

其次,就是在编程千万不要忘记编写“关闭对话框事件(函数)” 。如果犯了此类错误,那么程序一旦开始运行,它就不会停止。关闭对话框之后,再想运行此程序时,操作系统就会提醒:已经有一个此进程正在运行你无法再一次运行它。只有打开资源管理器,关掉相关进程后,再从新运行此程序;或者,从新启动计算机,才能解决这个问题。

接着,就是 ADO 编程时,无连接状态下数据操作应注意的几个问题。由于保持连接状态下的数据操作,有许多的不便之处,因此,C# 编程时,Systems. Data类中由许多函数都支持无连接状态下数据操作。这时一定要注意,在操作之前要先对数据库和内存缓冲区进行绑定;而数据操作的对象都是内存中的数据;若进行了增加,修改等操作,在 ADO 编程结尾处一定要更新数据库,将内存中的数据写入数据库;否则,所有修改数据库的数据操作都无效[4]。

辽宁科技大学毕业设计(论文) 第34页 结论

网络的飞速发展,必将给人类的生活带来方便,它表现在方方面面,网上教学为人们学习提供了很好的网上环境。在毕业设计中,总结网上考试系统应具备的主要功能,查阅有关开发远程考试系统中的技术问题的资料,并通过交流掌握ASP技术,对于面向对象的思想和编程思想会有进一步的认识。

网络存在的实际价值就在于他给了人们一个交流的机会,交流最有价值的东西就是知识。网上考试系统必将随着网络的发展,而更加完善。会有越来越多的人投入这方面的研究。

这次毕业设计是从理论走向实践迈出的坚实的一步。从分析到设计直到具体实现,原来学的理论知识有很大的指导意义。通过这次毕业设计,将深深体会到,一个好的程序设计人员必须具有认真、谨慎的作风,与人合作的精神,和坚强不屈的毅力。这是程序编程人员需要努力的方向。

辽宁科技大学毕业设计(论文) 第35页 致谢

大学的四年的学习生活即将结束之际,毕业论文就成了我们这四年来学习成果的检验和总结,同时也是对我们能力的一种测试。首先我要特别感谢专业课的所有老师们,是他们在我的专业课的学习过程中无私的教授给我许多专业知识和技能,使我能够在论文写作的过程中顺利解决难题和疑问。

其次,在这次论文写作过程中,非常感谢辽宁科技大学的胡一之老师给予我的耐心指导和帮助。同时,我也要感谢三年来所有赐予我知识和帮助的老师们,是你们共同帮助我成长,促使我进步的。

我知道老师们最大的心愿就是让自己的学生能够有能力在未来的社会中有所成就,为国家贡献自己的最大力量。在今后的日子里,我一定会牢记老师的教诲,努力做一个对社会有用的人。

至此,在论文完成之际,向计算机软件专业的全体老师们献上我最真挚的祝福和谢意,祝各位老师身体健康工作顺利!

辽宁科技大学毕业设计(论文) 第36页 参考文献

[1] 何弘.网页制作从入门到精通[M].北京:电子科技大学出版社,2003,60-64. [2] 健莲科技.ASP建网策略与案例—社区篇[M].北京:科学出版社,2002,33-36.

[3] 张立科.ASP数据库开发技术与工程实践[M].北京:人民邮电出版社,2004,44-45.

[4] 邓文渊.挑战ASP与网页数据库设计[M].北京:中国铁道出版社,2004,55-57.

[5] Kraaled F. Shalala. Arabic Gram Check: a grammar checker for Arabic [J]. Software-Practice And Experience, 2004, 19-24.

[6] Darren Dalhart. Editorial Software Process: Lesson sand Reflections [J].Software Process Improvement And Practice, 2004, 45-49.

本文来源:https://www.bwwdw.com/article/t893.html

Top