在线考试系统课程设计(1)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、需求分析
计算机技术没有应用到考试上时,组织一次考试只是要经过五步:人工出
题,考生考试,人工阅卷,成绩评估和试卷分析,这是一项十分繁琐和容易出错的工作,教师的工作量非常的大。很明显,传统的考试方式已经不再适应现代考试的需要。如今,信息技术的迅猛发展,应用不断扩大,教学和虚拟大学等相继出现,这些应用正逐步深入到千家万户,人们迫切要求利用这些技术来进行在线考试,以减少教师的工作负担并提高工作效率,同时提高考试的质量,从而使考试更趋于公正,客观,更加激发学生的兴趣。例如,目前许多国际著名的计算机公司所举办的各种认证考试绝大部分是采用这种形式。
二、数据库设计
1, 概念模型设计(E —R 图)
用户信息
是否已经登录
用户姓名
用户账号 用户密码
是否参加了考试
用户类型
试题题库
选项C
选项D
选项E
选项F
选项B
选项A 试题类型
试题编号 试题答案 试题题目
学生考试试卷
试卷类型 题库中的编号
题目在试卷中的编号
题目答案
选项A 选项C 选项B 选项D 选项E
考生答案
学生成绩
考生编号 考生成绩
选择题成绩 判断题成绩 填空题成绩
系统参数
考试时间
参数编号
选项F
2、图转为逻辑模型的方法及过程
在中创建一个新的数据库6,以E—R图中的实体的名称创建表。设计表时,以该E—R图中的属性为列名,根据实际情况确定其数据类型和长度,在必须唯一的列名处设计主键。在中一共建立七个表来实现6模拟考试系统应用程序数据的连接。其中,表示数据类型,0表示学生,1表示管理员。表示用户账号,表示用户姓名,表示用户密码。,分别表示用户是否登录和参加考试。,分别表示试题类型和试题类型名。,分别表示选择题的分值和比例。判断题和填空题类推。表示考生考号,、分别表示试题在题库和试卷中的编号。、表示试题题目和答案。
3、逻辑模型
(用户信息表)
(试题类型表)
(系统参数表)
(学生考试试卷表)
(学生分数表)
(试题安排)
(学生考试试卷表)
4、数据库评价
首先,用设计数据库比较稳定,对数据的要求也比较严格。这样在编码阶段数据这一块就基本没有不合理的数据出现在应用程序上。减少了运行会出现
的错误。但是与应用程序的链接有时比较繁琐而且不易成功。
三、编码实现
1, 登录模块
1)
用户的不同类型进入到不同的界面,主要有一个控件,用于选择用户类型。两个控件,用于输入账号,用于输入密码。三个控件:用于登录系统,用于清空用户信息重新输入,用于退出系统。 2)
程序流程图
3) 登录模块代码
B '用户的登录信息是否正确
()'判断用户登录信息是否正确,正确,否则 '声明为记录集对象
登录
输入用户类型
进入学生界面
进入管理员界面
输入用户名密码
输入用户名密码
结束登录
学生
管理员
错误
错误
() = "" '如果没有输入帐号
"没有输入用户账号,请您正确填写!", + '设置焦点在问本框上
() = "" '如果密码为空
"没有输入密码,请您正确填写!", +
'设置焦点在问本框上
'
= '设置按键触发事件
= " * '" & () & "'" & _" '" & & "' " & _" '" & () & "' "
'把查询用户信息的语句赋给变量
, , , '以只读的方式静态的打开执行的结果的记录集
> 0 '如果记录集为空
("用户账号或密码不正确,请您正确填写!", + ) '显示提示信
息
'如果选择了是
B =
= "" '帐号清空
= "" '密码清空
'是输入帐号的文本框获得焦点
'选择了取消
'结束程序
= '设置不是的默认按钮
("") = 0
'如果记录集不为空且此帐号没被其他用户使用
B = '用户的登录信息正确
" 1 " & _" '" & () & "'" & _" '" & & "'" '
设置字段为1,限制其他用户用此帐户登录
= () '记录用户的帐号
'如果记录集不为空但此帐号正在被其他用户使用
"用户已经登录!", + '显示提示信息
B = '用户的登录信息错误
= "" '帐号清空
= "" '密码清空
'是输入帐号的文本框获得焦点
= '设置不是的默认按钮
'关闭记录集
( )
= 13 '如果输入的字符是键
'设置输入帐号的文本框获得焦点
'如果输入的是其它字符
= 0 '返回值为空即不输入任何字符
() '用户信息输入错误,选择了“重输”按钮,开始重新输入。
() '用户填写信息完毕,单击“确定”按钮,开始登录
1 '出现错误转向错误处理
'声明为记录集对象
'语句的条件是的属性
0 '如果选中的是第一条记录即考生
'判断考生的帐号和密码是否正确
B = '如果考生的帐号和密码正确
= " 0" & _
" '" & () & "'" '判断考生是否参加过考试
, , , '执行语句
("") = '如果考生没有参加过考试
= " " & _
"'" & () & "'" '删除成绩表中考生原有的记录
'执行语句
= " () " & _
"('" & () & "')" '把考生的帐号插入到成绩表中
'执行语句
'显示考生窗口
'卸载本窗体
1
= "" = "" '设置超级用户
'卸载本窗体
'显示管理员窗体
'如果不是超级用户
'判断管理员的帐号和密码是否正确
B = '如果帐号和密码正确
'卸载本窗体
'显示管理员窗体
'不过没有选择用户的身份
"您没有选择身份,请选择!", + '提示选择身份
'组合框获得焦点