资源预览内容
第1页 / 共28页
第2页 / 共28页
第3页 / 共28页
第4页 / 共28页
第5页 / 共28页
第6页 / 共28页
第7页 / 共28页
第8页 / 共28页
第9页 / 共28页
第10页 / 共28页
亲,该文档总共28页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第8章 小型试题库系统设计案例学习目标:了解应用项目的设计、分析及开发过程教学内容:8.1 系统的组成及功能简述 8.2 试题库管理程序的设计 8.3 试题答题及评分程序的设计8.4 有待完善的问题与思考 1文库专用8.1 系统组成及功能简述系统组成小型试题库系统的组成模块: 教师模块:实现题库管理功能 学生模块:实现答题及自动评分功能返回目录2文库专用8.1 系统组成及功能简述系统组成小型试题库系统的组成模块: 教师模块:实现题库管理功能 学生模块:实现答题及自动评分功能返回目录3文库专用8.1 系统组成及功能简述教师模块的功能试题库管理程序(教师模块)的功能: 登录(验证用户的合法性)题库的管理与维护:记录的新建、修改、删除和定位选题:从题库中自动选择一定数量的选择题和填空题 ,作为本次学生考试的考试库。生成学生考盘 返回目录4文库专用8.1 系统组成及功能简述学生模块的功能试题答题及评分程序( 学生模块)的功能: 随机产生题号,使各考 生的题目顺序不一样登录(验证考生的合法性 )答题。中途退出,可再 次进入答题环境。答题结束退出时,系统 可自动进行评分。评分后 ,不能再进入答题界面。 窗体切换流程 返回目录5文库专用8.1 系统组成及功能简述数据库设计 以第7章例7.11中建立的试题库TestDb.MDB和学 生考试库Test.MDB为基础 为验证学生身份的合法性以及记录学生的成绩,需 在考试库Test.MDB中增加一个考生表UserDb,结构: 返回目录6文库专用8.2 试题库管理程序的设计 试题库管理程序(教师模块)由四个窗体和一个模块文件(xt.bas)组成 返回目录7文库专用8.2 试题库管理程序的设计 1. 用户登录窗体FrmDl (1) 窗体设计:新建一个VB工程,保存为ctk.vbp 将窗体Form1保存为FrmDl.frm 部分控件的属性见教材表8.2 返回目录8文库专用8.2 试题库管理程序的设计 (2) 编写代码 :在程序的“通用”声明段定义模块级变量 Dim cs As Integer 记录用户登录时出错的次数编写窗体的Load事件响应代码:调用xt.bas中的通用过程CenterOnSetupForm(功能:将窗口居中安放)编写Cmgqd按钮(“确定”)的Click事件响应代码:检查用户名和密码是否正确。如果连错3次,只能退出编写Cmdml按钮(控件数组按钮)的Click事件响应代码:根据选择打开“题库管理“、“选题“或“制作考盘“窗体 返回目录9文库专用8.2 试题库管理程序的设计 2. 添加自动选题窗体FrmXt 将例7.11中的FrmSele.frm窗体添加到本工程中,并进行重命名另存: 添加FrmSele窗体:执行“工程添加文件”命令,选择例7.11建立的FrmSele.frm文件 将FrmSele.frm另存为FrmXt.frm 返回目录10文库专用8.2 试题库管理程序的设计 3. 添加题库管理窗体FrmSele 将例7.12中的FrmManage.frm窗体添加到本工程中,并进行重命名另存: 添加FrmManage.frm窗体:执行“工程添加文件”命令,选择例7.12建立的FrmManage.frm文件 将FrmManage.frm另存为FrmSele.frm 返回目录11文库专用8.2 试题库管理程序的设计 4. 设计制作考盘窗体FrmCopy (1) 添加窗体:执行“工程添加窗体”命令,添加一个新窗体, 并保存为FrmCopy.frm在窗体上添加两个命令按钮和一个标签。标签的 属性设置:Caption为空,ForeColor为红色。返回目录12文库专用8.2 试题库管理程序的设计 (2) 编写代码 :编写窗体的Load事件响应代码,功能:出现“请插入学生考盘!”的提示编写通用过程CopyDB,功能:复制试题文件编写Cmdqd按钮(“确定”)的Click事件响应代码:调用CopyDB过程,将当前目录中的test.mdb复制到A盘的根目录中编写Cmdexit按钮(“返回”)的Click事件响应代码:卸载制作考盘窗体 返回目录13文库专用8.2 试题库管理程序的设计 5. 添加模块文件xt.bas 执行“工程添加模块”命令,添加一个模块,并 保存为xt.bas 在模块代码窗口中定义通用过程,功能:将窗口 居中安放 返回目录14文库专用8.3 试题答题及评分程序的设计 试题答题及评分程序(学生模块)也是由四个窗体和一个模块文件组成 (xt.bas)组成。 返回目录15文库专用8.3 试题答题及评分程序的设计 1. 考生登录窗体FrmDl (1) 窗体设计:新建一个VB工程,保存为xz.vbp 将窗体Form1保存为FrmDl.frm 按右图进行窗体设计 返回目录16文库专用8.3 试题答题及评分程序的设计(2) 编写代码 :编写窗体的Load事件响应代码: v通过DAO 工作区对象的OpenDatabase方法打开学生考试库Test.MDBv调用xt.bas中的过程(将窗口居中安放) 编写Txtcode文本框(“考核证号”)的LostFocus事件响应代码:失去焦点时检查准考证号输入是否正确 编写Txtname文本框(“姓名”)的LostFocus事件响应代码:失去焦点时检查姓名是否输入返回目录17文库专用8.3 试题答题及评分程序的设计编写Txtzwh文本框(“座位号”)的LostFocus事件响应代码:失去焦点时检查座位号是否正确输入编写cmdml按钮(“正确无误”)的Click事件响应代码:检查准考证号、考生姓名和座位号是否按要求输入。如果正确,则:v向UserDb表中添加一条用户记录。若该记录已存在,则给出相应的提示 v显示Frmxz(考生答题)窗体,卸载Frmdl(考生登录)窗体返回目录18文库专用8.3 试题答题及评分程序的设计 2. 考生答题窗体FrmXz (1) 添加窗体:执行“工程添加窗体”命令,添加一个新窗体,并保 存为FrmXz.frm 在窗体上添加一个SSTab控件:执行“工程部件”命令,“控件” 选Microsoft Tabbed Dialog Control 6.0设置SSTab控件: v 属性窗口中设置Tabs为2,设置TabsPerRow为2 返回目录19文库专用8.3 试题答题及评分程序的设计 设置SSTab控件: v 右击SSTab控件,选“属性”命令, 设置如下:返回目录20文库专用8.3 试题答题及评分程序的设计 设置SSTab控件: v “单选题”选项卡界面设置(部分控件的属性见教材 表8.3): 返回目录21文库专用8.3 试题答题及评分程序的设计 设置SSTab控件: v “填空题”选项卡界面设置(部分控件的属性见教材 表8.4): 返回目录22文库专用8.3 试题答题及评分程序的设计(2) 编写代码 :在 “通用”声明段定义模块级变量及通用过程xianshi编写窗体的Load事件响应代码编写单击Option1按钮(选择答案)的事件响应代码 编写滚动Hscroll(选择题目)的事件响应代码编写单击滚动条上的Optti按钮(选题)的事件响应代码 编写窗体的Activate(激活)事件响应代码 编写单击Cmdjj按钮(“交卷评分” )的事件响应代码编写单击Cmdjs按钮(“结束”)的事件响应代码 返回目录23文库专用8.3 试题答题及评分程序的设计 3. 考生答题未答完提示窗体FrmTs (1) 添加窗体:执行“工程添加窗体”命令,添加一个新窗体,并保存为FrmTs.frm 设计窗体(2) 编写代码 :编写窗体的Load事件响应代码编写单击命令按钮数组的事件响应代码 返回目录24文库专用8.3 试题答题及评分程序的设计 4. 阅卷评分窗体FrmTj (1) 添加窗体:执行“工程添加窗体”命令,添加一个新窗体,并保存为FrmTj.frm 设计窗体返回目录25文库专用8.3 试题答题及评分程序的设计(2) 编写代码 :在 “通用”声明段定义模块级变量Dim senum As Integer 记录答对的选择题数Dim finum As Integer 记录答对的填空题数 编写窗体的Load事件响应代码:判别选择题和填空题的答题是否正确,并给出考生得分 编写单击cmdml按钮(“结束考试”)的事件响应代码:将考生成绩记录在考生表中,并释放记录集对象。返回目录26文库专用8.3 试题答题及评分程序的设计5. 添加模块文件xt.bas “工程添加模块” ,添加一个模块,保存为xt.bas 在模块代码窗口中定义全局变量及通用过程返回目录27文库专用8.4 有待完善的问题与思考 在学生考试库中,由于“se_ksda”(学生答案)和“se_da”(标准答案)在同一个数据表中,考生可以直接打开Access数据库得到标准答案。因而在实际应用中,必须避免发生这种情况。在“自动选题”程序代码中,每一条记录被选中的几率是相同的。而在实际应用中,可以给每道题赋予一个权值,用于表示题目的难易程度,从题库中选择考题时可以选择不同难度的题目,以增加选题的多样性。 返回目录28文库专用
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号