AutoCAD 3DMAX C语言 Pro/E UG JAVA编程 PHP编程 Maya动画 Matlab应用 Android
Photoshop Word Excel flash VB编程 VC编程 Coreldraw SolidWorks A Designer Unity3D
 首页 > 软件工程

“寻找圣杯的任务”——度量软件之美

51自学网 http://www.51zixue.net

 

  代码实践

  下图展示了两段相同功能的代码,在重构前后的结构示意图。


  ProfileConf直接使用了第三方SNMP协议包,而ProfileConfNew则使用了封装后的SNMP协议软件包。进行协议封装的目的一是为了隔离第三方软件包,另一个目的是为了简化客户端使用SNMP协议栈的操作。改造完成后,我们使用Together自带的软件测量工具进行了数据测量。选择Together菜单中tools——>metrics,里面提供了大量的测量指标。


  我们选择了几个比较关注的指标,对新旧代码进行了测量,下面是测量结果。


  下表对测量指标做简单说明。

 


  通过数据可以看出,改进以后,编写的代码有所减少,大约节省三分之一的代码;耦合度有所降低,但并不是特别明显,因为我们把对第三方协议包的依赖转为对自己编织的协议包的依赖了;代码复杂度大大降低,这是因为我们自己编写的协议包更符合实际使用情况,因而使代码编写难度大大降低,非常容易学习,修改和维护。数据说明了一切。

  总结

  软件度量最终的目标是要提供统一衡量软件质量的标准,并促使软件质量的不断提高,这项任务被人称为是“寻找圣杯的任务”。但是,无数的科学事实都说明,如果因为目标太难达到就不作任何工作,就不可能有任何进步。在达到最终目标之前的过程中,会有很多有益的
小发现,这些发现又在不断促进新的发现,最后使不可能变成可能。

  软件度量科学的发展同样在追求最终目标的过程中为我们带来了众多的有益发现,让我们用更加科学和严谨的态度来看待软件质量问题;让我们对代码的认识从定性描述阶段,进入到定量描述阶段;让我们感受到科学和美学的统一所展现出的巨大魅力。

 
 

上一篇:测试工具的选择和使用  下一篇:项目经理:做好项目开始阶段的九条经验