赞
踩
单机考试系统:本系统为单机系统,以窗体软件形式展示,管理员在考试前对本系统进行设置,导入试题、查看考试情况、查看考生留言等。角色有两类,即管理员和考试用户,将系统功能按角色来区分。
近年来,随着网络技术与信息技术的迅猛发展,计算机的应用已经深入到我们生活的方方面面中。尤其是对教育行业来说,如现在远程教育和在线考试系统的普及。传统的办学提出了全新的模式。如今绝大部分大学和学院都已接入互联网并建成校园网,各校的硬件设施已经比较完善。虽然在我国学校还是以传统的考试方式为主,但面对现在这个高速发展的社会,显然,这种传统的模式满足不了这个要求,故而出现了考试系统。考试系统可以从题库中抽取题目给考生答题,答题后自动批改试卷生成分数,阅卷效率极大地提高。为教师提供了极大的方便,也杜绝了考生抄袭他人试卷的可能性,另外,也减少了纸质试卷的制造,减少了大量纸张,墨水的消耗,为环境保护做出了极大的贡献。
所以单机考试系统具有着极大的现实意义,本系统可以使使用者从考试做题中发现自己的问题,检查自己的学习效果,有效的提高使用者的学习成绩。适合于学习中的测试。
登陆模块功能:
① 登陆(判断账号密码正确后跳转到管理员或用户界面)
② 注册账号(用户输入个人信息创建账号)
③ 重置密码(用户输入个人信息和账号重置密码)
④ 查看软件信息
管理员功能:
① 试题导入(将Excel格式的试题导入数据库中)
② 试题管理(查看题库,包括修改试题和答案,设定考试时间)
③ 用户管理(查看用户信息,查看用户考试情况,修改或删除用户信息)
④ 查看用户反馈
用户功能:
① 进行考试(从题库中随机抽取题目开始考试)
② 背题模式(从题库中顺序刷题)
③ 查看错题(查看上次考试的错题)
④ 查看成绩
⑤ 查看资料(查看个人信息,修改资料)
⑥ 反馈(反馈存入数据库)
⑦ 查看软件信息
用户需求:
用户登陆:凭借用户账号密码登陆。
注册账号:凭借用户个人信息注册账号。
重置密码:凭借用户个人信息和账号重置密码。
进行考试:系统从题库中抽取题目,用户需在规定时间内完成题目。
背题模式:系统从题库中按顺序取题,用户按顺序刷题。
查看成绩:用户可查看上次成绩以及总成绩,平均分等。
查看资料:用户可以查看个人资料并修改用户名。
用户反馈:用户输入反馈,存入数据库中。
软件信息:查看软件信息。
管理员需求:
试题导入:将Excel格式的题库导入数据库中。
试题管理:查看题库,修改题目,修改计时时间。
用户管理:查看用户信息,查看用户考试情况,修改用户信息。
用户反馈:查看用户反馈。
系统性能需求:
系统安全可靠,凭用户或管理员账号密码登陆。
用户菜单等功能界面友好,体现界面功能要点,同时也方便用户操作。
易于修改查询信息,登陆界面简单且不繁琐。
程序运行快速高效,界面切换自然。
安全性分析:本系统管理的数据对学生的考试产生影响,数据量较大且是基础性数据。本程序简洁明了,无赘余语句,增加了程序运行的安全性。
稳定性分析:只要是用户的合理操作,系统都会给出合理正确的回应,而不是出现令用户感到意外的系统错误或系统崩溃;若系统出现不合理操作,系统也会有一些应对措施,防止系统错误或崩溃。
可靠性分析:容错率较高,易恢复性较好,若用户出现输入错误的情况,体统具有一系列的应对措施,让用户可以返回重新操作。
易用性分析:本系统具有易操作性,方便用户操作,哪怕没有什么网络购票经验也可以正常方便购票。用户登录界面也进行了美观,可以保持用户对系统的良好感官。
登陆模块功能如图3-1所示

管理员功能如图3-2所示

用户功能如图3-3所示

考试系统主要针对学生和教师的使用,所以数据库的设计应该包括考题设计表、学生答案表、学生信息表、教师信息表、学生详细成绩表5个数据表,每个表与表之间有一定的联系。
管理员账号表如图3-4所示。

用户账号表如图3-5所示。

题库表如图3-6所示。

考试情况表如图3-7所示。

用户留言表如图3-8所示。

数据库的详细设计,即利用数据模型进行概念数据库的模式设计。根据考试系统的需求,设计出数据库设计图如图3-9所示。

数据库表结构





系统功能流程图如图4-1所示。

程序登陆界面如图4-2所示,可以下拉选项框选择用户登陆、管理员登陆或游客登录。

管理员菜单如图4-3所示。

用户菜单如图4-4所示

试题管理界面如图4-4所示,可以查看题库、修改计时时间、修改题目。

用户管理界面如图4-5,4-6所示,可以查看用户考试情况、查看修改用户信息。


查看留言界面如图4-7所示,可以查看用户的反馈。

用户考试界面如图4-8,4-9所示,进行考试。


背题模式界面如图4-10所示

查看错题如图4-11所示

查看成绩界面如图4-12所示

用户查看资料如图4-13所示,可以修改用户名。

用户反馈如图4-14所示,将反馈信息存入数据库中。

软件信息界面如图4-15所示,显示软件信息。

游客试用界面如图4-16所示。

注册账号界面如图4-17所示,身份证号使用正则表达式,需输入正确的身份证号。
重置密码界面如图4-18所示

通过这次的课程设计,我们对C#语言有更多的了解,全面总结本学期C#课程学习的知识,掌握使用方法。锻炼学生的实践能力以及运用本课程的知识、方法解决更为复杂的实际问题有较好的启发和指导作用,从而为后续课程的学习、毕业设计环节以及将来的实际工作打好坚实的基础。本次课程设计使我们对自己所学的知识有了进一步的了解,同时通过实践发现自己的不足,对知识的掌握和运用仍有许多不完善。虽然本系统也存在着很多不足,如系统十分简单,实现功能也不够完善,安全性问题也没有很好的解决,但是我们会继续完善自己,争取让自己进步,提高自己的编程能力和解决实际问题的能力。
[1] 王珊,萨师煊.数据库系统概论[M].高等教育出版社,2012
[2] Visual Basic 程序设计应用教程[M].清华大学出版社
[3] 江红,余青松.C#程序设计教程[M].2版
本人完成答题功能模块设计,这里仅呈现部分代码,总代码上传资源里。
Program.cs
using System; using System.Collections.Generic; using System.Linq; using System.Threading; using System.Threading.Tasks; using System.Windows.Forms; namespace 单机考试系统 { public static class UserId//用户行为记录 { public static string userid=""; public static int usert=0;//用户正在做的题号 public static int tnum = 100;//单次考试总题数 public static int score = 5;//单个单选题分数 public static int rnum = 0;//单次考试正确题数 public static int totalSecond = 7200;//总秒数 public static int[] rtitle = new int[tnum+2];//存考试随机题目序号 public static string[] click = new string[tnum+2];//存用户答案 public static string[] right = new string[1000];//存正确答案 public static int[] check_false = new int[tnum+2];//保存错题号 public static string select = "进行考试";//选择考试还是查看错题 } class Randoms { /* num 要产生的随机数个数 randoms(1,a[200],1,200); * all 存储生产的随机数的数组 * begin 随机数最小值 * end 随机数最大值 * using System.Threading; */ public int[] randoms(int num, int[] all, int begin, int end)//随机数 { int[] nums = new int[1000]; for (int i = 0; i < num; i++) { Random rd = new Random(); int rds = rd.Next(begin, end); while (nums[rds] != 0) { rds = rd.Next(begin, end); Thread.Sleep(2);//防止时间种子重复 } nums[rds]++; all[i] = rds; } Array.Sort(all); return all; } } static class Program { /// <summary> /// 应用程序的主入口点。 /// </summary> [STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Land()); } } }
Land.cs
using System; using System.Data.SqlClient; using System.Drawing; using System.Net.NetworkInformation; using System.Windows.Forms; namespace 单机考试系统 { //登陆窗口 public partial class Land : Form { KillMessageBox kill = new KillMessageBox(); public Land() { InitializeComponent(); try { //声明一个用于存储连接数据库的字符串 string ConStr = "server=.;database=单机考试;Trusted_Connection=SSPI"; //创建一个SqlConnection对象 SqlConnection conn = new SqlConnection(ConStr); //连接指定的数据库 conn.Open(); if (conn.State == System.Data.ConnectionState.Open) //判断连接数据库是否成功 { kill.StartKiller(); MessageBox.Show("连接数据库成功", "你很幸运"); } else { MessageBox.Show("连接数据库失败", "你很遗憾"); System.Environment.Exit(0); } } catch (Exception ex) { MessageBox.Show("Error:" + ex.Message); } string url = "www.baidu.com"; Ping ping = new Ping(); try { PingReply reply = ping.Send(url); if (reply.Status == IPStatus.Success) { kill.StartKiller();
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。