论文部分内容阅读
摘要:从考试管理的实际需求出发,以实现在线考试管理为目标,讨论了系统体系结构,功能模块及实现的关键技术。采用微软.NET 平台,ADO.NET 技术,SQL Server 2005 数据库,设计并实现了基于ADO.NET的在线答题管理系统。系统实现了基于知识点的动态组卷管理,极大地提高了考试管理的准确性与效率。
关键词:ADO.NET;数据适配器;数据访问;数据集;数据库
中图分类号:TP311文献标识码:A文章编号:1009-3044(2009)36-10602-02
Design and Implementation of Online Examination Management System Based on ADO.NET
HUANG Yi, HE Xiao-feng, ZHOU Xu-yuan
(College of Computer Science, Chongqing University of Arts and Sciences, Chongqing 402160, China)
Abstract: According to the real situation of examination management, aimed at the online examination information management, the structure, function model and key technology of the system is discussed. A online examination information management system based on ADO.NET technology is designed and implemented by use .NET platform of Microsoft, ADO.NET technology, and SQL Server 2005 database. With the implementation of system, the dynamic paper management of knowledge points come true, the accuracy and efficiency of management is improved highly.
Key words: ADO.NET; data adapter; database accessing; dataset; database
随着教学改革的深入,传统考试方式的弊端日益凸现,不必要的重复劳动造成人力资源和时间上的浪费,试卷命题质量受教师主观因素的影响而难以做到客观公正,判卷过程中容易出现错判、漏判以及缺乏衡量教学效果的有效机制等。因此,迫切需要一种能够实现考试自动化、网络化的在线考试系统,不仅能够大大降低教师的劳动强度、提高教学质量,而且通过评价机制,针对不同的教学内容调整教学方法,从而达到教考分离、教学资源共享、科学评价教学效果、合理安排教学的教改目标[1]。开发通用的高校在线答题系统,符合各高校在今后的发展趋势,在线作答已成为当今社会考试、审核的重要手段。
1 系统核心技术
1.1 .NET Framework框架
.NET Framework框架是.NET战略的基础,它提供给我们一个一致的编程环境,无论是本地的代码执行还是网络上的代码执行,它都使我们的编程经验在面对类型不同的应用程序时保持一致。提供了一个面向对象的编程环境,完全支持面向对象编程。提高软件的可复用性、可扩展性、灵活性。它包括CLR(公共语言运行时)和框架类库[2]。CLR用于解决不同语言的数据类型不同的问题和指定了一种以.Net平台为目标的语言所必须支持的最小特征以及该语言与其他.Net框架下都可以实现互操作性所需要的完备特征。.NET框架类库提供了大量好用的实用的类包括基础数据库类、I/O访问、安全控制、数据访问、XML描述数据的文件格式等。对Web应用与web service(Web服务)的强大支持等。
1.2 ADO.NET对象模型
.NET数据库核心为ADO.NET,它提供了对关系数据库、XML以及其他数据存储的访问。它最大的优点是,它与数据库源断开连接时也可以使用数据库。ADO.NET提供了两个组件:.NET Framework数据提供程序和DataSet(数据集)[3]。ADO.NET 中有5个主要的数据库访问和操作对象,分别是Connection、Command、DataReader、DataAdapter、DataSet 对象。它们的操作数据库结构图如图1所示。不同的命名空间都用相应的对象,比如我们要操作SQL Server数据库,要使用System.Data.SqlClient使用OLEDB要用System.Data.OleDb。
1) Connection 对象主要负责连接数据库,可根据Connection对象的各种不同属性来指定数据源的类型、位置及其他属性,可用它来与数据库建立连接或断开连接。根据所连接的数据库不同,.NET Framework数据提供程序也有不同的Connection,如针对SQLServer的SqlConnection、针对Oracle的OracleConnection、针对MySQL的MySqlConnection、针对OLEDB的OleDbConnection等。
2) Command对象封装了与用户想要完成的动作相关的数据库命令,在一般情况下这些命令就是SQL语句。
3) DataReader对象主要负责读取数据库中的数据,DataReader以只进、只读方式返回数据,从而提高应用程序的性能。
4) DataAdapter提供连接DataSet对象和数据源的桥梁。DataAdapter使用Command对象在数据源中执行SQL命令,以便将数据加载到DataSet中,并使DataSet中数据的更改与数据源保持一致。
5) DataSet 对象主要负责存取和更新数据,最大优点是离线和连接。DataSet既可以以离线方式,也可以以实时连接方式来操作数据库中的数据。这样的好处是大大减少了服务器端数据库的连接线程,从而大大地减少了服务器端的运行压力。所以,在数据量不大的情况下,使用DataSet是最好的选择。
2 系统的设计与实现
2.1 数据库设计
根据系统功能设计的要求以及模块的划分,主要的数据表:学员信息表(Student):用户名、密码、用户状态、班级、学号、姓名、性别、身份证号、主修科目、就读院校、电话、地址、邮编、期望的工作、电子邮件。管理员信息表(Admin):用户名、密码。教员信息表(Teacher):用户名、密码、用户状态、姓名、性别、生日。试题表(Question):问题编号、问题内容、答案、试题难度、科目Id、各个选项的内容。
2.2 基本模块与总体框图
管理员模块:管理员只有唯一的用户名和密码,经系统验证后方可进入系统,进入系统后管理员拥有所有用户的最大权限。包括新增学员、新增教员、查询及修改学员、学员信息列表、教员信息列表、题库管理等权限。
教员管理:该模块用于增加试题,查询试题,教师可根据不同的科目增加相应的试题内容。
学员管理:学员登录考试管理系统需要进行身份验证,一个学员对应一个用户名和密码,管理员在考试开始前需要导入学生的必要信息,如学号、姓名、班级、姓名、性别、身份证号、主修科目等。除上述考试信息外,还需导入用户注册信息:用户名、密码、用户状态(活动||不活动)。
用户和用户角色管理:用户管理模块对使用本系统的用户进行用户名、密码、用户身份的验证,确保了系统的安全性。
试题的录入管理:指具有相应权限的用户对试题的录入、修改、删除等管理,试题的录入要按照题型录入。
自动组卷:主要是学员登录后在线答题,系统随机抽取试题,组合成一套试卷,最后自动阅卷,试题是由教员添加。系统总的流程框架图,如图2所示。
2.3 使用ADO.NET连接数据库
.NET为SQL Server提供的连接类是SqlConnection,其实现System.Data.IDbConnection 接口,用于实现与数据源的连接,同时建立了一个连接数据库字符串得DBHelper类与UserHelper类。
要与一个 SQL SERVER 数据库建立连接,首先引入命名空间:
Using System.Data;
Using System.Data.SqlClient;
具体的使用://查询语句。
String sql=string.Format ("select Id, Name from Admin where FromUserId= {0} and MessageTypeId=1 ", loginId, UserHelper.loginName);
//command对象负责对数据库执行命令。
SqlCommand command = new SqlCommand (sql, DBHelper.connection);
//打开和关闭数据库连接,使用了静态字段。
DBHelper.connection.Open ();
DBHelper.connection.Close ();
使用DataAdapter对象和DataSet对象实现考试信息查找及随机抽题等。其具体实现,这里不再一一阐述。
3 结论
建立在线考试系统方便学习者自主测验,及时得到反馈信息,从而有计划、有步骤、系统地调整学习进度,使学习更有效。与此同时,教师(或管理)可以通过系统对学生信息的分析统计,有针对性地为学习者提供指导。掌握ADO.NET 数据存取技术,可以使上下级数据库、同级数据库之间数据一致性得到保证的同时[4],程序执行速度更快,编程方式更加灵活,使用的对象模型更丰富,从而大大提高程序开发效率。
参考文献:
[1] 陈华清.基于WEB 考试信息管理系统的设计与实现[J].电脑知识与技术:学术交流,2009,5(17):4422-4424.
[2] Microsoft Corporation.ADO.NET技术文档[EB/OL].http://msdn.microsoft.com/zh-cn/library/ms971481.aspx.
[3] 詹发荣.ADO.NET数据访问体系结构研究[J].电脑知识与技术:学术交流,2009,5(20):5339-5340.
[4] 赵雪峰.ADO.NET数据访问技术在电子档案管理系统中的应用[J].通信技术,2009(8):123-125.
关键词:ADO.NET;数据适配器;数据访问;数据集;数据库
中图分类号:TP311文献标识码:A文章编号:1009-3044(2009)36-10602-02
Design and Implementation of Online Examination Management System Based on ADO.NET
HUANG Yi, HE Xiao-feng, ZHOU Xu-yuan
(College of Computer Science, Chongqing University of Arts and Sciences, Chongqing 402160, China)
Abstract: According to the real situation of examination management, aimed at the online examination information management, the structure, function model and key technology of the system is discussed. A online examination information management system based on ADO.NET technology is designed and implemented by use .NET platform of Microsoft, ADO.NET technology, and SQL Server 2005 database. With the implementation of system, the dynamic paper management of knowledge points come true, the accuracy and efficiency of management is improved highly.
Key words: ADO.NET; data adapter; database accessing; dataset; database
随着教学改革的深入,传统考试方式的弊端日益凸现,不必要的重复劳动造成人力资源和时间上的浪费,试卷命题质量受教师主观因素的影响而难以做到客观公正,判卷过程中容易出现错判、漏判以及缺乏衡量教学效果的有效机制等。因此,迫切需要一种能够实现考试自动化、网络化的在线考试系统,不仅能够大大降低教师的劳动强度、提高教学质量,而且通过评价机制,针对不同的教学内容调整教学方法,从而达到教考分离、教学资源共享、科学评价教学效果、合理安排教学的教改目标[1]。开发通用的高校在线答题系统,符合各高校在今后的发展趋势,在线作答已成为当今社会考试、审核的重要手段。
1 系统核心技术
1.1 .NET Framework框架
.NET Framework框架是.NET战略的基础,它提供给我们一个一致的编程环境,无论是本地的代码执行还是网络上的代码执行,它都使我们的编程经验在面对类型不同的应用程序时保持一致。提供了一个面向对象的编程环境,完全支持面向对象编程。提高软件的可复用性、可扩展性、灵活性。它包括CLR(公共语言运行时)和框架类库[2]。CLR用于解决不同语言的数据类型不同的问题和指定了一种以.Net平台为目标的语言所必须支持的最小特征以及该语言与其他.Net框架下都可以实现互操作性所需要的完备特征。.NET框架类库提供了大量好用的实用的类包括基础数据库类、I/O访问、安全控制、数据访问、XML描述数据的文件格式等。对Web应用与web service(Web服务)的强大支持等。
1.2 ADO.NET对象模型
.NET数据库核心为ADO.NET,它提供了对关系数据库、XML以及其他数据存储的访问。它最大的优点是,它与数据库源断开连接时也可以使用数据库。ADO.NET提供了两个组件:.NET Framework数据提供程序和DataSet(数据集)[3]。ADO.NET 中有5个主要的数据库访问和操作对象,分别是Connection、Command、DataReader、DataAdapter、DataSet 对象。它们的操作数据库结构图如图1所示。不同的命名空间都用相应的对象,比如我们要操作SQL Server数据库,要使用System.Data.SqlClient使用OLEDB要用System.Data.OleDb。
1) Connection 对象主要负责连接数据库,可根据Connection对象的各种不同属性来指定数据源的类型、位置及其他属性,可用它来与数据库建立连接或断开连接。根据所连接的数据库不同,.NET Framework数据提供程序也有不同的Connection,如针对SQLServer的SqlConnection、针对Oracle的OracleConnection、针对MySQL的MySqlConnection、针对OLEDB的OleDbConnection等。
2) Command对象封装了与用户想要完成的动作相关的数据库命令,在一般情况下这些命令就是SQL语句。
3) DataReader对象主要负责读取数据库中的数据,DataReader以只进、只读方式返回数据,从而提高应用程序的性能。
4) DataAdapter提供连接DataSet对象和数据源的桥梁。DataAdapter使用Command对象在数据源中执行SQL命令,以便将数据加载到DataSet中,并使DataSet中数据的更改与数据源保持一致。
5) DataSet 对象主要负责存取和更新数据,最大优点是离线和连接。DataSet既可以以离线方式,也可以以实时连接方式来操作数据库中的数据。这样的好处是大大减少了服务器端数据库的连接线程,从而大大地减少了服务器端的运行压力。所以,在数据量不大的情况下,使用DataSet是最好的选择。
2 系统的设计与实现
2.1 数据库设计
根据系统功能设计的要求以及模块的划分,主要的数据表:学员信息表(Student):用户名、密码、用户状态、班级、学号、姓名、性别、身份证号、主修科目、就读院校、电话、地址、邮编、期望的工作、电子邮件。管理员信息表(Admin):用户名、密码。教员信息表(Teacher):用户名、密码、用户状态、姓名、性别、生日。试题表(Question):问题编号、问题内容、答案、试题难度、科目Id、各个选项的内容。
2.2 基本模块与总体框图
管理员模块:管理员只有唯一的用户名和密码,经系统验证后方可进入系统,进入系统后管理员拥有所有用户的最大权限。包括新增学员、新增教员、查询及修改学员、学员信息列表、教员信息列表、题库管理等权限。
教员管理:该模块用于增加试题,查询试题,教师可根据不同的科目增加相应的试题内容。
学员管理:学员登录考试管理系统需要进行身份验证,一个学员对应一个用户名和密码,管理员在考试开始前需要导入学生的必要信息,如学号、姓名、班级、姓名、性别、身份证号、主修科目等。除上述考试信息外,还需导入用户注册信息:用户名、密码、用户状态(活动||不活动)。
用户和用户角色管理:用户管理模块对使用本系统的用户进行用户名、密码、用户身份的验证,确保了系统的安全性。
试题的录入管理:指具有相应权限的用户对试题的录入、修改、删除等管理,试题的录入要按照题型录入。
自动组卷:主要是学员登录后在线答题,系统随机抽取试题,组合成一套试卷,最后自动阅卷,试题是由教员添加。系统总的流程框架图,如图2所示。
2.3 使用ADO.NET连接数据库
.NET为SQL Server提供的连接类是SqlConnection,其实现System.Data.IDbConnection 接口,用于实现与数据源的连接,同时建立了一个连接数据库字符串得DBHelper类与UserHelper类。
要与一个 SQL SERVER 数据库建立连接,首先引入命名空间:
Using System.Data;
Using System.Data.SqlClient;
具体的使用://查询语句。
String sql=string.Format ("select Id, Name from Admin where FromUserId= {0} and MessageTypeId=1 ", loginId, UserHelper.loginName);
//command对象负责对数据库执行命令。
SqlCommand command = new SqlCommand (sql, DBHelper.connection);
//打开和关闭数据库连接,使用了静态字段。
DBHelper.connection.Open ();
DBHelper.connection.Close ();
使用DataAdapter对象和DataSet对象实现考试信息查找及随机抽题等。其具体实现,这里不再一一阐述。
3 结论
建立在线考试系统方便学习者自主测验,及时得到反馈信息,从而有计划、有步骤、系统地调整学习进度,使学习更有效。与此同时,教师(或管理)可以通过系统对学生信息的分析统计,有针对性地为学习者提供指导。掌握ADO.NET 数据存取技术,可以使上下级数据库、同级数据库之间数据一致性得到保证的同时[4],程序执行速度更快,编程方式更加灵活,使用的对象模型更丰富,从而大大提高程序开发效率。
参考文献:
[1] 陈华清.基于WEB 考试信息管理系统的设计与实现[J].电脑知识与技术:学术交流,2009,5(17):4422-4424.
[2] Microsoft Corporation.ADO.NET技术文档[EB/OL].http://msdn.microsoft.com/zh-cn/library/ms971481.aspx.
[3] 詹发荣.ADO.NET数据访问体系结构研究[J].电脑知识与技术:学术交流,2009,5(20):5339-5340.
[4] 赵雪峰.ADO.NET数据访问技术在电子档案管理系统中的应用[J].通信技术,2009(8):123-125.