论文部分内容阅读
数据库技术是当今信息处理的基本手段,数据库课程是国内高校计算机专业学生必修的专业基础课程,数据库课程建设的好坏直接影响到培养学生的质量的高低。藉此,将科学的、量化的考核和评价方法引入数据库课程实验考评中,准确地考核和评价每个学生的编程能力,发现问题所在、完善教学环节。通过实验促进教学,对形成课堂教学与课程实验环节的良性循环有着重要的现实意义和实用价值。本文基于程序相似性度量方法原理,利用结构相似匹配方法计算学生程序相似度,作为成绩评估的定量依据;结合静态、动态策略构建评估模型,综合各种度量指标,给出定量的评判结果。同时,在程序结构相似匹配过程中,通过框定相异子树,适时进行知识推送,为解决实验过程中出现的问题提供及时的帮助。本文的主要工作如下:1、对比分析了已有动态评估方法和静态评估方法的适用范围和优缺点,采用了以静态为主、动态为辅并两两结合的评估方法。其中通过程序结构相似性匹配来实现静态策略,通过分析程序执行结果来实现动态策略。2、通过对SQL的规范化处理,借鉴编译原理词法及语法分析的一般流程和输出结果,先抽取出SQL的抽象语法树;然后针对SQL语言结构化特点,通过对问题域进行转换,获取作为相似度量对象的SQL语法树。3、根据抽取到的SQL语法树,利用树编辑距离算法计算当前学生程序树与最优模板程序树之间的相似性值。针对树中不同节点对相似度影响的不同,给出了改进的算法代价模型;通过定义相似度因子来度量部分相似结构对整体相似度的影响度。4、以相似度值作为静态评估的主要度量,结合动态测试评估因素,设计了评估模型框架,确定了模型的评分机制。分析树匹配所得的树映射和转换表,设计算法实现了错误定位,以及结构层面的错误归类。5、论文对数据库实验平台原型系统进行了设计与实现。通过提交模块、评估模块、知识挖掘等功能模块,模拟了整个实验流程,并对相似匹配的评估方法的准确性进行了验证。