毕业论文Asp.net考试系统.doc_第1页
毕业论文Asp.net考试系统.doc_第2页
毕业论文Asp.net考试系统.doc_第3页
毕业论文Asp.net考试系统.doc_第4页
毕业论文Asp.net考试系统.doc_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

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

文档简介

摘 要 随着计算机网络的迅速发展 传统的考试方式面临着改革 而网络考试则 是一个很重要的发展方向 在线考试系统可以借助于 Internet 进行 考试既可以 在本地进行 也可以在异地进行 大大拓展了考试的灵活性 本在线考试系统是利用微软最新的 net 平台并用 B S 结构的模式和 Sql Server 2000 数据库编写的网络应用程序 它有应用简单 升级和部署方便 扩 展性强等特点 它实现了无纸化考试 批量添加试题 动态随机生成试题 客 观题部分计算机自动阅卷即时评分 成绩直接存到数据库进行统计排名等功能 本系统的开发 对于提高教师的工作效率 减轻教师的工作负担 提高考试 的质量 减少考试的成本等具有重要的意义 关键词 net 平台 在线考试 自动阅卷 Abstract With the rapid development of computer network traditional test methods are facing reforms but the network examination is an important direction of development Online examination system can be carried out by means of Internet the examination can be carried out in different places which greatly expands the flexibility of the exam This online examination system is a netowork applications programmed by using latest Microsoft Net platform and the B S structure mode and Sql Server2000 database It has many characteristic such as simple using easier upgrade and deployment strong exponsibility and so on It implements many functons such as paperless examination batch add of questions dynamicly generating of random questions the computer automatically marking some objective questions immediately and score directly store in a database statistical ranking and so on This system s development have the vital significance to raise teacher s working efficiency light teacher s work load enhance test quality reduce test cost and so on key word Net platform Online Examination Automatic Marking 目录 第 1 章绪 论 1 1 1研发背景 1 1 2前景意义 1 1 3论文组织结构 2 第 2 章相关技术 3 2 1ASP NET 技术 3 2 2C 语言 4 2 3VISUAL STUDIO 2008 4 2 4SQL 语言 4 2 5小结 5 第 3 章系统分析 6 3 1可行性分析 6 3 2需求分析 6 3 3小结 7 第 4 章总体设计 8 4 1B S 体系结构 8 4 2开发及运行环境 8 4 3项目规划 9 4 4系统功能结构图 9 4 5小结 10 第 5 章系统详细设计 12 5 1设计目标 12 5 2逻辑结构设计 12 5 3小结 19 第 6 章系统实现 20 6 1系统前 后台首页的运行结果 20 6 2登录模块主要功能设计 21 6 2 1登录模块功能划分 21 6 2 2登录功能实现方法 22 6 2 3学生注册 25 6 2 4密码找回 26 6 3系统前台主要功能模块设计 26 6 3 1个人相关 26 6 3 2考试相关 28 6 3 3练习相关 37 6 3 4成绩相关 37 6 3 5退出系统 38 6 4系统后台主要功能模块设计 39 6 4 1管理员模块设计 39 6 4 2学生信息管理 39 6 4 3科目管理 41 6 4 4考试信息管理 42 6 4 5练习信息管理 44 6 4 6试题管理 44 6 4 7人工阅卷 49 6 4 8成绩管理 51 6 4 9退出系统 53 第 7 章系统测试 54 第 8 章总结与展望 55 8 1总结 55 8 2展望 55 参考文献 1 致 谢 3 第 1 章绪 论 1 1研发背景 随着网络技术的飞速发展 现在很多国和地区都已经开设了远程教育 通 过计算机网络实现异地教育和培训 远程教育包括很多环节 例如教学系统 答疑系统和考试系统等等 其中很重要的一个环节就是在线考试系统 同时它 也是最难实现的环节 在我国远程教育已经地发展起来 但是目前各种考试大 都采用传统的考试方式 在这种方式下 组织一次考试至少要经过五个步骤 即人工出题 考生考试 人工阅卷 成绩评估和试卷分析 显然 随着考试类 型的不断增加及考试要求的不断提高 教师的工作量将会越来越大 可以说传 统的考试方式已经不能适应现代考试的需要 在线考试是现阶段研究开发的一个热点 客户端的配置可以极为简单 使 考试不受地域的局限 一个完备的在线考试系统可以使用户在网上学习过后及 时检验自己的学习效果 发现自己的不足 使得学习效率得到很大提高 本在线考试系统是基于 B S 模式的 ASP NET WEB 应用系统 本系统可以实 现无纸化考试 批量添加试题 动态随机生成试题 客观题部分计算机自动阅 卷即时评分等功能 在一定程度上提高了考试的质量 减轻教师的工作负担及 提高工作效率 1 2前景意义 伴随着远程教育的蓬勃发展 作为教学当中不可分割的一部分的在线考试 系统也得到了当今远程教育研究者的关注 考试是考察学生对所学习知识的接 受和理解程度的重要手段 无纸化的考卷 考试的随时性 随地性 这些特点 都是研究并开发网络考试系统主要的原因 网络考试系统远远超越了传统考试 固定时间 固定地点的考试模式的限制 将给学生和老师带来极大的便利 随 着 Internet 的相关技术的发展 特别是 Web 技术的出现 人们开始致力于研究 和开发基于 Internet 考试系统 这也大大推动了远程教育的发展 1 3论文组织结构 第 2 章介绍了开发本系统用的开发平台 语言等 第 3 章介绍了开发本系统的需求分析和可行性分析 第 4 章介绍了本系统的项目规划并列出系统功能结构图 第 5 章介绍了本系统的设计目标 开发及运行环境和逻辑结构设计 第6 章展示了本系统前台 后台首页的运行结果和开发环境 第 7 章介绍了登录模块的主要功能和实现方法 第 8 章介绍了系统前台的主要功能和实现方法 第 9 章介绍了系统后台的主要功能和实现方法 第 10 章对论文进行总结和展望 第 2 章相关技术 该在线考试系统主要采用 Microsoft net Framework A Sql Server 2000 数据库 C 语言 SQL 语言以及 Visualstudio2008 等技术和工具 整体设计遵循软件工程的方法 经过需求分析 总体设计 文档和代码的编制 模块测试和系统实现几个阶段 2 1ASP NET 技术 A 不仅仅是 Active Server Page ASP 的下一个版本 而且是一种 建立在通用语言上的程序构架 能被用于一台 Web 服务器来建立强大的 Web 应 用程序 A 提供许多比现在的 Web 开发模式强大的优势 把基于通用语 言的程序在服务器上运行 将程序在服务器端首次运行时进行编译 A 构架是可以用 Microsoft R 公司最新的产品 Visual Studio net 开发环境 进行开发 WYSIWYG What You See Is What You Get 所见即为所得 的编辑 这些仅是 A 强大化软件支持的一小部分 因为 A 是基于通用语 言的编译运行的程序 所以它的强大性和适应性 可以使它运行在 Web 应用软 件开发者的几乎全部的平台上 笔者到现在为止只知道它只能用在 Windows 2000 Server 上 通用语言的基本库 消息机制 数据接口的处理都能无缝的 整合到 A 的 Web 应用中 A 同时也是 language independent 语言 独立化的 所以 你可以选择一种最适合你的语言来编写你的程序 或者把你 的程序用很多种语言来写 现在已经支持的有 C C 和 Java 的结合体 VB Jscript 将来 这样的多种程序语言协同工作的能力保护您现在的基于 COM 开发的程序 能够完整的移植向 A A 使运行一些很平常的任务如表单的提交客户端的身份验证 分布 系统和网站配置变得非常简单 所以 利用 A 进行开发可以起到事半功 倍的效果 2 2C 语言 C 是一种简单 现代 面向对象和类型安全的编程语言 由 C 和 C 发展 而来 C 发音为 C 霎普 牢固地植根于 C 和 C 语言族谱中 并且会很快 被 C 和 C 程序员所熟悉 C 的目标在于把 Visual Basic 的高生产力和 C 本 身的能力结合起来 C 作为 Microsoft Visual Studio 的一部分提供给用户 除了 C 以外 Visual Studio 还支持 Visual Basic Visual C 和描述语言 VBScript 和 Jscript 所有这些语言都提供对 Microsoft NET 平台的访问能力 它包括一 个通用的执行引擎和一个丰富的类库 Microsoft NET 平台定义了一个 通用 语言子集 CLS 是一种混合语言 它可以增强 CLS 兼容语言和类库间的无缝 协同工作能力 对于 C 开发者 这意味着既是 C 是一种新的语言 它已经可以 对用老牌工具如 Visual Basic 和 Visual C 使用的丰富类库进行完全访问 C 自己并没有包含一个类库 2 3Visual Studio 2008 Visual Studio2008 是微软开发的 visual studio 系列开发工具的最新版 本 微软公司在 2008 年 12 月初发布新一代企业级应用开发平台 NET Framework 2 0 和开发工具 Visual Studio 2008 现代信息部门的开发团队必须因应高度竞争的商业环境 快速进行应用软 件系统的设计 开发 测试以及部署带领企业赢得市场 大部分的软件开发团 队 都面临以下几项挑战 开发团队间的沟通困难 开发工具形形色色 分散 且难以互相整合开发程序 开发标准难以建立 Microsoft Visual Studio 2008 开发工具系列 有许多令人期盼已久的强 化功能 提供更高的程序开发效率 更精简的程序代码 与更佳的安全性 包 括 NET Framework 2 0 ASP NET 2 0 64 bit 程序开发支持 新的 Windows Form 程序设计 以及对行动装置解决方案的全新开发支持 2 4SQL 语言 SQL Structured Query Language 结构化查询语言 是一种数据库查询和 程序设计语言 用于存取数据以及查询 更新和管理关系数据库系统 同时也 是数据库脚本文件的扩展名 SQL 面向数据库执行查询 SQL 可从数据库取回数据 SQL 可在数据库中 插入新的记录 SQL 可更新数据库中的数据 SQL 可从数据库删除记录 SQL 可创建新数据库 SQL 可在数据库中创建新表 SQL 可在数据库中创建存储过 程 SQL 可在数据库中创建视图 SQL 可以设置表 存储过程和视图的权限 SQL 是一门 ANSI 的标准计算机语言 用来访问和操作数据库系统 SQL 语句用于取回和更新数据库中的数据 SQL 可与数据库程序协同工作 比如 MS Access DB2 Informix MS SQL Server Oracle Sybase 以及其他数据库系 统 SQL 语句结构不幸地是 存在着很多不同版本的 SQL 语言 但是为了与 ANSI 标准相兼容 它们必须以相似的方式共同地来支持一些主要的关键词 比 如 SELECT UPDATE DELETE INSERT WHERE 等等 2 5小结 本章介绍了该系统完成过程中所用到的语言 平台和技术 A 是基于 通用语言的编译运行的程序 所以它的强大性和适应性 可以使它运行在 Web 应用软件开发者的几乎全部的平台上 笔者到现在为止只知道它只能用在 Windows 2000 Server 上 C 是一种简单 现代 面向对象和类型安全的编程 语言 由 C 和 C 发展而来 Visual Studio2008 是微软开发的 visual studio 系列 开发工具的最新版本 微软公司在 2008 年 12 月初发布新一代企业级应用开发 平台 NET Framework 2 0 和开发工具 Visual Studio 2008 SQL Structured Query Language 结构化查询语言 是一种数据库查询和程序设计语言 用于存取数据 以及查询 更新和管理关系数据库系统 同时也是数据库脚本文件的扩展名 第 3 章系统分析 应包含数据流图或用例图应包含数据流图或用例图 数据字典数据字典 E RE R 图图 3 1可行性分析 在线考试系统前台和后台分别对学生 管理员 老师 操作系统的功能详 细的分类 满足了学生注册 密码找回 修改个人信息 参加考试 参加练习 查看考试成绩等要求 同时也满足了管理员 老师 管理学生信息 管理科目 管理试题 人工阅卷 管理学生成绩等各种要求 该考试系统是一个功能比较 齐全的考试系统 保证了登录模块 前台学生考试模块 后台管理员 老师 管理模块等各种功能的实现 3 2需求分析 通过相关调查 要求该在线考试考试系统具有以下功能 1 未注册的学生需要根据自己的学生证号进行注册 其中学生证号作为 登录系统的用户名 提交个人基本信息 2 已注册学生登录系统以后可以修改密码 遗忘密码的学生可以进行密 码的找回 3 学生参加考试时 选择考试的科目 考试都有时间限制 而且每场考 试只能考一次 学生做完试题检查无误后点击 交卷 按钮就可以交卷 考试 时间结束时系统也可自动交卷 4 考试结束后学生可以进行考试成绩查询 5 学生参加练习时 可以选择科目和套题进行练习 6 管理员 老师 利用管理员账号登录系统后 可以进行添加和查看管 理员 学生信息管理 对学生的信息进行添加 删除和修改 科目管理 对科 目进行添加 删除和修改 考试信息管理 发布和查看考试时间 科目和考试 规则 练习信息管理 发布和查看练习信息 试题管理 对试题进行添加 删除和修改 人工阅卷 主观题阅卷 学生成绩管理 对学生成绩进行统计 排名和查询 3 3小结 通过相关调查对整个系统进行了需求分析 划分出系统的各个功能模块 为系统各个功能的实现做了可行性分析 第 4 章总体设计 4 1B S 体系结构 本系统采用的是 B S 结构 B S Browser Server 结构即浏览器和服务器结构 它是随着 Internet 技术的兴起 对 C S 结构的一种变化或者改进的结构 在这种结构下 用户工作界面是 通过 WWW 浏览器来实现 极少部分事务逻辑在前端 Browser 实现 但是主要事务逻 辑在服务器端 Server 实现 形成所谓三层 3 tier 结构 相对于 C S 结构属于 胖 客户 端 需要在使用者电脑上安装相应的操作软件来说 B S 结构是属于一种 瘦 客户端 大多数或主要的业务逻辑都存在在服务器端 因此 B S 结构的系统不需要安装客户端软 件 它运行在客户端的浏览器之上 系统升级或维护时只需更新服务器端软件即可 这样 就大大简化了客户端电脑载荷 减轻了系统维护与升级的成本和工作量 降低了用户的总 体成本 TCO B S 结构系统的产生为系统面对无限未知用户提供了可能 当然 与 C S 结构相比 B S 结构也存在着系统运行速度较慢 访问系统的用户不可控的弱点 4 2开发及运行环境 硬件平台 CPU P41 8GHz 内存 512MB 以上 软件平台 开发平台 Visual Studio 2008 数据库 SQL Server 2000 浏览器 IE6 0 推荐使用 IE7 0 分辨率 最佳效果 1024 768 像素 4 3项目规划 该在线考试系统是一个功能完善的在线考试系统 由登录模块 前台学生 考试模块 后台管理员 老师 管理模块三部分组成 登录模块 主要包括学生登录 管理员 老师 登录 学生注册 密码找 回 前台学生考试模块 主要包括学生注册 学生密码找回 查看个人信息 修改改个人信息 修改密码 查看考试信息 参加考试 参加练习 查看考试 成绩 退出系统 后台管理员 老师 管理模块 主要包括后添加和查看管理员 注册学生 信息管理 对学生的信息进行添加 删除和修改 科目管理 对科目进行添加 删除和修改 考试信息管理 发布和查看考试时间 科目和考试规则 练习 信息管理 发布和查看练习信息 试题管理 对试题进行添加 删除和修改 人工阅卷 主观题阅卷 学生成绩管理 对学生成绩进行统计 排名和查询 退出系统 4 4系统功能结构图 在线考试系统登录模块功能结构 如图 4 1 所示 在线考试系统登录模块功能结构 前 台 和 后 台 登 录 口 学 生 注 册 学 生 密 码 找 回 图 4 1 在线考试系统登录模块功能结构图 在线考试系统前台功能结构 如图 4 2 所示 在线考试系统前台功能结构 查 看 个 人 信 息 修 改 个 人 信 息 修 改 密 码 参 加 考 试 参 加 练 习 查 看 考 试 成 绩 退 出 系 统 图 4 2 在线考试系统前台功能结构图 在线考试系统后台功能结构 如图 4 3 所示 在线考试系统后台功能结构 添 加 管 理 员 查 看 管 理 员 学 生 信 息 管 理 科 目 管 理 考 试 信 息 管 理 考 试 题 目 管 理 人 工 阅 卷 主 观 题 阅 卷 学 生 成 绩 管 理 练 习 题 目 管 理 练 习 信 息 管 理 退 出 系 统 图 4 3 在线考试系统后台功能结构图 4 5小结 本系统分为 登录模块 前台学生考试模块 后台管理员 老师 管理模 块三部分 详细列出了各个模块的主要功能和功能结构图 设计的整体思路为 管理员 老师 登录系统后台发布试题 学生登录系统前台进行考试和练习 第 5 章系统详细设计 5 1设计目标 该考试系统是根据学生考试模块 管理员 老师 管理模块进行开发设计 的 主要实现如下目标 登录模块 实现提供前台和后台登录口以及学生注册 密码找回的链接 前台学生考试模块 实现查看和更改个人信息 修改密码 参加考试和练习 查看考试成绩 退出系统等功能 后台管理员 老师 管理 模块 实现注册和查看管理员 学生信息管理 科目管理 考试和练习信息管 理 考试和练习题目管理 人工阅卷 主观题阅卷 学生成绩管理 退出系统 等功能 5 2逻辑结构设计 本系统数据库采用 SQL Server 2000 数据库 系统数据库名称为 ExamOnline 数据库 ExamOnline 中包含 9 张表 如下所示 1 tb Students 学生注册信息表 学生注册信息表主要用于保存学生的注册信息 表 tb Students 的结构如表 A 1 所示 表 A 1 tb Students 表 字段名数据类型长度是否主键描述 IDint4是数据库流水号 StudentNu mber char12 否学号 StudentNa me nvarchar4 否学生姓名 StudenPwdvarchar10否密码 Sexnchar1否性别 Majornvarchar20否专业 Classnvarchar20否班级 Questionnvarchar11否密码查询问题 Answernvarchar20否密码查询答案 RegisterTi me datetime8 否注册时间 2 tb Admin 后台管理员信息表 后台管理员信息表主要用于保存后台管理员信息 表 tb Admin 的结构如表 A 2 所示 表 A 2 tb Admin 表 字段名数据类型长度是否主键描述 IDint4是数据库流水号 AdminIDvarchar15否管理员帐号 AdminNa me nvarchar 4否 管理员姓名 AdminPw d varchar 10否 密码 RegisterTi me datetime 8否管理员注时间 3 tb Subject 科目信息表 科目表主要用于保存各科目信息内容 表 tb Subject 的结构如表 A 3 所示 表 A 3 tb Subject 表 字段名数据类型长度是否主键描述 IDint4 是 数据库流水 号 SubjectNa me nvarchar 20否科目名称 Majornvarchar20否所属专业 RegisterTi me datetime 8否加入时间 4 tb AttentionExam 考试信息表 考试信息表主要用于保存考试信息 表 tb AttentionExam 的结构如表 A 4 所示 表 A 4 tb AttentionExam 表 字段名数据类型长度是否主键描述 IDint4是数据库流水号 SubjectNa me nvarchar 20否 考试科目名称 Majornvarchar20否所属专业 ExamTim e1 int 4否 考试时间 ExamTim e2 nvarchar 30否 具体考试时间 Partnchar1否考试部分 Part1nchar3否第一部分 Part1 Nu mber int 4否 第一部分题目数量 Part2nchar3否第二部分 Part2 Nu mber int 4否 第二部分题目数量 Part3nchar3否第三部分 Part3 Nu mber int 4否 第三部分题目数量 Part4nchar3否第四部分 Part4 Nu mber int 4否 第四部分题目数量 Scoreint4否试题总分 Score1int4否第一部分分数 Score2int4否第二部分分数 Score3int4否第三部分分数 Score4int4否第四部分分数 Attentiontext16否考试规则 RegisterTi me datetime 8否 试题加入时间 5 tb AttentionExercise 练习信息表 练习信息表主要用于保存练习信息 表 tb AttentionExercise 的结构如表 A 5 所示 表 A 5 tb AttentionExercise 表 字段名数据类型长度是否主键描述 IDint4是数据库流水号 SubjectNa me nvarchar 20否 考试科目名称 Majornvarchar20否所属专业 TaoTinvarchar20否所属套题 Part1nchar3否第一部分 Part1 Nu mber int 4否 第一部分题目 数量 Part2nchar3否第二部分 Part2 Nu mber int 4否 第二部分题目 数量 Part3nchar3否第三部分 Part3 Nu mber int 4否 第三部分题目 数量 Part4nchar3否第四部分 Part4 Nu mber int 4否 第四部分题目 数量 RegisterTi me datetime 8否 试题加入时间 6 tb ExamTopic 考试题库表 考试题库表主要用于保存考试题 表 tb ExamTopic 的结构如表 A 6 所示 表 A 6 tb ExamTopic 表 字段名数据类型长度是否主键描述 IDint4是数据库流水号 SubjectNa me nvarchar 20否 考试科目名称 Majornvarchar20否所属专业 TopicTypenchar3否试题类型 Topicnvarchar100否题目 OptionAnvarchar50否选项 A OptionBnvarchar50否选项 B OptionCnvarchar50否选项 C OptionDnvarchar50否选项 D Answer1char4否客观题答案 Answer2nvarchar200否主观题答案 RegisterTi me datetime 8否 试题加入时间 7 tb ExerciseTopic 练习题库表 练习题库表主要用于保存练习题 表 tb ExerciseTopic 的结构如表 A 7 所示 表 A 7 tb ExerciseTopic 表 字段名数据类型长度是否主键描述 IDint4是数据库流水号 SubjectNa me nvarchar 20否 考试科目名称 Majornvarchar20否所属专业 TopicTypenchar3否试题类型 Topicnvarchar100否题目 OptionAnvarchar50否选项 A OptionBnvarchar50否选项 B OptionCnvarchar50否选项 C OptionDnvarchar50否选项 D Answer1char4否客观题答案 Answer2nvarchar200否主观题答案 RegisterTi me datetime 8否 试题加入时间 8 tb Answer 主观题答案表 主观题答案表主要用于保存考生做的主观题答案 表 tb Answer 的结构如表 A 8 所示 表 A 8 tb Answer 表 字段名数据类型长度是否主键描述 IDint4是数据库流水号 StudentNu mber char12 否学号 StudentNa me nvarchar4 否学生姓名 Classnvarchar20否班级 Majornvarchar20否所属专业 SubjectNa me nvarchar 20否 考试科目名称 Answernvarchar200否主观题答案 RegisterTi me datetime 8否 试题加入时间 9 tb Score 学生成绩表 学生成绩表主要用于保存学生考试成绩 表 tb Score 的结构如表 A 9 所示 表 A 9 tb Score 表 字段名数据类型长度是否主键描述 IDint4是数据库流水号 StudentNuchar12否学号 mber StudentNa me nvarchar4 否学生姓名 Classnvarchar20否班级 Majornvarchar20否所属专业 SubjectNa me nvarchar 20否 考试科目名称 Score1int4否客观题成绩 Score2int4否主观题成绩 Scoreint4否总成绩 RegisterTi me datetime 8否 试题加入时间 5 3小结 本章说明了本系统的设计目标 开发及运行环境 逻辑结构设计 为整个 系统的开发做好准备 第 6 章系统实现 6 1系统前 后台首页的运行结果 系统前台首页的运行结果如图 6 1 所示 图 6 1 系统前台首页运行结果 系统前台框架图说明如表 6 1 表 6 1 系统前台首页页面说明 区域名称说明对应文件 1功能模块主要用于显示前台学生考试模块中的功能Site1 Master 2内容显示主要用于显示功能模块中的内容Main aspx 系统后台首页的运行结果如图 6 2 所示 1 2 图 6 2 系统后台首页运行结果 系统后台框架图如表 6 2 所示 表 6 2 系统后台首页页面说明 区域名称说明对应文件 1功能模块主要用于显示后台管理模块中的功能Site2 Master 2内容显示主要用于显示功能模块中的内容AdminMain aspx 6 2登录模块主要功能设计 6 2 1 登录模块功能划分 1 登录功能 本在线考试系统前后和后台共用一个登录窗口 登录系统 前选择身份 选择 学生 输入学号和密码后登录到系统的前台 选择 管理 员 输入管理员账号和密码登录到系统的后台 2 学生注册功能 登录模块只提供学生注册功能 未注册的学生 点击 注册 进入注册页面 以学号作为用户名进行注册 未注册的管理员利用默 1 1 2 认的管理员账号 admin 和密码 666666 登录系统的后台管理中心后 选择 添加管理员 可以进行添加管理员账号 3 学生密码找回功能 忘记密码的学生 可以点击 忘记密码 进入密 码找回页面 根据提示输入正确的信息就可以找回密码 登录界面如图 7 1 所 示 图 7 1 登录页面运行效果 6 2 2 登录功能实现方法 登录功能的实现方法是在 Login aspx cs 文件中实现的 当输入的用户名 和密码通过 RequiredFieldValidator 控件验证后 开始执行数据库最终验证是 否有此用户 密码是否正确 根据用户输入的用户名与口令动态组合成一个查 询 当身份选择是学生时通过 sql select count from tb Students where StudentNumber userName and StudentPwd pwd 语句 tb Students 表中的已注册记录的验证 用户而且密码正确就能够登录成 功 否则显示无此用户或密码不正确 当身份选择是管理员时执行与 tb Admin 表中的注册记录的验证 如果有此用户而且密码正确就能够登录成功 否则显 示无此用户或密码不正确 登录模块方法实现的代码如下 Login aspx cs using System Web using System Web Security using System Web UI using System Web UI HtmlControls using System Web UI WebControls using System Web UI WebControls WebParts using System Xml Linq namespace WebApplication public partial class Login System Web UI Page protected void Page Load object sender EventArgs e protected void btnLogin Click object sender EventArgs e if Page IsValid string connectionString server local database ExamOnline uid sa pwd 123 SqlConnection conn new SqlConnection connectionString string userName 用户名 string pwd 密码 userName txtUserName Text Trim pwd txtPwd Text Trim string sql if ddl SelectedItem Text Trim 学生 根据用户输入的用户名与口令动态组合成一个查询 sql select count from tb Students where StudentNumber userName and StudentPwd pwd SqlCommand cmd new SqlCommand sql conn conn Open int n int cmd ExecuteScalar 查询返回的记录 条数 conn Close if n 0 如果没有返回记录 弹出错误提示框 Response Write alert 登录失败 学 号或密码错误 else 把用户名存在Session StudentNumber 中 Session StudentNumber userName 转向Main aspx页面 Response Redirect Main aspx else 根据用户输入的用户名与口令动态组合成一个查询 sql select count from tb Admin where AdminID userName and AdminPwd pwd SqlCommand cmd new SqlCommand sql conn conn Open int n int cmd ExecuteScalar 查询返回的记录 条数 conn Close if n 0 如果没有返回记录 弹出错误提示框 Response Write alert 登录失败 管 理员名称或密码错误 else Response Redirect Admin AdminMain aspx protected void lnkRegister Click object sender EventArgs e Response Redirect Register aspx protected void lnkGetpwd Click object sender EventArgs e Response Redirect Step1 aspx 6 2 3 学生注册 未注册的学生点击登录页面的 注册 按钮 就可以链接到注册页面进行 注册 注册时学生所填写的学号作为以后等录该系统的用户名 把注册资料填 写正确完整后点击 提交 完成注册 返回到登录页面 如图 7 2 所示 图 7 2 学生注册页面运行结果 6 2 4 密码找回 当学生忘记密码时点击登录页面的 找回密码 按钮 就可以进入密码找 回页面 在密码找回页面按照提示填入相应的正确信息就可以找回自己的密码 6 3系统前台主要功能模块设计 6 3 1 个人相关 6 3 1 1查看个人信息 点击 查看信息 进入个人信息显示页面 如图 8 1 所示 图 8 1 查看个人信息页面运行结果 实现方法 利用 select from tb Students 语句把数据中个人资料读取 出来 以表格的形式显示在页面上 学生可以直观的看到自己注册的信息 6 3 1 2修改个人信息 个人信息改变或者在 查看个人信息 中发现自己的信息有错误 单击 修改个人信息 个人信息以表格的方式在页面上显示出来 把错误的信息改 正后点击 提交 正确的信息将存到数据库 数据库中错误的信息更新成正确 的信息 这里用到了 sql 的更新语句 updata 表名 set 字段名 正确值 6 3 1 3修改密码 点击 修改密码 就可以进入密码修改页面 首先输入旧密码 然后数据 新密码 最后重复输入新密码 这用到了 RequiredFieldValidator 控件 RegularExpressionValidator 控件和 CompareValidator 控件 这三个控件的 作用分别为验证输入是否为空 输入的新密码是否在设定的范围内和两次输入 的新密码是否相同 通过验证后点击提交 密码修改成功 6 3 2 考试相关 点击 考试相关 里的 参加考试 进入考试信息及规则页面 在此页面 里学生能够看到考试科目 试题的类型 试题分数 考试时间以及考试规则 如图 8 2 所示 图 8 2 考试信息及规则页面运行结果 学生了解考试信息及规则后点击 开始考试 按钮 就能进入考试页面 开始考试如图 8 3 所示 图 8 3a 考试页面运行结果 图 8 3b 考试页面运行结果 考试页面的计时器是由 JavaScript 编写的 var m 接收从数据库中读出的考试时间 然后由函数 function Time 完成计时功能 当考试时间结束时 系统自动交卷 计时器功能实现代码如下 Exam aspx var msec 0 var sec 0 var min 0 var m function Time document forms 0 time value min sec go setTimeout Time 1 msec if msec 1000 msec 0 sec if sec 60 if min m sec 0 min if min m window clearTimeout go document getElementById btnSubmit1 click 考试到点 触发 button Click 事件 alert 考试时间已到 试卷已提交 感谢使用本系统 考试页面生成的考题是动态随机生成的 实现方法是 利用 Sql 语句 select Topic from tb ExamTopic where SubjectName Session SubjectName ToString order by newid 将数据库中的相应科目的考试题目随机读出 顺序打乱全部读出 然后用 sqldatareader 读出考试信息中规定的试题的题数 这样就实现了随机 读取试题 datalist 控件用于接收动态随机读取的试题 试题分为客观题和主 观题 学生交卷后可以看到客观题的对错情况 正确答案 得分 学生作答的 主观题答案将提交到数据库 由老师人工阅卷 交卷后的页面如图 8 4 所示 图 8 4a 交卷后页面图运行结果 图 8 4b 交卷后页面图运行结果 动态随机生成试题和客观题自动阅卷即时评分方法实现的部分代码如下 Exam aspx cs protected void bind int i SqlConnection conn new SqlConnection ConnectionString switch i 从数据库中选择单选题 case 1 conn Open SqlCommand cmd1 new SqlCommand select from tb ExamTopic where TopicType lblPart1 1 Text Trim and Major major and SubjectName subjectname order by newid conn SqlDataReader dr1 cmd1 ExecuteReader 创建内存表 DataTable DataTable table1 new DataTable ExamTopic table1 Columns Add Topic table1 Columns Add OptionA table1 Columns Add OptionB table1 Columns Add OptionC table1 Columns Add OptionD int n1 Convert ToInt32 lblPart1 Number Text ToString for int x 0 x n1 x dr1 Read DataRow row table1 NewRow row Topic dr1 Topic ToString row OptionA dr1 OptionA ToString row OptionB dr1 OptionB ToString row OptionC dr1 OptionC ToString row OptionD dr1 OptionD ToString arr1 x dr1 Answer1 ToString table1 Rows Add row dr1 Close conn Close dl1 DataSource table1 dl1 DataBind string s1 for int x 0 x n1 x s1 s1 arr1 x ToString Session arr1 s1 ToString 生成单选题题号 for int tID1 1 tID1 dl1 Items Count tID1 Label lblSelect Label dl1 Items tID1 1 FindControl Label3 lblSelect Text tID1 ToString break 核对单选题答案 case 5 string answer1 new string 100 for int x 0 x dl1 Items Count x t1 t1 1 RadioButtonList rbl1 RadioButtonList dl1 Items t1 1 FindControl RadioButtonList1 answer1 x rbl1 SelectedValue ToString string c1 Session arr1 ToString string arr1 1 c1 Split for int x 0 x dl1 Items Count x t1 1 t1 1 1 Label lblResult1 Label dl1 Items t1 1 1 FindControl lblResult1 Label lblRight1 Label dl1 Items t1 1 1 FindControl lblRight1 Label lblAnswer1 Label dl1 Items t1 1 1 FindControl lblAnswer1 if arr1 1 x Trim answer1 x Trim point1 point1 Score1 dl1 Items Count lblSel Text 单选题 point1 ToString 分 lblResult1 Text 对 lblResult1 Visible true else lblResult1 Text 错 lblRight1 Text 正确答案 lblAnswer1 Text arr1 1 x ToString lblResult1 Visible true lblRight1 Visible true lblAnswer1 Visible true break 把主观题答案写入数据库 case 8 string answer4 new string 100 for int x 0 x dl4 Items Count x t4 t4 1 TextBox txtAnswer TextBox dl4 Items t4 1 FindControl txtAnswer answer4 x txtAnswer Text ToString string c4 Session arr4 ToString string arr4 4 c4 Split string answer for int x 0 x dl4 Items Count x answer arr4 4 x 答 answer4 x string sql8 insert into tb Answer StudentNumber StudentName Clas

温馨提示

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

评论

0/150

提交评论