娄不夜:Java编程题自动判分软件框架的设计2010,31(24)5343
开发与应用
0引言
的软件设计。
目前对编程题进行自动判分的方法主要有3种:①根据静态结果文件进行判分[1-2],判分系统通过比较考生提供的结果文件和预先准备的标准结果文件的内容进行评判;②通过动态执行程序进行判分,判分系统动态编译考生提交的程序,并按照一定的测试用例动态执行程序,通过比较程序运行返回的结果和标准结果进行评判;③根据程序源代码进行判分[4],判分系统按照一定的算法对考生提交的源程序代码和预先准备的标准源程序代码内容进行比较,依据它们的相似性进行评判。
这些方法各有优缺点,一些文献[5-6]介绍的判分系统同时采用多种方法以弥补单种方法存在的不足。但纵观这些方法的技术特点,它们都是针对面向过程程序的特点提出的,适合于面向过程程序的评判。相比面向过程程序,面向对象程序无论从编程思想、程序结构,还是语法成分、成分之间的逻辑关系以及代码形式上都有其自身的特点。本文将从面向对象程序的特点入手,探讨Java编程题的自动判分技术及相应
[3]
1Java编程题判分规则特点分析
面向对象程序主要由一组相对独立的类声明组成,以类为单位进行判分是一种较为合理也是可行的做法。
每个类的代码可认为由结构性代码和功能性代码两部分组成。结构性代码主要包括类、成员变量、构造器和方法声明的头部。功能性代码主要是指构造器和方法的体代码。
对一个类代码进行判分,既要对功能性代码进行评判,也要对结构性代码进行评判,通常由若干判分项(点)组成,每个判分项有一定的分值。常见的判分项如下:
(1)类是否有指定的访问修饰符、超类和超接口。(2)是否有指定的成员变量,该成员变量是否有指定的修饰符、类型。
(3)是否有指定的构造器,该构造器是否有指定的访问修饰符、可能会抛出的例外类型。
(4)是否有指定的方法,该方法是否有指定的修饰符、返回类型和可能会抛出的例外类型。
收稿日期:2010-01-12;修订日期:2010-03-28。

Java 编程题自动判分软件框架的设计 娄不夜 (首都经济贸易大学 信息学院,北京 100070) 摘要: 通过分析面向对象程序及其判分规则的特点, 提出了一种基于反射机制、...
该技术克服了现有自动判分技术存在的不足,遵循了 面向对象程序固有的特征;以此 为基础设计并实现了一个 Java 编程题自动判分软件框架。借助此框架,可以快速搭建...
Java 编程题自动判分软件框架的设计 娄不夜 (首都经济贸易大学 信息学院,北京 100070) 摘要: 通过分析面向对象程序及其判分规则的特点, 提出了一种基于反射机制、...
基于反射机制的Java编程题自动评分技术_专业资料。针对传统的编程题自动评分方法没有考虑如何检测考生编程思想以及现有的基于程序理解与基于语义分析模型实现难度大且...
组号: 2 湖南科技职业学院 ISAS 文档 ISAS 专班 题目 业级 Java 程序设计中常用的框架介绍 软件技术(CMU 方向) CMU—3091 金莲芳 指导教师 小组成员 :麻冲、...
网格布局(Grid Layout) 3、java.awt 包提供了基本的 java 程序的 GUI 设计工具,包含控件、容器和() A.布局管理器 B.数据传送器 C.图形和图像工具 D.用户...
Java程序设计编程题目_工学_高等教育_教育专区。Java程序设计编程题目一般题: 1...25、 设计一个汽车类Multiplication,在其中定义三个同名的mul方法:第一个方法是...
Java程序设计——09集合框架_计算机软件及应用_IT/计算机_专业资料。Java提供了...– Java的设计者在设计Java时,充分考虑了这一点,通过单根继承 (Object类),...
( ) A)一种全新的程序语言 B)一种程序开发辅助工具 C)一种由 Java 写成的,并支持 Java Applet 的浏览器 D)一种游戏软件 8、Java 用来定义一个类时,所...
闽公网安备 35021102001881号 
热门文档