李洪进 邓世昆
云南大学信息学院 云南 650091
随着教育信息化的发展,远程教学、在线辅导、在线考试越来越多的运用在教学中,但是通常的考试系统是在局域网环境下,数据库访问基于C/S模式,而且考试题目类型单一,不能做试卷分析。因此,本在线考试系统采用先进的ASP.NET技术,使用Visual Studio.NET的集成开发环境,后台用C#语言,把传统考试理论和基于Web的软件系统有机结合,适应于各种科目考试的要求。在确保考试系统安全性的前提下,提高学校的考试组织效率,节约成本。
根据需求分析,系统应该满足:适合学生在线考试,学生数据来源本校学生数据库,不需要注册就可以考试;管理员管理教师和学生信息,在考试前要添加试题供组卷;试题类型分:选择题,填空题,简答题(答案可打包上传),每道试题有难度系数便于调节试卷难易程度。考试时间120分钟,时间到系统自动关闭,开始答题系统就倒计时,考试时系统为最大化窗口,而且禁止按鼠标右键,避免考生查询,拷贝答案;考试完后主观题自动评出分数,然后教师调出客观题评分,最后可以做试卷分析和打印成绩。
本系统采用多层框架,分割成业务逻辑层和数据访问层(如图1),业务逻辑层是联系数据访问层与表示层,取得数据访问层的数据内容,进行数据的维护与存取,将数据发送到表示层;而数据访问层是访问底层的数据源,封装了访问数据的ADO.NET的程序代码。通过分层设计,访问底层数据源的代码与表示层分开,中间层负责数据源的交互,可以有效对表示层隐藏数据库架构,更有利于提高系统的维护性,实用性。
图1 系统分层框架
本在线考试系统是由系统管理员,教师,学生共同参与的系统,身份验证很重要,对不同的用户给予不同的权限。系统管理员具有添加和删除用户、修改用户信息、添加考试科目等功能;教师可以登录、修改密码、添加试题、手工组卷、网上评卷、统计打印学生成绩;学生可以登录、修改密码、网上测试、在线考试、成绩查询等功能。根据不同角色的功能可以把系统分成三大模块:学生模块,教师模块,管理员模块(如图2)。
图2 在线考试系统的功能模块
Microsoft SQL Server2005是微软基于客户端/服务器模式的数据库系统,适用于大型数据库管理和电子商务,能确保数据的完整性和安全性,提供了SqlConnection、SqlDataAdapter等类便于数据库实例操作,因而选作后台数据库。根据系统的功能要求,设计如下数据表:教师登录信息表、学生登录信息表、课程信息表、试卷信息表、学生成绩表、学生成绩临时表、选择题题库表、选择题试卷库、选择题学生答题库、填空题题库表、填空题试卷库、填空题学生答题库、简答题题库表、简答题试卷库、简答题学生答题库共15个表。
本系统的数据流程图(DFD)把数据的内部流动情况独立出来,对学生、教师、管理员三个角色的时序关系进行设计,如学生要先考试,教师才能评卷统分;教师要先验证身份,才能添加题目到试题库等。在线考试系统的数据流程图(如图3)。
图3 在线考试系统的数据流程图
ASP.NET针对多层框架设计提供了DataSet设计器,搭配ObjectDataSource这个功能强大的控件。ObjectDataSource以可视化控件的类型公开,是网页接口与后端数据访问对象连接的桥梁,绑定到数据源,将所得数据传到网页上的数据接口。
首先在web.config中配置,在标记
connectionString="Data Source=CHINA-72CDA8A1D;Initial Catalog=Auction;User ID=sa;Password=sa“providerName=”System.Data.SqlClient" /> 然后设计了访问数据库的类 SqlOperate.cs,需要对数据库操作时可以调用这个类 using System.Data; using System.Data.SqlClient; SqlConnection sqlconn=new SqlConnection(ConfigurationManager.AppSettings["AuctionConnectionString"]); public void DataCom(string sqlstr) { sqlconn.Open(); SqlCommand sqlcom = new SqlCommand(sqlstr,sqlconn); sqlcom.ExecuteNonQuery(); sqlconn.Close(); } 执行数据库更新命令的代码如下: public DataSet getds(string strsql) { con.Open(); sda = new SqlDataAdapter(strsql,con); sda.Fill(ds); con.Close(); return ds; 国家电网乡镇供电所工程数字化建设管理新模式,是指集成数字化信息的工程数据模型(BIM),结合面向多任务和多专业三维协同等先进的设计和管理理念,并应用于设计、建造、管理的数字化方法。本项目通过建立三维建筑信息模型,作为数据载体,融入进度、成本、质量、安全、环境、人本服务等多目标因素,构建多维、动态更新的工程数据信息数据库,为工程建设全过程的设计、施工、采购、计划、控制等管理提供统一高效的数据支撑与可视化仿真模拟分析基础,供项目全生命周期建设管理所运用。 } public void executenonquery(string strsql) { con.Open(); cmd.CommandText = strsql; cmd.Connection = con; cmd.ExecuteNonQuery(); } 配置Global.asax,在线考试系统中,用户端浏览器访问程序时自动产生一个Session对象,保存用户的信息,当退出Web程序时,系统自动清除Session对象,释放Session状态所有保存信息的所占的资源,本系统用到3个Session对象:stuno(学号)、coursename(课程名)、testid(试卷编号),用于网页之间传递信息,Global.asax的关键设置如下: void Session_Start(object sender,EventArgs e) { //在新会话启动时运行的代码 Session["stuno "]= ""; Session["coursename "]= ""; Session["testid "]= ""; Application.Lock(); Application["counter"]= Convert.ToInt32 (Application["counter"])+ 1; Application.UnLock(); } 传统的考试方式有很多环节,管理麻烦又容易出错。本设计的在线考试系统对试卷信息,成绩统计进行管理,操作简单,界面友好,功能完善,大大节省了人工资源,为教师提供了一个无纸化办公平台,在实践教学中有很大的意义,学生在考试中随机抽题,在一定程度上避免了作弊,总得来说本系统提高了学校的办学效率和信息化水平。 [1]张万琴,王建平,张朝阳.基于ASP技术的在线考试系统[J].安徽农业科学.2006. [2]韩萌,王移芝,王嘉树.基于Web的通用在线考试系统的设计与实现[J].计算机工程与设计.2008. [3]邵维.基于ASP.NET的中学在线考试系统的研究与实现[D].2008. [4]潘志红.ASP.NET课程设计指导[M].北京大学出版社.2008. [5]亮剑.NET:.ASP.NET商业级数据库网站开发实战[M].北京:电子工业出版社.2009.5 总结