基于C#的在线考试系统设计_第1页
基于C#的在线考试系统设计_第2页
基于C#的在线考试系统设计_第3页
基于C#的在线考试系统设计_第4页
基于C#的在线考试系统设计_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上基于C#的在线考试系统设计 摘 要:随着校园网的普及,以及传统考试方式逐渐凸显的弊端,基于网络的在线考试系统越来越受到人们的青睐。本系统采用C/S结构的“胖服务器”模式,服务器端承担了考生的身份验证、题目抽取、考生的考试监控以及数据库的管理等大部分工作,而客户端仅仅承担了考生的考试认证,不保存任何数据。本系统设计主要采用C#的三层架构模式,构建了数据访问层、业务逻辑层和表示层的三层体系架构。 关键词:C#;在线;考试系统 考试是教学工作的一项重要组成部分,是对学生学习情况以及教师的教学情况的考察。而传统的考试需要教师投入大量的经历,要经过出题、印卷、阅卷等多个环节,还

2、存在纸张、设备的浪费。而基于网络的在线考试系统越来越受人们青睐,借助网络、数据库等技术实现的在线考试,既省时省力,还节约了资源。该系统中试卷可以根据试题库中的内容自动生成,避免学生的押题;题目采用的是标准化试题,方便计算机自主阅卷,大大提高了阅卷效率。 本系统采用了C/S结构的“胖服务器”模式,服务器端承担来了大部分工作,主要包括考生的身份验证、题目的抽取、考生的考试监控以及数据库的管理等工作;客户端仅仅完成考生的考试认证,不保存任何数据,它所完成的大部分功能都是通过调用服务器的远程对象来实现的。 1 在线考生系统功能设计 该系统用户主要分为两类:管理员(老师兼),考生(学生),其中管理员主要

3、完成考试题目的管理、成绩浏览、考生信息的管理以及对服务器的管理,如上功能集中在服务器端,如图1所示。而考生主要进行登录、答题、题目标记、交卷的操作,此功能集中在客户端。 2 三层模式设计实现 本系统采用经典的三层架构,即数据访问层、业务逻辑层和表示层。其中,数据访问层主要实现对数据库的操作;业务逻辑层主要完成业务逻辑的封装,对表示层隐藏实现;表示层主要提供用户的操作界面,具体的业务逻辑由业务逻辑层实现。 2.1 数据库访问设计 2.1.1 通用数据访问类设计 由于每次访问数据库的基本步骤是类似的,比如与数据库的连接操作、执行非查询命令、执行返回结果集的查询命令等,所以首先设计一个通用类库,来完

4、成对数据库的这些基本访问操作。对SQL Server的访问类叫SQLServerHelper,包含五个方法:ExecuteSQLNonQuery、ExecuteSQLReader、ExecuteSQLScalar、ExecuteProcederNonQuery和ExecuteProcederReader,分别用于执行SQL语句不返回结果、执行SQL语句返回只读、以正向方式访问数据库的DataReader对象、执行SQL语句返回标量查询、执行存储过程不返回结果、执行存储过程返回DataReader。这样,对数据库的访问,直接调用相应方法即可完成。 2.1.2 数据访问层的ORM实现 ORM为Ob

5、ject/Relation Mappinga的简称,即对象-关系映射,是随着面向对象语言的发展而产生的。C#语言是面向对象的程序设计语言,业务实体为对象,而现在通用的数据库是关系型数据,业务实体为关系数据,因此开发语言和数据库之间存在不匹配现象。而解决这个问题的方法就是建模。建模是一个很大的话题,不同复杂度的程序有不同的建模方法,建模需要确定的内容就是需要处理的问题领域包含哪些实体。经过分析,该系统抽象出四个实体类,分别是Administrator(管理员、教师)、Examinee(考生)、Exercise(考题)和Grade(成绩)4个类。 2.1.3 数据访问层设计 数据访问层主要负责数据

6、库的访问,即完成对数据库的增加、修改、删除、查询等操作。因为分层结构中各个层职能明确,所以该层的主要功能是通过获取参数,执行相应命令,然后返回结果。该层主要设计4个类:AdminDAL、ExamineeDAL、ExerciseDAL和GradeDAL,分别完成对用户的管理、考生的管理、题目的管理和成绩的管理。其中ExamineeDAL的设计如下: public class ExamineeDAL public static bool AddExaminee(Examinee examiee) /添加考生 public static bool DeleteExamineeById(string

7、id) /根据id删除考生 . 2.2 业务逻辑层设计 业务逻辑层主要封装相关的业务规则,实现过程中的数据访问操作通过调用数据访问层实现。它对流入的逻辑性数据的正确性及有效性负责,对流出的逻辑性数据及用户数据不负责。由于本系统业务较简单,该层并没有实质内容,只是简单的调用数据访问层的方法。对应数据访问层设计了AdministratorBLL、ExamineeBLL、ExercieseBLL和GradeBLL四个类,完成了相应的业务逻辑访问。 2.3 表示层设计 表示层是一个系统的门面,负责完成与用户的交互,一方面接收用户的输入,同时将输出数据呈现给用户,并决定呈现的样式。它对用户数据的有效性负

8、责,同时管理会话及页面跳转等逻辑。 3 远程对象设计 本系统采用Remoting技术来完成远程通信,Remoting技术是在.NET平台下提供的用于开发分布式应用程序的技术框架,可以在不同应用程序域之间相互通信。该系统中客户端是通过调用位于服务器端的远程对象来获取服务的,因此设计供客户端调用的远程对象是该部分的重要内容。 客户端在登录时需要验证考生信息,由于客户端没有数据库,无法获取考生信息,需要把验证功能放在服务器端。在ServerObject类中添加ExamineeValidate方法,代码如下: public Examinee ExamineeValidate(string name,string passwd) Examinee examer=ExamineeBll.GetExamineeByNameNumber(name,passwd); if(examer!=null) ExamineeOnlineManager.GetInstant().RegisterExaminee(examer); return examer; 登录成功后,考生便进入到考试窗体进行答题,而考生题目、考试时间等信息也来源于服务器端,所以还需要添加获取考生信息和考生题目的方法。 4 结语 在线考生系统是一个功能强大的基于通信的应用系统,本设计采用了C/S模式,同时应用了C#的三层架构,构建了数据

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论