国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于SonarQube平臺提升企業(yè)軟件項目質(zhì)量的應(yīng)用研究

2019-05-24 14:13曾新勵
電腦知識與技術(shù) 2019年11期
關(guān)鍵詞:質(zhì)量分析質(zhì)量管理

曾新勵

摘要:隨著企業(yè)軟件項目復(fù)雜性的日益增加,提高可靠性和避免錯誤缺陷成為開發(fā)企業(yè)級應(yīng)用軟件的一個重要因素。該文在分析企業(yè)代碼質(zhì)量管理方面的現(xiàn)狀以及對代碼質(zhì)量管理的內(nèi)外在需求的基礎(chǔ)上,研究了SonarQube平臺的運行機(jī)制和技術(shù)優(yōu)勢,結(jié)合代碼質(zhì)量規(guī)范標(biāo)準(zhǔn)的制定、質(zhì)量管理平臺在企業(yè)內(nèi)的部署和代碼質(zhì)量管理流程,提出了基于SonarQube平臺的代碼質(zhì)量管理解決方案。從系統(tǒng)源代碼的角度出發(fā),在軟件研發(fā)過程中使用SonarQube控制代碼質(zhì)量,不但實現(xiàn)了在項目開發(fā)時的代碼質(zhì)量標(biāo)準(zhǔn)化,并且能夠持續(xù)跟蹤代碼質(zhì)量,對問題形成閉環(huán)高效管理。持續(xù)有效地進(jìn)行代碼質(zhì)量監(jiān)控,并制定相應(yīng)的改進(jìn)措施,對企業(yè)高質(zhì)量交付軟件產(chǎn)品意義重大。

關(guān)鍵詞:SonarQube;代碼質(zhì)量;質(zhì)量分析;質(zhì)量管理

中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A

文章編號:1009-3044(2019)11-0078-03

1引言

企業(yè)軟件項目質(zhì)量會受到團(tuán)隊開發(fā)人員個體能力以及團(tuán)隊磨合期不夠等因素影響,傳統(tǒng)的人工代碼質(zhì)量檢查隨著企業(yè)軟件復(fù)雜性的日益增加逐漸成為項目的瓶頸。如何持續(xù)有效地進(jìn)行代碼質(zhì)量管理,高質(zhì)量交付軟件產(chǎn)品成為企業(yè)當(dāng)下必須要解決的問題。

企業(yè)對代碼質(zhì)量管理的需求一方面來自企業(yè)對軟件產(chǎn)品的代碼需要標(biāo)準(zhǔn)化、精細(xì)化的管控,力求控制軟件項目的風(fēng)險。代碼質(zhì)量管理不當(dāng)直接造成員工工作量增加,上級不滿意,間接管理成本增加。另一方面,民航機(jī)場信息系統(tǒng)建設(shè)競爭日益激烈,軟件產(chǎn)品服務(wù)質(zhì)量的高低成為是否能夠贏得客戶的重要因素。與此同時在交付軟件產(chǎn)品時,客戶不僅要檢測產(chǎn)品功能是否實現(xiàn),還要檢驗軟件自身的代碼質(zhì)量。

針對民航機(jī)場業(yè)務(wù)支撐系統(tǒng)的現(xiàn)狀,本文從接入復(fù)雜度、應(yīng)用范圍、規(guī)則數(shù)量、可擴(kuò)展性和準(zhǔn)確率幾個方面對用于代碼質(zhì)量管理的主流工具進(jìn)行了調(diào)研,重點研究了SonarQube平臺的運行機(jī)制和技術(shù)優(yōu)勢,并提出了一種基于SonarQube平臺的代碼質(zhì)量管理解決方案。從系統(tǒng)源代碼的角度出發(fā),在軟件研發(fā)過程中使用SonarQube控制代碼質(zhì)量,減少人工代碼質(zhì)量檢查的時間成本,提高問題檢測的準(zhǔn)確率,并且同企業(yè)現(xiàn)有的內(nèi)部問題管理工作流程相結(jié)合,對問題形成閉環(huán)高效管理,從源頭上把控業(yè)務(wù)系統(tǒng)質(zhì)量。

2 SonarQube介紹

研發(fā)人員在編寫、組織、構(gòu)建、測試和不斷改進(jìn)應(yīng)用程序時使用許多工具、技術(shù)、框架和流程,SonarQube作為一款開源代碼質(zhì)量管理工具,最初是為了跟蹤Java項目的質(zhì)量而編寫的,它使跟蹤、管理和提高代碼總體質(zhì)量變得高效規(guī)范,并且實現(xiàn)了公認(rèn)的最佳實踐,為代碼質(zhì)量度量、評審和補(bǔ)救提供了功能齊全的綜合平臺[1]。

SonarQube通過插件式設(shè)計模式方便地集成FindBugs、PMD、Checkstyle、Cubertuna、Jcoco等多種工具,實現(xiàn)軟件項目代碼的靜態(tài)檢測。并且通過配置語言插件即可以支持對C/C++、C#、Cobol、Java、PHP等超過25種編程語言進(jìn)行質(zhì)量檢測 [2]。

基于SQALE軟件質(zhì)量方法理論,將通過插件集成工具的各項檢測結(jié)果統(tǒng)計分析,以數(shù)據(jù)、圖表等多維度方式將代碼質(zhì)量的變化和最終檢測結(jié)果合并分析輸出,形成直觀可視化代碼質(zhì)量報告,量化評估軟件項目質(zhì)量。也可以擴(kuò)充報表展示插件,更加豐富Web頁面的展現(xiàn)形式。

在對其他工具的支持方面,采用了統(tǒng)一接口設(shè)計方式便于自身被其他平臺引入。支持持續(xù)集成工具,可以利用持續(xù)集成工具Jenkins來使用SonarQube。得益于其通用規(guī)范的設(shè)計思想,得到了國內(nèi)外越來越多軟件研發(fā)人員的關(guān)注。SonarQube提供了對Eclipse和IntelliJ IDEA開發(fā)環(huán)境的SonarLint插件支持,對于Maven工程可以在Maven的settings.xml配置文件中添加分析器插件的配置進(jìn)行分析,還可以直接在控制臺啟動分析項目代碼的默認(rèn)啟動器SonarQube Scanner執(zhí)行分析,就可以完成對項目代碼的分析[3]。

3 應(yīng)用SonarQube代碼質(zhì)量管理平臺

基于SonarQube的代碼質(zhì)量管理體系具有三個方面的內(nèi)容:代碼質(zhì)量規(guī)范標(biāo)準(zhǔn)的制定、質(zhì)量管理平臺在企業(yè)內(nèi)的部署和代碼質(zhì)量管理流程。

3.1 代碼質(zhì)量規(guī)范標(biāo)準(zhǔn)

代碼質(zhì)量是從代碼的角度衡量軟件系統(tǒng)的質(zhì)量。SonarQube通過簡單、易于遵循的核心7大質(zhì)量標(biāo)準(zhǔn)來持續(xù)改進(jìn)源代碼質(zhì)量,包括設(shè)計與架構(gòu)、重復(fù)度、注釋比例、單元測試質(zhì)量、復(fù)雜度、潛在bug、編碼規(guī)范,如圖1所示。每個維度中包含若干掃描規(guī)則,根據(jù)不同場景的需要和對代碼質(zhì)量關(guān)注點的差異,可以按照需求對SonarQube中配置的掃描規(guī)則進(jìn)行裁剪和調(diào)整。SonarQube根據(jù)這7個維度的代碼質(zhì)量檢測數(shù)據(jù)形成一個直觀可視化質(zhì)量報告。

3.2 質(zhì)量管理平臺在企業(yè)內(nèi)的部署

SonarQube平臺可以很好的與企業(yè)現(xiàn)有的開源持續(xù)集成工具Jenkins和版本管理工具SVN相結(jié)合,借助持續(xù)集成工具的輔助可以不斷地創(chuàng)建、執(zhí)行軟件測試。首先在SonarQube中安裝檢測插并按需求配置好相應(yīng)規(guī)則,然后創(chuàng)建Jenkins項目來啟動SonarQube進(jìn)行質(zhì)量檢測,完成檢測后SonarQube會把執(zhí)行結(jié)果直接寫入數(shù)據(jù)庫,并執(zhí)行分析統(tǒng)計供Web展現(xiàn)時讀取。SonarQube支持多種數(shù)據(jù)庫,默認(rèn)安裝情況下使用自帶的H2 嵌入式數(shù)據(jù)庫,在遷移和擴(kuò)展時存在不足,可以根據(jù)需要選擇MySql、Oracle、MS SQLServer等數(shù)據(jù)庫。通過修改sonar.properties配置文件完成數(shù)據(jù)庫連接的配置,SonarQube啟動時會自動創(chuàng)建數(shù)據(jù)庫實例并配置好相應(yīng)的表結(jié)構(gòu)。代碼質(zhì)量管理平臺如圖2所示。

3.3 代碼質(zhì)量管理流程

在項目開發(fā)中,應(yīng)用SonarQube進(jìn)行代碼質(zhì)量分析評估是一個循環(huán)往復(fù)、持續(xù)性的工作,遵循四個標(biāo)準(zhǔn)流程執(zhí)行,具體流程包括版本管理、執(zhí)行評估、風(fēng)險應(yīng)對、持續(xù)改進(jìn),符合PDCA持續(xù)循環(huán)改進(jìn)的科學(xué)過程。具體流程如圖3所示。

過程描述如下:

1)版本管理。隨著軟件開發(fā)過程中業(yè)務(wù)創(chuàng)新和需求變更,代碼版本控制成為了代碼質(zhì)量評估的基礎(chǔ)。在版本升級和維護(hù)的過程中需要記錄新增加的功能,具體修復(fù)的問題,以及在此過程中產(chǎn)生的新問題,都依賴于版本管理的把控。

2)執(zhí)行評估。執(zhí)行評估的對象是軟件系統(tǒng)源代碼。從代碼版本管理工具中獲取新的軟件項目版本,使用SonarQube按照預(yù)先配置的掃描規(guī)則集,執(zhí)行代碼的初步掃描。SonarQube將掃描出的結(jié)果以報表的形式展示,向研發(fā)人員提供決策支持。同時調(diào)用企業(yè)問題管理平臺,根據(jù)掃描出來的問題列表創(chuàng)建任務(wù)清單,以消息的形式推送給各個研發(fā)人員。

3)風(fēng)險應(yīng)對。執(zhí)行完評估后的首要工作是對收到的問題任務(wù)清單進(jìn)行分析,任何工具都可能會產(chǎn)生誤報或漏報的情況,人工參與審查代碼是必須的。研發(fā)人員共同對問題進(jìn)行分析、確認(rèn)、篩選并確定其嚴(yán)重程度,刪除無關(guān)緊要和誤報的問題。并針對實際問題設(shè)計解決方案,提出改進(jìn)建議,提交到版本管理SVN。

4)持續(xù)改進(jìn)。研發(fā)人員按照風(fēng)險應(yīng)對環(huán)節(jié)給出的改進(jìn)方案進(jìn)行修改,在提交代碼時系統(tǒng)自動判斷是否所有任務(wù)清單問題都已修改,防止問題代碼繼續(xù)提交。完成修改后研發(fā)人員填寫任務(wù)修改記錄單,企業(yè)內(nèi)部問題管理平臺關(guān)閉相關(guān)問題,并刪除代碼質(zhì)量管理平臺對應(yīng)問題,實現(xiàn)對問題的閉環(huán)管理。

4 結(jié)論

通過在企業(yè)軟件研發(fā)過程中引入SonarQube代碼質(zhì)量管理平臺,實現(xiàn)代碼質(zhì)量管理全流程的標(biāo)準(zhǔn)化和精細(xì)化,讓軟件產(chǎn)品質(zhì)量管理更加集中,并且能夠?qū)崿F(xiàn)代碼質(zhì)量的持續(xù)改進(jìn)。帶來的好處有以下幾點。

1)讓部門管理者、項目管理者可以有針對性的對項目質(zhì)量進(jìn)行控制,研發(fā)人員隨時了解自己的代碼質(zhì)量,注重程序設(shè)計質(zhì)量符合企業(yè)標(biāo)準(zhǔn)。

2)利用SonarQube和代碼質(zhì)量管理流程實現(xiàn)代碼質(zhì)量的持續(xù)改進(jìn),通過分析評估,使問題得到有效解決,形成一個符合PDCA的科學(xué)流程,提升軟件開發(fā)過程的工作效率。

3)持續(xù)對改進(jìn)后的結(jié)果再評估,確保所有問題落實到相應(yīng)的人負(fù)責(zé),監(jiān)督改進(jìn)方案的執(zhí)行情況,避免到項目后期測試上線才發(fā)現(xiàn)問題,實現(xiàn)在開發(fā)階段完成軟件產(chǎn)品質(zhì)量的有效保證,提升客戶滿意度。

5 總結(jié)

科學(xué)的代碼質(zhì)量管理能夠有效提高企業(yè)軟件項目質(zhì)量。本文在分析企業(yè)代碼質(zhì)量管理方面的現(xiàn)狀以及需求的基礎(chǔ)上,研究了SonarQube平臺的運行機(jī)制和技術(shù)優(yōu)勢,并與企業(yè)現(xiàn)有的內(nèi)部問題管理工作流程相結(jié)合,提出了基于SonarQube平臺的代碼質(zhì)量管理解決方案。不但實現(xiàn)了在項目開發(fā)時的代碼質(zhì)量標(biāo)準(zhǔn)化,還可以持續(xù)有效地進(jìn)行代碼質(zhì)量監(jiān)控。按期評估代碼質(zhì)量并制定相應(yīng)的風(fēng)險應(yīng)對措施,持續(xù)循環(huán)改進(jìn),有助于實現(xiàn)高質(zhì)量完成軟件項目。同時,SonarQube也適用于企業(yè)代碼質(zhì)量管理云平臺的搭建,有助于推進(jìn)民航信息系統(tǒng)標(biāo)準(zhǔn)化和規(guī)范化建設(shè)。

參考文獻(xiàn):

[1] 楊冰娥.代碼規(guī)則自動化檢查系統(tǒng)的設(shè)計與實現(xiàn)[D].成都:西南交通大學(xué),2014.

[2] 徐萌.持續(xù)集成在現(xiàn)代企業(yè)軟件開發(fā)中的研究與實現(xiàn)[D].青島:中國海洋大學(xué),2013.

[3] 戚華,楊銘.代碼質(zhì)量管理平臺Sonar在軟件項目管理中的應(yīng)用研究[J].電子技術(shù)與軟件工程,2016(6):68-69.

【通聯(lián)編輯:王力】

猜你喜歡
質(zhì)量分析質(zhì)量管理
產(chǎn)融結(jié)合型企業(yè)利潤結(jié)構(gòu)質(zhì)量分析體系的構(gòu)建
淺談智能建筑電氣施工管理及質(zhì)量控制
英超| 永丰县| 临邑县| 鄂伦春自治旗| 宁城县| 榆林市| 柳江县| 綦江县| 漳州市| 山丹县| 纳雍县| 南京市| 日照市| 微山县| 陆良县| 仁怀市| 临桂县| 济宁市| 嘉禾县| 奉节县| 建瓯市| 张家口市| 西藏| 怀化市| 侯马市| 门源| 西昌市| 留坝县| 开封县| 永仁县| 内黄县| 庆城县| 榆社县| 台江县| 井陉县| 华蓥市| 集安市| 菏泽市| 双流县| 武隆县| 揭阳市|