999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于云平臺的軟件自動持續集成研究

2014-05-18 07:25:50嚴宇平王學文
信息通信技術 2014年1期
關鍵詞:方法

嚴宇平 王學文 陸 璐

1 廣東電網公司 廣州 510006 2 華南理工大學 廣州 510006

介紹

軟件集成是一個軟件開發過程,它將經過編碼和測試形成的軟件組件或代碼單元組合成完整的軟件產品,然后對該新產品再次進行測試和驗證,確保新產品能夠滿足用戶的需求,通常也稱其為系統集成或集成測試[1]。企業信息系統通常都是非常大而復雜的,系統建設、開發、測試和集成過程需要的成本非常高,而且在系統集成階段,經常會出現不可預見的情況。這更加使得集成成為整個項目中最重要的一個階段。傳統的軟件集成方法有以下幾類[2]。

1)“Big-Bang”集成方法。即一次性非增量式集成。要求軟件開發人員首先測試每一個單元模塊,然后將所有的已經測試通過的單元模塊全部進行集成,然而無法在集成過程中確定缺陷的真正位置。小型系統的單元模塊較少時,“Big-Bang”集成方式可能是較好的方法,但是針對如企業信息系統這樣大而復雜的項目,開發、集成復雜度提高,需要更好的集成方法。

2)“自頂向下”和“自底向上”集成方法。隨著增量式軟件開發模型的逐漸成熟,誕生了這兩種集成方法。“自頂向下”集成方法能較早檢驗各功能的可行性,但是由于采用的是從上到下的方式,在集成過程中會出現一些替代模塊,可能最終出現問題從而引起過多的回歸測試,導致整個測試不充分。“自底向上”這種逆向集成方式可以把最容易出問題的部分盡早解決,同時能夠將多個模塊并行集成測試,提高效率。缺點是整個項目一直不能形成一個完整實體,直到最終系統的實現。

3)“迭代遞增”集成方法。伴隨著迭代式軟件開發模式的出現,并以實現功能為目標。“迭代遞增式”集成在集成過程中更容易確定故障的位置,利用遞增式集成有利于盡快發現缺陷,逐步積累、解決問題,提高排查和改正錯誤的效率。軟件一邊開發一邊集成,然后再進行測試,所以測試也更加充分全面。但是真正的實踐中也出現了一些問題:時間間隔不能確定;只迭代而不遞增;只遞增而不迭代。

4) 持續集成方法。持續集成是一種軟件開發實踐,開發團隊成員經常集成工作,集成使用自動化的構建進行驗證,構建過程中運行回歸測試,以盡快檢測集成錯誤。這種方法可以使集成問題大幅減少,更快地實現有凝聚力的軟件開發。持續集成方法的使用有如下優勢。①降低風險[3],不斷地進行集成、自動化測試,能幫助檢查缺陷,越早發現問題,越容易解決缺陷。②減少重復過程,節省時間、費用和工作量。③降低部署難度[4],持續集成不斷頻繁的集成部署,將部署難度降到最低,能隨時隨地進行部署,讓客戶隨時得到反饋。④增強項目的可見性,持續集成能發現趨勢并進行有效的決策。經常集成可以暴露一些趨勢,為構建狀態和品質指標提供了及時的信息,甚至提供報告功能完成度和缺陷率。⑤減少集成問題,實現快速交付。

傳統的信息化建設的開發、測試和集成過程是不斷將各小模塊集成為大模塊,通過人工的功能測試后,再部署到生產環境。這種傳統的方法在大型企業信息化系統建設過程中存在較多的問題。1)無法驗證系統在準實時仿真的生產環境的情況;2)新模塊導致舊模塊不能正常運行;3)舊模塊的重復測試,重復的工作降低工作效率;4)人工編譯、構建、測試、發布部署帶來更多不確定性因素。

持續集成實踐的應用能極大地降低集成風險,逐步明確開發狀態,及時改進軟件開發過程。與傳統的方法相比,持續集成技術的引用能夠更好地適應需求的變化,調動開發人員之間交流和合作的積極性,發揮軟件開發人員的能動性和自主創造力,提高軟件代碼的質量,降低開發成本,提高產品交付能力。

1 一種軟件自動持續集成方法

隨著信息化建設步伐的逐漸加快,信息化在各行業的應用也越來越廣泛,與行業相關的業務支撐系統及平臺呈規模化、復雜化的發展趨勢,隨著軟件復雜度的不斷增加、軟件交付周期的不斷縮短和交付頻率的提高,傳統集成方式面臨的問題日益嚴重。軟件自動持續集成方法的研究是為了解決以下問題。1)傳統的集成采用人工手動執行構建、狀態監控及出錯檢查,該方法工作量大,容易出錯,進而影響產品的質量和交付進度;2)傳統的集成方法每構建一個項目皆需重新構建,無現成模板可用,且對現有軟件進行更新時,也需手動進行新構建部分的集成。

持續集成的要素[5]有9個。單一的代碼庫;自動構建;自動測試;代碼提交頻繁;快速構建;模擬生產環境的自動測試;每個人都可以很容易地獲取最新可執行的應用程序;每個人都清楚正在發生的狀況;自動化的部署。基于以上對持續集成要素的研究,在企業中實踐持續集成主要從源代碼管理、自動構建、自動測試等方面進行。本文主要圍繞這部分進行軟件自動持續集成方法的研究。

1.1 軟件自動持續集成

軟件自動持續集成方法的具體實施方案如圖1所示。

S400對軟件開發流程進行了結構化和規范化;S401有利于軟件開發項目的管理,以促進軟件開發工作的進行。本方法預定義了多個軟件開發中常用的xml配置文件模板,以便需要時,自由選擇添加使用,大大提高了開發效率,縮短了軟件交付周期,降低了開發成本。S405~S408可降低出錯率,提高產品質量及開發效率,且掃描自動化及構建發布測試自動化,可減少工作量,進一步縮短軟件交付周期,提高開發效率。

圖1 軟件自動持續集成方法的實施流程示意圖

1.2 構建持續集成

構建持續集成方法的研究目標有如下幾點。1)可根據實際需要預設各步驟的執行順序及執行方式,使各步驟流程能自啟動;2)可將測試結果自動發送給開發用戶;3)可對版本控制庫進行實時監控,當發現版本控制庫有變化時,即可自動或手動啟動相應的構建步驟,及時發現軟件缺陷并修復,便于進一步提高開發效率。本文的軟件構建持續集成方法的具體實施方案如圖2所示。

圖2 軟件構建持續集成方法的實施流程示意圖

軟件構建持續集成可幫助建立整個構建所運行的環境,這里構建所運行的環境包括添加初始化模板、設置各步驟的執行順序及執行方式,開發用戶可根據實際需要預設各步驟的執行順序及執行方式,使各步驟流程能自啟動運行,按照預設的執行順序自動運行,其減少了工作量,降低了開發成本,提高了開發效率;同時,此技術方法可將所述測試結果生成一個入口html文件,并對所述html文件進行壓縮打包,通過郵件的方式自動發送給開發用戶,所述測試結果包括各步驟的運行時長、運行狀態、運行結果及運行日志,開發用戶可全面了解掌握各步驟的相關信息,及時發現缺陷并進行修復,避免錯誤缺陷一直延續至后期,給后期的工作帶來更嚴重錯誤,因此,其可降低錯誤率并大大提高開發效率;另外,此方法還可對版本控制庫進行實時監控,當發現版本控制庫有變化時,可自動或手動啟動相應的構建步驟,及時發現軟件缺陷并修復,便于進一步提高開發效率。

1.3 自動生成版本更新說明

企業的大型系統總是不斷優化升級,使軟件版本更新越來越頻繁;而每次版本發布,都需要編寫版本說明,描述修改的內容。傳統的方法是在更新版本發布之前,由開發團隊收集整理版本說明,其缺點是無法客觀地和代碼文件的修改對應起來,容易發生錯漏;而且,提供的版本說明,很多是為了應付敷衍了事,質量檢查難以逐次分辨。因此,軟件版本更新說明存在不完整、不準確,且不能客觀地將軟件版本更新說明與實際修改的源代碼文件一一對應的缺陷。

自動生成版本更新說明方法研究目標:提供一種自動生成軟件集成版本更新說明方法,可自動生成版本更新說明,并與實際修改的源代碼文件一一對應起來,能減少開發團隊的工作量,降低軟件更新發布的成本,加快發布時間。此方法的技術點如下。1)逐行讀取當前版本的文件,獲取注釋塊;2)篩選出所述注釋塊中特定格式的注釋,所述特定格式為包含SOA字段;3)讀取當前版本與前一版本所述注釋塊中特定格式的最新注釋;4)將當前版本與前一版本所述注釋塊中特定格式的最新注釋進行比對,判斷是否一樣,當判斷為否時,提取當前版本注釋塊中的最新注釋,并顯示出來;將當前版本中所有被提取出來的最新注釋進行匯總,形成版本更新說明。自動生成版本更新的具體實施方案如圖3所示。

圖3 自動生成軟件集成版本更新說明方法的實施流程示意圖

2 基于云的持續集成平臺

2.1 自動持續集成系統功能架構

通過對持續集成相關技術的理論研究和具體實踐的探索,本文實現的自動持續集成系統的功能架構如圖4所示。此系統囊括了源代碼控制管理、構建、代碼檢查、測試、發布等軟件建設流程,從而實現了軟件開發過程的自動化、一體化,能有效幫助企業信息化建設提高開發、管理效率,保證軟件質量,降低交付風險。下面主要介紹與本文提出的理論方法密切相關的三部分。

1) 源代碼控制模塊應用了自動生成版本更新說明方法,并通過結合代碼管理軟件,可允許用戶自定義版本更新說明的生成需求。同時,借助代碼檢查輔助源代碼管理,提供自定義的代碼設計需求檢測,提高整體代碼質量。

2) 產品構建則是在構建持續集成理論方法的研究基礎上結合構建工具軟件,實現軟件快速自動構建,從而節省大量的人工成本。甚至能允許各個開發者進行每日構建,并結合自動化測試工具進行回歸測試,確保每次修改必然能快速驗證其準確性,從而確保最終的軟件質量。

3) 發布工具的融合允許有效快速地進行真實環境的測試。通過發布模塊將成功通過自動構建、自動回歸測試的軟件發布到已部署于服務器端的真實運行環境中進行實時測試,從而進一步降低軟件交付的風險。

圖4 持續集成系統功能架構圖

軟件自動持續集成平臺通過經常反復地構建軟件、代碼檢查和測試,可以大大提高在早期發現缺陷的可能性,而缺陷在早期還不復雜,容易解決。由此可見,盡早、盡可能地在信息化建設過程中使用持續集成技術便可以盡可能早的發現缺陷,于此同時,缺陷也更可能得以解決,從而確保了最終系統的正確性和精確性,降低交付風險。

2.2 基于云的自動持續集成系統架構

本文通過研究軟件自動持續集成方法,明確了相應系統的功能架構,同時,結合電網企業在當前信息化建設過程中顯現的突出現象——大量的軟件項目仍采用傳統的集成方式,迫切需要借助持續集成平臺來提高項目建設的質量和效率,提出了采用云計算技術[6]搭建基于云的軟件自動持續集成平臺,提供隨時隨地的持續集成服務。該云平臺通過有效利用電網內部現有軟硬件資源,提供按需的資源配置和服務,來實現“即需即取”的資源管理模式,降低整體的部署成本。基于云的軟件自動持續集成平臺的整體架構如圖5所示。

圖5 基于云的軟件自動持續集成平臺的架構圖

基于云的自動持續集成平臺的主要結構包括以下三個部分。

1) 應用層。提供內部人員持續集成服務,可以隨時隨地通過基于云的持續集成平臺進行持續集成實施、過程管理、維護和最終報告日志的查看等操作。方便內部人員隨時隨地管理多項目的持續集成情況。

2) 平臺層。是該云計算體系結構的核心組成部分。它負責對資源的統一分配與調度,使得類型繁多的服務能夠在復雜底層環境上穩定運行。該平臺融合了持續集成過程中各個階段所需要的軟硬件資源、工具等,主要包括如源代碼控制工具(SVN)、構建工具(maven)、代碼檢查(Checkstyle)、測試工具(JUnit)、發布工具(WebSphere)。主要目標是實現集成環境的虛擬化,根據集成項目需求,按需分配虛擬化的持續集成環境。

3) 資源層。為項目提供虛擬化的計算資源、存儲資源和網絡資源,根據項目需求進行動態分配與調整。資源層又分為物理資源層和虛擬化平臺層,其中物理資源層主要是指物理的計算資源、存儲資源和網絡資源,虛擬化平臺層包括虛擬服務器、虛擬存儲和虛擬網絡。

應用層為云平臺提供了更多的應用和內容,滿足多種需求、支持更多的應用,平臺層與資源層能夠為應用層提供運營的平臺和更多更靈活的硬件資源,提供按需的資源配置和部署,實現“即需即取”服務模式。

3 結束語

持續集成技術的概念提出已久,軟件開發人員也逐漸認識到它的價值,但是真正在系統開發建設過程中實現了持續集成實踐的情況并不多見,如何在企業信息化建設過程中充分發揮持續集成的優勢顯得越來越重要,本文在結合電網公司的信息化建設需求的基礎上,提出了一種軟件自動持續集成方法。同時,基于該軟件自動持續集成方法,運用云計算技術搭建了相應的云平臺,來驗證該研究的正確性和有效性。該平臺采用“按需服務”的管理模式,合理并充分地利用現有的軟硬件資源,提供虛擬化的持續集成環境,從整體上降低持續集成系統的部署成本。

基于云平臺的軟件自動持續集成方法的研究和實現能有效幫助企業在實施信息化建設過程中,提高效率,降低開發、管理、交付等的成本和風險。基于本文研究實現的基于云平臺的自動持續集成系統已經投入使用,從使用效果反饋可以明確,該系統能確保信息系統建設、開發和集成全過程(包括功能模塊的編譯、構建,各功能模塊集成和組裝,單元測試、組裝測試和回歸測試)的自動化,并能通過多種形式及時反饋期間的信息,以便于需求提出人員、系統分析人員、項目管理人員、系統設計人員、系統開發人員和系統測試人員及時了解系統建設過程中出現的情況和問題,能及時進行處理。

參考文獻

[1]張湘輝.軟件開發的過程與管理[M].北京:清華大學出版社,2005

[2]任玉雙.持續集成在項目構件化開發中的應用研究[D].山東師范大學,2012

[3]Duvall P M,Matyas S,Glover A.Continuous integration:improving software quality and reducing risk[M].Pearson Education,2007

[4]戴建國,趙慶展,郭理,等.持續集成在項目開發中的應用研究[J].計算機工程與設計,2009,30(10):2573-2576

[5]Continuous Integration[EB/OL].[2013-12-21].http://www.martinfowler.com/articles/continunusIntegration.html

[6]吳朱華.云計算核心技術剖析[M].北京:人民郵電出版社,2011

猜你喜歡
方法
中醫特有的急救方法
中老年保健(2021年9期)2021-08-24 03:52:04
高中數學教學改革的方法
河北畫報(2021年2期)2021-05-25 02:07:46
化學反應多變幻 “虛擬”方法幫大忙
變快的方法
兒童繪本(2020年5期)2020-04-07 17:46:30
學習方法
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
最有效的簡單方法
山東青年(2016年1期)2016-02-28 14:25:23
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
賺錢方法
捕魚
主站蜘蛛池模板: 亚洲丝袜中文字幕| 日韩黄色在线| 亚洲69视频| 热99精品视频| 国产精品专区第1页| 九九久久精品国产av片囯产区| 免费又黄又爽又猛大片午夜| 99re在线视频观看| 永久毛片在线播| 成人精品在线观看| 巨熟乳波霸若妻中文观看免费| 99久久精品国产自免费| 欧美日韩午夜| 婷婷色一二三区波多野衣 | 人妻无码一区二区视频| 日本在线视频免费| 色噜噜中文网| 精品国产免费观看| 国产成人艳妇AA视频在线| 国产在线一区视频| 啊嗯不日本网站| 草逼视频国产| 中国特黄美女一级视频| 欧美区国产区| 婷婷六月综合网| 色综合a怡红院怡红院首页| 欧美日本激情| 久久一级电影| 天天色天天综合| 色哟哟国产精品| 国产91导航| 午夜毛片免费观看视频 | 亚洲欧美日韩中文字幕在线| 亚洲欧美不卡中文字幕| 真实国产乱子伦高清| 久久毛片网| 午夜激情福利视频| 黄色网站在线观看无码| 她的性爱视频| 韩国福利一区| 国产精品久久久久久久久久久久| 日本黄色不卡视频| 啪啪免费视频一区二区| 91亚洲精选| 四虎综合网| 日韩精品成人在线| 尤物精品视频一区二区三区| 欧美第九页| 2020最新国产精品视频| 国产小视频a在线观看| 亚洲最大在线观看| 精品福利视频导航| 日日拍夜夜操| 青青国产视频| 国产97视频在线观看| 成年A级毛片| 国产浮力第一页永久地址| 精品人妻AV区| 亚洲丝袜中文字幕| 亚洲视频a| 国产va在线| 一本久道久久综合多人 | 一级毛片在线免费看| 日本道综合一本久久久88| 蜜臀av性久久久久蜜臀aⅴ麻豆| 日韩少妇激情一区二区| 国产亚洲视频在线观看| www.youjizz.com久久| 日韩在线观看网站| 国产精品免费电影| 国产va视频| 欧美一级高清片久久99| 人妻一区二区三区无码精品一区| 爆乳熟妇一区二区三区| 一级高清毛片免费a级高清毛片| 动漫精品中文字幕无码| 国产福利免费在线观看| 99国产精品免费观看视频| 999国产精品| 国产三区二区| 国产在线日本| 中文国产成人精品久久|