1 / 28

第 8 章 小型试题库系统设计案例

第 8 章 小型试题库系统设计案例. 学习目标: 了解应用项目的设计、分析及开发过程 教学内容: 8.1 系统的组成及功能简述 8.2 试题库管理程序的设计 8.3 试题答题及评分程序的设计 8.4 有待完善的问题与思考. 返回目录. 8.1 系统组成及功能简述 - 系统组成. 小型试题库系统的组成模块: 教师模块:实现题库管理功能 学生模块:实现答题及自动评分功能. 返回目录. 8.1 系统组成及功能简述 - 系统组成. 小型试题库系统的组成模块: 教师模块:实现题库管理功能

stuart
Download Presentation

第 8 章 小型试题库系统设计案例

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第8章 小型试题库系统设计案例 学习目标: 了解应用项目的设计、分析及开发过程 教学内容: 8.1 系统的组成及功能简述 8.2 试题库管理程序的设计 8.3 试题答题及评分程序的设计 8.4 有待完善的问题与思考

  2. 返回目录 8.1 系统组成及功能简述-系统组成 小型试题库系统的组成模块: • 教师模块:实现题库管理功能 • 学生模块:实现答题及自动评分功能

  3. 返回目录 8.1 系统组成及功能简述-系统组成 小型试题库系统的组成模块: • 教师模块:实现题库管理功能 • 学生模块:实现答题及自动评分功能

  4. 返回目录 8.1 系统组成及功能简述-教师模块的功能 试题库管理程序(教师模块)的功能: • 登录(验证用户的合法性) • 题库的管理与维护:记录的新建、修改、删除和定位 • 选题:从题库中自动选择一定数量的选择题和填空题,作为本次学生考试的考试库。 • 生成学生考盘

  5. 返回目录 8.1 系统组成及功能简述-学生模块的功能 试题答题及评分程序(学生模块)的功能: • 随机产生题号,使各考生的题目顺序不一样 • 登录(验证考生的合法性) • 答题。中途退出,可再次进入答题环境。 • 答题结束退出时,系统可自动进行评分。评分后,不能再进入答题界面。 窗体切换流程

  6. 返回目录 8.1 系统组成及功能简述-数据库设计 • 以第7章[例7.11]中建立的试题库TestDb.MDB和学生考试库Test.MDB为基础 • 为验证学生身份的合法性以及记录学生的成绩,需在考试库Test.MDB中增加一个考生表UserDb,结构:

  7. 返回目录 8.2 试题库管理程序的设计 试题库管理程序(教师模块)由四个窗体和一个模块文件(xt.bas)组成

  8. 返回目录 8.2 试题库管理程序的设计 1. 用户登录窗体FrmDl (1) 窗体设计: • 新建一个VB工程,保存为ctk.vbp • 将窗体Form1保存为FrmDl.frm • 部分控件的属性见教材表8.2

  9. 返回目录 8.2 试题库管理程序的设计 (2) 编写代码 : • 在程序的“通用”声明段定义模块级变量 Dim cs As Integer '记录用户登录时出错的次数 • 编写窗体的Load事件响应代码:调用xt.bas中的通用过程CenterOnSetupForm(功能:将窗口居中安放) • 编写Cmgqd按钮(“确定”)的Click事件响应代码:检查用户名和密码是否正确。如果连错3次,只能退出 • 编写Cmdml按钮(控件数组按钮)的Click事件响应代码:根据选择打开"题库管理"、"选题"或"制作考盘"窗体

  10. 返回目录 8.2 试题库管理程序的设计 2. 添加自动选题窗体FrmXt 将[例7.11]中的FrmSele.frm窗体添加到本工程中,并进行重命名另存: • 添加FrmSele窗体: 执行“工程→添加文件”命令,选择[例7.11]建立的FrmSele.frm文件 • 将FrmSele.frm另存为FrmXt.frm

  11. 返回目录 8.2 试题库管理程序的设计 3. 添加题库管理窗体FrmSele 将[例7.12]中的FrmManage.frm窗体添加到本工程中,并进行重命名另存: • 添加FrmManage.frm窗体: 执行“工程→添加文件”命令,选择[例7.12]建立的FrmManage.frm文件 • 将FrmManage.frm另存为FrmSele.frm

  12. 返回目录 8.2 试题库管理程序的设计 4. 设计制作考盘窗体FrmCopy (1) 添加窗体: • 执行“工程→添加窗体”命令,添加一个新窗体,并保存为FrmCopy.frm • 在窗体上添加两个命令按钮和一个标签。标签的属性设置:Caption为空,ForeColor为红色。

  13. 返回目录 8.2 试题库管理程序的设计 (2) 编写代码 : • 编写窗体的Load事件响应代码,功能:出现“请插入学生考盘!”的提示 • 编写通用过程CopyDB,功能:复制试题文件 • 编写Cmdqd按钮(“确定”)的Click事件响应代码:调用CopyDB过程,将当前目录中的test.mdb复制到A盘的根目录中 • 编写Cmdexit按钮(“返回”)的Click事件响应代码:卸载制作考盘窗体

  14. 返回目录 8.2 试题库管理程序的设计 5. 添加模块文件xt.bas • 执行“工程→添加模块”命令,添加一个模块,并保存为xt.bas • 在模块代码窗口中定义通用过程,功能:将窗口居中安放

  15. 返回目录 8.3 试题答题及评分程序的设计 试题答题及评分程序(学生模块)也是由四个窗体和一个模块文件组成 (xt.bas)组成。

  16. 返回目录 8.3 试题答题及评分程序的设计 1. 考生登录窗体FrmDl (1) 窗体设计: • 新建一个VB工程,保存为xz.vbp • 将窗体Form1保存为FrmDl.frm • 按右图进行窗体设计

  17. 返回目录 8.3 试题答题及评分程序的设计 (2) 编写代码 : • 编写窗体的Load事件响应代码: • 通过DAO 工作区对象的OpenDatabase方法打开学生考试库Test.MDB • 调用xt.bas中的过程(将窗口居中安放) • 编写Txtcode文本框(“考核证号”)的LostFocus事件响应代码:失去焦点时检查准考证号输入是否正确 • 编写Txtname文本框(“姓名”)的LostFocus事件响应代码:失去焦点时检查姓名是否输入

  18. 返回目录 8.3 试题答题及评分程序的设计 • 编写Txtzwh文本框(“座位号”)的LostFocus事件响应代码:失去焦点时检查座位号是否正确输入 • 编写cmdml按钮(“正确无误”)的Click事件响应代码:检查准考证号、考生姓名和座位号是否按要求输入。如果正确,则: • 向UserDb表中添加一条用户记录。若该记录已存在,则给出相应的提示 • 显示Frmxz(考生答题)窗体,卸载Frmdl(考生登录)窗体

  19. 返回目录 8.3 试题答题及评分程序的设计 2. 考生答题窗体FrmXz (1) 添加窗体: • 执行“工程→添加窗体”命令,添加一个新窗体,并保存为FrmXz.frm • 在窗体上添加一个SSTab控件:执行“工程→部件”命令,“控件” 选Microsoft Tabbed Dialog Control 6.0 • 设置SSTab控件: • 属性窗口中设置Tabs为2,设置TabsPerRow为2

  20. 返回目录 8.3 试题答题及评分程序的设计 • 设置SSTab控件: • 右击SSTab控件,选“属性”命令, 设置如下:

  21. 返回目录 8.3 试题答题及评分程序的设计 • 设置SSTab控件: • “单选题”选项卡界面设置(部分控件的属性见教材表8.3):

  22. 返回目录 8.3 试题答题及评分程序的设计 • 设置SSTab控件: • “填空题”选项卡界面设置(部分控件的属性见教材表8.4):

  23. 返回目录 8.3 试题答题及评分程序的设计 (2) 编写代码 : • 在 “通用”声明段定义模块级变量及通用过程xianshi • 编写窗体的Load事件响应代码 • 编写单击Option1按钮(选择答案)的事件响应代码 • 编写滚动Hscroll(选择题目)的事件响应代码 • 编写单击滚动条上的Optti按钮(选题)的事件响应代码 • 编写窗体的Activate(激活)事件响应代码 • 编写单击Cmdjj按钮(“交卷评分” )的事件响应代码 • 编写单击Cmdjs按钮(“结束”)的事件响应代码

  24. 返回目录 8.3 试题答题及评分程序的设计 3. 考生答题未答完提示窗体FrmTs (1) 添加窗体: • 执行“工程→添加窗体”命令, 添加一个新窗体,并保存为 FrmTs.frm • 设计窗体 (2) 编写代码 : • 编写窗体的Load事件响应代码 • 编写单击命令按钮数组的事件 响应代码

  25. 返回目录 8.3 试题答题及评分程序的设计 4. 阅卷评分窗体FrmTj (1) 添加窗体: • 执行“工程→添加窗体” 命令,添加一个新窗体, 并保存为FrmTj.frm • 设计窗体

  26. 返回目录 8.3 试题答题及评分程序的设计 (2) 编写代码 : • 在 “通用”声明段定义模块级变量 Dim senum As Integer '记录答对的选择题数 Dim finum As Integer '记录答对的填空题数 • 编写窗体的Load事件响应代码:判别选择题和填空题的答题是否正确,并给出考生得分 • 编写单击cmdml按钮(“结束考试”)的事件响应代码:将考生成绩记录在考生表中,并释放记录集对象。

  27. 返回目录 8.3 试题答题及评分程序的设计 5. 添加模块文件xt.bas • “工程→添加模块” ,添加一个模块,保存为xt.bas • 在模块代码窗口中定义全局变量及通用过程

  28. 返回目录 8.4 有待完善的问题与思考 • 在学生考试库中,由于“se_ksda”(学生答案)和“se_da”(标准答案)在同一个数据表中,考生可以直接打开Access数据库得到标准答案。因而在实际应用中,必须避免发生这种情况。 • 在“自动选题”程序代码中,每一条记录被选中的几率是相同的。而在实际应用中,可以给每道题赋予一个权值,用于表示题目的难易程度,从题库中选择考题时可以选择不同难度的题目,以增加选题的多样性。

More Related