您的位置:首页 > 编程语言 > Java开发

研究与实现Java编程题自动评分技术的

2017-01-04 17:03 281 查看
要想从XML文件中提取所需要的数据,另一种解决方案是通过XML查询技术获取。XML查询技术主要有两种: XPath与 XQuery。

    (1)XPath

    XPath语言的核心是编写XPath路径表达式,以便使应用程序更加方便、快捷地从XML文件中检索到所需要的数据。一个XPath路径表达式是由若干“定位步”从左到右用“/”连接而构成路径,而“定位步”又是由轴、节点测试和可选的谓词所构成。“定位步”中的轴的作用是在树形结构数据中给出寻找Node节点的方向;节点测试的作用事给出寻找的Node节点应当属于哪种细分的类型(比如Element或Text类型等);谓词的作用是给出所寻找的节点所需要满足的进一步的条件(谓词是可选项)。

    (2)XQuery
    XQuery 是在 XPath 的基础上发展的一种用于文件和数据库中基于 XML 文档内容的半结构化查询语言,无疑 XQuery 的功能比 XPath 要强大得多。两者之间的一个不同之处在于,XQuery 表达式返回一个经过排序的节点序列,而 XPath表达式返回的是一个节点集合。此外,XQuery 支持更多的数据类型、更丰富的表达式类型和操作符以及模块的使用和模式验证等机制。





    XQuery 的 FLWOR 功能尤为强大,其 FLWOR 表达式与 SQL 语句非常类似。

    FLWOR 是 “for 语句、let 语句、where 语句、order by 语句、return 语句” 的缩写,应用 FLWOR 表达式可得到更精确结果。

    2.5 本章小结

    本章介绍了评分系统所涉及到的相关技术以及它们各自在评分系统中的应用。首先,阐述了Java反射机制原理、用Java语言实现反射机制的步骤以及了利用反射机制轻松提取考生程序的相关信息进行功能测试富有较大的灵活性。17其次,介绍了作为文本模式匹配的强有力工具--正则表达式的构成字符、正则表达式的应用步骤及实例。在系统设计过程中,将所有可能的解题方法存放到标准答案中,再利用正则表达式描述标准答案的知识要点与考生程序进行匹配评分,使评分结果更加合理、准确。接着,概述了几种常用的UML模型图以及UML建模过程,评分系统开发过程中应用UML建模的好处是能够以一种直观、易于理解的方式展示系统开发各环节。最后,介绍了XML文档的结构特点以及XML文档的相关验证、解析、查询技术,标准答案以XML格式存储,能够清晰地体现标准答案中多个试题、每个试题多个知识要点以及相应得分的复杂逻辑关系。18第
3 章 自动评分系统的总体设计

    评分系统技术方案的合理性直接影响到评分系统的性能,因此在技术方案中,首先力求准确地描述评分方法和系统需求建模,并重点讨论模型设计、数据库设计、试卷标准答案的 XML 文档格式以及 XML 数据的加解密技术等。

    3.1 系统需求建模

    本文的核心在于研究自动评分的关键技术之实现,故与评分相关的前期一些环节(自动组卷、考务管理等)在这里不做详细的介绍。

    自动评分模块的主要功能包括:(1)导入考生程序(2)提取标准答案(3)程序查错及局部纠错(4)黑盒测试(5)知识要点匹配评分。其中,程序查错及局部纠错技术、黑盒测试技术、知识要点匹配评分技术是自动评分系统的三大关键技术。此外,为方便教师在评分后能够查看成绩并统计成绩,系统还设计了成绩查询和成绩图表统计两个功能。

    通过上述的功能分析,识别出与系统交互的角色为教师,系统对教师提供三大功能,分别为:自动评分、成绩查询和成绩图表统计。系统的每个功能抽象为一个用况,系统的用况图如 3.1 所示:

    图 3.1 系统的用况图

    系统各用况的动作序列如表 3.1——3.3 所示:19表 3.1“自动评分”用况

    用况名称 自动评分

    用况简述 系统根据导入的考生程序提取相应标准答案进行自动评分主事件流 1)教师导入考生程序。

    2)评分系统根据考生程序的文件名从数据库读取相应试题号并提取该试题号所对应的标准答案。

    3)评分系统将考生程序与标准答案进行匹配评分。

    4)在屏幕上显示评分过程及结果。

    5)评分系统把评分的结果存储到数据库中。

    表 3.2 “成绩查询”用况

    用况名称 成绩查询

    用况简述 教师查看考生成绩

    主事件流 1)教师选择查询条件(学号、姓名、班级),并输入相应值,单击“查询”按钮。

    2)评分系统从数据库中查询是否存在满足条件的记录。

    3)在屏幕上显示查询结果。

    例外事件流 2a)[没找到满足条件的记录]评分系统出现无此记录的消息提示,回到主事件流 1,重新选择查询条件并输入相应的值。

    表 3.3 “成绩图表统计”用况

    用况名称 成绩图表统计

    用况简述 教师按班级统计及格率和成绩分布情况主事件流 1)教师输入要进行统计的班级,选择成绩统计的方式(饼图、柱状图),单击“统计”按钮。

    2)评分系统根据输入的班级及选定的成绩统计方式,计算得出统计结果。

    3)在屏幕上以相应的图形显示统计结果。

    例外事件流 1a)[没有该班级]评分系统出现没有找到该班级的提示信息,回到主事件流 1,重新输入班级。

    业务规则 1)及格率=及格人数/班级总人数,成绩>60 为及格。

    2) 各分数段比例=该分数段人数/班级总人数203.2 静态结构建模

    本文采用类图来描述自动评分模块的静态结构,即使用类图展示自动评分模块中各个类的主要性质(内部结构)及类之间的关系。通过对“自动评分”

    用况的主事件流的分析并结合系统采用的 MVC 设计模式,从中抽取出 4 个类,分别为: GradingView(评分功能视图类)、 GradingController(评分功能控制器类) 、GradingModel(评分功能模型类) 、DBAccess(数据库连接类)。

    评分模块的类图如图 3.3 所示:

    图 3.3 系统评分模块的类图

    3.3 动态行为建模

    动态建模是为了进一步修改及完善静态结构,从而更好地满足用户的需求,达到系统设计的目标。本文采用序列图描述系统评分模块中对象的动态交互情况,同时用活动图描述系统评分模块的业务流程。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息