《机械制图》智能组卷专家系统的设计
时间:2015-12-21 01:46:08 所属分类:计算机技术 浏览量:
摘 要:利用面向对象编程工具Visual C++6.0将专家系统技术和数据库技术应用到《机械制图》课程试题库建设及试卷组卷中,建立了《机械制图》智能组卷专家系统。结果表明:只要输入对试卷限制条件,计算机高效随机组卷便可实现。 关键词:机械制图 智能组卷专
摘 要:利用面向对象编程工具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();在这三个函数里面通过声明记录集的实例,然后编写一些对知识库操作的源代码即可以实现对数据库的操作。
通过编写OnRead()函数可以实现对知识库的查看,通过查看可以知道知识库的内容,以便决定下一步的操作。
通过编写OnAdd()函数可以实现对知识库的添加,相当于知识库获取机构的作用。
通过编写OnDetele()函数可以实现对知识库中过期的内容进行删除。
3.推理机的创建
推理机的功能是模拟专家的思维过程,控制并执行对问题的求解。它能根据当前已知的事实,利用知识库的知识,按一定的推理方法和控制策略进行推理,直到得出相应的结论为止。推理方向有正向推理,反向推理和正反向混合推理,本智能组卷专家系统采用正向推理。推理过程如右图所示:
4.动态数据库的创建
动态数据库又称“黑板”、“综合数据库”,主要用于存放用户提供的初始事实,问题描述及系统运行过程中得到的中间结果,最终结果等信息。数据库的内容是不断变化的,这也是“动态”或“黑板”的由来。
动态数据库也是通过一个基于对话框的类实现的,它的声明如下:
class CTextRanddesign : public CDialog
{ public: int m_nRandNum;
protected: afx_msg void OnTestrand(); };
通过OnTestrand()函数可以实现推理机的功能。把输入的原始数据经过推理并且把结果输出到该类的对话框界面上来。实现动态数据库的功能。
以上论述了如何在Visual C++工作平台上设计出《机械制图》试题库组卷专家系统的过程,下面通过一个实例来加以说明。
5.系统运行实例
要求设计一套试卷,其中填空题6个,选择题6个,作图题8个以及分析题1个。我们只需要输入各种题型的题数,然后点击试题选择按钮,就可以随机产生符合要求的所有试题。右图是产生所有试题的系统界面。
三、总结
通过该系统,用户就可以根据对试卷的要求随机迅速地产生一套试题,这样对实行教考分离,客观地检查学生的学习情况,评估教师的教学质量,加强教学管理都有重要的意义,此外,还可以减轻教师的工作强度。
参考文献
[1] 何高法,陆笑容.《机械设计基础》试题库系统软件设计.《重庆工业高等专科学校学报》2001,16(2) .
[2] 张宇.试题数据库的设计.《培训与研究—湖北教育学院学报》.2003,20(2) .
[3] 肖力 编著.《Visual C++程序设计教程》.第2版.科学出版社 2004.
[4] 何铭新,钱可强 主编.《机械制图》第4版.高等教育出版社 1997.
转载请注明来自:http://www.zazhifabiao.com/lunwen/gcjs/jsjjs/36275.html