基于.NET技术的在线考试系统研究与设计
2013-09-26杨瑞
杨瑞
(陕西工业职业技术学院 陕西 咸阳 712000)
随着计算机技术的快速发展,网络应用的范围不断扩大,例如远程教育等,这些应用逐步被广大人们所接受。人们较为迫切的需求采用这些计算机技术来实现在线考试,以减轻负担和提升效率,进一步使考试的质量得到提高,这样会更加公证、客观并使得学生的学习积极性得到提高。所以本系统采用较先进的.NET开发平台、利用B/S模式构建三层结构Web应用程序的在线考试系统。这样才能实现在线考试系统的实时、高效、科学和公开透明的特点。
1 设计方法、相关技术及开发工具
1.1 对象的设计方法(OOA)
本系统采用面向对象技术设计,其中业务对象是指完成系统业务逻辑的对象,是系统的核心[1]。面向对象分析(通常缩写为OOA),面向对象分析过程从分析客户需求开始。在分析客户需求的过程中系统分析员反复多次地与用户讨论、协商,还要了解现有的类似系统,迅速建立起一个可以在计算机上运行的模型系统,让用户试用并听取用户反馈意见,才能更正确地总结出用户的需求[2]。
1.2 数据库访问技术(ADO.NET)
ADO.NET是微软新一代.NET数据库的访问架构,是数据库应用程序和数据源之间沟通的桥梁,它提供了一个面向对象的数据访问架构,用来开发数据库应用程序,ADO.NET具有很多优异性,因此成为目前数据程序设计人员开发数据库的主要接口[3]。
1.3 开发语言
本系统的开发语言是C#语言。C#语言具有以下突出的特点:1)语法简洁明了;2)彻底的面向对象设计;3)良好的兼容性;4)灵活的版本处理技术;5)完善的错误、异常处理机制[4]。
2 系统研究的内容和目标
本系统研究的主要内容:设计一个满足各种标准化考试题型的、能在不同平台上运行的网上考试系统。
该系统主要包含以下几个功能模块:1)用户注册管理模块用来提交教师和学生用户的注册信息。2)用户管理模块用来对教师和学生注册信息的管理。3)角色管理系统管理员模块赋予用户不同的角色,并可对角色的权限进行修改。4)题库管理模块管理所有试题。5)试卷管理模块生成符合要求的待考试卷并决定考试的时间和范围。6)考试报名模块审批学生的考试报名请求,并发送考试密码给己批准考试的学生生。7)考生通过考试模块参加考试并提交试卷。8)教师通过判卷模块批阅试卷并给出成绩。9)学生可通过查分模块功能查看考试得分。10)考试结果模块分析帮助教师分析和评估考试结果。11)考试监控模块监控当前所有正在进行的考试情况,包括考试科目、考试机器的地址、考生信息等。12)新闻管理模块管理用户对新闻的浏览、发布、修改等。
本系统研究的目标是降低考试成本、减轻教师的工作负担和提高工作效率,让老师能够在教学方法的高进和教学质量的提高拥有更充沛的精力和时间。
3 系统的分析
3.1 体系结构
本系统采用B/S(浏览器/服务器)模式、采用微软的.NET技术构建了三层结构的在线考试系统,以此来满足不同用户的分布式访问,同时也方便和外界交流信息。
B/S架构与C/S架构比较有以下优势:1)所有的应用软件均在服务器上运行,客户机只需运行浏览器软件即可。2)开发工作全部集中在服务器上,与客户方无关,便于以后开发。3)应用系统界面均以页面的形式出现,可以包含文本、图象、声音等内容,可通过Internet访问。4)B/S在广域网的基础上,借助浏览器使系统与用户之间、用户与用户之间的交流更加方便[5]。根据以上分析,本系统决定采用B/S架构作为本系统的体系结构。
3.2 系统的用户
本系统的用户角色有4类:管理员,学生,访客,教师。学生,教师用户在首次使用系统时均需经过注册,经管理员确认后成为正式用户。其中教师类角色可根据具体权限的不同又可细分为若干类子角色,系统将教师对题库的访问权限以课程分配为单位按查看、修改、删除、增加四种操作进行权限的分配,管理员可建立不同级别的教师子角色,赋予各子角色不同的权限,在教师注册申请时分配子角色,并可随时更改。所有未登录用户均为访客身份,访客只能对系统中的个别信息进行浏览,如考试新闻等。
3.3 系统功能模块
系统功能模块如图1所示。
3.4 系统工作流程图
用户注册流程如图2所示。
图1 系统功能模块图Fig.1 System function module
图2 用户注册流程图Fig.2 User registration flow chart
如果用户已经在网站提交了注册申请,在登录时选择登录身份,如管理员、教师、学生,不同身份没有相同的用户名,避免出现同名现象。
4 系统的设计
4.1 系统结构设计
4.1.1 系统物理结构设计
考生可在校内局域网内部使用考试系统,也可通过互联网,透过局域网本身的外防火墙从远程使用系统。考虑到系统的安全性,在局域网内为考试系统添加内防火墙。
4.1.2 系统逻辑结构设计
在线考试系统结构有C/S和B/S两种,C/S结构需要在客户端安装软件,在部署软件和升级时的费用较大。因此,本系统采用B/S三层结构,取得了良好的效果,实现了“瘦客户端”的系统要求。下图是系统的逻辑结构图,其中客户端是标准浏览器,称为表示层,中间层为应用服务器,底层为数据库服务器,称为数据层。如图3所示。
图3 系统逻辑结构图Fig.3 System logic structur
各层功能简单说明如下:
1)表示层是采用浏览器实现的统一的用户界面,以表单的形式提供的图形用户接口,并显示服务器处理所返回的页面,是用户与系统进行交互的接口。
2)中间层这一层是在服务器的承载下,运用实现系统的主要业务功能。
3)数据层这一层主要是数据库服务器。数据库服务器为系统提供数据服务[6]。
4.2 数据库设计
数据库设计是创建一个性能良好、能满足不同用户使用要求、又能被选定的所接受的数据库模式,建立数据库及其应用系统,使之能有效地存储数据,满足用户的信息要求和处理要求。逻辑结构表示如下。
数据在具体数据库上的存储结构与存取方法称为数据库的逻辑结构。逻辑结构设计的主要内容是确定数据库的数据表中具体字段的设计。因篇幅所限,下面仅从数据库中列出答题简表和填空图表。答题简表如表1所示。
表1 答题简表Tab.1 Table answer
填空图表如表2所示。
表2 填空图表Tab.2 Fill in the chart
5 结束语
为降低教师的负担和提高工作效率的需求,本系统采用ADO.NET和ASP.NET技术,利用B/S模式构建了三层结构的在线考试管理系统。在编写代码过程中使用了面向对象的编程技术,将系统中的各种实体包装为类,系统的属性和操作抽象为相应类的属性和方法,为以后的系统测试和维护工作打下了基础,采用.NET技术所开发的在线考试管理系统具有良好的可扩展性、易维护性与易操作性,可在系统现有功能的基础上不断增加与完善。从系统整个体系结构来说基本能够满足降低考试成本、减轻教师负担和提高工作效率的需求。
[1]苏贵洋,黄惠.网络编程从基础到实践[M].北京:电子工业出版社,2005.
[2]朱三元,钱乐秋,宿为民.软件工程技术概论[M].北京:科技出版社,2003.
[3]曾登高.NET系统架构与开发[M].北京:电子工业出版社,2003.
[4]张振莲.基于NET的科研管理系统的设计与实现 [D].西安:西北大学,2005.
[5]张南平,王伟,夏红霞.基于NET平台的B/S应用系统的开发框架[J].武汉理工大学学报,2004,2(1):42.
ZHANG Nan-ping,WANG Wei,XIA Hong-xia.Based on the.NET platform B/S application system development framework[J].Journal of Wuhan University,2004,2(1):42.
[6]杨鲲鹏,孟凡琦,温才焱.ASP.NET+SQL Server 2005动态网站开发从基础到实践[M].北京:电子工业出版社,2005.