欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種軟件產(chǎn)品構(gòu)建方法

文檔序號:6380142閱讀:456來源:國知局
專利名稱:一種軟件產(chǎn)品構(gòu)建方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種軟件制作方法,具體地說是一種軟件產(chǎn)品構(gòu)建方法。
背景技術(shù)
軟件的構(gòu)建、集成在軟件工程的整個過程中占有很大的比重,貫穿軟件開發(fā)、測試、發(fā)布、部署、升級的整個過程;一個良好的軟件構(gòu)建、集成方法將有助于提高這些過程的效率和軟件產(chǎn)品的質(zhì)量?,F(xiàn)代軟件具有規(guī)模大、功能數(shù)量多、組成結(jié)構(gòu)復(fù)雜等特點,并且需要和各種系統(tǒng)通信,這樣的軟件開發(fā)、構(gòu)建和調(diào)試的過程都極為復(fù)雜。改動一個極細(xì)小的地方,可能會影響到很多其他功能,可謂牽一發(fā)而動全身,這樣每次改動都需要測試可能影響到的地方,工作量巨大,且往往不能保證質(zhì)量。由此,出現(xiàn)了很多功能豐富的軟件構(gòu)建和軟件集成工具,包 括版本控制工具、持續(xù)集成工具、軟件構(gòu)建工具、項目管理工具,但是這些工具只是能夠解決某一個領(lǐng)域的局部問題,它們對軟件產(chǎn)品及其構(gòu)件如何管理,發(fā)布以后如何有效的升級、維護,并沒有給出明確的可行性方案。

發(fā)明內(nèi)容
本發(fā)明的技術(shù)任務(wù)是針對上述現(xiàn)有技術(shù)的不足,提供一種準(zhǔn)確、高效地軟件產(chǎn)品構(gòu)建方法。該方法從軟件產(chǎn)品的模塊劃分,到模塊的構(gòu)建產(chǎn)出一個原子構(gòu)件,再到由這些原子構(gòu)件自由組合產(chǎn)出最終可交付使用的產(chǎn)品,在此過程中融入版本化管理方法。本發(fā)明的技術(shù)任務(wù)是按以下方式實現(xiàn)的一種軟件產(chǎn)品構(gòu)建方法,其特點是在軟件產(chǎn)品制作過程中融入版本化管理方法,具體包括以下步驟
(1)建立構(gòu)件倉庫和源代碼倉庫,用于管理所有版本的構(gòu)件及其源代碼;
(2)識別軟件模塊,將軟件產(chǎn)品按業(yè)務(wù)邏輯進行模塊劃分,每個模塊在物理結(jié)構(gòu)上獨立存放;
(3)規(guī)劃統(tǒng)一的模塊的目錄結(jié)構(gòu),在每個模塊中創(chuàng)建構(gòu)建器;
(4)規(guī)劃軟件產(chǎn)品和軟件模塊的版本,內(nèi)容包括軟件產(chǎn)品和軟件模塊的功能模塊、性能指標(biāo)、要修復(fù)的問題,以及此版本的軟件產(chǎn)品是由哪些版本的哪些軟件模塊產(chǎn)生的構(gòu)件組成;
(5)開發(fā)軟件產(chǎn)品的功能模塊,或者修改軟件產(chǎn)品及其功能模塊中存在的問題;在開發(fā)過程中,可以隨時執(zhí)行構(gòu)建,把功能模塊構(gòu)建為相應(yīng)版本的構(gòu)件,并發(fā)布快照版本,用于調(diào)試、測試;發(fā)布的內(nèi)容為構(gòu)件,及構(gòu)件和其他構(gòu)件之間的依賴關(guān)系;
(6)功能模塊的代碼提交后,自動觸發(fā)該模塊和該模塊影響的模塊(依賴此模塊的模塊)的構(gòu)建,被影響的模塊的構(gòu)建還會繼續(xù)觸發(fā)這些模塊影響的模塊的構(gòu)建,直至最終產(chǎn)品完成構(gòu)建;
(7)構(gòu)件開發(fā)完成并測試通過后,可構(gòu)建并發(fā)布正式版本,其過程為
若軟件的功能模塊依賴的其它構(gòu)件的版本發(fā)生變化,修改構(gòu)建器對應(yīng)的文件,提交到代碼倉庫;標(biāo)記當(dāng)前代碼倉庫中的源代碼為待發(fā)布的版本,同時構(gòu)建器也被標(biāo)記為相應(yīng)的版本;執(zhí)行構(gòu)建,并上傳構(gòu)件到構(gòu)件倉庫;正式版本發(fā)布后,倉庫中對應(yīng)的版本的構(gòu)件將不允許再修改;
(8)根據(jù)項目的需要,選擇不同構(gòu)件的不同版本,進行組合構(gòu)建,產(chǎn)出可交付的產(chǎn)品版本。由于f中所述的構(gòu)建過程,在產(chǎn)品規(guī)模較大、功能模塊較多時,引發(fā)的構(gòu)建任務(wù)數(shù)量巨大,在單服務(wù)器上構(gòu)建耗時會很長,所以步驟f中引入了持續(xù)集成服務(wù)集群,由一個中心節(jié)點分配構(gòu)建任務(wù)到各個子節(jié)點,各子節(jié)點完成任務(wù)后,通知中心節(jié)點;
為方便集群擴展,引入了虛擬云計算環(huán)境,可克隆服務(wù)節(jié)點,并添加到集群中。步驟h的構(gòu)建過程中,要檢查構(gòu)件的依賴關(guān)系是否正確、構(gòu)件的動態(tài)測試結(jié)果是 否符合要求、構(gòu)件的靜態(tài)測試結(jié)果是否符合要求。進一步的,步驟c中所述構(gòu)建器由多個文件組成,定義該模塊與其他模塊間的依賴關(guān)系,包括編譯時、運行時、測試時的依賴關(guān)系。步驟f中,功能模塊的構(gòu)建也可以由定時任務(wù)觸發(fā),其后的構(gòu)建過程與代碼提交觸發(fā)的構(gòu)建一致。本發(fā)明的軟件產(chǎn)品構(gòu)建方法與現(xiàn)有技術(shù)相比具有以下突出的有益效果
(一)產(chǎn)品以及組成產(chǎn)品的每個構(gòu)件的版本化,使發(fā)布的產(chǎn)品有明確的版本,有利于產(chǎn)品的升級和恢復(fù);
(二)將代碼和資源文件、構(gòu)件、應(yīng)用軟件都存放到云端,屏蔽了軟件產(chǎn)品構(gòu)建、集成、發(fā)布產(chǎn)品過程中對物理資源的要求,能夠有效的避免本地物理文件存儲的弊端;
(三)通過每個模塊中的構(gòu)建器,能夠達到隨時隨地構(gòu)建的效果;
(四)產(chǎn)品模塊間的依賴關(guān)系固化到構(gòu)件中,使得在構(gòu)建產(chǎn)品過程中選擇構(gòu)件時,只關(guān)心頂層的構(gòu)件及版本,而不用去關(guān)心每一個構(gòu)件及版本,有效的減小產(chǎn)品構(gòu)建的復(fù)雜度,降低產(chǎn)品構(gòu)建的出錯概率;
(五)構(gòu)建的快照版本與正式版本共存的方案,解決了主版本因日常化開發(fā)導(dǎo)致不穩(wěn)定因素問題,能夠隨時獲取最新的穩(wěn)定版本或者其他穩(wěn)定版本;
(六)構(gòu)建過程的版本化實現(xiàn),能夠不依賴于已構(gòu)建出的物理文件,還原產(chǎn)品的任一版本,提聞構(gòu)建系統(tǒng)的容災(zāi)能力。


附圖I是利用本發(fā)明方法構(gòu)建應(yīng)用軟件版本I的示意 附圖2是利用本發(fā)明方法構(gòu)建應(yīng)用軟件版本2的示意 附圖3為圖I、圖2中應(yīng)用軟件版本I與應(yīng)用軟件版本2的對比說明。
具體實施例方式參照說明書附圖以具體實施例對本發(fā)明的軟件產(chǎn)品構(gòu)建方法作以下詳細(xì)地說明。實施例一(利用本發(fā)明方法構(gòu)建應(yīng)用軟件版本I)
如附圖I所示,構(gòu)建方法具體為
I、搭建出構(gòu)件倉庫系統(tǒng)和源代碼版本倉庫系統(tǒng);2、應(yīng)用軟件按照業(yè)務(wù)劃分為模塊a、模塊b、模塊C、模塊d、模塊e五個模塊,每個模塊在源代碼倉庫中獨立存放;
3、為五個模塊在源代碼倉庫中分別創(chuàng)建目錄結(jié)構(gòu),包含源代碼、相關(guān)的資源文件;為應(yīng)用軟件以及每個模塊創(chuàng)建構(gòu)建器;
4、在應(yīng)用軟件的構(gòu)建器中描述應(yīng)用軟件(版本I)由構(gòu)件I(版本I)、構(gòu)件2 (版本I)、構(gòu)件3 (版本I)、構(gòu)件4 (版本I)、構(gòu)件5 (版本I)組成。在每個模塊的構(gòu)建器中描述版本構(gòu)件之間的依賴關(guān)系和性能指標(biāo)、要修復(fù)的問題,構(gòu)件(版本I)依賴構(gòu)件2 (版本I)和構(gòu)件4 (版本I);構(gòu)件4 (版本I)依賴構(gòu)件5 (版本I)
5、完成模塊源代碼的開發(fā)并提交至源代碼倉庫。在此過程中可能產(chǎn)生若干個快照版
本;
6、測試通過后,在2012-07-0508:54:22時刻,從源代碼倉庫檢出穩(wěn)定版本,依次構(gòu)建出構(gòu)件5 (版本I)、構(gòu)件2 (版本I)、構(gòu)件3 (版本I)、構(gòu)件4 (版本I)、構(gòu)件I (版本I)。最終構(gòu)建出應(yīng)用軟件(版本I)。實施例二 (利用本發(fā)明方法構(gòu)建應(yīng)用軟件版本2)
實施例一所得軟件在應(yīng)用了一段時間之后,應(yīng)用軟件需求發(fā)生變更,需要去除模塊c(構(gòu)件3),并且構(gòu)件I、構(gòu)件4、構(gòu)件5需要升級。如附圖2所示,構(gòu)建方法具體為
1、修改應(yīng)用軟件的構(gòu)建器模塊的構(gòu)建器,在應(yīng)用軟件的構(gòu)建器中描述應(yīng)用軟件(版本2)由構(gòu)件I (版本2)、構(gòu)件2 (版本I)、構(gòu)件4 (版本2)、構(gòu)件5 (版本2)組成;修改構(gòu)件I的構(gòu)建器,依賴構(gòu)件2 (版本I)、構(gòu)件4 (版本2);修改構(gòu)件4的構(gòu)建器,依賴構(gòu)件5 (版本2);
2、完成構(gòu)件1、4、5對應(yīng)模塊源代碼的開發(fā)并提交至源代碼倉庫。在此過程中可能產(chǎn)生若干個快照版本;
3、待構(gòu)件I、4、5對應(yīng)的模塊代碼測試通過后,在2012-07-1311:30:43時刻,從源代碼倉庫檢出穩(wěn)定版本,依次構(gòu)建出構(gòu)件5 (版本2)、構(gòu)件2 (版本I)、構(gòu)件4 (版本2)、構(gòu)件I(版本2)。最終構(gòu)建出應(yīng)用軟件(版本2)。應(yīng)用軟件版本I與應(yīng)用軟件版本2的代碼版本及依賴模塊、構(gòu)件的比對如附圖3所示。
權(quán)利要求
1.一種軟件產(chǎn)品構(gòu)建方法,其特征在于在軟件產(chǎn)品制作過程中融入版本化管理方法,對軟件產(chǎn)品做模塊識別、模塊的構(gòu)建職責(zé)下發(fā)、產(chǎn)品的構(gòu)件倉庫化管理、產(chǎn)品及構(gòu)件的版本化管理、構(gòu)件倉庫的分布式管理以及軟件產(chǎn)品云端構(gòu)建方法,具體包括以下步驟 1)建立構(gòu)件倉庫和源代碼倉庫,用于管理所有版本的構(gòu)件及其源代碼; 2)識別軟件模塊,將軟件產(chǎn)品按業(yè)務(wù)邏輯進行模塊劃分,每個模塊在物理結(jié)構(gòu)上獨立存放; 3)規(guī)劃統(tǒng)一的模塊的目錄結(jié)構(gòu),在每個模塊中創(chuàng)建構(gòu)建器; 4)規(guī)劃軟件產(chǎn)品和軟件模塊的版本,內(nèi)容包括軟件產(chǎn)品和軟件模塊的功能模塊、性能指標(biāo)、要修復(fù)的問題,以及此版本的軟件產(chǎn)品是由哪些版本的哪些軟件模塊產(chǎn)生的構(gòu)件組成; 5)開發(fā)軟件產(chǎn)品的功能模塊,或者修改軟件產(chǎn)品及其功能模塊中存在的問題;在開發(fā)過程中,可以隨時執(zhí)行構(gòu)建,把功能模塊構(gòu)建為相應(yīng)版本的構(gòu)件,并發(fā)布快照版本,用于調(diào)試、測試;發(fā)布的內(nèi)容為構(gòu)件,及構(gòu)件和其他構(gòu)件之間的依賴關(guān)系; 6)功能模塊的代碼提交后,自動觸發(fā)該模塊和該模塊影響的模塊的構(gòu)建,被影響的模塊的構(gòu)建還會繼續(xù)觸發(fā)這些模塊影響的模塊的構(gòu)建,直至最終產(chǎn)品完成構(gòu)建; 7)構(gòu)件開發(fā)完成并測試通過后,可構(gòu)建并發(fā)布正式版本,其過程為 若軟件的功能模塊依賴的其它構(gòu)件的版本發(fā)生變化,修改構(gòu)建器對應(yīng)的文件,提交到代碼倉庫;標(biāo)記當(dāng)前代碼倉庫中的源代碼為待發(fā)布的版本,同時構(gòu)建器也被標(biāo)記為相應(yīng)的版本;執(zhí)行構(gòu)建,并上傳構(gòu)件到構(gòu)件倉庫;正式版本發(fā)布后,倉庫中對應(yīng)的版本的構(gòu)件將不允許再修改; 8)根據(jù)項目的需要,選擇不同構(gòu)件的不同版本,進行組合構(gòu)建,產(chǎn)出可交付的產(chǎn)品版本。
2.根據(jù)權(quán)利要求I所述的軟件產(chǎn)品構(gòu)建方法,其特征在于,步驟f中包括持續(xù)集成服務(wù)集群,由一個中心節(jié)點分配構(gòu)建任務(wù)到各個子節(jié)點,各子節(jié)點完成任務(wù)后,通知中心節(jié)點;虛擬云計算環(huán)境,可克隆服務(wù)節(jié)點,并添加到集群中。
3.根據(jù)權(quán)利要求I所述的軟件產(chǎn)品構(gòu)建方法,其特征在于,步驟h的構(gòu)建過程中,要檢查構(gòu)件的依賴關(guān)系是否正確、構(gòu)件的動態(tài)測試結(jié)果是否符合要求、構(gòu)件的靜態(tài)測試結(jié)果是否符合要求。
4.根據(jù)權(quán)利要求1、2或3所述的軟件產(chǎn)品構(gòu)建方法,其特征在于,步驟c中所述構(gòu)建器由多個文件組成,定義該模塊與其他模塊間的依賴關(guān)系,包括編譯時、運行時、測試時的依賴關(guān)系。
5.根據(jù)權(quán)利要求1、2或3所述的軟件產(chǎn)品構(gòu)建方法,其特征在于,步驟f中,功能模塊的構(gòu)建也可以由定時任務(wù)觸發(fā)。
全文摘要
本發(fā)明公開了一種軟件產(chǎn)品構(gòu)建方法,涉及一種軟件制作方法。該方法的特點是在軟件產(chǎn)品制作過程中融入版本化管理方法,將軟件產(chǎn)品版本化管理細(xì)化到每個構(gòu)件,與其對應(yīng)的源代碼也做相應(yīng)的版本化管理,有益于軟件產(chǎn)品及構(gòu)建的升級和維護。在軟件產(chǎn)品的集成和構(gòu)建過程中,借助分布式管理和云計算技術(shù)的資源共享和水平擴展能力,解決了在細(xì)化軟件產(chǎn)品的版本化管理帶來的資源消耗問題,有效的降低因環(huán)境問題導(dǎo)致構(gòu)建失敗的概率。
文檔編號G06F9/44GK102968298SQ20121042620
公開日2013年3月13日 申請日期2012年10月31日 優(yōu)先權(quán)日2012年10月31日
發(fā)明者蔡衛(wèi)衛(wèi), 王剛, 崔其振 申請人:山東浪潮齊魯軟件產(chǎn)業(yè)股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
五原县| 德江县| 淮滨县| 婺源县| 东宁县| 和静县| 安阳市| 六枝特区| 桃源县| 五家渠市| 永登县| 资溪县| 炉霍县| 汝州市| 汉阴县| 贺州市| 正定县| 辽宁省| 伊宁县| 平潭县| 东乡| 海淀区| 漯河市| 蒲城县| 乾安县| 唐河县| 吴桥县| 鄂尔多斯市| 闽清县| 林芝县| 岱山县| 和田市| 登封市| 大洼县| 铜川市| 东台市| 建瓯市| 和田县| 广水市| 弋阳县| 姚安县|