基于web的在线测试系统 - 毕业设计论文 - 图文

更新时间:2024-03-04 12:47:01 阅读量: 综合文库 文档下载

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

本科毕业设计(论文)

题 目 教务系统学生成绩管理模块分析与设计 系 (院) 计算机科学与工程学院 年 级 2006 专 业 网络工程 班 级 0902061 学 号 090206103 学生姓名 姜 广 东 指导教师 王加年 职 称 实验师 论文提交日期 2011-5-22

I

常熟理工学院毕业设计(论文)

基于web的在线测试系统

摘 要

网络化考试是在互联网的基础上兴起的。随着WEB数据库技术的发展日趋成熟,国内的网络化考试正在逐渐兴起。在对WEB开发、ASP技术、数据库等进行了较深入的学习和应用的基础上,主要完成在线测试系统的需求分析、数据库设计、系统模块设计,并成功实现了该系统。

该在线测试系统是一个小型的标准化测试系统,以组织客观、公正、科学合理的考试为目的。考生在注册后,可以在规定的期间内选择最佳状态时期参加考试,系统会为每一个考生分配相同难度系数下的不同试卷,测试结束,现场反馈测试结果; 管理员可以在任何一个地方进行试题结构、试题内容的维护、考生信息管理和评卷工作。本系统采用B/S结构,界面简洁,操作方便,安全可靠,达到了在线测试系统的基本要求,具有实际意义。

关键词:在线测试 ASP Access

II

常熟理工学院毕业设计(论文)

Online Testing System Based on WEB

Abstract

Online testing developed based on the Internet. The examination of the domestic network is gradually rising with the maturity of WEB database technology day by day. With in-depth study and application in WEB, ASP technology, databases, etc, complete the needs analysis, database design and module design in main, and succeed in achieving implementation of the system.

The online testing system is a small-scale standardized testing system, to organize an objective, impartial, scientific and reasonable examination for the purpose. After registration of candidates, you can choose the period stipulated in the best condition to participate in the examination period, the system will be allocated for each of the candidates under the same degree of difficulty of the different papers to test ,after finish the exam, the test results will be on-site feedback; Administrators can do the maintenance of test structure and the contents in any place, the management of students’ information, and marking work of examination. The system uses B / S structure, which is simple and easy to operate, safe and reliable to the online testing system of the basic requirements, and it is of practical significance.

Key words: online testing; ASP; Access

III

常熟理工学院毕业设计(论文)

目录

1. 绪论 ....................................................................... 1

1.1 课题开发背景 ............................................................. 1 1.2 国内外研究现状 ........................................................... 1 1.3 研究目标和意义 ........................................................... 2

2. 开发环境与相关技术 ...................................................... 4

2.1 总体开发环境简介 ......................................................... 4 2.2 B/S模式简介 ............................................................. 5 2.3 ASP简介 ................................................................. 6 2.3.1 ASP技术特点 ......................................................... 6 2.3.2 ASP内置对象 ......................................................... 7 2.4 结构化查询语言(Structured Query Language) ................................ 8 2.5 IIS简介 ................................................................. 8

3. 系统分析 .................................................................. 9

3.2 可行性分析 .............................................................. 10 3.3 系统需求分析 ............................................................ 10 3.3.1 业务流程分析 ........................................................ 10 3.3.2 数据流分析 .......................................................... 11

4. 系统设计 ................................................................. 13

4.1 数据库设计 .............................................................. 13 4.1.1 概念结构设计 ........................................................ 13 4.1.2 逻辑结构设计 ........................................................ 14 4.1.3 数据库建立与连接 .................................................... 16 4.2 系统模块设计 ............................................................ 17

5. 系统实现 ................................................................. 20

5.1 系统实现概况 ............................................................ 20 5.2 系统功能实现 ............................................................ 21 5.2.1 文件结构图 .......................................................... 21 5.3 关键技术实现 ............................................................ 23 5.3.1 考生信息模块 ........................................................ 23 5.3.2 在线测试模块 ........................................................ 24 5.3.3 后台管理模块 ........................................................ 29

IV

常熟理工学院毕业设计(论文)

5.4 其他模块简介 ............................................................ 32 5.5 系统主界面 .............................................................. 33 5.5.1 系统首页 ............................................................ 33 5.5.2 考试界面 ............................................................ 34 5.4.3 管理界面 ............................................................ 35

6. 系统测试 ................................................................. 36

6.1 软件测试综述 ............................................................ 36 6.2 数据库测试 .............................................................. 36 6.2 系统测试用例设计 ........................................................ 36 6.2.1 单元测试 ............................................................ 37 6.2.2 组装测试 ............................................................ 37 6.2.3 确认测试 ............................................................ 37 6.3 测试结果分析 ............................................................ 37

7. 系统展望 ................................................................. 38

7.1 目前系统存在的问题 ...................................................... 38 7.2 系统改进方案及展望 ...................................................... 38

8. 结语 ...................................................................... 39 参考文献 .................................................................... 40 致谢 ......................................................................... 41

V

1. 绪论

1.1 课题开发背景

纵观计算机化测试的研究和应用的历史,可以看到,随着计算机技术的发展,计算机在测试中的应用从当初单纯的判分,到IRT模型出现后的自适应考试,再到现在的基于网络的情境化、模拟化测试, 发挥的作用越来越大。试题的形式也在此过程中发生着变化,从固定在单一试卷中的试题发展到了可以自由组合的题库,再到现在的多媒体试题库。随着题库的建立,组卷变得方便了,测试的形式也发生着变化,由所有学生同考一张试卷的大规模的集体测试发展到了同一场考试使用等同考查效力的不同试卷的小组测试。

组织一次考试至少要经过五个步骤,即人工出卷、考生考试、人工阅卷、成绩评估和试卷分析。这种工作将是一件十分烦琐和容易出错的事情,可以说传统的考试方式已经不能适应现代考试的需要。随着计算机应用的迅猛发展,网络应用不断扩大,远程教育和虚拟大学先后出现,并逐步深入到千家万户。人们迫切要求利用网络系统来进行在线考试,以减轻教师的工作负担提高工作效率,以达到提高考试的质量的目的,并使考试趋于公证、公平、客观,来激发学生的学习兴趣。在线测试系统的实现及应用是未来信息社会发展应用的一种趋势,在此本着探索的原则,设计一个简单的考试系统,既使原来的知识学有所用,又学到了新的知识,为向更高层次的学习和研究写下开端。

1.2 国内外研究现状

国际上,基于计算机的考试蓬勃发展,对于题库建设的理论研究不断深入,实用考试系统也层出不穷。美国心理协会在1986年出版了关于如何开发、使用计算机化考试以及解释考分的指南,成为了考试和软件开发者的事实标准。投入实际使用的例子有,1982年采有远距离教育方式的美国学院(American College)考试使用计算机进行测试;1993年美国教育考试中心(Eraduade Record Examination简称 ETS)考试;从1994年开始,美国护理证书考试完全在计算机上进行。目前,国外许多大型测验出版机构、地区教育主管部门和专业资格认证机构都以某种测量理论为指导建立题库、设计考试系统,并进行各项相关研究。

除了这类行业专用的大型考试系统之外,供普通教师使用的通用考试系统软件也有相应的研究和产品。如英国Question Mark Computing,Ltd公司出品的Question Mark,就是一种基于项目反应理论的,可供广大教师使用的通用的考试系统。

1

常熟理工学院毕业设计(论文)

在我国,计算机考试系统和题库的理论研究和实践应用起步比较晚。但发展也比较迅速,研究和开发活动比较活跃。北京师范大学、华北师范大学等高等院校都有教师在进行教育测量理论应用于题库建设方面的研究。清华大学、上海交通大学、北京师范大学等高校,也有教师在组织力量致力于实用考试系统的研究和开发工作,

其中使用专用在线考试系统影响较大的考试有: 1994年开始,国家教务组织的全国计算机等级考试;

1996年,教育部考试中心举办的全国计算机应用技术证书考试(National Applide Information Technology Certificate 简称NIT);

微软授权培训中心(Microsoft Authorized Training Center 简称ATC)组织的认证考试等。 面向普通教师使用的通用题库系统也有“海北智能助教系统”和国家“九五”重点攻关项目“计算机辅助教学软件研制开发与应用”,“中小学课件的研制与开发”专题中的“通用题库生成管理系统”等。

以上考试系统各自实现了试题的计算机管理,抽题成卷,无纸化考试,自动判卷,对考试结果进行统计分析等各项功能的一部分,但也都存在一定的问题和局限性:

1.我国的专用考试系统主要针对计算机考试,其他行业和科目的考试系统太少

2.计算机在线考试系统由于操作类题目自动出题有较大的难度,基本没有实现题库化的管理。

3.系统对传统的客观题虽然一般建有题库但不大,多采用随机抽题组卷的方式,缺乏教育测量理论作为依据。

4.考试完成后,分数和试题统计分析比较简单,没有充分挖掘数据所包含的信息。 5.通过考试系统或题库系统对最终用户即教师的需求分析做的不够透彻,忽略老师们渴望能自由地操纵试题库的需求,没有完全实现用户自主初始化试题库、自主维护试题库、自主调用试题库的功能。加上软件实用水平和商品化工作方面的不足。通用系统并没有被广大教师认可和使用。

总的来说,我国在线考试系统发展比较迅速,但总体水平不高,与发达国家相比,在理论和实践上都存在一定的差距。

1.3 研究目标和意义

2

常熟理工学院毕业设计(论文)

计算机技术和通信技术的发展使得以网络为中心的信息系统获得广泛的使用,web系统和数据库是网络化信息服务的基础。Web能用及时和友好的方式向人们提供大量有用的信息,伴随着大量信息,就需要庞大数据库的管理技术,Web和数据库结合是WWW信息服务技术和分布式数据库技术发展的大势所趋。把数据库同WWW服务器连接起来的一体化信息网络系统是新一代Internet开发的前沿技术。

Internet的发展,使得基于网络技术的远程网络考试成为可能。基于WWW模式的网上考试以英特网为桥梁,缩短了教师和学生在时间和空间上的距离,突破了传统课堂上面对面考试方式的限制,是将考试课堂有教室和实验室延伸到英特网所覆盖的任何一个场所的新型考试模式。

ASP是近年来新兴的动态站点设计技术,它的诱人之处在于甩开了陈旧的Web技术,集HTML, ODBC数据库访问和其他许多新颖技术于一身,实现了网页的可编程化。它使内置对象与客户进行高效交互;使用服务组件ADO只需少量代码即可页面上执行一系列的访库操作;服务器的功能可以编写组件不断扩展。ASP文件驻留在WEB服务器土,实现复杂应用逻辑的脚本,组件也由Web服务器执行,因此对构造二层结构的Web应用系统提供了很好的支持。ASP配合HTML、VBScript、Jscript可实现各种复杂功能,并使主页呈现丰富多变的风格。利用ASP进行Web设计具有开发周期短、功能完各、形式完美的特点。

本课题研究并实现了基于WEB的在线测试系统,该系统可以通过在Web上实现教师对题库的管理、试卷生成、试卷批改、在线测试,管理人员系统进行维护,以及考生查看分数等功能,以Internet网络作为载体,不受时间、科目和地域的限制,给考生、评卷人和出题者带来巨大的便利,同时也使考试成为真正意义上的平等、公开。它可以杜绝试题泄露、评卷不公、考生作弊。考生可以在规定的期间内选择最佳状态时期参加考试,系统会为每一个考生同样的试卷,同时当场给出成绩, 评卷人和出题者可以在世界任何一个地方进行试题结构、试题内容的维护和进行评卷工作。

3

常熟理工学院毕业设计(论文)

2. 开发环境与相关技术

2.1 总体开发环境简介

该系统的目标是开发一个小型的标准化测试系统,以组织客观、公正、科学合理的考试为目的。

开发环境:系统前台界面是以Dreamweaver为平台开发的ASP动态网页;后台数据库是利用功能强大的Microsoft Access 2003开发的,并且以ADO的方式进行数据库连接。采用ADO存取数据的最大好处是只需少量代码即可页面上执行一系列的数据库操作。

开发设计思想:

1.系统的优点不仅仅要体现在功能上,还要在使用上具有方便、快捷、高效的特点 2.系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于系统的维护。 3.在服务器、数据库等多个层次上提供行之有效的安全防范措施,可确保系统安全稳定地运行。

4.具有高度的灵活性和良好的可扩充性,可随着用户需求的变化在功能和规模两方面随时进行扩展和升级。

系统总体架构:

4

常熟理工学院毕业设计(论文)

在线测试系统采用B/S结构设计用户系统IIS服务器Microsoft Acess 2003Windows XP,2000,Linux等版本运行基于ASP的强大网络功能,易于维护

2-1 系统总体架构图

后台管理系统

2.2 B/S模式简介

B/S(浏览器/服务器)是由浏览器、Web服务器、应用服务器和数据库服务器组成的多层结构体系。B/S模式具有以下特点:

(1) 用户界面简单易用。用户使用单一的浏览器软件,通过鼠标即可访问文本、图像、声音、电影及数据库等信息,特别适合非计算机人员使用。

(2) 易于维护与升级。由于客户端无需专用的软件,所以,系统的维护和升级工作简单。 (3) 具有良好的开放性。浏览器/服务器结构采用标准的TCP/IP、HTTP协议,能够与遵循这些标准协议的信息系统及其网络很好的结合,具有良好的开放性,保护了用户的投资。

(4) 信息共享度高。HTML是数据格式的一种开放标准,目前信息系统中大多数流行的软件均支持HTML。

(5) 扩展性好。TCP/IP、HTTP的标准性使得浏览器/服务器结构可直接接入Internet,具有良好的扩展性。

(6) 网络适应性强。无论是PSTN、DDN、帧中继、X.25、ISDN、还是CATV、ADSL,浏览器/服务器结构均能适应。

(7) 安全性好。防火墙技术保证了浏览器/服务器结构的安全性。

5

常熟理工学院毕业设计(论文)

2.3 ASP简介

2.3.1 ASP技术特点

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

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

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

3.使用普通的文本编辑器,如Windows的记事本,即可进行编辑设计。

4.与浏览器无关,用户端只要使用可执行HTML码的浏览器,即可浏览ASP所设计的网页内容。ASP所使用的脚本语言(VBScript 、Jscript)均在WEB服务器端执行,用户端的浏览器不需要能够执行这些脚本语言。

5.ASP能与任何ActiveX scripting语言相容。除了可使用VBScript或JScript语言来设计外,还通过plug-in的方式,使用由第三方所提供的其他脚本语言,譬如REXX、Perl、Tcl等。脚本引擎是处理脚本程序的COM(Component Object Model)物件。

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

7.可使用服务器端的脚本来产生客户端的脚本。 8.物件导向(Object-oriented)。

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

6

常熟理工学院毕业设计(论文)

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

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

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

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

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

2.3.2 ASP内置对象

ASP提供了可以在脚本中使用的内置对象,这些对象能够使用户更容易收集浏览器发送的请求信息,响应浏览器和存储用户的信息。ASP提供了六大内置对象,分别为Request对象、Response对象、Serve对象r、Application对象、Session对象和ObjectContext对象。它们在ASP中具有很重要的作用,下面对各个对象作简要说明。

Request对象用来处理用户做出的请求,就是处理用户要求浏览器查看特定的网页或Web应用时做出的请求。此请求可以HTML的形式输入或仅以URL的形式作出。

Response对象用来处理从Web服务器向用户发送信息并对此信息进行控制。

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

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

7

常熟理工学院毕业设计(论文)

Session对象用来代表用户会话,并存储该会话的信息。可利用Session对象来管理如Web服务器在用户“请求”之间等待的时间等。

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

2.4 结构化查询语言(Structured Query Language)

结构化查询语言(Structured Query Language)即SQL,是一种标准的关系型数据库查询语言。SQL语言的主要功能就是同各种数据库建立联系,进行沟通。按照ANSI(美国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言。SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。目前,绝大多数流行的关系型数据库管理系统,如Oracle, Sybase, Microsoft SQL Server, Access等都采用了SQL语言标准。虽然很多数据库都对SQL语句进行了再开发和扩展,但是包括Select, Insert, Update, Delete, Create,以及Drop在内的标准的SQL命令仍然可以被用来完成几乎所有的数据库操作。

SQL可用于所有用户的DB活动模型,包括系统管理员、数据库管理员、 应用程序员、决策支持系统人员及许多其它类型的终端用户。SQL为许多任务提供了命令,包括:

1.查询数据

2.在表中插入、修改和删除记录 3.建立、修改和删除数据对象 4.控制对数据和数据对象的存取 5.保证数据库一致性和完整性

2.5 IIS简介

IIS是Internet Information Server的缩写,是微软公司主推的服务器,IIS与WindowNT Server完全集成在一起,因而用户能够利用Windows NT Server和NTFS(NT File System,NT的文件系统)内置的安全特性,建立强大,灵活而安全的Internet站点。

IIS支持HTTP(Hypertext Transfer Protocol,超文本传输协议),FTP(File Transfer Protocol,文件传输协议)以及SMTP协议,通过使用CGI和ISAPI,IIS可以得到高度的扩展。

IIS支持与语言无关的脚本编写和组件,通过IIS,开发人员就可以开发新一代动态的,富有魅力的Web站点。IIS不需要开发人员学习新的脚本语言或者编译应用程序,IIS完全支

8

常熟理工学院毕业设计(论文)

持VBScript,JavaScript开发软件以及Java,它也支持CGI和WinCGI,以及ISAPI扩展和过滤器。

IIS支持服务器应用的Microsoft BackOffice系列,Microsoft BackOffice系列包括以下内容: 1.Microsoft Exchange Server 客户/服务器通讯和群组软件; 2.Mirrosoft Proxy Server 代理服务器;

3.用于连接IBM企业网络的Microsoft SNA Server;

4.用于集中管理分布式系统的Microsoft Systems Management Server;

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

3. 系统分析

3.1 系统基本功能描述

本测试系统的主要用途是供校园内部考试、或者机关单位的培训考试之用,其规模比较小。

其用户有考生用户、系统管理员两类。

对于考生用户来说,要提供方便、快捷、高效的考试操作功能,考试应该让考生充分发挥其知识水平,不应因为客观原因而影响考生的正常状态。系统反应灵敏迅速,如在执行用户注册、用户登陆、试卷提取、成绩查询等功能时,应快速做出响应。

对系统管理员来说,要提供方便统一的管理功能,管理员可以浏览、查询、添加、删除、修改、统计考生的基本信息,管理员面对的是众多考生,要对考场、考生、试题做统一的控制,负责整个系统的正常运行,对试卷的保密、数据的安全与完整性等方面有比较高的要求。

9

常熟理工学院毕业设计(论文)

系统还应提供一定的留言功能,以便出题者和考生之间能够进行有效的信息反馈与交流,这也是本系统需要改进的地方。

3.2 可行性分析

1.技术可行性:本系统的配置(IIS与Microsoft Acess 2003)在这种中小规模的情况下能够提供较快的数据访问,技术上可行。

2.经济可行性:系统的配置,不需要昂贵的EJB服务器,大部分软件都是可以免费获得,开发成本低。

3.操作可行性:访问系统的主要有两种:考生,管理员。目前资源的利用情况和可操作性,只需少量的对数据库中的表的直接操作就可以实现系统的完整、稳定的运行,不会造成系统的巨大压力。

3.3 系统需求分析

通过对系统需求进行分析,我们可以确定系统中有两类类用户:管理员、考生。两类用户的具体描述如下:

1.管理员:操作员管理、课程档案管理、试题档案管理管理、考试计划管理、考生档案管理等

2.考生:新考生注册、在线修改个人登陆密码、查看个人信息、查询考试成绩、选择考试科目进行考试等。 3.3.1 业务流程分析

系统总体流程图如图所示:

10

常熟理工学院毕业设计(论文)

考生管理员注册否登陆否是否 在线测试查询成绩修改密码留言对管理员,学生信息,学生成绩,课程档案,试题档案,考试计划等进行维护和管理同意考试是开始考试考试监控提交结果查看成绩查看成绩图3-1 系统总体流程图

3.3.2 数据流分析

数据流程图(Data Flow Diagram,简称DFD)是新系统逻辑模型的主要组成部分,它可以反映出新系统的主要功能、系统与外部环境间的输入输出、系统内部的处理、数据传送、数据存储等情况。它的绘制依据是现行系统流程图,数据流程图是系统总体设计图。

本系统的分层数据流程图如图3-2所示

11

常熟理工学院毕业设计(论文)

图3-2 顶层数据流程图

考生用户和管理员用户有着各自的功能模块,模块与模块之间又有着相互联系。根据用户的功能关系,有如下第一层关系数据流程图。

图3-3 一层数据流程图

12

常熟理工学院毕业设计(论文)

4. 系统设计

4.1 数据库设计

数据库在一个信息管理系统中占有非常重要的地位,数据库设计的好坏将直接影响到系统的效率以及实现的效果。合理的数据库结构设计可以提高数据库的存储效率,保证数据的完整性和一致性。 4.1.1 概念结构设计

测试系统涉及的主要实体及属性有:

1.管理员信息:管理员ID、管理员姓名、密码、管理员权限(0为所有权限,1为维护试题,2为维护考生档案,4为维护考试计划,8为维护课程档案)、管理员邮箱

2.课程信息:课程ID、名称

3.考试过程中的试题信息:ID(主键)、考试计划ID(与考试计划关联)、试题ID考生答案(从低位到高位分别代表先择题的A,B,C,D... 是非题为1/0 -1为未答题)、试题排列序号、考生ID(与考生表关联)

4.考试过程中的学生信息:ID(主键)、考试计划ID、考生ID、成绩、考试状态(0 代表还没有进行考试,1代表已经进行过考试,2代表正在进行考试)、开始考试时间、结束考试时间

5.试卷信息:试卷ID、试卷的课程ID、单选题的数量(用于自动生成试卷)、多选题的数量(用于自动生成试卷)、是非题的数量(用于自动生成试卷)、开始考试时间、结束考试时间、试卷的名称、考试时间限制(单位为分钟)、本次计划设置时间、设置本次计划的管理员

6.考生信息:考生编号、考生学号、考生姓名、考生班级、考生性别、考生分数、考生IP地址、登陆标记、提交标记

7.试题信息:ID、题目内容、题目类型(1为单选题,2为多选题,3为是非题)、可选项、正确答案(从低位到高位依次表示选项1,2,3...;是非题为1/0形式)、题目所属的课程ID

得到上面的数据项和数据结构以后,结合各个实体的联系就得到系统的总体E-R图。

13

常熟理工学院毕业设计(论文)

管理员n设置成绩1考试信息n发布1管理员1设置n考试信息m考试1管理nn考生信息1注册1学生 图4-2 系统总体E-R图

4.1.2 逻辑结构设计

根据以上的分析,将E-R模型转换成逻辑模型,设计出本系统数据库。根据需要在ACCESS里创建数据库,建立的数据表如下所述:

1. 为了便于管理员登录,安全管理和维护数据库,建立admin表,如图4-3所示:

字段名称 adminid adminname adminpwd adminpurview email 数据类型 自动编号 文本 本文 数字 文本 说明 管理员ID 管理员用户名 管理员密码 管理员权限 管理员邮箱 图4-3 admin表

备注 主键,非空 非空 非空 非空 非空 2. 为了存储课程信息,建立course表,如图4-4所示:

14

常熟理工学院毕业设计(论文)

字段名称 courseid coursename 数据类型 自动编号 文本 说明 课程ID 课程名称 图4-4 course表

备注 主键,非空 非空 3. 为了存储考试过程中的考试信息,建立prj_prcess表,如表4-5所示:

字段名称 id prjid subid answer orderid studentid 数据类型 自动编号 数字 数字 数字 数字 数字 说明 ID 与project表关联 试题ID 考生答案 试题排列号 与student表关联 备注 主键,非空 外键,非空 外键,非空 非空 外键,非空 图4-5 prj_prcess表

4. 为了存储考试过程中的考生信息,建立prj_student表,如图4-6所示:

字段名称 id prjid studentid mark state starttime endtime 数据类型 自动编号 数字 数字 数字 数字 日期/时间 日期/时间 说明 ID 与project表关联 与student关联 成绩 考试状态 开始考试时间 结束考试时间 备注 主键,非空 外键,非空 外键,非空 非空 非空 非空 非空 图4-6 prj_student表

5. 为了存储考试计划信息,方便试卷管理与查阅,建立project表,如图4-7所示:

字段名称 prjid courseid ss_count ms_count b_count starttime endtime prjname limittime settime setadmin 数据类型 自动编号 数字 数字 数字 数字 日期/时间 日期/时间 文本 数字 日期/时间 数字 说明 试卷ID 试卷的课程ID 单选题的数量 多选题的数量 是非题的数量 开始考试的时间 结束考试的时间 试卷名称 本次考试的限制时间 本次计考试设置时间 本次考试设置的管理员 图4-7 project表

备注 主键,非空 外键,非空 非空 非空 非空 非空 非空 非空 非空 非空 非空 15

常熟理工学院毕业设计(论文)

6. 为了存储学生信息,方便学生信息管理与查阅,建立student表,如图4-8所示:

字段名称 studentid username studentname email tel studenttype studentpwdd sex birthday 数据类型 自动编号 文本 文本 文本 文本 数字 文本 是/否 日期/时间 说明 考生编号 考生登录名 真实姓名 邮箱 电话号码 考生状态 登陆密码 性别,男为true,女为false 出生日期 图4-8 student表

备注 主键,非空 非空 非空 非空 非空 非空 非空 7. 存储试题信息,方便试题管理与添加,建立subject表,如图4-9所示:

字段名称 subjectid content type option1 option2 option3 option4 option5 option6 answer courseid 数据类型 自动编号 备注 数字 文本 文本 文本 文本 文本 文本 数字 数字 说明 试题编号 试题内容 题目类型 可选项1 可选项2 可选项3 可选项4 可选项5 可选项6 正确答案 试题所属的课程ID 图4-9 subject表

备注 主键,非空 非空 非空 非空 非空 非空 外键,非空 4.1.3 数据库建立与连接

按照要求建立好数据库后,需要建立网站页面与后台数据库的连接。代码如下:

<% Dim G_CONN '连接数据库

Sub ConnectDatabase() Dim strConnStr Dim strDB

strDB=\数据库文件的位置 Set G_CONN = Server.CreateObject(\

16

'定义Connection全局对象

常熟理工学院毕业设计(论文)

strConnStr=\G_CONN.Open strConnStr

End Sub '关闭数据库连接 Sub CloseConn() G_CONN.close Set G_CONN=Nothing End Sub

Call ConnectDatabase() %>

'连接数据库

因为这段代码几乎在后面的每个动态页面中都要使用,所以现在把它单独封装为文件,命名为conn.asp。后面如果需要与数据库建立连接,只需要在页面代码的前面将这个文件名包含进去就可以了。

4.2 系统模块设计

模块设计的主要方法是结构化方法,主导思想是以系统的逻辑功能设计和数据流关系为基础,采用“自顶向下,逐步求精”的设计方法,将本系统分解为功能明确,易于修改,大小适中的模块结构。 本系统主要分为三大模块:考生信息模块、在线测试模块、后台管理模块。系统各模块功能图如图4-10所示。

17

常熟理工学院毕业设计(论文)

考生注册考生登录考生信息修改信息成绩查询生成试卷在线测试系统在线测试考试监控操作员管理课程档案管理后台管理试题管理考试计划管理考生管理

图4-10 系统总体结构图

系统各模块说明: 1.考生信息模块设计: (1) 新用户注册模块设计

测试系统主要实现的功能就是用户在注册后通过管理员验证再次登陆系统进行相应的测试,所以用户注册模块的设计对考生信息的保存就显得很重要。用户注册主要填的信息由用户名,真实姓名,性别,出生日期,邮箱,在点击提交后,用户注册的信息反馈给管理员,并在通过管理员验证后方可登陆,若点击退出则退出登陆回到首页。 (2) 登录模块设计

18

常熟理工学院毕业设计(论文)

为了数据库使用的安全,预先将用户名和口令存放在数据库的用户口令表中,用户登录前要求输入用户名和口令并执行一次数据库的查询,验证用户身份。为了维护考试系统的安全,确保系统用户的个人信息,防止非法用户登录,系统在登录界面设置了用户登录密码机制。本系统的登录机制分两部分:考生登录模块和管理员登录模块。

该机制的设计是在用户登录窗口设置了文本框,供用户输入个人信息。用户只有通过浏览器的文本框输入用户账号和密码,经过系统检测正确后,才能登录考试系统。当输入信息不合法时,系统自动返回到登录界面要求用户重新登录。 (3)修改信息模块

考生成功登陆后,可根据自己的需要更改自己的信息,比如修改自己的用户名,密码等,因为在线测试无法实现人工考试的监考与阅卷,个人信息的保密就显得尤为重要,而经常修改自己的信息在一定程度上保护了考生及用户的隐私。考生修改数据后,提交到相应的数据库并将修改保存。 (4)成绩查询模块

考生点击交卷后,即将考生答案与数据库中的正确答案进行比较,并计时生成分数,学生端可看到每个题目的正确答案以及自己选择的答案,以及系统核算的总分。在首页中也有成绩查询模块,其中设置了考试科目选择的下拉菜单,供考生查询。考生可以选择考试科目,查询自己已经考试过的成绩。其设计思想是:当系统接收到用户输入的登陆信息时,将其与数据库的成绩表进行从上到下进行比较,当找到与考生ID相同的数据项,将该项返回到WEB页面呈现在用户面前。

2.在线测试模块 (1)试卷生成模块

在后台试题管理中,选择添加试题,在添加选项有一项是题目数量,即根据各种类型的题目数量来自动生成试卷。题量较小时,可以一次列出所有的试题;题量较大时,则选一个知识点,列出考察该知识点的试题。这样做的好处在于:(1)突出试题的主要考察点,试题虽然涉及了多个知识点,但考察的知识会有所侧重(2)避免试题重复。

(2)考试监控模块

学生端一旦进入考试页面开始考试,计时器就开始计时,在页面跳转时,计时暂停,待新页面载入后继续计时,到了规定的时间,自动上缴试卷。学生可以修改已作答的试题。最

19

常熟理工学院毕业设计(论文)

后学生上交试卷,或者到时自动上交。系统实现自动批阅(包括判断题、选择题等客观题),主观题则提交给教师批阅。这样不仅提高了工作效率,而且使得考试具有严肃性和公平性。

3.后台管理模块 (1)操作员管理模块

超级管理员成功登陆后,可对所有管理员进行管理,比如更改管理员名字,密码以及权限等,后台管理条目较多,若能给各个管理员分配不同的权限,实行分类管理,则有利于资源的优化配置。在数据库设计时,就考虑到了这一点,比如在对应管理员权限时,0为所有权限,1为维护试题,2为维护考生档案,4为维护考试计划,8为维护课程档案。

(2)课程档案模块

课程档案的管理主要有添加课程,和修改。添加课程时,只需键入课程名字,自动生成课程ID,将数据提交到相应的数据库中,点击修改,则可实现课程名字的修改,点击删除,会出现是否确认删除的对话框。

(3)试题管理模块

考试科目管理作为一个单独的模块,在设计过程中是为系统下一步题库管理和试卷自动生成服务的。为了实现科目的添加、删除和修改,设计时在该模块中设置了一个添加考试科目的文本框和几个功能按钮,利用ASP技术来实现考试科目的添加、删除和修改。管理员登录后,可以添加考试科目,输入有误时可以及时修改,在对已考过的科目可以执行删除命令,以维护系统的数据稳定。

(4)考试计划模块

教师完成组卷后,考试计划尚未发布,学生端还看不到试卷,在发布前,教师可以随时修改试卷,一旦发布,该试卷就不能再更改。发布的过程就是在学生端为每个学生创建一份试卷,把所有的试题信息,包括题干,选项(其实是试题和选项的id),试题顺序,选项顺序写入每个学生的试卷表中。

(5)考生数据管理模块

管理员登陆后应能对考生数据进行系统管理,浏览全部考生,包括用户名,真实姓名,性别,出生日期等,并能对考生的数据进行相关的修改。

5. 系统实现

5.1 系统实现概况

20

常熟理工学院毕业设计(论文)

系统实现应遵循以下两个基本的原则:

1、结构化程序编码原则

系统实现遵循结构化程序设计的思想,为了确保每个模块的逻辑清晰,应该尽量使各个模块使用单入口,单出口和顺序、选择和循环三种基本控制结构。另外为了增强系统的编码效率,也采用扩展的结构程序设计,即除了使用三种基本的控制结构以外,还使用多分支的选择结构和下部判断循环条件的循环结构。

2、良好的程序编写风格

为了提高程序的可读性和易维护性,关键是使程序结构简单清晰,因此在程序编写过程中应保持良好的程序设计风格。主要在以下方面体现:采用序言性和描述性两种注释对程序进行解释;变量说明尽量使其具有实际意义;程序语句构造应该简单直接,应直接反映意图,不必过于巧妙和深奥。

5.2 系统功能实现

5.2.1 文件结构图

文件结构的良好设计,对自己的开发过程有很大的好处,在设计的最初,应该想到自己要用的文件资源。如图5-1是本系统的文件结构图。

21

常熟理工学院毕业设计(论文)

图片images首页index包含文件inc考生登录Student_login.asp考生注册student_reg.aspstudent_regpost.asp管理登陆admin_login登陆验证student_checklogin登陆验证Admin_checklogin显示信息index_left.aspindex_main.aspindex_top.asp显示信息:admin_admin.aspAdmin_index.aspadmin_indexleft.aspadmin_indexmain.asp开始考试testing.asptestfinish.aspTest_saveadswer.asp修改个人信息student_modifyinfo.aspstudent_modifypwd课程信息管理:admin_course.asp admin_courseadd.asp密码修改:admin_modifypwd.asp试卷信息管理:admin_project.asp考生信息管理:admin_student.asp试题信息管理:admin_subject.asp显示成绩student_markquerryadmin.css student.css inc/ChangeTime.asp,conn,asp,function.asp图5-1 文件结构图

22

常熟理工学院毕业设计(论文)

如图示 css是样式文件,examdatas中存放系统数据库文件,images文件夹中存放系统要用的图片,inc文件夹中存放要用很多次的文件,如实现计时的ChangeTime.asp,用于数据库连接的conn,asp,验证登陆的loginV.asp等,只要在其他ASP文件中包含即可

5.3 关键技术实现

5.3.1 考生信息模块

考生可通过首页的入口进行新用户注册,实现注册功能的页面为student_reg.asp,此后将用户提交的信息给student_regpost.asp处理,并提交给admin_student.asp,管理员在后台浏览课进行相应的操作。注册成功后的处理登陆的界面是student_login.asp,系统将根据用户提交的信息与数据库中的信息进行对比,若匹配则登陆成功,否则登陆失败,这是由student_loginout处理的。成功登陆后,考生可对自己的信息进行相应的修改,这是由文件student_modifyinfo.asp和student_modifyped实现的。其流程图如图5-3所示:

开始考生注册找回登陆密码否找回密码?否是结束考生登录否是结束修改个人资料

图5-3 考生信息模块流程图

23

常熟理工学院毕业设计(论文)

5.3.2 在线测试模块

在线测试模块是整个系统最重要的模块之一。其核心页面是testing.asp,该页面通过调用数据库中的题库信息和试题信息来生成试卷,并要验证是否存在本次考试,是否在开始时间,是否有其他考试,取得考试状态,生成试卷,以及考生是否参加过此次考试,若参加过则不能再次进行此门考试,并对时间进行监控,考试结束或者达到考试结束时间则结束考试,由test_saveanswer.asp保存答案提交到数据库,最后交由 test_finish显示成绩。其流程图如图5-4所示:

开始同意考试规则选择课程,考试计划准备考试并确认结束开始答题提交试卷/达到考试结束时间显示成绩 图5-4 在线测试模块流程图

24

常熟理工学院毕业设计(论文)

关键代码:

(1) 读取考试信息:

通过连接到后台的数据库读取此次考试的相关信息,以便后面的进一步操作。

strSqlTest = \prjid=\

set rsTest = server.createobject(\rsTest.open strSqlTest,G_CONN,1,1

(2)验证是否存在本次考试:

由于过了考试时间或者管理员删除此次考试计划等,可能会使此次考试不存在,此功能就是验证是否存在本次考试,若不存在就不能进行测试。

if rsTest.bof and rsTest.eof then

response.write \此次考试不存在!');window.open('index_main.asp','_self');\rsTest.close set rsTest = nothing response.end

end if

strPrjName = rsTest(\intSSCount = rsTest(\intMSCount = rsTest(\intMSMark = intMSCount * 2 intBCount = rsTest(\intBMark = intBCount

intTotalMark = intSSMark + intMSMark + intBMark dtmStartDate = rsTest(\dtmEndDate = rsTest(\intLimitTime = rsTest(\rsTest.close

(3)验证现在是否在可考试时间内:

在设置考试计划的时候,有时间限制,此功能为检查现在考试是否在考试范围内,若不再计划时间内则不能进行考试。

if now() < dtmStartDate or now() > dtmEndDate + 1 then

25

常熟理工学院毕业设计(论文)

response.write \现在不在考试计划时间

内!');window.open('index_main.asp','_self');\

set rsTest = nothing response.end

end if

(4)验证现在是否有其他正在进行的考试:

考生一次登录只能参加一场考试,若考生还有其他正在进行的考试,则弹出提醒对话框。

if G_CONN.execute(\studentid=\

response.write \你有其他考试正在进行中,不能同时进行两次考试!set rsTest= nothing response.end

');window.open('index_main.asp','_self')\

end if

(5)取得本考生本次考试的状态:

此功能主要是防止考生二次答题,在考生点击考试后,首先连接到数据库取得本次考试的考生状态,若状态为1,则表明已参加过考试,则弹出对话框表明考生已经参加过此次考试,若考生状态为0则完成考生初始化够进行在线测试。

set rsTemp = server.createobject(\

strSqlTemp = \rsTemp.open strSqlTemp,G_CONN,1,1 if rsTemp.bof and rsTemp.eof then

intState = 0

intState = rsTemp(\else end if rsTemp.close set rsTemp = nothing if intState = 1 then

response.write \你已经参加过此次考试了,不能再次参加此次考

试!');window.open('index_main.asp','_self');\

set rsTest = nothing response.end

elseif intState = 0 then '当考生第一次参加此次考试时进行考生的初始化,生成试卷等操作

26

常熟理工学院毕业设计(论文)

(6)生成试卷:

管理员在后台的考试计划中设置本次考试的时间,以及各个类型的题目的数量,系统根据这些信息自动生成试卷,并在prj_student增加相应的考生考试记录。

if makePaper(intPrjID,intStudentID) = false then

Response.Write \生成试卷失败!');window.open('index_main.asp','_self');\set rsTest = nothing Response.End

end if

'在prj_student增加相应的考生考试记录

strSqlPS = \set rsPS = server.createobject(\rsPS.open strSqlPS,G_CONN,1,3 if rsPS.bof and rsPS.eof then else

rsPS(\rsPS(\rsPS.update rsPS.addnew

rsPS(\rsPS(\rsPS(\rsPS(\rsPS.update

end if rsPS.close set rsPS = nothing

end if

(7)时间控制:

考试开始后,即开始计时,按照考试计划设定好的时间,实现一定的监控,若达到考试时间学生未交卷则实现强行交卷,并且控制浮动信息办在右下方显示,不影响考生在线答题。

function floatTestInfo() //控制浮动信息板在右下方显示 {

var targetPosTop,targetPosLeft

targetPosTop = document.body.scrollTop + document.body.clientHeight - 100;

27

常熟理工学院毕业设计(论文)

}

targetPosLeft = document.body.clientWidth + document.body.scrollLeft - 190;

document.all.divTestInfo.style.posTop = document.all.divTestInfo.style.posTop + (targetPosTop - document.all.divTestInfo.style.posLeft = document.all.divTestInfo.style.posLeft + (targetPosLeft - setTimeout('floatTestInfo();',50);

document.all.divTestInfo.style.posTop) * .2 document.all.divTestInfo.style.posLeft) * .2

function ctrlTestTime() //控制考试时间 { }

var dtmCurrentTime = new Date();

//控制时间的显示

txtOddTime.value = intLimitTime - ((dtmCurrentTime.getHours() - dtmStartTime.getHours()) * 60 + if(txtOddTime.value < 10) { }

txtOddTime.style.color = '#FF3300';

dtmCurrentTime.getMinutes() - dtmStartTime.getMinutes());

//在考试时间结束时进行交卷

if(txtOddTime.value == 0)

{ alert('考试时间已到,强制进行交卷!');

window.open('testfinish.asp?action=submitexam&prjid=<%=intPrjID%>&studentid=<%=intStudentID}

window.setTimeout('ctrlTestTime();',1000);

%>','_self');

(8)显示考试答案以及成绩(以单选为例):

在连接到试题数据库后,通过SQL语句查询数据库中的正确答案,并通过一定法人相应机制反映到浏览器上,以供考生查阅,另外根据预先设定好的分值自动生成分数:

'显示单项选择题

strSqlMark = \

myanswer,S.answer,P_P.orderid,S.content,S.option1,S.option2,S.option3,S.option4,S.option5,S.option6 from prj_process P_P,subject S where S.type=1 and P_P.subid=S.id and P_P.studentid=\P_P.prjid=\

28

常熟理工学院毕业设计(论文)

rsMark.open strSqlMark,G_CONN,1,1 if not rsMark.bof and not rsMark.eof then %> <%

rsMark.movenext wend rsMark.close

<%

if rsMark(\

response.write \response.write \

end if

response.write \你的答案是:\

if rsMark(\

response.write \

\

elseif rsMark(\ else

response.write \未答题\

response.write \

\

end if

response.write \正确答案是:\%>

arrAnswer(rsMark(\

end if

5.3.3 后台管理模块

后台管理给管理员提供一个管理的平台,成功登陆后可对操作员信息,课程档案信息,试题信息,考试计划信息,考生信息等进行管理,因为各管理具有一定的相似之处,下面就以试题管理模块为例来进行详细的说明。

29

常熟理工学院毕业设计(论文)

试题管理模块在管理员选择了相应课程后进入修改界面,课对题目的选项,题型等做修改,也可删除此考题,或者仅仅查看。题目管理模块的流程图如图5-5所示:

开始选择课程试题信息添加试题修改试题删除试题查看试题 图5-5 题目管理模块流程图

关键代码:

if IsNumeric(Trim(request.querystring(\ else

intCurPage = 1 end if

if IsNumeric(Trim(request.querystring(\ else

intCourseID = 0 end if

if IsNumeric(Trim(request.querystring(\ else

intType = 0 end if

set rsSubject = server.createobject(\

30

intCurPage = CLng(Trim(request.querystring(\

intCourseID = CLng(Trim(request.querystring(\

intType = CLng(Trim(request.querystring(\

常熟理工学院毕业设计(论文)

strSqlSubject = \if intCourseID > 0 then

strSqlSubject = strSqlSubject & \end if

if intType > 0 then

strSqlSubject = strSqlSubject & \end if

strSqlSubject = strSqlSubject & \rsSubject.open strSqlSubject,G_CONN,1,1 rsSubject.pagesize = intMaxPerPage if intCurPage < 1 then

intCurPage = 1

intCurPage = rsSubject.pagecount elseif intCurPage > rsSubject.pagecount then end if

intMaxPage = rsSubject.pagecount

if not rsSubject.eof and not rsSubject.bof then

rsSubject.absolutepage = intCurPage end if

if rsSubject.bof or rsSubject.eof then

response.write \没有试题\

end if intCurRec = 1

while not rsSubject.eof and intCurRec <= intMaxPerPage

response.write \

response.write \response.write \

response.write \select case rsSubject(\case 1

response.write \单选题\

onClick='checkup(this);' type='checkbox' value='\

\

case 2

response.write \多选题\

case 3

31

常熟理工学院毕业设计(论文)

response.write \是非题\

end select

response.write \

response.write \response.write \

response.write \即将删除此试题,确认删除吗?') == true)

& \

window.open('/admin_subject.asp?action=del&subjectid=\删除 | \

改\

response.write \rsSubject.movenext intCurRec = intCurRec + 1

response.write \修

wend rsSubject.close set rsSubject = nothing call closeConn()

5.4 其他模块简介

(1)考生信息显示:考生成功登陆后在页面左边会显示考生的姓名,出生日期

(2)成绩查询:考生成功登陆后可通过页面左边的栏目进行成绩查询

(3)注销登录:考生直接点击注销登录即可注销回到首页

(4)考试科目选择:页面右边会列出所有可以考试的科目供考生自由选择 (5)管理员添加:超级管理员具有所有权限,可添加各种权限不同的管理员

(6)管理员修改:超级管理员课对所有管理员进行修改,其中在权限选上,0为所有权限,1为维护试题,2为维护考生档案,4为维护考试计划,8为维护课程档案

(7)课程档案添加:管理员可添加新的课程档案

(8)课程档案修改:对已经存在的课程档案,管理员可以修改名称,考试时间等 (9)试题档案添加:对选定的课程可进行相应的试题添加,其中试题类型有是非题,单选题和多选题

(10)试题档案修改:对已经存在的试题课进行相应的修改

(11)考试计划添加:可根据需要添加相应的考试计划,成功添加后再首页显示,方便考生选择

32

常熟理工学院毕业设计(论文)

(12)考试计划修改:对已经存在的考试计划的时间,名称等进行相应的修改 (13)考生档案添加:管理员可添加新的考生

(14)考生档案修改:管理员选择相应的考生,可对其姓名,密码等进行相应的修改

5.5 系统主界面

5.5.1 系统首页

在首页可以实现用户登陆,查看信息,成绩查询,新用户注册,进入考试,管理员登陆等。其界面如图5-6所示

图5-6 系统首页

33

常熟理工学院毕业设计(论文)

若选择新考生注册,则出现以下页面,如图5-7所示:

图5-7 新考生注册

5.5.2 考试界面

考生确认考试后进入在线测试界面,如图5-8所示:

图5-8 考试界面

34

常熟理工学院毕业设计(论文)

5.4.3 管理界面

进入管理界面后,左边栏目上方是管理员的登陆信息,包括登陆名称,权限级别,下方是操作面板,管理员可根据需要进行相应的选择并进行操作,如下图5-9是试题管理的界面。

图5-9 试题管理界面

35

常熟理工学院毕业设计(论文)

6. 系统测试

系统经过以上几个阶段的设计之后,进入系统设计的最后阶段,即系统测试阶段。系统测试的任务是发现并排除在分析、设计、编程各阶段中产生的各种类型的错误,以得到可运行的软件系统。

6.1 软件测试综述

软件测试的方法和技术是多种多样的。主流的测试方法有白盒测试和黑盒测试两种方法。黑盒测试是集中在软件的功能需求上,这就是黑盒测试允许软件工程师导出适当的输入数据集合以检测一个程序或模块的所有功能需求。黑盒测试是在程序或模块的接口级进行,而不考虑程序的内部逻辑。白盒测试,有时又称玻璃盒测试,使用白盒测试导出测试案例是依据模块的编码,即模块的内部逻辑对测试者是可见的,故称白盒测试。使用白盒测试方法所导出的测试案例能保证:模块中所有独立途径至少测试一次;测试所有逻辑决策真和假两个方面;在所有循环的边界内部和边界上执行循环体;检查内部数据结构以保证其有效性。

黑盒测试集中在软件的功能需求上,这就是黑盒测试允许软件工程师导出适当的输入数据集合以检测一个程序或模块的所有功能需求。黑盒测试是在程序或模块的接口级进行,而不考虑程序的内部逻辑。黑盒测试能够用于检测程序中下列类型的错误: (1)不正确或漏掉的功能,这往往是由于程序算法中问题所造成的; (2)接口错误;

(3)数据结构或外部数据库中存取中的错误; (4)初始化或结束错误;

(5)性能方面的问题,这种类型的问题通常也是和算法有关的。

6.2 数据库测试

在Web应用技术中,数据库起着重要的作用,数据库为Web应用系统的管理、运行、查询和实现用户对数据存储的请求等提供空间。在Web应用中,最常用的数据库类型是关系型数据库,可以使用SQL对信息进行处理。

在使用了数据库的Web应用系统中,一般情况下,可能发生两种错误,分别是数据一致性错误和输出错误。数据一致性错误主要是由于用户提交的表单信息不正确而造成的,而输出错误主要是由于网络速度或程序设计问题等引起的,针对这两种情况,可分别进行测试。

6.2 系统测试用例设计

36

常熟理工学院毕业设计(论文)

6.2.1 单元测试

单元测试(也称模块测试)是对程序的每一个模块进行独立的测试。使用黑盒法进行测试的用例如下:在输入学生的信息数据是考生ID和密码,若输入(考生ID=shengjiao,密码=123)是允许的测试数据,而(考生ID=shengjiao和密码=1234)是不允许的。 6.2.2 组装测试

组装测试(也称集成测试)提供了组合软件的手段,它根据概要设计中各功能模块的说明及制定的组装测试计划,将经过单元测试的模块逐步组装和测试,即把每一个通过测试的模块并入到软件总体结构中。测试时我对每个功能模块进行测试,检测模块中各种可能发生的错误。然后将各功能模块组装,进行系统组装测试,检测系统功能模块间的接口衔接,优化系统代码,以提高系统响应时间、可靠性和稳定性。当大量考生同时参加考试时,这三个参数就显得尤为重要。 6.2.3 确认测试

确认测试是根据软件需求说明书中定义的全部功能、性能要求以及确认测试计划来测试整个软件系统是否达到了要求,确认测试是软件产品实际应用之前一道完整又系统的检验,是软件质量保证的最后一个环节。选取管理员登录这一个模块来进行测试,先输入正确的登录名登录密码,看是否可以进入系统中;再输入错误的登录名登录密码,看系统是否提示出错信息。

6.3 测试结果分析

本系统基本能实现预计的功能,但存在许多不足的地方。在测试过程中尽力选择合适的用例,测试数量有限的重要逻辑路径,对一些重要数据结构的正确性进行尽困难完全的检查,但无论是白盒法还是黑盒法测试,都不可能进行穷举测试,因为即使测试所有路径的一跟小的子集,也会导致也许大量的测试数据,而这在实际测试过程中是无法实现的。

37

常熟理工学院毕业设计(论文)

7. 系统展望

7.1 目前系统存在的问题

1.留言未能实现

考生在考试后若有什么意见和建议无法反馈给管理员,在对答案有疑惑的地方也无法深入探讨。

2.安全性有待进一步增加

网上测试不像现实中有监考人员,从而无法保证考试的就是学生本人,也缺乏相应的身份验证机制,对于有的考生冒名顶替还是无可奈何。

3.目前试卷中只有客观题,题型较单一

客观题随机性大,而现在的主观题在传统的考试中也是越来越多,但是本测试系统还未能实现对主观题的考试和阅卷。

4.教师无法查阅所有学生的成绩

目前的机制是只能考生在登陆后查阅自己已考试过的科目的成绩,而管理员在后台管理学生数据时,只能查看学生的相关注册信息。

7.2 系统改进方案及展望

1.在首页中增加留言板的栏目,在考试结束并显示分数后,考生可进行在线交流,将自己想要反映的信息提交给管理员。

2.若是在一个机房考试,可事先检查学生身份;在相关硬件设备上,可增加人脸识别和指纹识别技术。

3.对于主观题的测试,由考生输入答案,提交到后台数据库,保存后由教师再进行在线阅卷。

4.添加教师查询所有学生成绩的功能,从而实现管理员后台对考生成绩的查阅。

38

常熟理工学院毕业设计(论文)

8. 结语

本系统采用B/S结构,界面简洁,操作方便。本系统可以实现“考生注册”,“考生登录”,“成绩查询”,“在线测试”,“试题管理”,“学生管理”,等功能,达到了选课系统的基本要求,具有实用价值。

通过这次毕业设计,我对ASP和数据库方面的知识有了进一步的认识。ASP是一种开放式的非编译应用环境,组合了HTML,Script, ActiveX的功能,在短时间内要学好ASP并非容易的事,由于时间的局促,只能一边学习一边应用。由于经验的缺乏和对整个系统的调查研究、需求分析、功能设计等可能考虑不周到,以至设计出来的系统功能比较简单,性能不够优良,离实际使用还有很大一段距离,但能实现考试的基本功能,当然还有许多功能还没有实现:考试新闻的发布,由管理员设置的考试信息,经过上级领导审核、批准后向考生发布考试新闻、考生考试成绩、排名等信息;管理员在更新试卷时,刷新页面,那么所作的修改仍然马上反应到管理模块上等。系统设计中采用的随机算法比较单纯,因而生成的试卷有雷同的情况。对于这种情况,在实际使用中,可根据不同的情况结合试卷的难度系数等信息,采用更复杂更有效的随机算法,优化系统代码来提高系统的可靠性和稳定性。

通过这次毕业设计,我充分体会到理论知识的重要性,但更加体会到实践的重要性。只有通过实践,我们才能发现并解决问题,才能真正掌握一项技术。学习的目的就是应用,就是为了创造新的东西,虽然我的毕业设计功能简单,没有多少创新与实用价值,但从理论到实践的转化这一方面来说,它是意义颇为重大。我会在将来的软件设计、开发过程中进一步学习,不断提高自己的专业技能。

39

常熟理工学院毕业设计(论文)

参考文献

[1] Grady Booch,James Rumbaugh,Ivar Jacobson. UML用户指南[The Unified Modeling Language User Guide][M]. 邵维忠,麻志毅,张文娟 孟祥文译. 北京:机械工业出版社,2001,133-230.

[2] 肖金秀主. ASP网络编程技术[M]. 北京:清华大学出版社,2001,45-76.

[3] 萨师煊,王珊. 数据库系统概论[M]. 第三版. 北京:高等教育出版社,2000,10-90. [4] 黄斯伟等. HTML完全使用详解[M]. 北京:人民邮电出版社,2006,51-101. [5] 常晋义. 信息系统开发与管理[M]. 北京:机械工业出版社,2004,154-199.

[6] 齐治昌,谭庆平,宁洪. 软件工程[M]. 第二版. 北京:高等教育出版社,2004,333-410.

[7] 陈建伟 李美军 施建强. ASP动态网站开发教程[M]. 北京:清华大学出版社,2005 ,23-89. [8] 管西京. ASP系统项目开发实践[M]. 北京:科学出版社,2007,154-233.

[9] 李若岩,徐妹,杨波. Photoshop CS2基础与实例教程[M]. 西安:电子工业出版社,34-108 [10] 王征,周峰. ASP+Acess动态网站建设基础与实践教程[M]. 西安:电子工业出版社,3-56

[11] 邹建. 中文版SQL Server2000开发与管理应用实例[M]. 北京:人民邮电出版社,2005,67-156 [12] 刘亚姝,李金莱. ASP网络变成技术与实践[M]. 北京:清华大学出版社,2005,76-177 [13] 吕继迪, 孙明丽, 庞娅. ASP从入门到精通[M]. 北京:清华大学出版社,89-110

[14] 王萍萍, 李晓娜, 孙更新. ASP+Dreamweaver动态网站开发[M]. 北京:清华大学出版社, 2008,178-203

[15] 彭建翔. Css2网页结构建筑师[M]. 北京:中国铁道出版社,2002,199-340.

[16] 汪晓平,钟军编著. ASP网络开发技术[M]. 第二版.人民邮电出版社,2003,401-556. [17] 赵丰年. JavaScript实例教程[M]. 西安:电子工业出版社,2001,122-200. [18] 金旭亮,吴彬. 网站建设教程[M]. 北京:高等教育出版社,2003,98-156.

[19] Louis Davidson. Professional SQL Server 2000 Database Design[M].WROX :67-98. [20] Scott Mitchell、Steve Walther. ASP:Tips,Tutorials,and Code[M]. :334-423.

40

常熟理工学院毕业设计(论文)

致谢

值此提交本论文之际,我首先要向指导教师王加年老师表示衷心的感谢。我的课题是在导师王加年老师的悉心指导下完成的。在本次毕业设计的每一个地方都凝聚着徐老师的心血,没有老师的悉心指导,就没有本论文的顺利完成。

感谢王加年老师所给予的无私帮助,他渊博的学识、敏锐而超前的学术意识、民主而严谨的治学作风将使我受益终生,并激励我在今后的工作、学习和生活中,时刻保持勤奋刻苦的工作态度和求实创新的敬业精神。

感谢常熟理工学院计算机科学与工程学院各位老师,在他们的帮助下,使这次我的毕业设计和论文能够顺利完成。

感谢常熟理工学院计算机科学与工程学院网络工程051班的各位同学,大家的热情和团结对我起到了极大的鼓舞和帮助。

同时感谢常州风讯网络科技公司给我两个月的实习的机会,在这两个月里,我虽然没有时间做与毕业设计相关的一些问题,但是在我的同事的帮助下,我学到了更多书本和学校里不能学到东西,不仅仅是项目开发方面的技巧和技术,更重要的是工作中的一个成长过程。

感谢一些网络论坛,优秀站点对本次设计的技术支持,对本人此次设计过程中的调试提供了强大的帮助。

最后向所有关心和支持我的朋友们表示真诚的感谢!

41

常熟理工学院毕业设计(论文)

致谢

值此提交本论文之际,我首先要向指导教师王加年老师表示衷心的感谢。我的课题是在导师王加年老师的悉心指导下完成的。在本次毕业设计的每一个地方都凝聚着徐老师的心血,没有老师的悉心指导,就没有本论文的顺利完成。

感谢王加年老师所给予的无私帮助,他渊博的学识、敏锐而超前的学术意识、民主而严谨的治学作风将使我受益终生,并激励我在今后的工作、学习和生活中,时刻保持勤奋刻苦的工作态度和求实创新的敬业精神。

感谢常熟理工学院计算机科学与工程学院各位老师,在他们的帮助下,使这次我的毕业设计和论文能够顺利完成。

感谢常熟理工学院计算机科学与工程学院网络工程051班的各位同学,大家的热情和团结对我起到了极大的鼓舞和帮助。

同时感谢常州风讯网络科技公司给我两个月的实习的机会,在这两个月里,我虽然没有时间做与毕业设计相关的一些问题,但是在我的同事的帮助下,我学到了更多书本和学校里不能学到东西,不仅仅是项目开发方面的技巧和技术,更重要的是工作中的一个成长过程。

感谢一些网络论坛,优秀站点对本次设计的技术支持,对本人此次设计过程中的调试提供了强大的帮助。

最后向所有关心和支持我的朋友们表示真诚的感谢!

41

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

Top