资源预览内容
第1页 / 共34页
第2页 / 共34页
第3页 / 共34页
第4页 / 共34页
第5页 / 共34页
第6页 / 共34页
第7页 / 共34页
第8页 / 共34页
第9页 / 共34页
第10页 / 共34页
亲,该文档总共34页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第 10 章 ASP.NET 应用系统开发 在线考试系统10.1 需求分析近年来随着软件工程技术、信息通信技术的快速发展以及计算机网络技术的日趋成熟,网络教育在人们的教育活动中逐步得到普及。网上考试是网络教育不可缺少的组成部分,是网络教育的一个重要环节。网上考试在国外一些国家已经得到了蓬勃发展,人们选学课程和考试都是通过网上进行的。例如国外一些闻名的考试,如 Microsoft 公司的MCSE(Microsoft 系统工程师认证考试)、GMAT( 工商管理硕士入学考试) 、托福考试、GRE(美国探究生入学考试)等,都是采用网上考试的形式进行的。在国内,目前绝大多数考试还停留在传统考试方式上,对互联网的真正应用仅限于一些考试的网上报名工作和网上成绩查询,还没有真正形成网上考试规模。网上考试系统作为现代教育的一个子系统,是保证教育教学质量的重要手段。在传统的考试方式下,组织一次考试要经过出题、考试、评卷、试卷分析等步骤,随着考试类型的增加及考试要求的提高,教师的工作量将会越来越大,并且其工作非常轻易出错,在一定程度上说,传统的考试方式已经存在着改革的必要了。Internet 技术的发展使得考试的技术手段和载体发生了划时代的变化,考试从传统的纸笔考试到计算机辅助考试再发展到基于 Web 的网上考试成为现实。10.2 系统设计10.2.1 功能结构图根据在线考试网的特点,可以将其分为前台和后台两个部分进行设计。前台主要用于考生注册和登录系统、在线考试、查询成绩、退出登录;后台主要用于管理员对考生信息、考题信息、考生成绩信息、考试套题和课程信息进行管理。在线考试网前台系统考生注册登录找回密码在线考试查询成绩退出系统考场规则选择考试课程和套题准备考试开始考试考试结束图 10.1 在线考试网前台功能结构图在线考试网后台功能结构图如 10.2 所示:图 10.2 在线考试网后台功能结构图10.2.2 功能流程图本系统总体上由两个模块组成:管理员模块和考生用户模块。考生需要注册成功后才能登陆系统进行在线考试和考试成绩查询,在线考试需要考生首先阅读考试规则,在接受考试规则的情况下选择课程和套题,然后进入考试页面答题,系统会自动记录时间,考生提交卷子,交与后台管理员处理,最终考生可查询自己的考试成绩;管理员直接登录系统可以对考生信息、考试信息、管理员信息、考试试题信息进行管理。具体操作流程如图 10.3在线考试网后台系统管理员信息管理考生信息管理专业信息管理课程信息管理套题信息管理考试题目管理退出管理考试试题管理考试成绩管理添加管理员修改管理员删除管理员查询管理员添加考试课程修改考试课程删除考试课程查询考试课程查询考试成绩删除考试成绩图 10.3 在线考试流程图10.2.3 数据库设计在项目开发过程中,数据库设计是非常重要的一个环节。一个优秀的数据库结构,不仅可以提高系统运行效率、方便维护,而且为以后对新功能的新增和老功能的扩展都留有余地。本网站采用 SQL Server2005 数据库,数据库名称为 db_Examination,其中包含 7 张数据库表。如图 10.4 所示图 10.4 数据库表结构图1. 数据库概要设计对在线考试网站系统进行需求分析、流程设计以及系统功能结构的确定,设计出系统中使用的数据库实例对象分别为管理员、考试套题、考生信息、考生成绩信息。为了对在线考试系统进行有效的管理就需要设置一个或多个管理员,管理员实体包含管理员编号、管理员姓名、管理员密码。考试套题实体包括套题名称、所属课程、添加时间及有效时间等属性。管理员实体 E-R 图,如图 10.5 所示;考试套题实体 E-R图,如图 10.6 所示。图 10.5 管理员实体 E-R 图 图 10.6 图 10.5 管理员实体 E-R 图 考生信息实体包括学生证号、姓名、性别、所学专业、注册时间、登录网站密码、密码提示问题、密码提示答案、注册 IP 地址属性。考生信息实体 E-R 图,如图 10.7 所示。管理员信息管理员编号管理员姓名 管 理 员 编 号 管理员密码考试套题 管 理 员 编 号 套题名称 管 理 员 编 号 所属课程 管 理 员 编 号 新增时间 管 理 员 编 号 有效时间 管 理 员 编 号 考生信息学生证号 管 理 员 编 号 新增时间 管 理 员 编 号 登录密码 登 录 密 码 考生注册时间 登 录 密 码 图 10.7 考生信息实体 E-R 图当考生考试结束以后可以对自己成绩进行查询,后台管理员可以对考生成绩进行管理。考生成绩信息实体包括学生证号、所学课程、考生总分等。考生成绩信息实体 E-R 图,如图10.8 所示。图 10.8 考生成绩信息实体 E-R 图2. 数据库逻辑设计 tb_Administrator(管理员信息表 )。用于保存管理员信息,表结构如表 10.1 所示。表 10.1 tb_Administrator 表结构字段名称 数据类型 长度 默认值 允许空 字段描述ID bigint 8 否 唯一标识Name Varchar 50 否 管理员名称PWD Varchar 50 否 管理员密码 tb_Lesson(考生课程信息表)。用于保存指定专业所包含的课程信息。表结构如表10.2 所示。表 10.2 tb_Lesson 表结构字段名称 数据类型 长度 默认值 允许空 字段描述ID bigint 8 否 唯一标识Name Varchar 60 是 课程名称ofProfession bigint 8 是 所属专业编号JoinTime datetime 8 Getdate() 是 添加时间 tb_Profession(考生专业信息表) 。用于保存考试所涉及到的专业信息,表结构如表10.3 所示。表 10.3 tb_Profession 表结构字段名称 数据类型 长度 默认值 允许空 字段描述ID bigint 8 否 唯一标识Name Varchar 200 是 专业名称考生性别 登 录 密 码 密码提示问题 登 录 密 码 密码提示答案 登 录 密 码 注册 IP 地址 登 录 密 码 所学专业 登 录 密 码 考生成绩信息考生成绩编号 学生证号 考 生 成 绩 编 号 所学课程 考 生 成 绩 编 号 套题编号 考 生 成 绩 编 号 套题名称 考 生 成 绩 编 号 单选题分数 考 生 成 绩 编 号 考生总分数 考 生 成 绩 编 号 多选题分数 考 生 成 绩 编 号 成绩提交时间 考 生 成 绩 编 号 JoinTime datetime 8 Getdate() 是 添加时间 tb_Questions(考试试卷信息表 )。用于保存各套题所包含的详细考试题目,表结构如表 10.4 所示。表 10.4 tb_Questions 表结构字段名称 数据类型 长度 默认值 允许空 字段描述ID bigint 8 否 唯一标识Que_subject Varchar 50 是 试题主题Que_type char 10 是 试题类型Que_joindate datetime 8 Getdate() 是 试题添加时间Que_lessonid int 4 是 所属课程号Que_professionidint 4 是 所属专业号Que_toatiid bigint 8 是 所属套题编号OptionA Varchar 50 是 选项 AOptionB varchar 50 是 选项 BOptionC varchar 50 是 选项 COptionD varchar 50 是 选项 DQue_answer char 10 是 试题答案note varchar 50 是 注释 Tb_Student(考生信息表)。用于保存在网站注册的考生信息,表结构如表 10.5 所示。表 10.5 Tb_Student 表结构字段名称 数据类型 长度 默认值 允许空 字段描述ID Varchar 50 否 学生证号Name Varchar 20 是 姓名PWD Varchar 20 是 密码Sex Varchar 2 是 性别JoinTime datetime 8 Getdate() 是 加入时间Question Varchar 50 是 密码问题Answer Varchar 50 是 密码答案Profession bigint 8 是 所学专业号IPAddress char 30 是 IP 地址 Tb_StuResult(考生成绩信息表) 。用于保存考生的考试成绩, ,表结构如表 10.6 所示。表 10.6 Tb_ StuResult 表结构字段名称 数据类型 长度 默认值 允许空 字段描述res_Id bigint 8 否 唯一标识Stu_id Varchar 50 是 所属学生编号Which_lesson Varchar 50 是 所属课程名称taotiid bigint 8 是 所属套题编号taotiname Varchar 50 是 所属套题名称Res_single int 4 是 单选成绩Res_more int 4 是 多选成绩Res_total int 4 是 总成绩Res_subdate datetime 8 Getdate() 是 成绩提交时间 Tb_taoti(考试套题信息表) 。用于保存课程所对应的套题信息,表结构如表 10.7 所示。表 10.7 Tb_taoti 表结构字段名称 数据类型 长度 默认值 允许空 字段描述ID bigint 8 否 唯一标识Name Varchar 50 是 套题名称LessonID bigint 8 是 所属课程号JoinTime datetime 8 Getdate() 是 添加时间LimitTime datetime 8 是 有效时间3. 文件夹组织结构网站文件的组织结构如图 10.9 所示。图 10.9 文件组织结构图10.3 系统实现10.3.1.公共类编写在项目开发中通常将一些贯彻整个项目中使用的方法封装到公共类中,可以减少代码重复使用,有利于代码维护。在线考试网中创建了一个公共类 Datacon,在此公共类中创建了 6 个方法。 getcon:数据库连接,连接数据库为Sqlserver。 eccom:用于执行对数据库操作的SQL语句命令,如删除操作、修改操作等。 ecadabind:用于将数据库数据绑定到表格控件中。 ecDropDownList:用于将数据绑定到下拉列表框中。 ecadabindinfostring:用于将数据库绑定到表格控件中,并获取数据表中的主键字段 ExceRead:用于读取数据库中数据,返回一个SqlDataReader。1. 数据库连接方法在公共类中编写一个getcon()方法,用于连接Sql Server数据库。代码如下:public SqlConnection getcon()/从web.config文件中获取名字叫”ConStr”数据库连接字符串string strCon = ConfigurationManager.ConnectionStringsConStr.ToString();SqlConnection sqlCon = new SqlConnection(strCon);return sqlCon;2. 执行数据库操作方法在eccom()方法中,首先接受一个SQL语句参数,然后与Sql Server数据库建立连接,使用SqlCommand的对象执行所需要执行的SQL语句,最后通过try-catch-finally语句进行异常处理,如果执行成功则返回true,否则返回false。代码如下:public bool eccom(string sqlstr) SqlConnection con=this.getcon(
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号