欢迎来到天天文库
浏览记录
ID:33504392
大小:420.35 KB
页数:6页
时间:2019-02-26
《java编程题自动判分软件框架的设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、万方数据计算机工程与设计ComputerEngineeringandDesign2010,31(24)5343·开发与应用·Java编程题自动判分软件框架的设计娄不夜C'fi-都经济贸易大学信息学院,北京100070)摘要:通过分析面向对象程序及其判分规则的特点,提出了一种基于反射机制、以class文件为评判对象,判分项为基本评判单元的Java编程题自动判分技术。该技术克服了现有自动判分技术存在的不足,遵循了面向对象程序固有的特征;以此为基础设计并实现了一个Java编程题自动判分软件框架。借助此框架,
2、可以快速搭建各类涉及Java编程题自动判分功能的考试系统和作业评判系统。最后通过一个实际系统的开发表明了该框架的有效性.关键词:Java编程题;自动判分;Java反射;结构性代码9’功能性代码;软件框架中图法分类号:TP311文献标识码:A文章编号:1000-7024(2010)24-5343-04Designofauto—markingsoftwareframeworkforJavaprogrammingquestionsLOUBu-ye(CollegeofInformation,CapitalUn
3、iversityofEconomicsandBusiness,Beijing100070,China)Abstract:AReranalyzingthecharacteristicsofobject-orientedprogramminganditsmarkingrules,allauto-markingtechnologybasedOnreflectionmechanismforJavaprogrammingquestionsispresented.Inthistechnology,classfil
4、eisjudgedobject,markingitemisjudgedunit.Withthetechnology,theshortcomingsofthecurrentauto-markingtechnologyareovercome,theinherentfeaturesofobject-orientedprogrammingarofollowed.Thenanauto-markingsoftwareframeworkisdesignedandimplemented.WiththesoRwaref
5、l'alnowork,allauto—markingsystemorexerciseevaluationsystemrelatedtoJavaprogrammingcallbebuildquickly.Finally,effectivenessofthesoftwareframeworkisdemonstratedbypracticalapplication.Keywords:Javaprogrammingquestions;auto-marking;Javareflection;structural
6、code;functionalcode;softwarefi'amework0引言的软件设计。目前对编程题进行自动判分的方法主要有3种:①根据静态结果文件进行判分[1-2]判分系统通过比较考生提供的结果文件和预先准备的标准结果文件的内容进行评判;②通过动态执行程序进行判分啪,判分系统动态编译考生提交的程序,并按照一定的测试用例动态执行程序,通过比较程序运行返回的结果和标准结果进行评判:③根据程序源代码进行判分Ⅲ,判分系统按照一定的算法对考生提交的源程序代码和预先准备的标准源程序代码内容进行比较,依据它
7、们的相似性进行评判。这些方法各有优缺点,一些文献【5.-6]介绍的判分系统同时采用多种方法以弥补单种方法存在的不足。但纵观这些方法的技术特点,它们都是针对面向过程程序的特点提出的,适合于面向过程程序的评判。相比面向过程程序,面向对象程序无论从编程思想、程序结构,还是语法成分、成分之间的逻辑关系以及代码形式上都有其自身的特点。本文将从面向对象程序的特点入手,探讨Java编程题的自动判分技术及相应1Java编程题判分规则特点分析面向对象程序主要由~组相对独立的类声明组成,以类为单位进行判分是一种较为合理也
8、是可行的做法。每个类的代码可认为由结构性代码和功能性代码两部分组成。结构性代码主要包括类、成员变量、构造器和方法声明的头部。功能性代码主要是指构造器和方法的体代码。对一个类代码进行判分,既要对功能性代码进行评判,也要对结构性代码进行评判,通常由若干判分项(点)组成,每个判分项有一定的分值。常见的判分项如下:(1)类是否有指定的访问修饰符、超类和超接口。(2)是否有指定的成员变量,该成员变量是否有指定的修饰符、类型。(3)是否有指定的构造器,该构造器是否有
此文档下载收益归作者所有