基于vb的试卷生成系统设计内容摘要:

调用此模块,要求用户先进行登陆。 登陆功能模块如图 所示。 试卷管理系统 系统管理 试卷生成管理 数据库管理 系统帮助 用户管理 密码管理 自动生成试卷 手动生成试卷 抽取现有试卷 数据库还原 数据库备份 系统关于 系统帮助 10 图 登陆模块功能图 (2) 试卷生成 管理 模块 试卷生成管理模块 主要包括 如下子模块 :  抽取现有试卷模块:显示预览试卷,保存答案,删除试卷功能。  手动生成试卷模块:显示加入试卷,保存试卷功能。  自动生成模块:显示生成试卷,预览试卷,预览答案,保存试卷功能。 详细的试卷生成管理功能模块如图 所示。 图 试卷生成管理模块功能图 试卷生成管理 抽取现有试卷 手动生成试卷 自动生成试卷 预览试卷 保存答案 删除试卷 加入试卷 保存试卷 生成试卷 预览答案 预览试卷 预览答案 系统用户信息 管理员 教务管理员 教师 修改管理员密码 添加删除修改其他用户 审核添加修改其他用户 管理自身帐户 查询试题打印试题 管理自身账号 11 (3) 数据库 管理 模块 主要包括 数据库还原和数据库备份。 数据库管理模块结构如图 所示。 图 数据库管理模块功能图 (4) 系统帮助模 块 主要包括 系统帮助和系统关于。 系统帮助模块结构如图 所示。 图 系统帮助模块功能图 数据表设计 根据系统功能设计,把数据库命名: STGL,在 SQL Server 2020 数据库创建 了 题型表、难度程度表、出卷人表、用户信息表等。 各数据表的具体情况如表 1 至表 9 所示。 表 41 用户信息表 (usermanagement) 字段中文名 字段英文名 字段类型 字段长度 姓名 NameID char 20 密码 PWD char 20 用户类型 QX int 2 系统帮助 系统关于 帮助 数据库管理 数据库还原 数据库备份 12 表 42 题型表 (TX) 字段中文名 字段英文名 字段类型 字段长度 题型 Type char 10 名称 TypeName char 10 表 43 难度程度表 (NYD) 字段中文名 字段英文名 字段类型 字段长度 编号 BH int 4 难易度 ND char 4 表 44 选择题表 (selects) 字段中文名 字段英文名 字段类型 字段长度 题号 BH char 10 题型 Type char 10 题目 Topic char 100 选项 A A char 100 选项 B B char 100 选项 C C char 100 选项 D D char 100 正确答案 Answer char 1 难易度 ND char 4 出自章节 ZJ char 2 表 45 填空题表 (adds) 字段中文名 字段英文名 字段类型 字段长度 题号 BH char 10 题型 Type char 10 题目 TM char 100 空 1 K1 char 50 空 2 K2 char 50 空 3 K3 char 50 难易度 ND char 4 出自章节 ZJ char 2 表 46 简答题表 (ask) 字段中文名 字段英文名 字段类型 字段长度 题号 BH char 10 题型 Type char 10 13 题目 TM char 100 答案 Answer char 200 难易度 ND char 4 出自章节 ZJ char 2 表 47 阅读程序题表 (YDCX) 字段中文名 字段英文名 字段类型 字段长度 题号 BH int 10 题型 Type int 10 题目 TM char 100 答案 Answer char 200 难易度 ND char 4 出自章节 ZJ char 2 表 48 出卷人表 (SJ) 字段中文名 字段英文名 字段类型 字段长度 试卷代号 SJDH datetime 8 出卷老师 CJLS char 20 难易度 ND char 4 表 49 已存试卷表 (SJT) 字段中文名 字段英文名 字段类型 字段长度 编号 BH int 4 试卷代号 SJDH datetime 8 题号 ZD char 10 试卷类型 Type char 10 分数 FZ char 10 自动组卷 与 手动组卷 自动组卷是时系统根据用户要求,随机选取试题,组成一份完整的试卷。 本系统使用的是回溯探取法随机选题。 其主要过程如下: ( 1)用户输入选题要求,如各题型数量,题型分值和题型难度,并设置试卷总分数。 ( 2)初始化随机数生成器。 ( 3)系统根据题型数量和题型难度要求在各题型表中随机抽取试题,将抽取到的试题的“编号”、“试题类型”、“分值”等信息存入临时表 LSSJ 中,并对其进行排序和比较,如有重复则返回继续搜索,防止试题被重复选取,一直到抽取试题数等于用户设置的各 题型的试题数量 [8]。 ( 4)系统自动判断用户设置的试卷总分值与试题总分值是否相等,是则生成试卷,并将试题信息“编号”、“分值”、“难度”等信息存入数据库表 SJT 中,且生成“试卷代号”、“试卷创建者”、并判断“试卷难度”,存入数据库表 SJ 中。 否则试卷生 14 成失败,并清空临时表 SJ 中所有信息。 ( 5)设置试卷模板。 ( 6)预览试卷,系统根据数据库表 SJT 中信息搜索题库试题内容,并按设置好的试卷模板导入 Word 中,生成一份完整的试卷,并以 *.doc 文件的形式保存。 自动生成试卷的流程如图 所示。 图 自动生成试卷流程图 由于自动生成的试卷,对于试卷知识覆盖面的问题不好控制,为了解决这各问题,所以本软件增加了另一种组卷方式,也就是手动生成试卷。 此组卷方式的优点在于,系统将各题型的试题具体的分到了此科考试的具体章节和知识点。 用户可以根据具体章节和知识点浏览此知识点下的各试题,并可以选择加入试卷,组成一份知识覆盖面广的试卷。 其主要组卷过程如下: ( 1)用户选择试题题型,题型分值,试题数量和知识点,并设置试卷总分值,系统根据用户选择的题型和知识点显示所有试题。 ( 2)用户选择试题,试题的“编号”、“难度”、“题型”等信息存入临时表 LSST中,如果重复选题,则系统提示“您已选择此试题。 ”,否则系统提示“试题添加成功。 ”。 ( 3)生成试卷,系统判断用户设置分数是否与试题总分数相等,是则生成一份完整的试卷,并将试题的“编号”、“难度”、“分值”、“类型”等信息存入数据库表SJT 中。 且生成“试卷代号、”试卷创建者“,并判断”试卷难度“,存入数据库表 SJ中。 否则试卷生成失败,提示用户“您生成的试卷分值与设置的试卷分值不等,试卷生Y Y N 输入试卷信息 试卷总分 100 分。 试卷生成失败 预览试卷 保存试卷 保存答案 自动选择试题 程序开始 程序结束 15 成失败。 ”。 ( 4)设置试卷模板。 ( 5)预览试卷,系统根据数据库表 SJT 中信息搜索题库试题内容,并按设置好的试卷模板导入 Word 中,生成一份完整的试卷,并以 *.doc 文件的形式保存。 图 手动生成试卷流程图 抽取现有试卷 为了让用户能很方便的管理已生成的试卷,本系统增加了抽取现有试卷这个功能模块。 用户能通过这个模块能很方便的对现有试卷进行删除和预览,同时也能预览用户所选择的试卷的答案。 其主要过程如下 : ( 1) 用户进入抽取现有试卷界面,系统自动搜索数据库表 SJ 中信息,显示现 有试卷的“代号”,“试卷创建者”,“试卷难度 ”。 ( 2) 用户选择一份已有试卷,系统自动从数据库表 SJT 中搜索该试卷试题的“编号 ” , “分值 ” , “难度 ”。 ( 3) 预览试卷,系统根据数据库表 SJT 中信息搜索题库试题内容,并按设置好的试卷模板导入 Word 中,生成一份完整的试卷,并以 *.doc 文件的形式打开。 ( 4) 保存答案,系统根据数据库表 SJT 中信息搜索题库试题答案,并按试卷模板Y N 添加试题 生成试卷失败 试卷总分 100 分。 预览试卷 保存试卷 输入试卷信息 程序开始 程序结束 16 以 *.doc 文件的形式打开。 ( 5)删除试卷,系统删除试卷在数据库表 SJT 中的信息,系统显示“删除试卷成功”。 抽取现有试卷算法的 具体流程可用图 直观说明。 图 抽取现有试卷流程图 N Y N Y 保存答案 程序开始 预览试卷 输出答案 输出试卷 确认删除试卷 执行删除 程序退出 选择现有试卷 17 第五章 关键技术与系统实现 本系统是一个试卷生成管理系统,重点在于组卷,所以主要是对关于试卷生成的实现的说明。 本系统包括抽取现有试卷,自动生成试卷和手动生成试卷三大功能。 登录模块 登录界面是用户最先看到的系统的界面,所以直观上给用户的感觉很重要,所以做一个好的界面,提高软件的亲和力。 本管理系统登录界面如图 51 所示。 登陆功能实现的核心代码如下。 图 管理系统登录界面 Private Sub cmdOK_Click() 39。 39。 进入 ..确定 On Error GoTo Err Dim txtSql As String UserName = If Trim() = Then 39。 39。 判断用户名是否为空 MsgBox 请输入帐号。 , vbOKOnly + vbExclamation, 警告 Exit Sub End If If Trim() = Then 39。 判断密码是否为空 MsgBox 请输入密码。 , vbOKOnly + vbExclamation, 警告 Exit Sub End If 39。 39。 判断是否有这个用户 txtSql = select * from 用户信息表 where 用户名称 = 39。 amp。 amp。 39。 If Then txtSql, CN, adOpenStatic, adLockOptimistic If = True Then 39。 39。 如果没有这个用户 18 MsgBox 没有这个帐号,请重新输入帐号 !, vbOKOnly + vbExclamation, 警告 = = 如果输入的用户名和密码正确,将对用户的权限进行判断,如果是管理员就进入到管理员模式;如果是教务管理员就进入到教务管理员模式;如果是教师就进入到教师模式;如果用户没有权限,则会警告。 具体代码如下: If Trim((1)) = Trim() Then 39。 39。 判断权限 UserPrivs = If Trim((2)) = 管理员 Then 39。 39。 管理员权限 IsUserMode = 1 ElseIf Trim((2)) = 教务管理员 Then 39。 39。 教务管理员权限 IsUserMode = 2 ElseIf Trim((2)) = 教师 Then 39。 39。 教师权限 IsUserMode = 3 Else 39。 39。 无权 IsUserMode = 0 MsgBox 你没有权限 !, vbExclamation, 警告。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。