摘 要:利用面向对象编程工具Visual C++6.0将专家系统技术和数据库技术应用到《机械制图》课程试题库建设及试卷组卷中,建立了《机械制图》智能组卷专家系统。结果表明:只要输入对试卷限制条件,计算机高效随机组卷便可实现。
关键词:机械制图 智能组卷专家系统 Visual C++6.0
着眼于二十一世纪对人才素质的要求,高等院校的教学改革应朝着优化专业设置、课程设置、改革课程教学内容体系、教学方法、考试形式、教考分离以及建立试题库等方面深入发展。在考试改革方面建立相关专业尤其是专业基础课试题库实行教考分离,这在工科类院校和综合性大学已是普遍现象。目前,无论是由任课老师出卷还是实行教考分离,人工出卷都有很多弊端。首先,每个老师对所教课程的理解不一样,其结果是每个老师所出的题目都有各自的侧重点。不能很好地考查学生对该课程地掌握程度。其次,不利于学校教学工作的持续健康发展,学校采用人工出卷,就难以对试题资源进行统一管理。再次,人工出卷大大增加了教师的工作量。特别是有很多重复性劳动。
本文所设计的《机械制图》智能组卷专家系统可以解决人工出卷的弊端。试题库共100套试题,四大类型,按照排列组合计算完全可以满足教学试题的需要。只要向计算机输入对试卷的限制条件如题型、题型数量等,系统便可随机自动组卷,因此,该系统对实现教考分离,真实客观地检查学生的学习情况,为评估教师的教学质量,加强教学管理都有非常重要的意义。
一、系统功能及模块
系统结构框图
智能组卷专家系统分为两大模块,第一大模块是试题数据库的管理模块,用户可以把优秀的试题通过该模块保存到试题数据库中,用户还可以浏览整个数据库中的试题,如果试题有问题,可以把该试题删除,如果有好试题可以添加进入试题数据库中。第二大模块是试卷设计模块,用户只需要输入你对试卷的要求,系统就自动随机产生符合要求的试题。从而组成试卷。
二、智能组卷专家系统的结构设计
本智能组卷系统采用了专家系统的结构形式,因此包括以下几个部分:人机接口(设计界面)、知识库管理(其中包括知识库获取机构)、动态数据库、推理机。设计使用的软件为面向对象编程工具Visual C++6.0。各个部分的具体设计
1.人机接口的创建
人机接口是专家系统与领域专家、知识工程、一般用户间进行交互的界面,用于完成输入输出工作。它是通过设计一个基于对话框的类而创建得到的。在该类中有三个函数分别实现进入试卷设计模块、试题数据库管理界面和退出系统三个功能。三个函数的代码
void CMyDlg::OnDb() //进入试题数据库管理模块函数
{ CDatabase1 db; db.DoModal();
CShitishujukuSet new3; //同时打开知识库连接
new3.Open(); new3.MoveFirst(); }
void CMyDlg::OnButton1() //试卷设计模块
{ CTextRanddesign db2; db2.DoModal(); }
void CMyDlg::OnCancel() //退出系统
{ CDialog::OnCancel();}
2.知识库管理的创建
在本智能组卷专家系统中,知识库和知识获取机构一起通过试题数据库管理的类来创建。首先,采用数据库技术建立知识库系统,本系统采用Microsoft Access来创建知识库系统。建立储存试题的数据库之后,就要在ODBC中登录该数据库。Visual C++是通过ODBC来访问数据库的。所以用户首先要让ODBC知道你用的是那一种数据库,这样才会找到相应的数据库驱动程序来访问它。
建立并登录数据源之后,就要开始建立创建该数据库的记录集,这样之后,就可以通过声明该记录集的一个实例来实现的数据库的操作。
该知识库的记录集是通过CRecordset类派生得到的。该类的声明
class CShitishujukuSet : public Crecordset //试题数据库的记录集
{ public: CString m_TIXING; ………………}
完成试题数据库记录集的设置之后,就可以实现对该数据库的管理了,本专家系统通过使用一个基于对话框的类来管理知识库。
class CDatabase1 : public CDialog
{ protected: afx_msg void OnRead(); …………};
其中有三个函数OnRead();OnAdd();OnDetele();在这三个函数里面通过声明记录集的实例,然后编写一些对知识库操作的源代码即可以实现对数据库的操作。