




已阅读5页,还剩29页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
河南师范大学本科毕业论文(设计) i 目 录 1 绪 论1 1.1 选题背景1 1.2 研究意义及主要内容2 1.3 论文的组织结构3 2 相关技术介绍.3 2.1 c# 概述3 2.1.1 vs2005 开发环境的功能和特点4 2.1.2 c#的优越性.4 2.2 sql server2000 简介.4 2.3 使用 gridview控件和 objectdatasource控件显示、更新数据.5 3 系统分析与设计.7 3.1 系统分析7 3.1.1 需求分析.7 3.1.2 可行性分析.7 3.2 系统功能设计8 3.2.1 管理员模块.9 3.2.2 考生模块.9 3.2.3 教师模块.10 3.3 系统采用三层应用程序结构10 3.4 系统数据库设计10 3.4.1 数据库表的设计.10 3.4.2 使用 ado.net 链接数据库.14 4 管理员模块的设计.15 4.1 登录模块的设计15 4.2 系部管理模块的设计16 4.3 用户信息模块设计17 河南师范大学本科毕业论文(设计) ii 4.4 用户试卷管理模块的设计19 5 考生模块的设计.23 6 教师模块的设计.25 6.1 科目管理模块的设计25 6.2 试卷制定与维护模块的设计25 6.3 试题类别管理模块的设计27 7 结束语.29 参考文献.30 致 谢.31 河南师范大学本科毕业论文(设计) 1 1 绪 论 1.1 选题背景 在二十一世纪的新时代,随着计算机技术的发展及计算机的日益普及,基于 web 在 线考试与无纸化办公一样已成为大势所趋。基于 web 在线考试也越来越成为学校的好帮 手,它的优势不但体现在人力上也体现在物力上,基于 web 的在线考试系统的自动评阅、 计分、成绩存档功能将有效地避免资源的浪费,有利于环保,减少人员,提高效率。 相比传统的考试方式,基于 web 的在线考试系统的主要好处是一方面可以动态地管 理各种考试信息,只要准备好足够大的题库,就可以按照要求自动生成各种试卷;另外 在线考试的最大特点是阅卷快,系统可以在考试结束后立刻给出客观题考试成绩,计算 机阅卷给了考生最大的公平感。 本系统讲述了一个基于 web 的在线考试系统的大体实现过程,该系统基本上可以满 足学校及现代信息化企业的内部考试要求,可以实现学校或企业的低成本投入,高效率 办公的宗旨。例如:一个学校或公司如果使用了本系统,教师或领导即使在外地出差也 可以通过访问 internet 轻松设置审批考试,考试结束后也不要传统的繁琐的阅卷过程, 极大地提高了办公效率。考试的题型可以都是标准化客观题目,但本系统加上了主观题, 对于其他类型的题目只要在本文的基础上稍加修改即可。 利用 c#技术开发的基于 web 的在线考试系统。它具有用户在线考试、动态随机出题、 考试时间控制、自动判卷、题库维护、用户管理、分数管理等功能。本系统主要由管理 员模块、考生模块、教师模块组成。自动组卷及自动评分的实现是本系统的关键。 随着 web 技术的发展和电子商务时代的到来,人们不再满足于建立各种静态地发布 信息的网站,更多的时候需要能与用户进行交互,并能提供后台数据库的管理和控制等 服务的动态网站。c#可以用于管理动态内容、支持数据库、处理会话跟踪,甚至构建整 个电子商务站点。它支持许多流行的数据库,包括 mysql、postgresql、oracle、sybase、informix 和 microsoft sq lserver。其语法大部 分与 c、java、perl 等语言相似,并形成了自己的独有风格,利用该语言 web 程序员可以 快速地开发出动态网页。c#在大多数 unix 平台、gun/linux 和微软 windows 平台上均可 以运行。 1.2 研究意义及主要内容 21 世纪是信息化的社会,数据信息应用已进入大规模的服务阶段。考试作为最直接 河南师范大学本科毕业论文(设计) 2 的体现信息化社会中人们的知识水平的一种方式,是目前使用最为广泛的形式之一,传 统的考试从出题、组卷、印刷,到试卷的分发、答题、收卷、再到判卷、公布成绩,整 个过程都需要人工参与,周期长,工作量大,容易出错,还要有适当的保密工作,使得 整个考试的成本较大。所以,实现无纸化、网络化、自动化的在线考试系统,具有深远 的现实意义和使用价值。 本系统采用 b/s 模式,采用现在使用广泛的 asp.net(c#)语言和对数据文件安全保 护性极好的 sql server2000 设计开发出一个基于 web 的考试管理系统,也就是在线考试 系统。该系统具备网上数据传递的功能,主要由管理员模块、考生模块、教师模块组成, 管理员模块实现用户信息的管理,系部信息管理和考生试卷管理;考生模块实现考生在 线考试、成绩查询功能;教师模块实现考试科目管理,试卷制定维护,考生试卷管理和 试题库管理。系统采用三层结构,统一的管理题库,自动组卷,自动判卷,极大的节省 了人力、物力,提高了效率。 1.3 论文的组织结构 第一部分:绪论。介绍了论文的选题背景、主要内容和研究意义。 第二部分:相关技术介绍。 第三部分:系统分析与设计。 第四部分:管理员模块的设计。 第五部分:学生模块的设计。 第六部分:教师模块的设计。 第七部分:结束语。 河南师范大学本科毕业论文(设计) 3 2 相关技术介绍 2.1 c# 概述 c#是一种最新的、面向对象的编程语言。它使得程序员可以快速地编写各种基于 microsoft .net 平台的应用程序,microsoft .net 提供了一系列的工具和服务来最大程度 地开发利用计算与通讯领域。这种框架使 c#组件可以方便地转化为 xml 网络服务,从而 使任何平台的应用程序都可以通过 internet 调用它。 c#增强了开发者的效率,同时也致力于消除编程中可能导致严重结果的错误。c#使 c/c+程序员可以快速进行网络开发,同时也保持了开发者所需要的强大性和灵活性。 2.1.1 vs2005 开发环境的功能和特点 microsoft 公司推出的 visual studio 2005 提供了一个全新的开发环境,在此环境下, 可以用多种语言开发 windows 窗体应用程序、asp.net 网站、移动设备应用程序、组件 与控件、数据报表和 xml web 服务等多种复杂的系统。 vs2005 分为 team system 版本、professional 版本、standard 版本和 express 版本,分 别适用于大型软件开发团体、中小型软件开发公司以及业余开发者,是一种全面的、先 进的、完全适应当前网络发展的高级软件开发平台。 2.1.2 c#的优越性 相比 c/c+而言,c#的优越性体现在以下几点: (1) 效率与安全性 (2) 支持现有的网络编程新标准 (3) 消除大量程序错误 (4) 对版本的更新提供内在的支持,降低了开发成本 (5) 商业过程和软件实现的更好对应 (6) 扩展交互性 2.2 sql server2000 简介 微软的 sql server 2000 界面友好,易学易用且功能强大,与 windows 2000 操作系 统完美结合,可以构造网络环境数据库甚至分布式数据库,可以满足企业及 internet 等大 河南师范大学本科毕业论文(设计) 4 型数据库应用。 以下简单介绍它的功能特性 (1) 实现了客户机/服务器模式 客户机/服务器(c/s)模式数据库计算是一种分布式的数据存储、访问和处理技术, 它已成为大多数企业计算的标准。microsoft sql server 是客户/服务器系统应用的完美的 例子。 (2) 与 internet 集成 sql server 2000 数据库引擎提供完整的 xml 支持。具备构造大型 web 站点的数据存 储组件所需的可伸缩性、可用性和安全性。 (3) 具备很强的可伸缩性和可用性 sql server 2000 包含企业版、标准版、开发版和个人版等 4 个版本,使同一个数据 库引擎可以在不同的操作系统平台上使用,从运行 windows 9x 的便携式电脑,到运行 windows2000 data center server 的大型多处理器的服务器。增强的图形用户界面管理工 具,使管理更加方便。 (4) 具备企业级数据库功能 sql server 2000 关系型数据库引擎支持当今苛刻的数据处理环境所需的功能,可同 时管理上千个并发数据库用户,其分布式查询使用户可以引用来自不同数据源的数据, 同时具备分布式事务处理系统,保障分布式数据更新的完整性。 (5) 易于安装、部署和使用 sql server2000 的安装向导可帮助用户方便地实现各种方式的安装,如网络远程安 装、多实例安装、升级安装和无人职守安装等。sql server 2000 还提供了一些管理开发 工具,使用户可以快速开发应用程序。 (6) 数据仓库功能 企业在正常的业务运作过程中需要收集各种数据,包含企业的动态历史记录,数据 仓库的目的是合并和组织这些数据,以便可对其进行分析并用来支持业务决策。数据仓 库是一种高级、复杂的技术。microsoft sql server 2000 提供的强大工具,可帮助您完成 创建、使用和维护数据仓库的任务。 河南师范大学本科毕业论文(设计) 5 2.3 使用 gridview 控件和 objectdatasource 控件显示、更新数据 为了更直观地显示教师、学生、课程等信息,为给操作者提供方便,本系统采用 gridview 数据绑定控件和 objectdatasource 数据源控件。 gridview 使用起来非常方便。要将 gridview 绑定到数据源控件,只需将 gridview 的 datasourceld 属性设置为数据源控件的 id 即可。当使用 datasourceld 属性绑定到数据 源时,gridview 控件支持双向数据绑定。 objectdatasource 控件可以用来从对象类型的数据源中检索数据,并且可以绑定到各 种数据绑定控件以实现对数据执行选择、插入、更新、删除等操作。 河南师范大学本科毕业论文(设计) 6 3 系统分析与设计 3.1 系统分析 3.1.1 需求分析 为了保证系统能够长期、安全、稳定、可靠、高效的运行,系统应该满足以下的性 能需求: (1)系统处理的准确性和及时性:系统处理的准确性和及时性是系统的必要性能。在 系统设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统的处理 能力和响应时间能够满足学校对学生信息处理的需求。 (2)系统的开放性和系统的可扩充性:系统在开发过程中,应该充分考虑以后的可扩 充性。例如数据表中用户选择字段方式的改变,用户查询的需求也会不断的更新和完善。 所有这些,都要求系统提供足够的手段进行功能的调整和扩充。而要实现这一点,应通 过系统的开放性来完成,既系统应是一个开放系统,只要符合一定的规范,可以简单的 加入和减少系统的模块,配置系统的硬件。通过软件的修补、替换完成系统的升级和更 新换代。 (3)系统的易用性和易维护性:要实现这一点,就要求系统应该尽量使用用户熟悉的 术语和中文信息的界面;针对用户可能出现的使用问题,要提供足够的在线帮助,缩短 用户对系统熟悉的过程。 (4)系统的数据要求:数据录入和处理的准确性和实时性;数据的一致性与完整性; 数据的共享与独立性。 (5)系统的运行要求在 windows 2000 系统下运行:本软件是 win2000+c#+sql sever2000 的环境下进行的、根据软件工程的原理,结合面向对象方法开发完成。 3.1.2 可行性分析 经济性 河南师范大学本科毕业论文(设计) 7 主要从对项目的经济上进行分析评价,一方面是支出的费用,另一个是取得的收益。 这是个小型的系统,从投入的人力,财力与物力来讲是非常小的,只要一台电脑,这个 系统就可以做起来。从节省人力方面,可以考虑让教师从繁忙的出卷,阅卷中解脱出来, 做更多的工作,提高工作效率。 技术性 网络化的考试,使考试更加规范,实现了通过网络对试题的管理以及对试卷的批阅, 系统中设置的自动组卷及自动批改部分试题的模块,为教师提供了一个更为方便的管理 平台,大大提高了教师的工作效率。 根据以上分析可设计出系统的数据流程图如图 31 所示: 试题录入 试题库 题库维护 在线考试 维护 抽取试题 原始 试题库 考生成绩库 成绩查询 阅卷输入成绩保存答卷 维护 统计分析 图 31 系统数据流程图 3.2 系统功能设计 整个系统分为三个模块,分别为管理员模块,考生模块和教师模块,各模块中又包 含几个子模块,根据系统需要和系统流程图,设计出系统整体框架图,如图 32 所示: 河南师范大学本科毕业论文(设计) 8 用户登录 考生模块 在 线 考 试 成 绩 查 询 考 试 科 目 管 理 试 卷 制 定 维 护 考 生 试 卷 管 理 试 题 类 别 管 理 系 部 信 息 管 理 用 户 信 息 管 理 考 生 试 卷 管 理 教师模块管理员模块 在线考试系统 图 32 系统整体框架图 3.2.1 管理员模块 此模块负责用户 (教师、学生)、系部和考生试卷的管理。 (1)用户管理。系统通过用户的权限级别,限制其访问数据的范围:考生:其操作 权限仅为参加考试和查询考试成绩,不允许两台或两台以上计算机用同一账号同时登陆; 教师:该角色具有考生所没有的权限,即具有考试科目管理、考试题库管理以及试卷 信息管理等操作权限;系统管理员:为系统的唯一超级用户,具有最高的权限,负责 整个系统的管理和维护。 (2)系部管理。管理员可对系部信息进行修改,添加和删除工作。 (3)考生试卷管理。可以查看考生试卷信息及考生成绩,对于一些已经考试过的试卷 和成绩可以进行删除和清理工作。 3.2.2 考生模块 只有通过验证的考生,方可进入考试界面。 河南师范大学本科毕业论文(设计) 9 考生登录后,选择考试科目,进行在线答题;如果未到考试时间,则没有试卷不 能进行考试;如果已经考试过,则不能重复再考,并可查看该科成绩。 系统自动计时。进入考试页面开始答题后,自动计时器开始工作。当考试时间到, 自动结束考试并保存考卷。 考生答题完毕,提交试卷后,对于单选题、多选题、判断题这些客观题,在考生 答卷结束后计算机会自动给出分数,并保存在成绩表中;而对于简答题等主观题,在考 生答卷结束后其结果将存入考生答案表里,以便为教师对主观题的评分做好准备。 3.2.3 教师模块 教师模块包括考试科目管理,题库管理、考生试卷管理、组卷和阅卷等功能。教师 首先建立试题库,并输人大量试题。同时,还需进行试题维护如试题修改、添加、删除、 发布等工作。在考试前,根据考试的科目、数量、分值等特点设计组卷策略,并根据组 卷策略随机从试题库中抽取试题组成试卷。教师在考试结束后对主观题进行在线阅卷并 评分。对于一些历史上的考生试卷和成绩可以进行删除和清理等工作。 3.3 系统采用三层应用程序结构 本系统采用三层应用程序结构,即表示层、业务层和数据层。表示层用于用户接口 的展示,负责直接跟用户进行交互,用于数据录入、数据显示等。业务层用于访问数据 层,从数据层取数据、修改数据以及删除数据,并将结果返回给表示层。该层被划分成 2 个子层:业务逻辑层(bll)和数据访问层(dal),bll 在 dal 之上, dal 访问 数据并将 其转给 bll。数据层是数据库或者数据源。在.net 中,通常它是一个 sql server 或 access 数据库。 三层架构优点是显而易见的:不必为了业务逻辑上微小变化而致使整个程序修改; 增强了代码可重用性;适合群体开发;便于不同层次开发人员之间合作。另外,使用时 不用本地安装、登录方便、交互便捷;客户端只能通过逻辑层来访问数据层,减少了入 口点,把很多危险的系统功能都屏蔽了。 3.4 系统数据库设计 3.4.1 数据库表的设计 本系统数据库采用 sql server2000 数据库,数据库名称为 onlineexam,一共包含 14 张表,这里简要介绍几个表。 河南师范大学本科毕业论文(设计) 10 表 31 用户表 users 列名数据类型长度说明 useridvarchar 50 用户账号 usernamevarchar 50 用户名字 userpwdvarchar 64 密码 departmentidint 4 系部代码 roleidint 3 角色号 表 32 考试科目表 course 列名数据类型长度说明 courseidint 4 科目代码 coursenamevarchar 200 科目名称 表 33 试卷详细信息表 paperdetail 列名数据类型长度说明 idint 4 编号 paperidint 4 试卷号 typevarchar 10 试题类型 titleidint 4 题号 markint 4 分值 表 34 界面树形图表 treemenu 列名数据类型长度说明 nodeidint 4 节点号 parentidint 4 父节点 textvarchar 50 文字内容 urlvarchar 50 链接页面 河南师范大学本科毕业论文(设计) 11 dutyvarchar 50 页面名 表 35 用户角色表 role 列名 数据类 型 长 度 说明 roleidint 4 角色号 rolenamevarchar 50 角色名 hasduty_departmentmanag e int 4 系部管理权限 hasduty_usermanageint 4 用户管理权限 hasduty_rolemanageint 4 角色管理权限 hasduty_roleint 4 角色添加权限 hasduty_userscoreint 4 考生成绩管理权 限 hasduty_coursemanageint 4 科目管理权限 hasduty_papersetupint 4 试卷制定权限 hasduty_paperlistsint 4 试卷管理权限 hasduty_userpaperlistint 4 考生试卷管理权 限 hasduty_singleselectmana ge int 4 单选题管理权限 hasduty_multiselectmanag e int 4 多选题管理权限 hasduty_fillblankmanageint 4 填空题管理权限 hasduty_judgemanageint 4 判断题管理权限 hasduty_questionmanageint 4 问答题管理权限 表 36 试卷表 paper 列名数据类型长度说明 河南师范大学本科毕业论文(设计) 12 paperidint 4 试卷号 courseidint 4 科目代码 papernamevarchar 200 试卷名 paperstatebit 1 试卷状态 表 37 单选题信息表 singleproblem 列名数据类型长度说明 idint 4 编号 courseidint 4 科目代码 titlevarchar 1000 题目 answeravarchar 500 选项一 answerbvarchar 500 选项二 answercvarchar 500 选项三 answerdvarchar 500 选项四 answervarchar 2 答案 表 38 考生成绩表 score 列名数据类型长度说明 idint 4 编号 useridvarchar 50 考生账号 paperidint 4 试卷号 scoreint 4 成绩 examtimedatetime 8 考试时间 judgetimedatetime 8 批改时间 表 39 考生答题信息表 useranswer 列名数据类型长度说明 河南师范大学本科毕业论文(设计) 13 idint 4 编号 useridvarchar 50 用户账号 paperidint 4 试卷号 typevarchar 50 试题类型 titleidint 4 题目编号 markint 4 分值 useranswervarchar 1000 考生答案 3.4.2 使用 ado.net 链接数据库 adonet 是新推出的net 框架中的用于数据访问的组件,是独立于开发工具和 开发语言的数据访问接口,它提供了程序开发人员、应用程序实时存取各类数据库的能 力,可以轻松地完成对各类数据库的查询,存取等操作。ado 又被称为通用数据访问 (uda),其数据源包括数据库,电子邮件,文件,文本,图形等。使用 ado 不仅可以读 取 access 和 sql server 数据库,也可以读取其他与 odbc 兼容的数据库。ado 对数据 库的操作步骤为: 创建数据源名 (dsn) 创建数据库连接(connection) 创建数据 库对象 操作数据库关闭数据库对象和连接。 adonet 的主要特点是具有断开式数据结构 ,能够与 xml 紧密集成 ,使网络 上的不同系统都可以相互运作。在 adonet 中通过 dataset 和net data providers 来 实现对数据源的连接和对数据的操作。通过 sqlconnection 对象的 connectionstring 属性指 定连接参数,建立同数据源的连接;对数据的更新、检索、插入、删除等由 sqlcommand 对象设置相应的 sql 令来完成。 为了实现与数据库的连接,需要在 web.coniig 文件中配置链接字符串,并在配置节 下的子配置节添加链接字符串,具体链接字符串的配置 如下 : 其中 data source 指定服务器的名称,initial catalog 属性指定数据库的名称,integrated 河南师范大学本科毕业论文(设计) 14 security 表示以当前 windows 系统用户身份去登录 sql server 服务器。 4 管理员模块的设计 4.1 登录模块的设计 用网页设计的基本技术设计完成系统登录主页面,将教师、管理员和学生的登录集 成在一个模块。对于教师、管理员和学生而言,数据库中存在的合法用户在登录页面输 入正确账号、密码和验证码通过验证后即可进入系统 (用户名与密码等登录信息都不能 为空)。若输入错误账号、密码和身份,则会显示出错信息。其中,涉及到得一些程序代 码如下: 判断验证码是否正确,若错误,显示出错信息 if (string.compare(request.cookies“yzmcode“.value, validator.text, true) != 0) lblmessage.text = “验证码错误!“; 如果验证码正确,再检查用户密码是否正确,在这里用到一个参数cookie, cookie 是一个网站在你硬盘上放置的信息,以便你下次访问时,它记住某些东西。典型地, cookie能够记住你在某个网站的参数选择。使用超文本传输协议(http) ,网页的每个请 求与其它请求是独立的,由于这种原因,网页服务器不知道它先前发送给用户的是什么 网页,或者说是不知道你之前访问的是什么。cookie基质则允许服务器将它自己的信息 储存在用户的电脑上。 if (user.checkpassword(txtuserid.text.trim() if (user.userpwd = pwd) /输入密码与用户密码相同 河南师范大学本科毕业论文(设计) 15 if (object.equals(request.cookies“userid“, null) createcookie(); else createcookie(); session“userid“ = txtuserid.text.trim();/存储用户编号 response.redirect(“default.aspx“);/转向管理员操作界面 else /密码错误,给出提示 lblmessage.text = “您输入的密码错误!“; 系统登录页面运行的结果如下: 图 41 考试系统登录界面 4.2 系部管理模块的设计 管理员进入系统后,可对系部信息进行查询,修改,添加和删除等管理工作,涉及 的程序代码如下: 运用 querydepartment 方法查询所有系部信息,利用 gridview 控件指明数据源并绑 定数据 dataset ds = department.querydepartment(); gridview1.datasource = ds; /为gridview控件指名数据源 gridview1.databind(); /gridview控件绑定数据 要对系部信息进行删除,修改或添加时,需要先取出系部表的主键 河南师范大学本科毕业论文(设计) 16 string departmentid = gridview1.datakeys e.rowindex.values0.tostring(); department department = new department(); 然后,调出相应的存储过程。删除系部为例, if (department.deletebyproc(departmentid) response.write(“alert (删除成功!)“); else response.write(“alert(删除失败!)“); gridview1.editindex = -1; gridviewbind();/重新绑定数据 系部管理页面运行结果如下所示: 图 42 系部管理 4.3 用户信息模块设计 该模块包括三项内容,用户的基本信息,权限设置和角色管理。 其中,用户基本信息中包括用户账号,姓名,密码,系别等内容,管理员可以添加, 删除,修改用户的信息。在进行这些操作前,首先用 queryusers 方法查询所有用户, datagridview 控件绑定数据源。下面以修改用户信息为例,介绍一下涉及的程序代码。 string userid = gridview1.datakeyse.rowindex.values0.tostring(); users user = new users(); user.username = (textbox)gridview1.rows 河南师范大学本科毕业论文(设计) 17 e.rowindex.findcontrol(“tbxname“).text; user.roleid = convert.toint32(dropdownlist)gridview1. rowse.rowindex.findcontrol(“ddlrole“).selectedvalue); user.departmentid = convert.toint32(dropdownlist)gridview1.rowse.rowindex.findcontrol(“ddldepartment“) .selectedvalue); if (user.updatebyproc(userid)/ updatebyproc方法修改用户信息 gridviewbind(); response.write(“alert(修改成功!)“); else response.write(“alert(修改成功!)“); gridview1.editindex = -1; gridviewbind(); 权限设置部分,可以授予各类用户一定得权限,使其具有访问某些页面的权力。以 授权用户考试科目管理的权限为例,使用的代码为 if (onlineexam.dataaccesshelper.getsafedata. validatedatarow_n(dt.rowsi, “hasduty_departmentmanage“) = 1) (checkbox)gv.rowsi.findcontrol(“chkdepartmentmanage“).checked = true; ht.add(“hasduty_coursemanage“, (checkbox)row.findcontrol(“chkcoursemanage“).checked = true ? 1 : 0); 在角色管理中,管理员可以添加,编辑和删除角色。 运行结果如下图所示: 河南师范大学本科毕业论文(设计) 18 图 43 用户管理 图 44 用户权限管理 图 45 角色管理 4.4 用户试卷管理模块的设计 该模块的功能可以查询考生试卷,了解试卷是否批改,并可对以批改过的试卷进行 删除;对于批改过的试卷可以查看考生的成绩,也可对历史成绩进行删除。为了方便, 还可以将考生的成绩表以 excel 的形式导出或保存,便于查看。 涉及的程序代码如下: 对已批改过的考生的试卷进行删除 河南师范大学本科毕业论文(设计) 19 if (paper.deletebyproc(userid, paperid) response.write(“alert(成功删除!)“); else response.write(“alert(删除失败!)“); initdata(); 查询考生成绩,生成 excel 文件 scores score = new scores(); dataset ds = score.queryscore(); datatable dt = ds.tables0; string newfilename=datetime.now. tostring(“yyyymmddhhmmss“)+ “.xls“; newfilename = server.mappath(“temp/“ + newfilename); file.copy(server.mappath(“/module01.xls“), newfilename,true); string strconn = “provider=microsoft.jet.oledb.4.0;data source=“ + newfilename + “;extended properties=excel 8.0;“; oledbconnection conn = new oledbconnection(strconn); conn.open(); oledbcommand cmd = new oledbcommand(“, conn); foreach (datarow dr in dt.rows) string xsqlstring = “insert into sheet1$“; xsqlstring += “(用户姓名,试卷,成绩,考试时间) values(“; xsqlstring += “ + dr“username“ + “,“; xsqlstring += “ + dr“papername“ + “,“; xsqlstring += “ + dr“score“ + “,“; xsqlstring += “ + dr“examtime“ + “)“; 河南师范大学本科毕业论文(设计) 20 cmd.commandtext = xsqlstring; cmd.executenonquery(); conn.close(); system.io.filestream reader = system.io.file.openread(newfilename); long length = reader.length; response.buffer = false; response.addheader(“connection“, “keep-alive“); response.contenttype = “application/octet-stream“; response.addheader(“content-disposition“, “attachment; filename=“ + server.urlencode(“学生成绩.xls“); response.addheader(“content-length“, length.tostring(); byte buffer = new byte10000;/存放欲发送数据的缓冲区 int bytetoread;/每次实际读取的字节数 while (length 0) if (response.isclientconnected) bytetoread = reader.read(buffer, 0, 10000); response.outputstream.write(buffer,0,bytetoread); response.flush(); length -= bytetoread; else length = -1; reader.close(); file.delete(newfilename); 河南师范大学本科毕业论文(设计) 21 考生试卷管理界面如下图所示: 图 46 考生试卷管理 考生成绩管理页面的运行结果如下: 河南师范大学本科毕业论文(设计) 22 图 47 考生成绩管理 河南师范大学本科毕业论文(设计) 23 5 考生模块的设计 由于受权限管理的限制,考生登录进入系统后,可以对密码进行修改,如果未到考 试时间,会给出提示“没有试卷!” ;在规定的考试时间可以进行在线考试,答题完毕后 可以提交试卷。如果某一门科目考生已经考过,当登录系统再次选择该科进行考试时, 系统会给出提示“您已经考试过了,不能再考试!” 。考试结束后,对于客观题,计算机 将会自动批改并给出成绩,主观题则由教师进行批改,如果试卷已经批改过,考生登录 系统后即可看到成绩。 该模块涉及到的程序代码如下: protected void scoreinitdata()/初始化成绩 scores score = new scores(); /创建scores对象 dataset ds = score.queryuserscore(session“userid“.tostring(); if (ds.tables0.rows.count 0) gridview1.datasource = ds; gridview1.databind(); /绑定数据 else lblscore.text=“没有成绩!“; protected void gridview1_pageindexchanging(object sender, gridviewpageeventargs e) gridview1.pageindex = e.newpageindex; scoreinitdata(); protected void button1_click(object sender, eventargs e) users user = new users(); if(user.istest(session“userid“.tostring().trim(),convert.toint32(ddlpaper.selectedvalue) 河南师范大学本科毕业论文(设计) 24 lblmessage.text = “您已经考试过了,不能再考试!“; else session“paperid“ = ddlpaper.selectedvalue; session“papername“ = ddlpaper.selecteditem.text; response.redirect(“usertest.aspx“); /转向考试界面 考生登录界面如下图所示: 图 51 考生进入系统界面 如果考生已经考试过所选择的科目,当考生再次选择时,会出现提示,界面如下图: 河南师范大学本科毕业论文(设计) 25 图 52 考生重复考试界面 6 教师模块的设计 教师登录进入系统后,可以进行修改密码,进行考试科目的管理,试卷制定与维护, 用户试卷管理,试题类别管理等工作。其中,用户试卷管理的工作同管理员的相同,这 里重点介绍一下试卷制定与维护,试题类别管理两个模块。 6.1 科目管理模块的设计 对于考试科目可以进行查询,添加,修改和删除。 if (course.insertbyproc() lblmessage.text = “成功添加该考试科目!“; txtname.text = “; server.transfer(“coursemanage.aspx“); else lblmessage.text = “添加该考试科目失败!“; else 河南师范大学本科毕业论文(设计) 26 lblmessage.text = “数据库中存在具有该名称的科目,请重新输入!“; 运行结果如图所示: 图 61 考试科目管理 6.2 试卷制定与维护模块的设计 该模块不仅是教师模块中的一个重要部分,也是整个系统中的重要部分。教师首先 建立试题库,并输入一定数量的考题。在考试前,根据题目的类型,数量,分值,自动 生成试卷。试卷基本信息主要包括课程代码、试卷代号、考试科目、题型、题量、分值、 试卷状态、考试时间等,试卷生成后,可以查看试卷的具体详细内容,并可设置试卷的 状态(可用或不可用) ,对于考试过的试卷或不合适的试卷可以进行删除。 考试前教师可以设置试卷的各种题型的数量和分值,然后计算机从题库中选择相应 的试题自动生成试卷。以单选题为例,需要编写的程序代码为: string gridview1str = “select top “ + int.parse(txtsinglenum.text.trim() + “ * from singleproblem where courseid=“ + courseid + “order by newid()“; 试卷生成后,需要将其保存到数据库中,涉及到得程序语句如下(仍然只给出单选 题的代码): database db = new database(); string insertpaper = “insert into paper(courseid,papername,paperstate) values(“ + int.parse(ddlcourse.selectedvalue) + “,“ + txtpapername.text + “,1) select identity as id“; int afterid = getidinsert(insertpaper); /保存试卷并返回自动生成的试卷编号 if (afterid 0) 河南师范大学本科毕业论文(设计) 27 foreach (gridviewrow dr in gridview1.rows)/保存试卷单选题信息 string single = “insert into paperdetail(paperid,type,titleid,mark) values(“ + afterid + “,单选题,“ + int.parse(label)dr.findcontrol(“label3“).text) + “,“ + int.parse(txtsinglefen.text) + “)“; db.insert(single); 试卷制定界面如下图所示: 图 62 试卷制定界面 河南师范大学本科毕业论文(设计) 28 图63 试卷维护界面 6.3 试题类别管理模块的设计 试题的类型大体分为五种:单选题、多选题、判断题、填空题和问答题。教师不仅 要制定维护试卷,还要对题库中的各种类型的试题进行维护,可以查看、添加、修改或 删除试题,不断更新试题库。在这一部分利用 web 表单控件来显示并操作数据库,例如, 利用 gridview 控件绑定数据。 以单选题为例,首先初始化考试科目: course course = new course(); /创建考试科目对象 dataset ds = course.querycourse(); /查询考试科目信息 ddlcourse.datasource = ds; /指名考试科目列表框数据源 ddlcourse.datatextfield = “coursename“; ddlcourse.datavaluefield = “courseid“; ddlcourse.databind(); /绑定数据 gridviewbind();/为 gridview 绑定数据 然后,利用 gridview 控件绑定数据事件,使其显示所选科目的全部单选题信息: singleproblem singleproblem = new singleproblem(); /创建单选题对象 河南师范大学本科毕业论文(设计) 29 dataset ds = singleproblem.querysingleproblem (int.parse(ddlcourse.selectedvalue);/根据考试科目查询单选题信息 gridview1.datasource = ds.tables0.defaultview; /为gridview控件指名数据源 gridview1.databind(); 单选题的显示界面如下: 图 64 单选题管理界面 添加判断题的运行界面如下: 图 65 判断题的添加 7 结束语 本系统采用 c#技术,基于 b/s 体系结构开发,整个系统由三个模块组成:管理员模 块、学生模块和教师模块。实现了试题输入、组卷、发布试卷和考后进行成绩及试卷、 试题和用户的管理全过程。设计了简明直观的系统用户界面,设计和实现了网上考试系 统后台数据库并为系统自身提供了必要的安全保证。由于采用了 b/s 结构,系统具有良 好的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 质性研究论文撰写课件
- 2025版环保设备定期检查与维修合同样本
- 2025年度医院病房地毯采购与专业铺设服务合同
- 2025版起重机租赁合同(含设备检测)范本
- 2025版让与担保合同样本:仓储物流服务
- 2025版企业可持续发展培训项目承包合同范本
- 2025年度水利工程土方回填及水土保持工程合同
- 2025地磅交易与远程故障诊断服务合同
- 诸城牙科小知识培训班课件
- 语言文字知识培训讲稿课件
- 2025医疗机构劳动合同模板
- 浙江甬岭数控刀具有限公司年产600万只U钻、50万套镗刀技改项目环评报告
- DB31/ 653-2012通信基站空调能效限定值
- GB/T 45569-2025压水堆核电厂反应堆冷却剂系统设备和管道保温层设计准则
- 金矿居间合同协议书
- 酒店安全考试试题及答案
- 珠宝店员工保密协议合同
- 关节镜的使用和管理
- 2025届吉林省通化市梅河口市高考一模地理试题(原卷版+解析版)
- 租地安全管理协议书
- 2025年度车辆外借责任免除及保险条款协议
评论
0/150
提交评论