国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      分發(fā)軟件所用的集成管理系統(tǒng)和方法

      文檔序號:6426422閱讀:311來源:國知局

      專利名稱::分發(fā)軟件所用的集成管理系統(tǒng)和方法
      技術(shù)領(lǐng)域
      :一般說來,本發(fā)明涉及軟件提交領(lǐng)域,尤其是涉及一種集成的系統(tǒng)和一種方法,全面管理一種從頭到尾的軟件提交過程,它適于沿著一種軟件產(chǎn)品的整個(gè)生命周期進(jìn)行管理,從開發(fā)直至安裝在生產(chǎn)中。
      背景技術(shù)
      :目前大多數(shù)公司的商務(wù)過程都在很大程度上由一大批軟件應(yīng)用程序進(jìn)行支持。由于商務(wù)過程需要不斷地發(fā)展以適應(yīng)新的商務(wù)需求,所以支持公司商務(wù)過程所用的軟件系統(tǒng)和應(yīng)用程序,其組件必須頻繁地改變,必須動(dòng)態(tài)地發(fā)展,以便滿足新的需求。在這種變化的、動(dòng)態(tài)的環(huán)境中,不僅是在軟件應(yīng)用程序的開發(fā)領(lǐng)域中,而且也在任何公司的許多不同的領(lǐng)域、活動(dòng)和商務(wù)過程中,軟件提交過程都起到了一種關(guān)鍵的作用。結(jié)果,軟件提交管理已經(jīng)發(fā)展成企業(yè)系統(tǒng)管理之內(nèi)的一門軟件工程學(xué)科,它專注于控制軟件的發(fā)展以及實(shí)施軟件系統(tǒng)的改變。軟件提交管理的主要目的,是使新的軟件應(yīng)用程序能夠在不同的環(huán)境(比如測試、培訓(xùn)、生產(chǎn)環(huán)境)中正確地安裝,以及能夠控制對已經(jīng)安裝的軟件應(yīng)用程序進(jìn)行的改變和調(diào)整。實(shí)際上,軟件提交使得以下行為能夠?qū)崿F(xiàn)部署(即安裝和運(yùn)行)新釋放的或新版本的軟件應(yīng)用程序,分發(fā)和安裝若干調(diào)整和補(bǔ)丁以便消除現(xiàn)有應(yīng)用程序中遇到的錯(cuò)誤和問題,以及從一個(gè)管理中心來改變軟件系統(tǒng)的配置。軟件提交也使得在系統(tǒng)崩潰后,無須抵達(dá)現(xiàn)場而能夠再次安裝和再次配置系統(tǒng)。在實(shí)踐中,軟件提交的任務(wù)復(fù)雜、細(xì)致而且耗時(shí),其范圍能夠從分發(fā)單一的文件直至更換整個(gè)軟件系統(tǒng)。安裝過程中出錯(cuò)或者與已經(jīng)安裝的軟件不兼容的可能性,與軟件系統(tǒng)進(jìn)行改變的程度成正比。由于軟件提交允許同時(shí)對眾多的系統(tǒng)進(jìn)行改變,確保這些改變不會(huì)對這些系統(tǒng)產(chǎn)生負(fù)面的沖擊極為重要;否則,它們可能會(huì)導(dǎo)致大量的用戶中斷,甚至商業(yè)損失。一般說來,軟件提交的過程包括幾種行為。這些行為包括例如識別將要提交之軟件產(chǎn)品的多種組件(如源代碼模塊、二進(jìn)制和可執(zhí)行文件、配置文件、界面、數(shù)據(jù)模型、數(shù)據(jù)結(jié)構(gòu)、實(shí)體、過程比如安裝和配置腳本、文檔比如用戶指南等等),管理軟件產(chǎn)品中不同釋放或版本的組件;對于要向其提交軟件產(chǎn)品的軟件系統(tǒng),識別其組成要素之間的依賴關(guān)系;產(chǎn)生在目標(biāo)系統(tǒng)中即目標(biāo)環(huán)境和平臺中運(yùn)行軟件產(chǎn)品所需的數(shù)據(jù)項(xiàng);創(chuàng)建軟件包,其中包含著在目標(biāo)平臺中安裝軟件產(chǎn)品所需的文件、數(shù)據(jù)、腳本和實(shí)用程序;向目標(biāo)系統(tǒng)分發(fā)軟件包;以及在目標(biāo)系統(tǒng)中安裝所分發(fā)的軟件包。對于以上概述的完整提交過程,為了實(shí)施其特定的部分或者說子過程,已經(jīng)提出了幾種不同的方法。本文在下面會(huì)報(bào)告已知方法的某些實(shí)例。Davis等人的、標(biāo)題為“Automaticsoftwareinstallationonheterogeneousnetworkedclientcomputersystems”的5,742,829號美國專利提供了一種方法,用于在多機(jī)種的客戶計(jì)算機(jī)系統(tǒng)中自動(dòng)安裝軟件。Collins三世等人的、標(biāo)題為“Systemforsoftwaredistributioninadigitalcomputernetwork”的5,845,090號美國專利公開了在一個(gè)網(wǎng)絡(luò)中分發(fā)軟件和數(shù)據(jù)的一個(gè)過程,把軟件和數(shù)據(jù)結(jié)合起來(程序和數(shù)據(jù)在一起通稱方法),放入稱為數(shù)據(jù)包的若干單一實(shí)體中,然后使用特定的技術(shù),把數(shù)據(jù)包從一臺計(jì)算機(jī)傳送到另一臺計(jì)算機(jī)。這份文檔中公開的過程涵蓋的子過程用于傳輸分發(fā)數(shù)據(jù)包(安裝程序和數(shù)據(jù))、采集數(shù)據(jù)包(采集數(shù)據(jù)所用的方法)以及命令數(shù)據(jù)包(系統(tǒng)管理任務(wù)所用的方法)。Glowny的、標(biāo)題為“Systemandmethodforremotesoftwareconfigurationanddistribution”的5,805,897號美國專利涉及一種系統(tǒng)和方法,用于遠(yuǎn)程軟件安裝和維護(hù)。Neal的、標(biāo)題為“Methodfordistributingsoftwareovernetworklinksviaelectronicmail”的6,192,518號美國專利公開了一種方法、裝置和制成品,用于通過一個(gè)網(wǎng)絡(luò)由電子郵件來分發(fā)一個(gè)軟件應(yīng)用程序。Holmes的、標(biāo)題為“Reliableandrepeatableprocessforspecifying,developing,distributingandmonitoringasoftwaresysteminadynamicenvironment”的6,226,784號美國專利介紹了一種通用的過程,用于項(xiàng)目管理。該過程局限于僅僅在實(shí)驗(yàn)室環(huán)境中在軟件的開發(fā)期間管理軟件的生命周期。以上提名的美國專利,其全部內(nèi)容在此引用作為參考。作為現(xiàn)有技術(shù)中已經(jīng)介紹之若干系統(tǒng)和方法的另一個(gè)實(shí)例,1999年9月IBM公司國際技術(shù)支持機(jī)構(gòu)印發(fā)的、標(biāo)題為“TheSoftwareDistributionProcess”的出版物SG24.5504.00,介紹了軟件分發(fā)和安裝的若干子過程。每一個(gè)步驟都進(jìn)行了詳細(xì)介紹,講解了如何以及何時(shí)實(shí)施。不過,軟件提交過程作為一個(gè)整體涉及的任何其它子過程均未涵蓋。大多數(shù)已知的方法都局限于僅僅涵蓋了完整軟件提交過程中具體的子過程,比如分發(fā)子過程和/或無人值守安裝子過程。其它的已知方法局限于涵蓋軟件項(xiàng)目管理的特定需求,而且不能應(yīng)用于在商業(yè)環(huán)境中,沿著軟件產(chǎn)品從開發(fā)直至生產(chǎn)的整個(gè)生命周期實(shí)施軟件提交過程。作為現(xiàn)有技術(shù)中系統(tǒng)和方法的實(shí)際實(shí)施結(jié)果,大多數(shù)公司的信息技術(shù)(IT)機(jī)構(gòu)已經(jīng)安裝了多種單獨(dú)的、多機(jī)種的、隔離的子系統(tǒng),以便實(shí)施整個(gè)軟件提交過程中的特定子過程。例如,一個(gè)特定的配置管理系統(tǒng)(或應(yīng)用程序)可能用于控制代碼的不同版本,一個(gè)與它無關(guān)的系統(tǒng)(或應(yīng)用程序)用于管理改變,另一個(gè)系統(tǒng)用于跟蹤軟件產(chǎn)品中的問題及其解決結(jié)果,再一個(gè)單獨(dú)的工具向不同的環(huán)境分發(fā)軟件產(chǎn)品。由于缺乏從頭到尾的軟件提交過程,或者利用隔離的、獨(dú)立的系統(tǒng)來實(shí)施該過程,頻繁地造成了產(chǎn)生低質(zhì)量的軟件產(chǎn)品、推遲提交計(jì)劃、成本超支或者不能滿足客戶的需求。本申請人已經(jīng)看到,當(dāng)前的方法本質(zhì)上不能包含軟件應(yīng)用程序不同組件的變化、它們之間的依賴關(guān)系、運(yùn)行它們的多種平臺、它們的多種版本以及它們在不同的環(huán)境(比如開發(fā)、連編、單元測試、功能測試、集成測試、回歸測試、系統(tǒng)測試和生產(chǎn))中的發(fā)展。因此,需要有一種從頭到尾的軟件提交過程,它能夠沿著軟件系統(tǒng)的整個(gè)生命周期進(jìn)行管理,從開發(fā)直至安裝在生產(chǎn)中。為了成功地滿足這種需求,構(gòu)成從頭到尾的完整軟件提交過程的多種行為,既不應(yīng)當(dāng)相互獨(dú)立,也不應(yīng)當(dāng)相互隔離。相反,它們?nèi)绻皇侨慷紤?yīng)當(dāng)相互聯(lián)系,大多數(shù)也應(yīng)當(dāng)相互聯(lián)系。同樣,從頭到尾的軟件提交過程應(yīng)當(dāng)覆蓋一種新軟件產(chǎn)品(如一種新的應(yīng)用程序)的完整生命周期,把它作為一個(gè)整體來管理,在整個(gè)過程中從頭到尾都要保持其完整性。另外,軟件提交過程必須考慮到,組成軟件產(chǎn)品的若干部分雖然不同,但是相互有聯(lián)系,而且它們也與同一系統(tǒng)或其它目標(biāo)系統(tǒng)上運(yùn)行的其它組件和軟件產(chǎn)品有關(guān)。因此,還是需要有一個(gè)涵蓋以上給出的全部需求的全局解決方案,還是需要有一種基于集成管理系統(tǒng)的從頭到尾的軟件提交過程,它覆蓋著一個(gè)軟件產(chǎn)品的整個(gè)生命周期,把它作為一個(gè)整體來管理并且保持其完整性,同時(shí)考慮到軟件產(chǎn)品是由不同的相互聯(lián)系的部分組成的。
      發(fā)明內(nèi)容本發(fā)明致力于解決上述問題。確切地說,本發(fā)明的一個(gè)目的是改善當(dāng)前軟件產(chǎn)品提交所用的系統(tǒng)和方法,覆蓋應(yīng)當(dāng)滿足的主要需求。按照本發(fā)明的第一方面,提出了一種集成的數(shù)據(jù)處理系統(tǒng),用于管理在一個(gè)網(wǎng)絡(luò)環(huán)境中把軟件產(chǎn)品提交到目標(biāo)軟件產(chǎn)品執(zhí)行單元的提交過程,而目標(biāo)單元可以屬于該網(wǎng)絡(luò)環(huán)境之內(nèi)的一個(gè)軟件產(chǎn)品測試環(huán)境、一個(gè)軟件產(chǎn)品用戶培訓(xùn)環(huán)境或者一個(gè)生產(chǎn)環(huán)境。集成的數(shù)據(jù)處理系統(tǒng)包括一個(gè)中心儲存庫,用于存放至少一種軟件產(chǎn)品的軟件組件;一個(gè)第一子系統(tǒng),用于在中心儲存庫之內(nèi)識別將要提交之軟件產(chǎn)品的軟件組件;一個(gè)第二子系統(tǒng),用于根據(jù)第一子系統(tǒng)識別的軟件組件,創(chuàng)建至少一個(gè)軟件產(chǎn)品數(shù)據(jù)包;以及一個(gè)第三子系統(tǒng),用于向目標(biāo)軟件產(chǎn)品執(zhí)行單元分發(fā)第二子系統(tǒng)創(chuàng)建的至少一個(gè)軟件產(chǎn)品數(shù)據(jù)包。對于第二子系統(tǒng)分配給這至少一個(gè)軟件產(chǎn)品數(shù)據(jù)包的角色,按照其標(biāo)志確定要向其分發(fā)軟件產(chǎn)品數(shù)據(jù)包的執(zhí)行目標(biāo)單元。在一個(gè)優(yōu)選實(shí)施例中,集成的數(shù)據(jù)處理系統(tǒng)包括一個(gè)軟件包分發(fā)儲存庫,用于存放第二子系統(tǒng)根據(jù)已識別的軟件組件創(chuàng)建的至少一個(gè)軟件產(chǎn)品數(shù)據(jù)包,它將要由第三子系統(tǒng)分發(fā)。第一子系統(tǒng)也管理著中心儲存庫中的一個(gè)存儲器,其中存放著要提交之軟件產(chǎn)品的軟件組件。優(yōu)選情況下,集成的數(shù)據(jù)處理系統(tǒng)進(jìn)一步包括一個(gè)第四子系統(tǒng),用于在要提交之軟件產(chǎn)品的已識別軟件組件之間,執(zhí)行軟件代碼組件的一個(gè)連編過程。第四子系統(tǒng)在中心儲存庫中存放著連編過程的結(jié)果。在一個(gè)優(yōu)選實(shí)施例中,集成的數(shù)據(jù)處理系統(tǒng)進(jìn)一步包括一個(gè)第五子系統(tǒng)和一個(gè)第六子系統(tǒng),前者用于管理對已經(jīng)提交的軟件產(chǎn)品施加改變和/或調(diào)整的一個(gè)過程,后者用于記錄在軟件產(chǎn)品的提交期間,集成數(shù)據(jù)處理系統(tǒng)的其它子系統(tǒng)提供的信息。本發(fā)明的另一個(gè)方面是一種方法,用于在一個(gè)網(wǎng)絡(luò)環(huán)境中把軟件產(chǎn)品提交到目標(biāo)軟件產(chǎn)品執(zhí)行單元。該方法包括以下步驟在中心儲存庫中存放這至少一種軟件產(chǎn)品的軟件組件;在中心儲存庫中存放的軟件組件中,識別要提交之軟件產(chǎn)品的軟件組件;根據(jù)已識別的軟件組件,創(chuàng)建至少一個(gè)可分發(fā)的軟件產(chǎn)品數(shù)據(jù)包;向目標(biāo)軟件產(chǎn)品執(zhí)行單元發(fā)軟件產(chǎn)品數(shù)據(jù)包,并在該處安裝軟件產(chǎn)品數(shù)據(jù)包。附圖簡要說明參考附圖,通過本發(fā)明一個(gè)優(yōu)選實(shí)施例(僅僅是作為非限制性的實(shí)例而提供)的以下詳細(xì)說明,本發(fā)明的特性和優(yōu)點(diǎn)將會(huì)顯而易見,其中圖1是一個(gè)普通公司信息基礎(chǔ)設(shè)施的簡圖;圖2是一幅框圖,展示了依據(jù)本發(fā)明一個(gè)優(yōu)選實(shí)施例的軟件提交集成管理系統(tǒng);圖3是一幅流程圖,示意性地顯示了依據(jù)本發(fā)明一個(gè)優(yōu)選實(shí)施例的一種方法中的主要步驟,用于利用圖2的集成管理系統(tǒng)實(shí)施從頭到尾的提交過程;圖4示意性地顯示了集成管理系統(tǒng)實(shí)施之軟件提交過程的若干子過程與圖2中集成管理系統(tǒng)的跟蹤子系統(tǒng)之間的信息交換。具體實(shí)施例方式本發(fā)明提供了一種集成管理系統(tǒng)和一種方法,用于在具有信息基礎(chǔ)設(shè)施的一個(gè)普通公司之內(nèi),實(shí)施一種完整的、從頭到尾的軟件提交過程。圖1中示意性地展示了一個(gè)普通公司的信息基礎(chǔ)設(shè)施。該基礎(chǔ)設(shè)施由引用號101整體標(biāo)識,包括不同性質(zhì)的多個(gè)平臺103,比如個(gè)人計(jì)算機(jī)、工作站、服務(wù)器等,利用一個(gè)網(wǎng)絡(luò)105聯(lián)網(wǎng),例如一個(gè)局域網(wǎng)(LAN)、一個(gè)廣域網(wǎng)(WAN)或其組合,或者任何其它種類的網(wǎng)絡(luò)。平臺103可以屬于許多不同的環(huán)境,比如測試軟件產(chǎn)品的測試環(huán)境TEST,培訓(xùn)軟件產(chǎn)品的預(yù)期終端用戶使用軟件產(chǎn)品的培訓(xùn)環(huán)境TRAIN,軟件產(chǎn)品以其在公司的日常商務(wù)管理中預(yù)期使用而運(yùn)行的生產(chǎn)環(huán)境PROD。該公司也具有一個(gè)信息技術(shù)(IT)機(jī)構(gòu)IT_ORG,它具有管理公司的信息基礎(chǔ)設(shè)施的功能。該IT機(jī)構(gòu)通常包括幾個(gè)團(tuán)隊(duì),比如一個(gè)軟件產(chǎn)品開發(fā)團(tuán)隊(duì)DEV,負(fù)責(zé)開發(fā)新的軟件產(chǎn)品,或者已有軟件產(chǎn)品的新釋放或新版本;一個(gè)軟件產(chǎn)品連編團(tuán)隊(duì)BUILD,負(fù)責(zé)從軟件代碼開始的連編過程,連編在一種目標(biāo)環(huán)境中運(yùn)行一個(gè)軟件產(chǎn)品所需的所有數(shù)據(jù)項(xiàng);一個(gè)軟件包創(chuàng)建團(tuán)隊(duì)PACK,負(fù)責(zé)創(chuàng)建軟件包,它們要分發(fā)到指定環(huán)境中的目標(biāo)平臺103;以及一個(gè)軟件包分發(fā)團(tuán)隊(duì)DISTR,負(fù)責(zé)把軟件產(chǎn)品分發(fā)和安裝到指定環(huán)境中的指定目標(biāo)平臺上。多種團(tuán)隊(duì)的成員在平臺107上操作,它與集成服務(wù)器109聯(lián)網(wǎng),再連接到公司網(wǎng)絡(luò)105。依據(jù)本發(fā)明,一個(gè)恰當(dāng)?shù)暮屯暾膹念^到尾的軟件提交過程可能包括以下子過程配置管理和版本控制、改變和問題管理、連編、打包、分發(fā)和安裝。配置管理和版本控制子過程使得軟件產(chǎn)品的組件能夠識別,比如源代碼模塊、二進(jìn)制和可執(zhí)行文件、配置文件、界面、數(shù)據(jù)模型、數(shù)據(jù)結(jié)構(gòu)、實(shí)體、過程(安裝和配置腳本)以及文檔。這個(gè)子過程也在開發(fā)生命周期中管理著軟件產(chǎn)品組件的不同釋放和版本,并且對它們的發(fā)展保持跟蹤。對于可能要向其提交軟件產(chǎn)品之目標(biāo)軟件系統(tǒng)的要素(比如平臺、操作系統(tǒng)、中間件、網(wǎng)絡(luò)因素等),這個(gè)子過程也使得它們之間可能的依賴性能夠標(biāo)識,而且能夠把所有這些要素集中起來,把它們作為一個(gè)整體來管理。因此,這個(gè)子過程在任何時(shí)間都能夠確定一個(gè)目標(biāo)軟件系統(tǒng)在特定環(huán)境和階段中的狀態(tài)。改變和問題管理子過程使得為了增強(qiáng)代碼而實(shí)施的改變和為了解決遇到的問題而開發(fā)的調(diào)整能夠受到控制。由于開發(fā)團(tuán)隊(duì)為了實(shí)施一種改變或者改正一個(gè)錯(cuò)誤而產(chǎn)生或修改的軟件組件應(yīng)當(dāng)受到標(biāo)識和控制,所以這個(gè)子過程的操作可以與配置管理和版本控制子過程完全整合。連編子過程產(chǎn)生在特定目標(biāo)系統(tǒng)中(如在特定的目標(biāo)環(huán)境和平臺中)運(yùn)行軟件產(chǎn)品所需的數(shù)據(jù)項(xiàng)。這個(gè)子過程的成功實(shí)施需要配置管理和版本控制子過程的正確實(shí)施。為了達(dá)到這個(gè)目的,連編子過程應(yīng)當(dāng)知曉什么需要改變,在何處找到在連編過程中要使用的要素,以及應(yīng)當(dāng)切換到什么過程以便成功地生產(chǎn)新版本的軟件產(chǎn)品。打包子過程以可安裝的格式產(chǎn)生軟件包,包含著所需的文件、數(shù)據(jù)、腳本以及支持安裝子過程需要的實(shí)用程序。為了確保安裝子過程正確無誤,需要(盡管不是強(qiáng)求)安裝是無人值守的(即無須終端用戶的干預(yù))。為了達(dá)到這個(gè)目的,產(chǎn)生的軟件包也應(yīng)當(dāng)包含必要的響應(yīng)文件,上面可以正確地記錄著安裝子過程期間請求的參數(shù)值、選項(xiàng)或可能的回答。分發(fā)子過程使打包子過程中產(chǎn)生的軟件包可立即安裝到目標(biāo)系統(tǒng)。最后,安裝子過程把分發(fā)的軟件包安裝在目標(biāo)系統(tǒng)中,即在對應(yīng)的環(huán)境(如測試、生產(chǎn)、培訓(xùn)等)中的指定目標(biāo)平臺上。這個(gè)子過程也創(chuàng)建若干日志文件,記載著軟件包的安裝結(jié)果中施加在目標(biāo)系統(tǒng)上的改變。安裝子過程也可以告知分發(fā)管理團(tuán)隊(duì)一個(gè)成功的和正確的安裝已經(jīng)完成,如果安裝失敗就觸發(fā)一個(gè)動(dòng)作。依據(jù)本發(fā)明一個(gè)優(yōu)選實(shí)施例的集成管理系統(tǒng)包括多個(gè)不同的子系統(tǒng),實(shí)施不同的子過程,它們組成了軟件提交過程。確切地說,依據(jù)本發(fā)明一個(gè)優(yōu)選實(shí)施例的集成管理系統(tǒng)包括一個(gè)配置管理子系統(tǒng),實(shí)施配置管理和版本控制子過程;一個(gè)改變和問題管理子系統(tǒng),實(shí)施改變和問題管理子過程;一個(gè)連編子系統(tǒng),實(shí)施連編子過程,一個(gè)打包子系統(tǒng),實(shí)施打包子過程,以及一個(gè)分發(fā)子系統(tǒng),實(shí)施分發(fā)和安裝子過程。每個(gè)子系統(tǒng)執(zhí)行軟件提交過程中的一個(gè)或多個(gè)特定的子過程。這些子系統(tǒng)不是相互隔離的,而是相互整合及關(guān)聯(lián)的,以便沿著一種軟件產(chǎn)品的整個(gè)生命周期進(jìn)行管理,從開發(fā)直至安裝在生產(chǎn)中。此外,依據(jù)本發(fā)明一個(gè)優(yōu)選實(shí)施例的集成管理系統(tǒng)還包括一個(gè)跟蹤子系統(tǒng),與其它子系統(tǒng)整合及互動(dòng)。沿著軟件提交過程的不同階段,跟蹤子系統(tǒng)從其它子系統(tǒng)獲取和匯總軟件提交狀態(tài)有關(guān)的信息。跟蹤子系統(tǒng)可以記錄該過程的若干階段以及在這些階段之內(nèi)探測到的結(jié)果。同時(shí),對于IT機(jī)構(gòu)之內(nèi)不同團(tuán)隊(duì)的成員,跟蹤子系統(tǒng)也按照他們在這樣一種機(jī)構(gòu)之內(nèi)的角色和責(zé)任,使他們保持知曉軟件提交過程。圖2是一幅示意框圖,展示了依據(jù)本發(fā)明一個(gè)優(yōu)選實(shí)施例的從頭到尾的軟件提交集成管理系統(tǒng)。該集成管理系統(tǒng)由引用號201整體標(biāo)識,構(gòu)成它的子系統(tǒng)示意性地表示為功能區(qū)塊。確切地說,配置管理子系統(tǒng)由區(qū)塊203(CMss)標(biāo)識,連編子系統(tǒng)由區(qū)塊205(Bss)標(biāo)識,打包子系統(tǒng)由區(qū)塊207(Pss)標(biāo)識,分發(fā)子系統(tǒng)由區(qū)塊209(Dss)標(biāo)識,改變和問題管理子系統(tǒng)由區(qū)塊211(C&amp;PMss)標(biāo)識。此外,跟蹤子系統(tǒng)由區(qū)塊213(Tss)標(biāo)識。由公司IT機(jī)構(gòu)的開發(fā)團(tuán)隊(duì)DEV交互操作的配置管理子系統(tǒng)203,具有一個(gè)相關(guān)聯(lián)的安全中心儲存庫(CR)215,而且與連編子系統(tǒng)205、打包子系統(tǒng)207以及改變和問題管理子系統(tǒng)211互動(dòng)。打包子系統(tǒng)207又與分發(fā)子系統(tǒng)209互動(dòng)。在本發(fā)明的一個(gè)優(yōu)選實(shí)施例中,分發(fā)子系統(tǒng)209具有一個(gè)相關(guān)聯(lián)的軟件分發(fā)儲存庫(DR)217。打包子系統(tǒng)207能夠訪問軟件分發(fā)儲存庫217。為了隨后的安裝,分發(fā)子系統(tǒng)209能夠把軟件產(chǎn)品分發(fā)到指定環(huán)境的指定目標(biāo)平臺103,例如生產(chǎn)環(huán)境PROD和測試環(huán)境TEST。改變和問題管理子系統(tǒng)211從已經(jīng)安裝了軟件產(chǎn)品的不同環(huán)境的目標(biāo)平臺接收反饋。在對已安裝軟件產(chǎn)品的的問題進(jìn)行改變或調(diào)整階段,IT機(jī)構(gòu)的開發(fā)團(tuán)隊(duì)DEV對改變和問題管理子系統(tǒng)211進(jìn)行交互操作。改變和問題管理子系統(tǒng)通知開發(fā)團(tuán)隊(duì),一種已安裝的軟件產(chǎn)品需要一種改變或者一種調(diào)整。配置管理子系統(tǒng)203、連編子系統(tǒng)205、打包子系統(tǒng)207、分發(fā)子系統(tǒng)209以及改變和問題管理子系統(tǒng)211都可以與跟蹤子系統(tǒng)213互動(dòng)。在圖2中,子系統(tǒng)、儲存庫、目標(biāo)環(huán)境與開發(fā)團(tuán)隊(duì)之間的功能互動(dòng),示意性地表示為簡單的線條。按照一個(gè)項(xiàng)目的需求,為了實(shí)施和相互整合上述子系統(tǒng),以形成集成的管理系統(tǒng),可以使用現(xiàn)有的軟件產(chǎn)品和工具,也可以使用為此目的而專門開發(fā)的其它軟件組件?,F(xiàn)在將更詳細(xì)地介紹不同子系統(tǒng)的特定功能。一般說來,配置管理子系統(tǒng)203實(shí)施軟件提交過程中的配置管理和版本控制子過程。確切地說,這個(gè)子系統(tǒng)執(zhí)行識別、組織和控制一個(gè)軟件產(chǎn)品的若干組件的任務(wù),比如源代碼模塊、連編腳本(即make程序的描述文件)、二進(jìn)制和可執(zhí)行文件、界面、數(shù)據(jù)模型、數(shù)據(jù)結(jié)構(gòu)、實(shí)體、配置文件、安裝腳本和響應(yīng)文件、配置腳本以及文檔編制組件,例如提交信息、連編指南、操作指南和用戶指南。例如,軟件產(chǎn)品的以上組件可以由開發(fā)團(tuán)隊(duì)開發(fā),或者從一個(gè)軟件賣方購買,并且可以由開發(fā)團(tuán)隊(duì)向配置管理子系統(tǒng)203提供。配置管理子系統(tǒng)203把軟件組件存放在相關(guān)聯(lián)的安全中心儲存庫215中。此外,配置管理子系統(tǒng)203在軟件組件的整個(gè)開發(fā)生命周期中,控制和管理著軟件組件的版本,并且對它們的發(fā)展保持跟蹤,能夠隨時(shí)確定一種特定環(huán)境中代碼的狀態(tài)或版本。不僅如此,對于構(gòu)成軟件產(chǎn)品的軟件組件,配置管理子系統(tǒng)203還能夠記錄它們之間的依賴關(guān)系,而且能夠把它們集中起來,所以可以把它們作為一個(gè)整體來管理。因此,配置管理子系統(tǒng)203不僅確保了軟件產(chǎn)品的完整性,而且確保了整個(gè)系統(tǒng)的完整性。所有這些功能降低了復(fù)雜程度,而且節(jié)省了實(shí)施時(shí)間,改善了軟件生產(chǎn)過程的質(zhì)量和生產(chǎn)率,簡化了過去軟件版本的可重用性。改變和問題管理子系統(tǒng)211實(shí)施軟件提交過程的改變和問題管理子過程。確切地說,這個(gè)子系統(tǒng)執(zhí)行以下功能對軟件產(chǎn)品的改變方案和改正錯(cuò)誤的解決方案進(jìn)行控制;支持改變和問題管理子過程的若干步驟,這些步驟包括例如探測在測試、培訓(xùn)或生產(chǎn)的任一種環(huán)境中已經(jīng)安裝之軟件產(chǎn)品中的問題,批準(zhǔn)一種改變,證實(shí)輸出,實(shí)施改變或糾正錯(cuò)誤等;對改變和問題保持跟蹤,確保改變和問題管理子過程成功地實(shí)現(xiàn)以及改變經(jīng)過適當(dāng)授權(quán);評估改變和問題的沖擊,因此能夠作出判斷、節(jié)省成本、精力和時(shí)間;根據(jù)子系統(tǒng)之內(nèi)記錄和管理的類似錯(cuò)誤,促進(jìn)問題確定過程;識別哪些代碼要素是應(yīng)用程序問題的根源,或者說哪些代碼要素必須修改以實(shí)施改變;以及連編已經(jīng)作出之改變和調(diào)整與在軟件產(chǎn)品的新版本中解決之問題的聯(lián)系,使得它們在多種版本和環(huán)境中脫離特定的軟件要素。為了完成一種正確的問題和改變管理,需要一種穩(wěn)健的和適當(dāng)?shù)呐渲霉芾?,也需要一種有效的版本控制。為了達(dá)到這個(gè)目的,改變和問題管理子系統(tǒng)211可以與配置管理子系統(tǒng)203全面整合。全面整合意味著終端用戶能夠確定中心儲存庫215中要改變之軟件組件的版本和釋放以及其它特征。配置管理子系統(tǒng)203與改變和問題管理子系統(tǒng)211可以視為一個(gè)單一的子系統(tǒng),實(shí)施配置、版本控制以及改變和問題管理的功能。連編子系統(tǒng)205實(shí)施軟件提交過程的連編子過程。確切地說,這個(gè)子系統(tǒng)具有以下功能確保中心儲存庫215中存放的源代碼正確地連編,以及產(chǎn)生在目標(biāo)系統(tǒng)中運(yùn)行軟件產(chǎn)品所需的二進(jìn)制文件。這個(gè)子系統(tǒng)也能夠識別產(chǎn)生二進(jìn)制文件所用之源代碼的版本。更詳細(xì)地說,在配置管理子系統(tǒng)203的控制下,連編子系統(tǒng)205自動(dòng)地從中心儲存庫215中提取所需的源代碼組件,并且連編腳本和任何其它要素,以用于連編軟件產(chǎn)品。然后,這個(gè)子系統(tǒng)把這些組件傳遞到適當(dāng)?shù)倪B編系統(tǒng)。根據(jù)源代碼的類型,連編子系統(tǒng)205啟動(dòng)適當(dāng)?shù)倪B編腳本、連編系統(tǒng)和目標(biāo)執(zhí)行平臺和環(huán)境,以獲得軟件的對應(yīng)版本。隨后,子系統(tǒng)205自動(dòng)地把已經(jīng)產(chǎn)生的二進(jìn)制文件存放在中心儲存庫215中,以便對產(chǎn)生它們的源代碼保持跟蹤。如果軟件系統(tǒng)不是由IT機(jī)構(gòu)自行開發(fā),而是從一個(gè)軟件賣方購買的,在大多數(shù)情況下二進(jìn)制文件是專門提交的,而不是要產(chǎn)生的。在這種情況下,就不必執(zhí)行連編子過程。公司IT機(jī)構(gòu)的開發(fā)團(tuán)隊(duì)把軟件賣方提供的二進(jìn)制文件供應(yīng)給配置管理子系統(tǒng),它把它們與軟件產(chǎn)品的其它組件一起,存放在中心儲存庫215中。打包子系統(tǒng)207實(shí)施軟件提交過程的打包子過程,并且產(chǎn)生軟件產(chǎn)品的數(shù)據(jù)包,使它們能夠向指定環(huán)境的目標(biāo)平臺分發(fā)和安裝。更具體地說,打包子系統(tǒng)207產(chǎn)生壓縮的軟件包,用于分發(fā)。這些軟件包包含著軟件產(chǎn)品的二進(jìn)制文件(或者是在連編子過程中產(chǎn)生的,或者是由軟件賣方提供的),以及所需的所有其它文件,比如配置文件、初始化文件、在目標(biāo)平臺上進(jìn)行無人值守安裝所需的響應(yīng)文件或者終端用戶的文檔。在配置管理子系統(tǒng)203的控制下,這些文件由打包子系統(tǒng)自動(dòng)地從中心儲存庫215中提取,配置管理子系統(tǒng)203在中心儲存庫215中存放的組件中,識別構(gòu)成軟件產(chǎn)品的組件。軟件包的內(nèi)容取決于應(yīng)用程序代碼和目標(biāo)執(zhí)行平臺(硬件、操作系統(tǒng)、中間件)的類型,而打包子過程和軟件包的格式可以與軟件包的內(nèi)容無關(guān)。然后,根據(jù)IT機(jī)構(gòu)的打包團(tuán)隊(duì)提供的以及跟蹤子系統(tǒng)中記錄的信息,打包子系統(tǒng)207為產(chǎn)生的軟件包分配一個(gè)角色,它必須符合該軟件產(chǎn)品最終將要安裝的目標(biāo)系統(tǒng)。例如,一個(gè)目標(biāo)系統(tǒng)角色可以是WindowsNTSQL服務(wù)器,MQSeries客戶,SAPNT服務(wù)器,等等。優(yōu)選情況下,打包子系統(tǒng)207把產(chǎn)生的軟件包存放在軟件分發(fā)子系統(tǒng)209的軟件分發(fā)儲存庫217中。多虧如此,使用跟蹤子系統(tǒng)213提供的信息,在每個(gè)平臺上軟件產(chǎn)品的每一個(gè)組件都很容易識別,因此就能夠從軟件分發(fā)儲存庫217中,獲得包含著這些組件中每一個(gè)之正確版本的對應(yīng)可安裝軟件包。此外,由于軟件包存放在軟件分發(fā)子系統(tǒng)209的軟件分發(fā)儲存庫217中,軟件應(yīng)用程序的每個(gè)版本可以僅僅連編和打包一次,隨后再修改,也能夠確保最終的安裝是相同的,與目標(biāo)環(huán)境(比如單元測試環(huán)境、功能測試環(huán)境、集成測試環(huán)境、回歸測試環(huán)境、系統(tǒng)測試環(huán)境或生產(chǎn))無關(guān)。軟件分發(fā)子系統(tǒng)209實(shí)施軟件提交過程的分發(fā)和安裝子過程,并且在指定環(huán)境的正確目標(biāo)平臺上執(zhí)行軟件包的分發(fā)和安裝。可以存放在軟件分發(fā)儲存庫217中的將要分發(fā)的軟件包,包含著軟件產(chǎn)品的二進(jìn)制文件及所需的任何其它文件,比如配置文件、初始化文件和無人值守安裝所需的響應(yīng)文件,所以,一旦軟件包的安裝已經(jīng)初始化之后,或者由集成管理系統(tǒng)請求,或者由一個(gè)目標(biāo)平臺強(qiáng)制,不需要用戶干預(yù),因此確保了安裝過程的正確性。軟件包的分發(fā)和安裝可以按照任何一種常規(guī)的分發(fā)方式來進(jìn)行,比如直接存取分發(fā)、流式分發(fā)、改道分發(fā)、級聯(lián)分發(fā)、網(wǎng)絡(luò)服務(wù)器出版分發(fā)或者通過電子郵件發(fā)送來分發(fā)。所有這些方式,雖然相互有別,但是都使用或者是一種“拉”分發(fā)技術(shù),或者是一種“推”分發(fā)技術(shù),或者兼而有之(“推-拉”分發(fā)方式)。在拉分發(fā)技術(shù)中,軟件包的分發(fā)是由試圖在一個(gè)目標(biāo)平臺上安裝軟件包的終端用戶觸發(fā)的。在推分發(fā)技術(shù)中,分發(fā)是由軟件分發(fā)子系統(tǒng)209啟動(dòng)的,它強(qiáng)制軟件包從軟件分發(fā)儲存庫217下傳至目標(biāo)平臺。在推-拉分發(fā)技術(shù)中,軟件包的分發(fā)是由推拉技術(shù)的一種組合來進(jìn)行的。取決于不同的情況,這些技術(shù)中的任何一種都可以實(shí)施和應(yīng)用。如果按照項(xiàng)目的指示,軟件包的安裝已經(jīng)授權(quán),跟蹤子系統(tǒng)213就可以通知測試團(tuán)隊(duì)、終端用戶或者所涉及的任何專業(yè)人員。分發(fā)子系統(tǒng)209按照打包子系統(tǒng)207為其分配的角色,分發(fā)軟件包。嚴(yán)格說來,跟蹤子系統(tǒng)213無須實(shí)施軟件提交過程的任何特定子過程。更確切地說,在一個(gè)普通軟件產(chǎn)品沿著其整個(gè)生命周期的提交過程中,這個(gè)子系統(tǒng)對于其它子系統(tǒng)收集的提交過程狀態(tài)有關(guān)的信息進(jìn)行匯編。跟蹤子系統(tǒng)213可以連編已執(zhí)行的每一個(gè)過程步驟、每一個(gè)細(xì)節(jié)以及集成管理系統(tǒng)探測到的每一個(gè)事件。例如,作為一種信息工具,這個(gè)子系統(tǒng)提供了不同的軟件產(chǎn)品提交以及軟件級別、連編結(jié)果、分發(fā)或安裝結(jié)果和提交狀態(tài)有關(guān)的信息。在本發(fā)明的一個(gè)優(yōu)選實(shí)施例中,跟蹤子系統(tǒng)213包括一個(gè)電子郵件(e-mail)工具,當(dāng)某些指定事件發(fā)生時(shí),例如提交的狀態(tài)有轉(zhuǎn)換時(shí),它就以電子郵件消息的形式,向提交過程中涉及的專業(yè)人員自動(dòng)提交通知。電子郵件消息形式的自動(dòng)通知使這些團(tuán)隊(duì)的成員及時(shí)知曉提交的狀態(tài);確切地說,這個(gè)子系統(tǒng)使負(fù)責(zé)分發(fā)的團(tuán)隊(duì)知曉軟件包的提交。以上概述的集成管理系統(tǒng)實(shí)現(xiàn)了一種從頭到尾的軟件提交方式,它包括以下步驟在配置管理子系統(tǒng)203的控制下,由IT機(jī)構(gòu)的一個(gè)團(tuán)隊(duì)(如配置管理團(tuán)隊(duì))加載中心儲存庫215中源代碼的若干片段,在跟蹤子系統(tǒng)213中記錄軟件產(chǎn)品的若干版本,包括相關(guān)的細(xì)節(jié),比如版本號、平臺、語言、開發(fā)團(tuán)隊(duì)等等;在配置管理子系統(tǒng)203之內(nèi)管理源代碼,它分配版本號,存放代碼,控制伴隨的文檔,等等;如果軟件賣方未提供,就利用連編子系統(tǒng)205并且在配置管理子系統(tǒng)203的控制下,從中心儲存庫215中存放的源代碼,連編二進(jìn)制文件;在配置管理子系統(tǒng)203的控制下,在中心儲存庫215中加載已產(chǎn)生的二進(jìn)制文件和軟件產(chǎn)品的其它組件,比如配置和安裝腳本;在配置管理子系統(tǒng)203的控制下,從中心儲存庫215中提取二進(jìn)制文件、文檔和配置和安裝腳本,并且利用打包子系統(tǒng)207,產(chǎn)生將要分發(fā)的一個(gè)軟件包;把產(chǎn)生的軟件包發(fā)送到分發(fā)子系統(tǒng)209,以便把軟件包分發(fā)到指定目標(biāo)環(huán)境中的指定目標(biāo)平臺;在分發(fā)子系統(tǒng)209的控制下,在指定環(huán)境的目標(biāo)平臺上分發(fā)和安裝軟件包;以及在本過程期間更新跟蹤子系統(tǒng),記錄本過程中的步驟和結(jié)果。此外,本方法能夠在改變和問題管理子系統(tǒng)211的控制下,管理已經(jīng)提交之軟件產(chǎn)品的軟件改變和調(diào)整?,F(xiàn)在參考圖3,它利用一幅簡化的流程圖,顯示了依據(jù)本發(fā)明之方法的一個(gè)優(yōu)選實(shí)施例,用于利用前面介紹的集成軟件提交系統(tǒng)實(shí)施從頭到尾的提交過程。現(xiàn)在將要介紹之方法的示范性實(shí)施例涉及以下情況一個(gè)新的軟件產(chǎn)品完全由公司IT機(jī)構(gòu)的開發(fā)團(tuán)隊(duì)自行開發(fā)。不過,依據(jù)本發(fā)明的方法適于實(shí)施的從頭到尾的整個(gè)軟件提交過程,與軟件產(chǎn)品是自行開發(fā)還是由軟件賣方提供無關(guān)。在后一種情況下,就不必執(zhí)行本方法的某些步驟(涉及連編過程的若干步驟)。一旦公司IT機(jī)構(gòu)的開發(fā)團(tuán)隊(duì)決定開發(fā)一個(gè)新的軟件產(chǎn)品,或者為了改正一個(gè)錯(cuò)誤或作出某些改變而開發(fā)已有軟件產(chǎn)品的一個(gè)新釋放或新版本,本方法就開始了。首先,開發(fā)團(tuán)隊(duì)在跟蹤子系統(tǒng)213中記錄已開發(fā)軟件產(chǎn)品的相關(guān)細(xì)節(jié)(301框)。記錄的信息可能包括例如軟件產(chǎn)品的名稱、釋放/版本號、開發(fā)團(tuán)隊(duì)領(lǐng)導(dǎo)的姓名、目標(biāo)執(zhí)行平臺的名稱、語言代碼、產(chǎn)品文檔參考資料、已經(jīng)改正的問題、已經(jīng)實(shí)施的改變,諸如此類。然后,在配置管理子系統(tǒng)203的控制下,開發(fā)團(tuán)隊(duì)把連編和運(yùn)行軟件產(chǎn)品所需的軟件產(chǎn)品組件加載到中心儲存庫215中(303框)。這些要素包括例如源代碼模塊、連編腳本(即make程序的描述文件)、連編文檔、界面、數(shù)據(jù)模型、數(shù)據(jù)結(jié)構(gòu)、實(shí)體、配置腳本或文件、安裝腳本以及無人值守安裝和文檔編制所用的響應(yīng)文件,比如舉例來說提交信息(應(yīng)用程序、數(shù)據(jù)、改正的問題、施加的改變等等)、連編指南、管理指南、操作指南和用戶指南。正如305框所表示的,配置管理子系統(tǒng)203控制著中心儲存庫215中存放的軟件產(chǎn)品組件及其版本。為了達(dá)到這個(gè)目的,開發(fā)團(tuán)隊(duì)在跟蹤子系統(tǒng)213中記錄了配置管理子系統(tǒng)203進(jìn)行控制所用的信息,包括其中包含源代碼之儲存庫組件的名稱。一旦開發(fā)階段完成了,開發(fā)團(tuán)隊(duì)就使用跟蹤子系統(tǒng),向IT機(jī)構(gòu)中負(fù)責(zé)提交軟件的功能部門報(bào)告軟件產(chǎn)品的可用性(307框)。然后,連編團(tuán)隊(duì)檢驗(yàn)已產(chǎn)生的連編腳本和文檔正確無誤(309框)。如果在這項(xiàng)檢驗(yàn)期間,遇到了已產(chǎn)生的連編腳本和/或文檔中的錯(cuò)誤,連編團(tuán)隊(duì)就把這個(gè)事件記錄在跟蹤子系統(tǒng)213中,它通知開發(fā)團(tuán)隊(duì)需要改正這些錯(cuò)誤。開發(fā)團(tuán)隊(duì)改正了這些錯(cuò)誤之后,要重復(fù)前面的步驟,至少對于已經(jīng)改變的軟件組件是如此。然后就連編軟件產(chǎn)品,以便產(chǎn)生使軟件產(chǎn)品恰當(dāng)運(yùn)行所需的二進(jìn)制文件。正如311框所表示的,這些二進(jìn)制文件是在配置管理子系統(tǒng)203的控制下,由連編子系統(tǒng)205從中心儲存庫215中存放的源代碼產(chǎn)生的。然后連編子系統(tǒng)205就把前一步驟中產(chǎn)生的二進(jìn)制文件存放在中心儲存庫215中(313框)。作為下一個(gè)步驟(315框),連編團(tuán)隊(duì)在跟蹤子系統(tǒng)213中,記錄309框、311框和313框中步驟的執(zhí)行所涉及的信息或結(jié)果(是否可應(yīng)用)(如完成時(shí)成功或失敗、相關(guān)的結(jié)果、缺失所需的文檔等等)。跟蹤子系統(tǒng)213在需要時(shí)會(huì)向連編團(tuán)隊(duì)的成員發(fā)送自動(dòng)通知,例如以電子郵件消息的形式。至此,軟件應(yīng)用程序已經(jīng)連編。打包團(tuán)隊(duì)利用打包子系統(tǒng)207,產(chǎn)生對應(yīng)的可安裝軟件包(317框)。在配置管理和版本控制子系統(tǒng)203的控制下,打包子系統(tǒng)207從中心儲存庫215中,提取在一個(gè)指定的目標(biāo)平臺上部署(即安裝和運(yùn)行)該軟件產(chǎn)品所需的軟件組件。這些組件可能包括以下數(shù)據(jù)項(xiàng)如二進(jìn)制和可執(zhí)行文件、安裝腳本(如果需要的話)、無人值守安裝所用的響應(yīng)文件、配置腳本(如果需要的話)、配置文檔(如果需要的話)、終端用戶文檔(即用戶指南)、管理和操作文檔以及在指定的環(huán)境中指定的目標(biāo)平臺上部署該軟件產(chǎn)品可能需要的其它軟件產(chǎn)品組件。由于連編子過程期間產(chǎn)生的每一個(gè)要素都應(yīng)當(dāng)包括在軟件包中,所以連編子系統(tǒng)205的輸出存放在配置管理子系統(tǒng)203的中心儲存庫215中,并且供應(yīng)給打包子系統(tǒng)207作為一個(gè)輸入。一般說來,每個(gè)軟件包都應(yīng)當(dāng)整裝的,但是取決于應(yīng)用程序和安裝需求的特定設(shè)計(jì),每個(gè)要安裝的軟件產(chǎn)品也可以有不止一個(gè)軟件包。一旦軟件包已經(jīng)產(chǎn)生,它就可以用于分發(fā)。所以,產(chǎn)生的軟件包即可供應(yīng)給軟件分發(fā)子系統(tǒng)209。為了達(dá)到這個(gè)目的,打包子系統(tǒng)207把軟件包存放在分發(fā)子系統(tǒng)209的軟件分發(fā)儲存庫217中(319框),使其分發(fā)能夠進(jìn)行。然后,打包團(tuán)隊(duì)把317框和319框中步驟有關(guān)的信息和結(jié)果記錄在跟蹤子系統(tǒng)213中(321框)。需要時(shí)后者向該團(tuán)隊(duì)的成員發(fā)送和分配自動(dòng)通知。分發(fā)和安裝團(tuán)隊(duì)使用分發(fā)子系統(tǒng)209,在目標(biāo)環(huán)境的目標(biāo)平臺上分發(fā)和安裝軟件包(323框)。分發(fā)和安裝團(tuán)隊(duì)也把這個(gè)步驟有關(guān)的信息或結(jié)果記錄在跟蹤子系統(tǒng)213中,需要時(shí)它向該團(tuán)隊(duì)的成員發(fā)送自動(dòng)通知。優(yōu)選情況下,按照公司IT機(jī)構(gòu)的策略,在目標(biāo)環(huán)境中安裝應(yīng)用程序軟件包可能要受到一個(gè)管理團(tuán)隊(duì)的批準(zhǔn)。正如325框所表示的,已安裝軟件產(chǎn)品的增強(qiáng)以及解決應(yīng)用程序錯(cuò)誤所需的調(diào)整,是由改變和問題管理子系統(tǒng)211管理,它可以與配置管理子系統(tǒng)203完全整合。軟件改變和問題改正應(yīng)當(dāng)遵循IT機(jī)構(gòu)規(guī)定的手續(xù)。與應(yīng)用程序改變和錯(cuò)誤有關(guān)的信息,記錄在改變和問題管理子系統(tǒng)211中。如果是一項(xiàng)改變,這項(xiàng)改變的申請者執(zhí)行這項(xiàng)任務(wù),如果是一個(gè)錯(cuò)誤,由發(fā)現(xiàn)它的機(jī)構(gòu)記錄這個(gè)事件。對一個(gè)已安裝的軟件產(chǎn)品提交一個(gè)代碼版本以實(shí)施一項(xiàng)改變或改正一個(gè)錯(cuò)誤,其過程和方法基本上與任何其它提交的項(xiàng)目相同。實(shí)際上,一旦一個(gè)新代碼版本的開發(fā)開始了,它就記錄在跟蹤子系統(tǒng)213中。同樣,在配置管理子系統(tǒng)203中一項(xiàng)改變或一個(gè)錯(cuò)誤的標(biāo)識符也應(yīng)當(dāng)記錄為提交信息的一部分。如果一個(gè)軟件產(chǎn)品不是由公司IT機(jī)構(gòu)自行開發(fā)的,而是由一個(gè)軟件賣方提供的,那么從賣方收到軟件時(shí)就開始軟件提交過程。負(fù)責(zé)軟件提交過程的人員得到通知,他在跟蹤子系統(tǒng)213中記載這次提交。在這種情況下,由于僅僅應(yīng)當(dāng)提交可安裝格式的二進(jìn)制文件,在配置管理子系統(tǒng)之內(nèi)既不應(yīng)當(dāng)存放也不應(yīng)當(dāng)管理源代碼,所以就跳過連編子過程。圖4是一幅示意圖,顯示了軟件提交過程的主要步驟如何提供提交狀態(tài)有關(guān)的信息——在跟蹤子系統(tǒng)213中記錄的信息。跟蹤子系統(tǒng)213作為集成提交過程產(chǎn)生之信息以及跟蹤提交狀態(tài)的中心點(diǎn)。在這些步驟中記錄的信息匯總?cè)缦?。對于一個(gè)軟件產(chǎn)品的一個(gè)新釋放或新版本,或者一個(gè)現(xiàn)有的軟件產(chǎn)品的一項(xiàng)調(diào)整或一項(xiàng)改變,當(dāng)開發(fā)(411框)開始時(shí),開發(fā)團(tuán)隊(duì)在跟蹤子系統(tǒng)213中記錄相關(guān)的細(xì)節(jié),如產(chǎn)品名稱、版本號、開發(fā)團(tuán)隊(duì)標(biāo)識符、目標(biāo)執(zhí)行平臺、語言代碼、軟件產(chǎn)品文檔參考資料、配置管理子系統(tǒng)203有關(guān)的信息(包含著源代碼的中心儲存庫組件的名稱)、改正的問題或?qū)嵤┑母淖儭H绻撥浖a(chǎn)品不是自行開發(fā),而是從一個(gè)軟件賣方購買,如上所述,通常僅僅應(yīng)當(dāng)提交二進(jìn)制文件;即使在這種情況下,供應(yīng)的軟件也應(yīng)當(dāng)遵循提交流程,負(fù)責(zé)軟件提交過程的功能部門應(yīng)當(dāng)把賣方提交的信息記錄在跟蹤子系統(tǒng)213中。當(dāng)開發(fā)階段結(jié)束時(shí),就連編(413框)了應(yīng)用程序以產(chǎn)生運(yùn)行它所需的二進(jìn)制文件。然后,負(fù)責(zé)連編代碼的連編團(tuán)隊(duì)(或者開發(fā)團(tuán)隊(duì)本身,如果IT機(jī)構(gòu)中沒有這種責(zé)任劃分的話)就在跟蹤子系統(tǒng)213中,記錄該過程的這個(gè)步驟有關(guān)的信息。要記錄之信息的種類實(shí)例為配置管理子系統(tǒng)信息,比如包含著源代碼(從它產(chǎn)生對應(yīng)的二進(jìn)制文件)的中心儲存庫215組件的名稱、包含著已產(chǎn)生的二進(jìn)制文件之中心儲存庫215組件的名稱、包含著連編腳本和文檔(由開發(fā)團(tuán)隊(duì)提供)之中心儲存庫215組件的名稱、依賴關(guān)系或前提條件(版本間的、代碼集版本的等)有關(guān)的信息;連編日期和連編結(jié)果(如果有的話)。一旦軟件產(chǎn)品已經(jīng)連編,就由打包子系統(tǒng)207產(chǎn)生(415框)對應(yīng)的可安裝軟件包。然后,負(fù)責(zé)軟件打包的打包團(tuán)隊(duì)就在跟蹤子系統(tǒng)213中,記錄這個(gè)步驟有關(guān)的信息。要記錄之信息的種類實(shí)例為配置管理子系統(tǒng)信息,比如包含著能夠安裝所需腳本和響應(yīng)文件的軟件分發(fā)儲存庫217組件的名稱、以及包含著應(yīng)用程序軟件包的軟件分發(fā)儲存庫217組件的名稱;軟件包名稱;目標(biāo)執(zhí)行平臺的角色;打包日期;以及打包結(jié)果(如果可應(yīng)用的話)。一旦軟件包已經(jīng)產(chǎn)生,它就能夠用于分發(fā)(417框)。然后,打包團(tuán)隊(duì)就在跟蹤子系統(tǒng)213中,記錄軟件包的新狀態(tài)(軟件包已為分發(fā)準(zhǔn)備就緒)。當(dāng)請求分發(fā)軟件包(可能是批準(zhǔn)之后)時(shí),為了分發(fā)和安裝(419框),軟件包必須按照其角色或功能,分配給正確的目標(biāo)系統(tǒng)。軟件分發(fā)子系統(tǒng)209把軟件包提交到目標(biāo)平臺,負(fù)責(zé)分發(fā)和安裝軟件包的分發(fā)團(tuán)隊(duì)在跟蹤子系統(tǒng)中,記錄已安裝軟件包的新狀態(tài)(已安裝狀態(tài))。依據(jù)本發(fā)明的從頭到尾的軟件提交集成管理系統(tǒng)和方法,最顯著和最優(yōu)越的特性如下。一個(gè)軟件產(chǎn)品的整個(gè)生命周期作為一個(gè)單一的過程來管理,而不是像現(xiàn)有技術(shù)中那樣作為一組不相關(guān)的、獨(dú)立的過程來管理。本發(fā)明的集成管理軟件系統(tǒng)是一種獨(dú)特的和全局的管理系統(tǒng),它支持整個(gè)軟件提交過程。集成管理系統(tǒng)的子系統(tǒng)相互整合,它們中的每一個(gè)都實(shí)施軟件提交過程中的一個(gè)特定子過程。依據(jù)本發(fā)明的集成管理系統(tǒng)與特定實(shí)施方案中采用的平臺、操作系統(tǒng)、儲存庫或數(shù)據(jù)庫無關(guān)。此外,集成管理系統(tǒng)確保了軟件系統(tǒng)的完整性及其準(zhǔn)確性能,跟蹤和控制著不同軟件組件和文檔之間的依賴關(guān)系,因此避免了冗余并且確保了全部組件能夠聯(lián)在一起按照需要而工作。新的軟件產(chǎn)品或者已有軟件產(chǎn)品的新釋放或版本,比如對已安裝之應(yīng)用程序的調(diào)整或修改,在配置管理子系統(tǒng)的控制下,從中心儲存庫連編。產(chǎn)生和分發(fā)可安裝的軟件包時(shí),獨(dú)立于軟件包的內(nèi)容和目標(biāo)系統(tǒng),而且能夠由一個(gè)無人值守過程來安裝。優(yōu)越之處在于,新的軟件版本(完全的或增補(bǔ)的)可以連編和打包一次,并存放在分發(fā)子系統(tǒng)的軟件分發(fā)儲存庫中,使得在不同環(huán)境中能夠重復(fù)使用安裝軟件包。此外,集成管理系統(tǒng)使得無人值守安裝時(shí)能夠自動(dòng)提取軟件包,堅(jiān)持了正確的軟件包按照其角色安裝在正確的目標(biāo)系統(tǒng)中,使得在任何時(shí)間對于任何特定環(huán)境和階段都能夠檢索軟件系統(tǒng)的全部狀態(tài)信息。不僅如此,集成管理系統(tǒng)確保了在不同的平臺上,同一軟件的不同版本或級別能夠同步,而且在不同環(huán)境(即開發(fā)、連編、單元測試、集成測試、回歸測試、系統(tǒng)測試、生產(chǎn))中并行運(yùn)行的并發(fā)應(yīng)用程序之間能夠同步,這些環(huán)境往往是由專業(yè)人員在遠(yuǎn)程位置擁有和管理的。本系統(tǒng)也可以允許保持軟件狀態(tài)的審核蹤跡。必須強(qiáng)調(diào),任何商業(yè)、公司或IT機(jī)構(gòu),面對一個(gè)管理系統(tǒng)支持的軟件提交過程的實(shí)施問題時(shí),都可以應(yīng)用本文介紹的軟件提交過程,以及為了實(shí)施它而公開的系統(tǒng)和方法。實(shí)際上,在本發(fā)明中介紹的系統(tǒng)的需求和主要特性是通用的,獨(dú)立于特定的實(shí)施例。也必須理解,按照一個(gè)給定機(jī)構(gòu)或公司的特定需求,可以采用其它的實(shí)施例,可以作出結(jié)構(gòu)改變而不脫離本發(fā)明的范圍,正如附帶的權(quán)利要求書的規(guī)定。權(quán)利要求1.一種集成的數(shù)據(jù)處理系統(tǒng),用于管理在一個(gè)網(wǎng)絡(luò)環(huán)境中把軟件產(chǎn)品提交到目標(biāo)軟件產(chǎn)品執(zhí)行單元的提交過程,包括一個(gè)中心儲存庫,用于存放至少一種軟件產(chǎn)品的軟件組件;一個(gè)第一子系統(tǒng),用于在中心儲存庫之內(nèi)識別將要提交的軟件產(chǎn)品的軟件組件;一個(gè)第二子系統(tǒng),用于根據(jù)由第一子系統(tǒng)識別的所識別的軟件組件,創(chuàng)建至少一個(gè)軟件產(chǎn)品包;以及一個(gè)第三子系統(tǒng),用于向目標(biāo)軟件產(chǎn)品執(zhí)行單元分發(fā)第二子系統(tǒng)創(chuàng)建的至少一個(gè)軟件產(chǎn)品數(shù)據(jù)包。2.根據(jù)權(quán)利要求1的集成數(shù)據(jù)處理系統(tǒng),進(jìn)一步包括一個(gè)軟件包分發(fā)儲存庫,用于存放第二子系統(tǒng)根據(jù)已識別的軟件組件創(chuàng)建的至少一個(gè)軟件產(chǎn)品數(shù)據(jù)包。3.根據(jù)權(quán)利要求1的集成數(shù)據(jù)處理系統(tǒng),其特征在于,第三子系統(tǒng)按照第二子系統(tǒng)分配給這至少一個(gè)軟件產(chǎn)品數(shù)據(jù)包的至少一個(gè)角色,把這至少一個(gè)軟件產(chǎn)品數(shù)據(jù)包分發(fā)到目標(biāo)軟件產(chǎn)品執(zhí)行單元,這些單元屬于至少一個(gè)環(huán)境。4.根據(jù)權(quán)利要求1的集成數(shù)據(jù)處理系統(tǒng),其特征在于,第一子系統(tǒng)管理著中心儲存庫中的一個(gè)存儲器,其中存放著要提交的軟件產(chǎn)品的軟件組件。5.根據(jù)權(quán)利要求1的集成數(shù)據(jù)處理系統(tǒng),進(jìn)一步包括一個(gè)第四子系統(tǒng),用于在要提交的軟件產(chǎn)品的所識別軟件組件之間,執(zhí)行軟件代碼組件的一個(gè)連編過程,第四子系統(tǒng)在中心儲存庫中存放著連編過程的結(jié)果。6.根據(jù)權(quán)利要求1的集成數(shù)據(jù)處理系統(tǒng),進(jìn)一步包括一個(gè)第五子系統(tǒng),用于管理對已經(jīng)提交的軟件產(chǎn)品施加改變的一個(gè)過程。7.根據(jù)權(quán)利要求1的集成數(shù)據(jù)處理系統(tǒng),進(jìn)一步包括一個(gè)第六子系統(tǒng),用于記錄在軟件產(chǎn)品的提交期間,集成數(shù)據(jù)處理系統(tǒng)的第一至第五子系統(tǒng)中至少一個(gè)提供的信息。8.一種方法,用于在一個(gè)網(wǎng)絡(luò)環(huán)境中把軟件產(chǎn)品提交到目標(biāo)軟件產(chǎn)品執(zhí)行單元,包括以下步驟在中心儲存庫中存放至少一種軟件產(chǎn)品的軟件組件;在中心儲存庫中存放的軟件組件中,識別要提交的軟件產(chǎn)品的軟件組件;創(chuàng)建至少一個(gè)軟件產(chǎn)品數(shù)據(jù)包,它包括至少一個(gè)已識別的軟件組件;向目標(biāo)軟件產(chǎn)品執(zhí)行單元分發(fā)軟件產(chǎn)品數(shù)據(jù)包,并在該處安裝軟件產(chǎn)品數(shù)據(jù)包。9.根據(jù)權(quán)利要求8的方法,其特征在于,創(chuàng)建至少一個(gè)軟件產(chǎn)品數(shù)據(jù)包的步驟,包括把一種角色標(biāo)志分配給至少一個(gè)軟件產(chǎn)品數(shù)據(jù)包,該角色標(biāo)志用于標(biāo)識將要向其分發(fā)軟件產(chǎn)品的目標(biāo)軟件產(chǎn)品執(zhí)行單元,以及按照角色標(biāo)志分發(fā)這至少一個(gè)軟件產(chǎn)品數(shù)據(jù)包。10.根據(jù)權(quán)利要求8的方法,進(jìn)一步包括在軟件分發(fā)儲存庫中存放至少一個(gè)軟件產(chǎn)品數(shù)據(jù)包的步驟。11.根據(jù)權(quán)利要求10的方法,進(jìn)一步包括一個(gè)步驟對中心儲存庫中存儲的將要提交的軟件產(chǎn)品的已識別源代碼組件進(jìn)行連編,并且把連編結(jié)果存放在中心儲存庫中。全文摘要一種軟件提交過程包括以下子過程配置管理和版本控制、改變和問題管理、連編、打包以及分發(fā)和安裝。該過程由一個(gè)集成管理系統(tǒng)實(shí)施,它包括一個(gè)配置管理子系統(tǒng)、一個(gè)改變和問題管理子系統(tǒng)、一個(gè)連編子系統(tǒng)、一個(gè)打包子系統(tǒng)、一個(gè)分發(fā)子系統(tǒng)以及一個(gè)跟蹤子系統(tǒng)。這些子系統(tǒng)經(jīng)過了整合,以便在軟件的整個(gè)生命周期中進(jìn)行管理,從開發(fā)直至安裝在生產(chǎn)中。跟蹤子系統(tǒng)沿著該過程的所有步驟,從其它子系統(tǒng)對提交狀態(tài)有關(guān)的信息進(jìn)行獲取和匯總。文檔編號G06F9/445GK1547700SQ02816743公開日2004年11月17日申請日期2002年8月13日優(yōu)先權(quán)日2001年8月30日發(fā)明者瑪麗亞-瓊斯·阿布魯·巴圖瑞恩,馬里亞諾·戴澤·佛納德茲,伊格納斯奧·佛納德茲·岡薩雷茲,伊利薩·馬丁·嘉里卓,馬丁嘉里卓,斯奧佛納德茲岡薩雷茲,瑪麗亞-瓊斯阿布魯巴圖瑞恩,諾戴澤佛納德茲申請人:國際商業(yè)機(jī)器公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
      1