1、基于CCCC游戏应用程序的软件度量翻开文本图片集:该文使用C/C+代码度量工具对四款采用不同程序设计语言编写的游戏应用程序进行软件度量。四款应用程序中有三个完全使用C+编写,每个应用程序所包含的类都不尽相同。该工具计算每个应用的度量结果,给出度量的极限值,并以此为依据进行评估。通过分析不同程序每行注释的圈复杂度结果的相关性,揭示出编程时需要采用的编码基准。关键词:代码度量;代码行;游戏应用程序中图分类号:TP311 文献标识码:A 文章编号:1009-3044202322-0082-021概述如今,计算机在我们生活的各个领域都扮演着不可或缺的角色,与此同时,在计算机上运行的软件也就越来越重要。
2、因此,对软件开发和软件产品的控制与预测就成为一个亟待解决的问题。软件度量就是衡量软件品质上下的一种方法。软件品质就是指软件本身及其执行流程能满足用户的需求的程度。在过去30年间,软件度量或者软件工程度量是一个非常活泼的软件研究领域。它可以理解为:度量是客观对象到数字对象的同态映射。同态映射包括所有关系和结构映射。用另一句话说,软件品质和软件度量成直对关系。C/C+程序设计语言编写的游戏应用程序可以通过一些代码度量工具进行评估。C+代码度量工具CCCC是用以度量C/C+源代码的工具,它以HTML格式生成度量报告。报告中包含各种表格、交换区和覆盖区的各种模块。为了验证度量工具的有效性,我们选择了四
3、款由不同编程语言开发的游戏应用程序,并选择一些典型度量标准评估这些应用。目前,这些度量工具已经通过网络得到了广泛推广和使用。2度量环境我们选取了四款使用C/C+开发的游戏:贪吃蛇、弹珠球、拳击、赛车。这四款游戏没有任何相似之处,且均可在计算机上独立运行,对系统内存负载很小。它们都不是图形化的游戏,可以在任何支持根本视频处理器和2GB以上内存的计算机上运行。因此,使用C+代码度量工具CCCC和R工具很容易评估它们的度量数据。3度量数据NOM:模块数包括主模块的类。分析仪识别出的非常重要的模块数量。有价值的模块包含所有的类和一些被甄别出的功能模块。LOC:代码行数。分析仪识别出的非空白、非备注的代
4、码行数。COM:注释行数。分析仪识别出的备注行数。MVG:McCabe圈复杂度。度量组成程序功能选择上的不可预测性。严格含义上讲,是将软件的流程图转化为有向图,然后以图论的知识和计算方法来衡量软件的质量。分析仪通过识别包含在每个功能内的明确选择结果,从而对正式度量变量进行有效的估算。ILC=Lines 0f code per line of remark which demonstratesthickness of remarks as for printed size of the program.Lc:代码行一注释行比,表达程序打印尺寸中备注的百分比。M_C=Cyclomatic Comp
5、lexity per line 0f remark whichdemonstrates thickness of remarks as for consistentmuhifaceted nature of programM_C:每行注释的圈复杂度,表达连续、多面性的程序中备注的百分比。REJ:解析器忽略的行数。4结果分析我们使用C+代码度量工具CCCC对四款游戏进行软件度量,结果如表1所示。表中给出了每款游戏的度量结果,从中可以看出:当应用程序的代码行减少,注释行和功能模块的数量也同步减少时,McCabe圈复杂度就会降低。5度量工具5.1CCCCC+代码度量工具CCCC是一种用于分析各种程序
6、设计语言主要是C/C+源代码的工具,它在分析各种代码处理结果的根底上,会生成HTML格式的度量报告。尽管该工具设计之初主要用以分析C/C+源代码,但现在的版本也可用来分析C#、Java、Pvthon等程序设计语言的源代码。这种对源代码的度量通常被称为“软件度量,或更准确地称为“软件过程度量因为“软件度量也包括对软件生产过程的度量。在现代软件工程领域有一种达成共识的主流思想,即对应用程序而言,虽然就什么是值得度量的和哪些度量的意义不大的问题上还没有达成统一的意见,但进行某种意义上的度量终归是一件好事。C+代码度量工具CCCC现已被开发成一款免费软件,并以开源的形式发布,用以鼓励用户自己编译程序并
7、修改源代码,表达其偏好和兴趣。5.2R工具R工具是一个界面友好、免费开源的工具,用户可以使用它来绘制图表。R工具提供各种类型的图表模板,来比拟不同应用程序的数据。使用该工具时,用户只需先加载数据,然后根据提示,一步步按指令形成图表即可。我们通过R工具绘制出的假设干图表,能更清晰、直观地观察到表中各应用程序的评估结果及关联性。最终,图表6展现了各种应用程序的圈复杂度。6结论通过使用C+代码度量工具CCCC,我们可以评估每个应用程序的度量结果,而无需获取信息。每个应用程序的评估结果由工具给出,而图表那么进一步佐证了度量的准确和结果的有效。游戲开发与制作所使用的方法和工具有很多,以至于难以追踪其数据。随着游戏应用份额的迅猛增长和类型趋于多样化,统计数据的比拟往往成为不可能完成的任务,但是在使用这些工具和方法后,让一切成为可能。因此,拥有广阔的应用前景。