- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
代码质量管理平台Sonar在软件项目管理中应用研究
代码质量管理平台Sonar在软件项目管理中的应用研究
摘 要文中对代码质量管理平台Sonar的质量评估模型和技术优势进行了深入剖析和解读,介绍了将Sonar平台在软件项目管理中的意义和价值。从多个角度阐述了代码质量管理对软件产品质量的重要性,并通实际项目导入的数据比对分析展示了该平台对实现企业软件项目管理中的代码质量透明化的重大意义。
【关键词】软件质量保证 代码质量管理 Sonar 持续集成
还记得《人月童话》引发的软件界关于质量与成本的大辩论吗?在软件行业内,产品质量与人的个体能力息息相关。一个好与差的程序员相比,因其代码质量引发的软件产品后续维护成本不能用简单的比例来换算,无数教训告诉我们,放任程序设计开发缺陷到项目越是后期,项目组将要付出的代价越惨重。事实再一次告诉我们:软件质量是开发出来的而不是测试出来的。
那么,是否能够找到一种能够在软件研发过程中切实可行的代码质量保证的方法呢?带着这个问题,我们调研了当前软件行业内的可用与代码质量检查的主流方法和主要工具,综合比较结果显示,从引入成本、使用便利性、扩展性和应用范围等几方面统合考量,我们发现了Sonar这个专门针对代码质量管理设计地平台软件。
1 Sonar是什么
Sonar是一个管理代码质量的开放平台。如图1所示,它可以从架构设计、注释、编码规范、单元测试、复杂度、重复度等7个角度衡量代码质量。
在研究中,我们发现Sonar设计实现的宗旨就是使用便利。首先,它以模块化组件结构形式构成,围绕核心功能以插件机制设计和实现其上的各种扩展应用功能模块,有着较为极为便利的扩展性。目前可支持的插件有:
(1)适应多种代码类型开发语言编程规范插件;
(2)用于分析代码用的质量分析指标插件;
(3)实现人机对话和报表展示用的质量管理插件;
(4)可扩展第三方集成平台工具和测试工具用的平台集成插件;
(5)适应国际化的语言本地化插件;
(6)支持生成报表文件用的报表插件;
(7)支持二次开发的开发工具插件等。
其次,Sonar在对外接口设计上也贯彻了其通用规范的设计思想,采用了统一接口设计模式,可以被方便地集成到其他持续集成平台或开发平台上。因其便利的易集成性,已经被越来越多的国外软件团队所关注。当前,与Sonar集成的主流平台组合模式有以下几种:
(1)Maven + Jenkins(Hudson) + Sonar;
(2)Maven + Sonar;
(3)Eclipse + Sonar;
(4)IntelliJ IDEA + Sonar。
此外,除上述优点外,之所以引起我们注意的还是要数它的展现形式:基于Web平台以网页形式展现的量化数据图形的直观可视化代码质量报告(见图2)。
2 Sonar的优势
比较同类产品,我们发现Sonar有如下几大优势:
(1)Sonar是一个专门的代码质量管理平台,功能更加集中;
(2)Sonar的插件式设计模式,不仅利于扩展其他第三方插件,而且也便于自身被其他平台所引入,在集成和被集成方面有着显而易见的便利性;
(3)Sonar是一款Web软件,其网页化的展现形式使其在跨平台和使用条件上有着无可比拟的优势。
虽然sonar也存在一些问题,尤其是个别插件的费用上,但是相比其他商业化软件,sonar在使用成本上还是占有较大的优势,如表1所示。
3 Sonar能帮助我们做什么
利用Sonar,我们可以轻松的实现代码质量的透明化,进而实现代码质量的持续改进:
(1)让部门管理者了解开发质量,把每个项目代码推行统一的编码规范,通过集中的项目代码检查评估我们当前的代码质量;
(2)让项目管理者代码质量,项目经理和QA可以实时了解项目代码质量,有针对性地控制项目质量;
(3)让开发人员了解代码质量,开发人员可以随时了解自己的代码质量,不仅仅是代码规范,还包括程序设计质量;
(4)让测试人员了解代码质量,测试人员可以随时了解各模块代码质量,有针对性地调整对各功能模块的测试力度和关注度。
4 Sonar在实际项目中的使用
为了更好的测试Sonar在国内实际项目中的适用性,2014至2015年的一年期间,我们先后选取了28个以Java开发语言为主的项目作为研究,项目类型包括:JavaWeb类的服务端软件和JavaAndroid类的客户端App应用软件。以某月度的分类项目开发质量数据报表为例(见图3)。
我们看到零售类项目的代码生产率明显偏低、代码缺陷数又偏高,其中严重类型的缺陷占比也明显高于其他项目,但是程序结构质量确比较高,代码的违规率低。这种现象似乎并
您可能关注的文档
最近下载
- CJJT258-2017 住宅专项维修资金管理信息系统技术规范.docx VIP
- 电缆管施工方案.docx
- 凿岩台车、潜孔钻司机岗位安全生产责任制.doc VIP
- 地理丨广东省广州市2022届高三上学期12月调研测试地理试卷及答案.doc VIP
- JMP入门与提高学习资料.pptx VIP
- CJJT257-2017 住宅专项维修资金管理基础信息数据标准.docx VIP
- 概率论与数理统计教程(华东师范大学).docx VIP
- 分离工程绪论培训课件.ppt VIP
- 阅读理解之七选五五种考法(讲案)解析版-2024年高考英语一轮复习知识清单(全国通用).pdf VIP
- 大厦写字楼招商部流程管理手册.doc VIP
文档评论(0)