高清国产av一区二区三区_亚洲欧美日韩在线_无码熟妇人妻av在线影片免费_在线无码一级伊伊_爽好舒服高H自慰软件_亚洲熟女区偷拍区高清区_午夜福利影院啪啪_亚洲国产黄片在线播放_中文字幕日韩精品乐乐影院_久久国产亚洲日韩欧美精品

掃描二維碼關(guān)注

首頁 APP開發(fā)小程序開發(fā) 微信公眾號(hào) 網(wǎng)站建設(shè) 營銷推廣 經(jīng)典案列 產(chǎn)品服務(wù) 關(guān)于我們

“學(xué)習(xí)不僅是掌握知識(shí)”

向書本學(xué)習(xí),還要向?qū)嵺`學(xué)習(xí)、向生活學(xué)習(xí)。消化已有知識(shí),
而且要力求有所發(fā)現(xiàn)、有所發(fā)明、有所創(chuàng)造

融入開發(fā)流程 源代碼分析讓開發(fā)變得更敏捷

2019/4/7 11:21:33

融入開發(fā)流程 源代碼分析讓開發(fā)變得更敏捷

 軟件質(zhì)量保證正在越來越被人們所重視,由于軟件質(zhì)量問題,可能會(huì)導(dǎo)致嚴(yán)重經(jīng)濟(jì)損失甚至災(zāi)難事故的發(fā)生。源代碼分析技術(shù)是通過分析源代碼發(fā)現(xiàn)其中存在的代碼缺陷的技術(shù),是提高軟件質(zhì)量最有效的手段之一。源代碼分析技術(shù)已經(jīng)有20多年的發(fā)展歷程,它不需設(shè)計(jì)測試用例,不需運(yùn)行程序,因此被廣泛應(yīng)用于各行各業(yè)。

  2009年3月19日,源代碼分析領(lǐng)域的先驅(qū)——美國Klocwork公司在北京裕龍國際酒店會(huì)議廳舉辦Klocwork源代碼分析最佳實(shí)踐研討會(huì)。研討會(huì)以“源代碼分析讓開發(fā)變得更敏捷”為主題,圍繞源代碼分析的作用以及如何將源代碼分析融入開發(fā)流程展開研討。會(huì)議現(xiàn)場, Klocwork公司的高級(jí)技術(shù)專家Mark Grice先生詳細(xì)介紹了源代碼分析技術(shù)的發(fā)展,并結(jié)合具體技術(shù)案例講解在敏捷開發(fā)過程中,為什么以及如何利用源代碼分析技術(shù)實(shí)現(xiàn)效益最大化,Mark先生還講解了如何借助持續(xù)集成的思想實(shí)現(xiàn)第一時(shí)間發(fā)現(xiàn)并消除代碼缺陷的策略。

  敏捷的前提是編寫無缺陷代碼

  敏捷宣言中有一條重要原則:首要的進(jìn)度測量標(biāo)準(zhǔn)是可正常運(yùn)行的軟件??烧_\(yùn)行的軟件是指軟件沒有下列問題:無法順利構(gòu)建、不可預(yù)期的行為、不滿足產(chǎn)品需求及常見的編程缺陷。這一原則不只適用于敏捷方法,很多軟件開發(fā)過程,包括CMMI和六西格瑪?shù)葒?yán)格的開發(fā)模型,均提倡把編寫無缺陷的代碼作為基本原則。這些過程都采取階段內(nèi)的缺陷控制措施(防止缺陷從引入階段泄漏到后續(xù)階段)。敏捷開發(fā)過程的迭代周期短,因此,必須保證能迅速識(shí)別并糾正潛在的軟件缺陷,才能進(jìn)入下一次迭代。

  盡管敏捷開發(fā)團(tuán)隊(duì)普遍采用了持續(xù)集成和回歸測試方法,可以有效地發(fā)現(xiàn)導(dǎo)致構(gòu)建過程或回歸測試異常中斷的缺陷,但在清除如下幾類常見的編程缺陷時(shí)效果并不明顯:內(nèi)存及資源管理錯(cuò)誤、空指針問題、未初始化變量、程序數(shù)據(jù)管理問題、緩沖區(qū)溢出、數(shù)組越界、未經(jīng)驗(yàn)證的用戶輸入、存在安全漏洞的代碼、并發(fā)異常以及復(fù)雜、費(fèi)時(shí)的維護(hù)性問題。缺陷多的代碼會(huì)導(dǎo)致本次迭代或者后續(xù)迭代產(chǎn)生風(fēng)險(xiǎn),形成迭代不徹底或者延期

以工具助推敏捷的理想

  雖然敏捷宣言中的 “個(gè)人和交流勝于過程和工具” 原則看似并不強(qiáng)調(diào)工具的作用,但敏捷開發(fā)團(tuán)隊(duì)仍然要用很多工具來支撐——包括軟件配置管理工具、構(gòu)建管理工具、需求跟蹤工具、測試工具、項(xiàng)目管理工具及其他工具。

  敏捷開發(fā)團(tuán)隊(duì)使用的大部分測試工具都將重點(diǎn)放在功能測試、單元測試以及構(gòu)建的質(zhì)量控制上,而不太強(qiáng)調(diào)通過審查源代碼來識(shí)別非功能性的錯(cuò)誤,比如編程錯(cuò)誤。這是由于以前發(fā)現(xiàn)這些缺陷的方法太繁瑣,敏捷團(tuán)隊(duì)也沒有時(shí)間做冗長的代碼審查,更不愿意為了發(fā)現(xiàn)一個(gè)內(nèi)存泄露缺陷而進(jìn)行數(shù)天的審查。即使是像單元測試這種在敏捷開發(fā)中不可缺少的測試,也需要?jiǎng)?chuàng)建和管理測試用例才能幫助開發(fā)人員查找缺陷。

  無缺陷的代碼則可保證開發(fā)的進(jìn)度及敏捷性。為實(shí)施階段內(nèi)缺陷控制,編寫無缺陷代碼,需要制定一套解決方案,使開發(fā)人員能控制缺陷的發(fā)現(xiàn)和清除過程,增強(qiáng)開發(fā)人員間的協(xié)作,以盡早消除缺陷。

  Klocwork Insight是行業(yè)領(lǐng)先的源代碼分析工具,全面支持各類編碼缺陷的檢查,開發(fā)人員可以控制分析的過程,還能在無需進(jìn)行后續(xù)審查的情況下,獲得集中式分析的準(zhǔn)確度和效果。Klocwork Insight支持敏捷開發(fā)的主要原則,提供下面的特殊功能:

  聯(lián)機(jī)桌面分析 Klocwork能與客戶的開發(fā)環(huán)境集成,既可以在個(gè)人開發(fā)環(huán)境級(jí)分析,也可在系統(tǒng)集成建級(jí)分析。與其他工具不同,Klocwork Insight提供了聯(lián)機(jī)桌面分析功能(專利技術(shù))。通過聯(lián)機(jī)桌面分析,開發(fā)人員可以在第一時(shí)間更準(zhǔn)確的發(fā)現(xiàn)缺陷。該功能使開發(fā)人員可以在自己的環(huán)境進(jìn)行快速的本地源代碼分析,這種分析能夠收集系統(tǒng)的全局信息用于提高分析的準(zhǔn)確度,并為開發(fā)人員提供協(xié)同清除缺陷功能。

檢入無缺陷代碼 利用Klocwork在代碼檢入代碼庫之前,通過快速的代碼分析,發(fā)現(xiàn)并消除缺陷,避免缺陷流入公共范圍和后續(xù)階段。這種無需設(shè)計(jì)測試用例、無需執(zhí)行程序的高效率缺陷掃描方法,大大提高了敏捷性。

  軟件度量和報(bào)告 Klocwork Insight提供了100多種客觀的、可操作的度量,這些度量可直接從軟件代碼計(jì)算得到。Klocwork的軟件度量功能可以解答關(guān)于軟件開發(fā)過程的關(guān)鍵性問題。例如,敏捷開發(fā)的一個(gè)關(guān)鍵問題是:軟件缺陷是在開發(fā)人員的桌面環(huán)境上即被發(fā)現(xiàn)并修復(fù),還是泄漏到集成構(gòu)建階段?Klocwork Insight在缺陷還未擴(kuò)散到代碼流之前就能在桌面自動(dòng)匯集所發(fā)現(xiàn)和修復(fù)的缺陷信息。這一獨(dú)特功能使開發(fā)團(tuán)隊(duì)能更好地理解缺陷控制活動(dòng)。這一功能結(jié)合客戶自定義的度量模型――將度量按照人員、開發(fā)組、地域、軟件組件或者其他任何適合于組織的屬性進(jìn)行統(tǒng)計(jì)分析――可以使開發(fā)團(tuán)隊(duì)在迭代初期就能識(shí)別出代碼庫里風(fēng)險(xiǎn)最高的代碼。

  重構(gòu) Klocwork Insight支持重構(gòu)。重構(gòu)是一種敏捷技術(shù),即在不改變軟件功能的前提下,重新構(gòu)造代碼單元以簡化設(shè)計(jì)和操作。Klocwork Insight提供了源代碼的圖形化表示法,顯示構(gòu)成系統(tǒng)的組件、塊、子塊及它們之間的關(guān)聯(lián)、依賴關(guān)系,輔助進(jìn)行代碼的影響分析。代碼的架構(gòu)分析能力還可用于進(jìn)行“假設(shè)(what if)”分析,以構(gòu)造維護(hù)性更好、可重用、復(fù)雜度更低的系統(tǒng)。

  降低總成本 敏捷開發(fā)團(tuán)隊(duì)通常都是工作在需要嚴(yán)格控制成本的環(huán)境中。Klocwork Insight的綜合分析能力強(qiáng),軟件開發(fā)機(jī)構(gòu)只需部署一種這樣的工具,即可具備全面的功能,降低了成本:支持C、C++、JAVA多種語言;檢測關(guān)鍵性的缺陷;檢測安全漏洞;體系架構(gòu)分析與再工程;生成并管理100多種軟件度量。敏捷開發(fā)團(tuán)隊(duì)使用Klocwork工具后,還可降低在用戶現(xiàn)場發(fā)現(xiàn)軟件缺陷的風(fēng)險(xiǎn),從而對(duì)軟件的實(shí)際成本產(chǎn)生直接的影響。


  具有說服力的是,Klocwork開發(fā)團(tuán)隊(duì)本身就是一個(gè)敏捷開發(fā)團(tuán)隊(duì)。Klocwork使用Klocwork Insight對(duì)Klocwork源代碼進(jìn)行分析,是源代碼分析結(jié)合敏捷開發(fā)的實(shí)踐者和受益者。本次研討會(huì),正是結(jié)合軟件開發(fā)領(lǐng)域的先進(jìn)理念,將Klocwork源代碼分析的應(yīng)用提升到了一個(gè)新的層次,對(duì)于將Klocwork源代碼分析融入軟件開發(fā)生命周期具有現(xiàn)實(shí)意義。


 


深圳市南山區(qū)南山街道南海大道西桂廟路北陽光華藝大廈1棟4F、4G-04

咨詢電話:136 8237 6272
大客戶咨詢:139 0290 5075
業(yè)務(wù)QQ:195006118
技術(shù)QQ:179981967

精銳軟件

Copyright? 2018-2023 深圳精銳軟件技術(shù)有限公司 All Rights Reserved. ICP備案號(hào):粵ICP備18108116號(hào)-8 公安備案號(hào):粵公網(wǎng)安備44030502009460號(hào)