亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

        2014-05-18 07:25:50嚴宇平王學(xué)文
        信息通信技術(shù) 2014年1期
        關(guān)鍵詞:源代碼自動軟件

        嚴宇平 王學(xué)文 陸 璐

        1 廣東電網(wǎng)公司 廣州 510006 2 華南理工大學(xué) 廣州 510006

        介紹

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

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

        2)“自頂向下”和“自底向上”集成方法。隨著增量式軟件開發(fā)模型的逐漸成熟,誕生了這兩種集成方法?!白皂斚蛳隆奔煞椒茌^早檢驗各功能的可行性,但是由于采用的是從上到下的方式,在集成過程中會出現(xiàn)一些替代模塊,可能最終出現(xiàn)問題從而引起過多的回歸測試,導(dǎo)致整個測試不充分?!白缘紫蛏稀边@種逆向集成方式可以把最容易出問題的部分盡早解決,同時能夠?qū)⒍鄠€模塊并行集成測試,提高效率。缺點是整個項目一直不能形成一個完整實體,直到最終系統(tǒng)的實現(xiàn)。

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

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

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

        持續(xù)集成實踐的應(yīng)用能極大地降低集成風(fēng)險,逐步明確開發(fā)狀態(tài),及時改進軟件開發(fā)過程。與傳統(tǒng)的方法相比,持續(xù)集成技術(shù)的引用能夠更好地適應(yīng)需求的變化,調(diào)動開發(fā)人員之間交流和合作的積極性,發(fā)揮軟件開發(fā)人員的能動性和自主創(chuàng)造力,提高軟件代碼的質(zhì)量,降低開發(fā)成本,提高產(chǎn)品交付能力。

        1 一種軟件自動持續(xù)集成方法

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

        持續(xù)集成的要素[5]有9個。單一的代碼庫;自動構(gòu)建;自動測試;代碼提交頻繁;快速構(gòu)建;模擬生產(chǎn)環(huán)境的自動測試;每個人都可以很容易地獲取最新可執(zhí)行的應(yīng)用程序;每個人都清楚正在發(fā)生的狀況;自動化的部署?;谝陨蠈Τ掷m(xù)集成要素的研究,在企業(yè)中實踐持續(xù)集成主要從源代碼管理、自動構(gòu)建、自動測試等方面進行。本文主要圍繞這部分進行軟件自動持續(xù)集成方法的研究。

        1.1 軟件自動持續(xù)集成

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

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

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

        1.2 構(gòu)建持續(xù)集成

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

        圖2 軟件構(gòu)建持續(xù)集成方法的實施流程示意圖

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

        1.3 自動生成版本更新說明

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

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

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

        2 基于云的持續(xù)集成平臺

        2.1 自動持續(xù)集成系統(tǒng)功能架構(gòu)

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

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

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

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

        圖4 持續(xù)集成系統(tǒng)功能架構(gòu)圖

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

        2.2 基于云的自動持續(xù)集成系統(tǒng)架構(gòu)

        本文通過研究軟件自動持續(xù)集成方法,明確了相應(yīng)系統(tǒng)的功能架構(gòu),同時,結(jié)合電網(wǎng)企業(yè)在當前信息化建設(shè)過程中顯現(xiàn)的突出現(xiàn)象——大量的軟件項目仍采用傳統(tǒng)的集成方式,迫切需要借助持續(xù)集成平臺來提高項目建設(shè)的質(zhì)量和效率,提出了采用云計算技術(shù)[6]搭建基于云的軟件自動持續(xù)集成平臺,提供隨時隨地的持續(xù)集成服務(wù)。該云平臺通過有效利用電網(wǎng)內(nèi)部現(xiàn)有軟硬件資源,提供按需的資源配置和服務(wù),來實現(xiàn)“即需即取”的資源管理模式,降低整體的部署成本?;谠频能浖詣映掷m(xù)集成平臺的整體架構(gòu)如圖5所示。

        圖5 基于云的軟件自動持續(xù)集成平臺的架構(gòu)圖

        基于云的自動持續(xù)集成平臺的主要結(jié)構(gòu)包括以下三個部分。

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

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

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

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

        3 結(jié)束語

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

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

        參考文獻

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

        [2]任玉雙.持續(xù)集成在項目構(gòu)件化開發(fā)中的應(yīng)用研究[D].山東師范大學(xué),2012

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

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

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

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

        猜你喜歡
        源代碼自動軟件
        人工智能下復(fù)雜軟件源代碼缺陷精準校正
        計算機仿真(2023年8期)2023-09-20 11:23:42
        禪宗軟件
        英語文摘(2021年10期)2021-11-22 08:02:26
        基于TXL的源代碼插樁技術(shù)研究
        自動捕盜機
        軟件對對碰
        軟件源代碼非公知性司法鑒定方法探析
        基于STM32的自動喂養(yǎng)機控制系統(tǒng)
        電子測試(2018年10期)2018-06-26 05:53:36
        關(guān)于自動駕駛
        汽車博覽(2016年9期)2016-10-18 13:05:41
        揭秘龍湖產(chǎn)品“源代碼”
        Stefan Greiner:我們?yōu)槭裁葱枰詣玉{駛?
        久久精品中文字幕极品| 国产欧美性成人精品午夜| 特级毛片爽www免费版| 久久免费国产精品| 中文字幕色视频在线播放| 在线视频观看一区二区| 都市激情亚洲综合一区| 求网址日韩精品在线你懂的| 免费一区二区高清不卡av| 亚洲av无码专区在线播放| 国产精品天天在线午夜更新| 亚洲欧洲日韩免费无码h| 高清国产精品一区二区| 欧美a级毛欧美1级a大片| 九九久久精品无码专区| 中文字幕无码专区一VA亚洲V专 | 琪琪av一区二区三区| 一二三四五区av蜜桃| 亚洲丁香五月天缴情综合| 手机看片国产日韩| 亚洲精品综合久久中文字幕| 无遮挡1000部拍拍拍免费| 国产婷婷一区二区三区| 亚洲成精品动漫久久精久| 国产成人精品久久二区二区91| 疯狂做受xxxx国产| 88久久精品无码一区二区毛片| 亚洲人妻无缓冲av不卡| 国产av精品一区二区三区视频| 在线精品亚洲一区二区动态图| 免费xxx在线观看| 亚洲无码vr| 熟女一区二区中文字幕| 国产成本人片无码免费2020| 国产内射XXXXX在线| 国产精品视频一区二区久久| 午夜天堂精品久久久久| 成年男女免费视频网站| 日本一区二区三区一级免费| 亚洲av中文无码乱人伦在线观看| 精品国内自产拍在线观看|