專利名稱:軟件組件管理裝置和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及用于管理用戶方軟件使用的軟件組件的注冊和更新的軟件組件管理裝置和方法。
背景技術(shù):
最近,作為使用軟件的系統(tǒng)的開發(fā)形式或應用風格,利用合適的單元劃分的軟件被看作組件(以下,該被劃分的軟件被稱為軟件組件)。通過將多個開發(fā)的軟件組件組合,就有效地創(chuàng)建和應用了新的軟件。
作為用于注冊的系統(tǒng),軟件組件管理裝置管理和提供這樣的軟件組件。
在軟件組件的用戶方,用戶方接收軟件組件管理裝置提供的一個或多個軟件組件。通過組合所提供的多個軟件組件,或者通過將(最先是由用戶方開發(fā)的)軟件模塊安裝到軟件組件中,構(gòu)建用戶方的新軟件。
通常來講,存在多個軟件組件,也存在多個用戶方軟件。因此,在軟件組件管理裝置中,用于集中管理哪個用戶方軟件使用(安裝)提供的軟件組件的功能是必需的。
此外,在預定軟件組件中發(fā)現(xiàn)缺陷(諸如錯誤)的情況下,或者在修改(升級或版本更新)預定軟件組件的情況下,需要向使用該軟件組件的另一個用戶(另一個用戶方軟件)通知該錯誤或版本更新。
用于滿足這樣的要求的JP-A No.2001-282519(Kokai)(以下稱為參考文件1)是已知的。在參考文件1的軟件組件管理裝置中,注冊了軟件組件管理信息、用戶方軟件信息以及將軟件組件管理信息和用戶方軟件信息相關(guān)聯(lián)的鏈接信息。檢索所有使用該預定軟件組件的用戶方軟件,并且錯誤信息或修改被通知到所有檢索到的用戶方軟件。
如今,從軟件組件管理裝置提供的軟件組件通常被表示為源代碼。因此,在用戶方,該原始軟件組件可以被容易地修改(改變)為適合于用戶方軟件的新的軟件組件。
該修改并不總是軟件組件關(guān)鍵部分的修改,而可能是補充部分的修改,例如糾錯處理或輸入/輸出數(shù)據(jù)的參數(shù)調(diào)整。
以這種方式,在每個用戶方軟件中,存在著許多不同于“基礎(chǔ)”原始軟件組件的、具有補充部分的“分支”軟件組件。
在背景技術(shù)中,用戶方軟件經(jīng)常管理“分支”軟件組件(管理修改歷史)。換句話說,原始軟件組件的供應源方并不集中管理所提供的軟件組件的修改歷史。
在這種情況下,即使用戶方作出的軟件組件的修改是對軟件組件關(guān)鍵部分的修改(例如,關(guān)鍵部分中的功能擴展或缺陷消除),除了原始軟件組件的作者之外的用戶不能理解該變化給另一個用戶方軟件帶來的影響的結(jié)果或程度。結(jié)果,很難恰當?shù)叵蛄硪粋€用戶方軟件通知該修改。
另一個方面,如果某個用戶方軟件作出的軟件組件的修改被通知到所有其他用戶方軟件,而不區(qū)分關(guān)鍵部分和補充部分,那么(接收到修改通知的)另一個用戶方軟件會執(zhí)行軟件組件的不必要的修改。結(jié)果,這樣的修改通知甚至會造成壞影響。
發(fā)明內(nèi)容
本發(fā)明是關(guān)于一種軟件組件管理裝置和方法,用于通過區(qū)分軟件組件的關(guān)鍵部分和補充部分來有效地管理軟件組件的修改。
根據(jù)本發(fā)明的一個方面,提供一種管理軟件組件的裝置,包括組件記錄單元,被配置來記錄多個軟件組件,每個軟件組件具有關(guān)鍵部分和補充部分;用戶方軟件記錄單元,被配置來記錄多個用戶方軟件,每個用戶方軟件與記錄在所述用戶方軟件中的至少一個軟件組件相關(guān)聯(lián);注冊更新單元,被配置來判定在所述組件記錄單元中記錄的軟件組件的修改部分是關(guān)鍵部分還是補充部分,并且基于判定結(jié)果來更新所述組件記錄單元和所述用戶方軟件記錄單元中的至少一個的信息;以及信息通知單元,被配置來在修改部分是關(guān)鍵部分的情況下向與被修改的軟件組件相關(guān)聯(lián)的用戶方軟件通知該修改部分。
根據(jù)本發(fā)明的另一個方面,提供一種管理軟件組件的方法,包括記錄多個軟件組件,每個軟件組件具有關(guān)鍵部分和補充部分;記錄多個用戶方軟件,每個用戶方軟件與被記錄的至少一個軟件組件相關(guān)聯(lián);判定被記錄的軟件組件的修改部分是關(guān)鍵部分還是補充部分;基于判定結(jié)果來更新多個組件和多個用戶方軟件中的至少一個;以及,如果修改部分是關(guān)鍵部分,就向與被修改的軟件組件相關(guān)聯(lián)的用戶方軟件通知該修改部分。
圖1是軟件組件管理裝置的應用概念。
圖2是軟件組件管理裝置的系統(tǒng)結(jié)構(gòu)。
圖3是軟件組件的源代碼的一個例子。
圖4是軟件組件管理方法的處理的流程圖。
圖5是在其補充部分被改變的軟件組件的更新情況下第一操作的示意圖。
圖6是在其補充部分被改變的軟件組件的更新情況下第二操作的示意圖。
圖7是在其關(guān)鍵部分被改變的軟件組件的更新情況下第一操作的示意圖。
圖8是在其關(guān)鍵部分被改變的軟件組件的更新情況下第二操作的示意圖。
圖9是在其關(guān)鍵部分被改變的軟件組件的更新情況下第三操作的示意圖。
具體實施例方式
以下,將參考附圖描述本發(fā)明的各個實施例。本發(fā)明并不限于以下實施例。
軟件組件管理裝置的結(jié)構(gòu)圖1是一個實施例的軟件組件管理裝置1的應用概念的一個例子。
在軟件組件管理裝置1中,注冊了用戶創(chuàng)建的軟件組件以及使用該軟件組件的系統(tǒng)(下文中,該系統(tǒng)被稱為用戶方軟件)。此外,該注冊的軟件組件被提供給另一個用戶(另一個用戶方軟件)以便有效地利用軟件資源。
例如,軟件組件管理裝置1是一種服務(wù)器裝置。作為硬件結(jié)構(gòu),其配備了具有CPU的控制裝置,具有HDD的存儲裝置,和用于經(jīng)由電子通信電路(諸如LAN)或存儲介質(zhì)發(fā)送/接收數(shù)據(jù)的輸入/輸出裝置。
在本發(fā)明的軟件組件管理裝置1中,執(zhí)行最近創(chuàng)建的軟件組件的注冊以及軟件組件的供應的管理。此外,在修改軟件組件(版本更新)的情況下,執(zhí)行被修改的軟件組件的更新注冊(下文中,稱為“更新”)。軟件組件的修改歷史也被管理。
軟件組件的修改不僅僅由(原始)軟件組件的作者(在圖1中,用戶方軟件A的維護者)執(zhí)行,而且在預定條件下也由除了作者外的其他用戶(圖1中,用戶方軟件B、C和D的維護者)執(zhí)行。
如下所述,在修改(改變)軟件組件關(guān)鍵部分的情況下,關(guān)于軟件組件的關(guān)鍵部分已經(jīng)被修改的通知被發(fā)送到所有使用該軟件組件的用戶方軟件。在這種情況下,當用戶方軟件B、C和D的用戶(維護者)修改該軟件組件的關(guān)鍵部分時,對于許可修改軟件組件的請求被發(fā)送到軟件組件的作者。如果從作者接收到修改軟件組件的許可,那么就更新(修改)該軟件組件。
在圖1中,用戶方軟件A的維護者是軟件組件的作者。在將軟件組件注冊到軟件組件管理裝置1之后,用戶方軟件B、C和D的其他維護者(用戶)利用該軟件組件。然而,訪問該軟件組件管理裝置1的用戶方軟件的數(shù)量并不限于圖1的4個。此外,可以從用戶方軟件B、C和D執(zhí)行新軟件組件的創(chuàng)建/注冊。
圖2是軟件組件管理裝置1的系統(tǒng)結(jié)構(gòu)的框圖。該軟件組件管理裝置1包括組件記錄單元10,用戶方軟件記錄單元20,注冊更新單元30和信息通知單元40。
在組件記錄單元10中,記錄軟件組件的源代碼(參考圖3),軟件組件的管理信息(諸如組件名稱、版本號,和作者名稱)。
在圖2中,作者X創(chuàng)建的組件(a)11和組件(b)12被記錄為版本號Ver.1.0。作者Y創(chuàng)建的組件(c)13被記錄為版本號Ver.1.2,作者Y創(chuàng)建的組件(d)14被記錄為版本號Ver.1.1,而作者Z創(chuàng)建的組件(e)15被記錄為版本號Ver.1.3。在該情況下,除了Ver.1.0之外的版本號表示該組件已經(jīng)被修改了至少一次。
在用戶方軟件記錄單元20中,利用記錄在組件記錄單元10中的用戶方軟件與該軟件組件相關(guān)地被記錄。
例如,在圖2中,用戶方軟件A利用記錄在組件記錄單元10中的軟件組件(a)(b)(c)。在用戶方軟件A的記錄列21中,記錄這些軟件組件的管理信息((a)211,(b)212,(e)213)。
以相同的方法,用戶方軟件B利用記錄在組件記錄單元10中的軟件組件(b)(c)。在用戶方軟件B的記錄列22中,記錄這些軟件組件的管理信息((b)221,(c)222)。
另外,以相同的方法,用戶方軟件C利用記錄在組件記錄單元10中的軟件組件(d)。在用戶方軟件C的記錄列23中,記錄這些軟件組件的管理信息((d)231)。
即使多個軟件組件的每個組件名稱相同(和原始軟件組件的名稱相同),不同版本的每個軟件組件也經(jīng)常用于不同的用戶方軟件中。因此,在本實施例中,在每個用戶方軟件中的軟件組件的修改歷史由版本號管理。為了清楚地解釋這個方面,在圖2中,對于具有相同名稱的多個軟件組件,對于每個用戶方軟件向每個軟件組件分配不同的符號(號碼)(例如,對于組件(b),分別分配了212和221)。此外,在組件記錄單元10和用戶方軟件記錄單元20中,對相同名稱的兩個軟件組件分配不同的符號(例如,對于組件(a),分別分配了11和211)。
在注冊更新單元30中,分析用戶(軟件組件的作者和更新者)輸入的軟件組件的源代碼和管理信息,并且在組件記錄單元10和用戶方軟件記錄單元20中的至少一個中注冊/更新該軟件組件。以下將解釋注冊更新單元30的操作。
在信息通知單元40中,各種信息被通知到記錄在組件記錄單元10的用戶方軟件的每個維護者(用戶)。特別地,當注冊更新單元30判定修改的軟件組件的修改(改變)部分是關(guān)鍵部分時,該修改信息就被通知到每個維護者(每個用戶方軟件)。
圖3是軟件組件管理裝置1處理的軟件組件的源代碼的一個例子的示意圖。
通常,軟件組件的源代碼具有明顯不同的關(guān)鍵部分和補充部分。關(guān)鍵部分是軟件組件實現(xiàn)的功能的核心部分。補充部分不是核心部分,例如為執(zhí)行糾錯處理的部分、創(chuàng)建操作參數(shù)的部分、檢查輸入/輸出限制的部分以及控制用戶接口的部分。
在圖3的源代碼中,為了使關(guān)鍵部分清楚,在關(guān)鍵部分開始位置之前插入了注釋語句(/*<essential part>*/),并且在關(guān)鍵部分結(jié)尾位置之后插入了注釋語句(/*<essential part>*/)。以這種方法,為了使補充部分清楚,在補充部分開始位置之前插入了注釋語句(/*<supplemental part>*/),并且在補充部分結(jié)尾位置之后插入了注釋語句(/*<supplemental part>*/)。
一般而言,在多個用戶方軟件使用一個軟件組件的情況下,多個用戶方軟件中共同使用該關(guān)鍵部分。補充部分通常被修改成適合于每個用戶方軟件使用的形式并被每個用戶方軟件不同地使用。
在修改(改變)關(guān)鍵部分的情況下,該修改影響了所有的用戶方軟件,并且修改帶來的影響程度非常高。另一方面,在修改補充部分的情況下,該修改通常僅僅影響一些用戶方軟件,并且該修改帶來的影響程度相對較低。
例如,在預定用戶方軟件中,加到關(guān)鍵部分的用于功能擴展和錯誤消除的修改通常對于其他用戶方軟件是必需的,以便作出共同的反映。另一方面,在預定用戶方軟件中,加到補充部分的修改通常是預定用戶方軟件特有的,而對其他用戶方軟件來說不是必需的。
如圖3所示,在本發(fā)明的軟件組件管理裝置1中,注冊具有源代碼的軟件組件,該源代碼的關(guān)鍵部分和補充部分被區(qū)別地描述。
最有效地是,軟件組件的作者通過區(qū)分關(guān)鍵部分和補充部分來描述源代碼,這是因為作者知道原始軟件組件的內(nèi)容。但是,描述該源代碼的操作者并不限于該作者。
此外,區(qū)別地描述關(guān)鍵部分和補充部分的具體方法并不限于圖3中的利用注釋語句的方法。簡而言之,軟件組件管理裝置1可以機械地(自動地)讀取關(guān)鍵部分和補充部分,并且源代碼的說明并不影響該軟件組件的運行。在該條件下,可以采用各種描述該源代碼的方法。
(2)管理軟件組件的方法接下來,解釋(如上所述構(gòu)造的)軟件組件管理裝置1的操作。圖4是軟件組件管理方法的處理的流程圖。在該流程圖中的該處理由軟件組件管理裝置1中的注冊更新單元30(參考圖2)執(zhí)行。
首先,在ST0,輸入與軟件組件管理裝置1的用戶(軟件組件的作者或更新者)創(chuàng)建的軟件組件相關(guān)的數(shù)據(jù)。例如,該數(shù)據(jù)包括軟件組件的名稱、利用該軟件組件的用戶方軟件的名稱,軟件組件的源代碼和作者(或更新者)的名稱。
數(shù)據(jù)的輸入形式?jīng)]有特別限制。例如,可以采用經(jīng)由電子通信電路(諸如LAN,因特網(wǎng)或?qū)S镁€)的輸入形式。替換地,可以采用經(jīng)由存儲介質(zhì)(諸如光盤、磁盤或半導體存儲器)的輸入形式。
接下來,在ST1中,判定輸入軟件組件是在組件記錄單元10和用戶方軟件記錄單元20中要被更新的軟件組件,還是要在組件記錄單元10和用戶方軟件記錄單元20中注冊的新軟件組件。該判定通過檢查記錄的每個軟件組件的名稱來執(zhí)行的。
在新軟件組件的情況下,處理前進到新注冊(ST13)。另一方面,在更新記錄的軟件組件的情況下,處理前進到更新(ST2)。
在ST2中,輸入軟件組件的源代碼和具有與輸入軟件組件相同的名稱的注冊軟件組件的源代碼相比較。然后判定輸入軟件組件的修改部分是關(guān)鍵部分還是補充部分。
如圖3所示,源代碼區(qū)別地具有關(guān)鍵部分和補充部分。通過將輸入軟件組件的源代碼和具有與輸入軟件組件相同的名稱的注冊軟件組件的源代碼相比較,就檢測到了輸入軟件組件和注冊軟件組件之間的不同部分。從而,判定出輸入軟件組件的修改部分(改變部分)是關(guān)鍵部分還是補充部分。
在軟件組件的修改部分是補充部分(在ST3為“否”)時,處理前進到ST7。
在ST7中,判定使用修改軟件組件的用戶方軟件是已經(jīng)在用戶方軟件記錄單元20注冊還是新用戶方軟件。
在用戶方軟件已經(jīng)注冊在用戶方軟件記錄單元20中的情況下(在ST7為“否”),更新與注冊用戶方軟件相關(guān)的修改的軟件組件的管理信息(ST15)。
另一方面,在用戶方軟件是新用戶方軟件的情況下(在ST7“是”),在用戶方軟件記錄單元20中創(chuàng)建新用戶方軟件的記錄列(ST8)。該新用戶方軟件被注冊在用戶方軟件記錄單元20的記錄列中。
圖5顯示了解釋在更新其修改部分是補充部分的軟件組件的情況下操作的例子。
在該例子中,用戶方軟件B的操作人員(更新者)V修改用戶方軟件B使用的軟件組件中的組件(b)。具體地,僅僅修改了組件(b)的補充部分,并且組件(b)的版本號從Ver.1.0更新到Ver.1.1。
因為修改部分是補充部分,因此注冊更新單元30的處理從ST3前進到ST7。此外,處理從ST7前進到ST15,因為用戶方軟件B已經(jīng)在用戶方軟件記錄單元20中注冊了。在用戶方軟件B的記錄列22中的組件(b)的管理信息221a中,版本號從Ver.1.0更新到Ver.1.1。
以這種方法,在更新用戶方軟件記錄單元20中的軟件組件的情況下,僅僅更新在此時修改軟件組件的用戶方軟件B的管理信息,而不更新另一個用戶方軟件的管理信息。例如,用戶方軟件A使用組件(b)。但是,在用戶方軟件A中,組件(b)沒有被修改(改變)并且其被用作為Ver.1.0。因此,用戶方軟件A的組件(b)212的管理信息沒有被更新。
此外,在組件(b)的修改(改變)部分是補充部分的情況下,組件記錄單元10中的組件(b)的管理信息不被更新。如后要解釋的,組件記錄單元10中的組件的管理信息僅僅在組件的關(guān)鍵部分被修改(改變)的情況下被更新。
在組件記錄單元10中,作為基礎(chǔ)的軟件組件(原始軟件組件)的管理信息被作為一個組件存儲。另一方面,在用戶方軟件記錄單元20中,作為分支的軟件組件(修改的軟件組件)對應于每個用戶方軟件而被存儲。該分支指的是由用戶方軟件產(chǎn)生的基礎(chǔ)的修改版本。簡而言之,組件記錄單元10管理軟件組件的基礎(chǔ),用戶方軟件記錄單元20管理軟件組件的分支。因此,兩種管理被有效地共享。
此外,在軟件組件的修改部分是補充部分的情況下,信息通知單元40不向其他用戶方軟件通知修改部分的信息。如上所述,補充部分的修改幾乎是預定用戶方軟件特有的。如果補充部分的這種修改被通知給所有用戶方軟件,那么每個用戶方軟件通常接收了不是那么重要(并不總是與每個用戶方軟件相關(guān))的通知,使得每個用戶方軟件感到混亂。結(jié)果,降低了用戶方軟件的研發(fā)階段的效率,并且妨礙了在用戶方軟件的使用階段的順利應用。
因此,在修改部分是補充部分的情況下不通知到另一個用戶方軟件,相當大地提高了用戶方軟件的開發(fā)效率,并且繼續(xù)了用戶方軟件的順利應用。
圖6顯示了一個例子,用于解釋在軟件組件的修改部分是補充部分并且修改軟件組件的用戶方軟件沒有被注冊的情況下,注冊更新單元30的操作。
改變組件(b)的補充部分以及將版本號從Ver.1.0更新到Ver.1.1的特征與圖5的例子相同。但是,更新者W是新用戶方軟件D的操作人員的特征不同于圖5。
在該情況中,注冊更新單元30在用戶方軟件記錄單元20中創(chuàng)建新用戶方軟件的記錄列(用戶方軟件D 24)(圖4中的ST8)。之后,組件(b)的管理信息作為版本號Ver.1.1注冊在用戶方軟件D中。
接下來,解釋軟件組件的修改部分是關(guān)鍵部分的情況下的更新操作。在修改部分是關(guān)鍵部分的情況中(圖4的ST3),更新軟件組件的操作人員(用戶)被確定為軟件組件的原始版本的作者(ST4)。
通常,原始版本的作者可以具有軟件組件內(nèi)容的最多知識。如果操作人員是作者,那么許可軟件組件的更新。在這種情況下,修改部分是關(guān)鍵部分。從而,在組件記錄單元10中的軟件組件(基礎(chǔ))的源代碼和管理信息被更新(ST5)。
此外,軟件組件的關(guān)鍵部分的修改經(jīng)常影響其他用戶方軟件(該軟件組件的相同修改應當在另一個用戶方軟件中運行)。因此,信息通知單元40將關(guān)鍵部分的修改的信息通知給所有利用該軟件組件的用戶方軟件(ST6)。
在關(guān)鍵部分修改的情況和補充部分修改的情況中,從圖4的ST7開始的處理是相同的。因此,省略了對其的解釋。
圖7顯示了解釋關(guān)鍵部分改變的情況下注冊更新單元30的上述操作的例子。具體而言,修改(改變)組件(b)的關(guān)鍵部分,并且操作人員(更新者)是組件(b)的原始版本的作者A。
在該情況下,注冊更新單元30更新(修改)在組件記錄單元10中注冊的組件(b)的源代碼,并將組件(b)的管理信息的版本號從Ver.1.0更新到Ver.1.1。
此外,對于所有利用組件(b)的維護者(用戶方軟件),信息通知單元40通知有關(guān)組件(b)的關(guān)鍵部分被更新的信息。在該通知中,可以添加更新的源代碼。
例如,軟件組件的關(guān)鍵部分被改變來延伸軟件組件的功能或者修補軟件組件的錯誤。該修改可能對于所有使用該軟件組件的用戶方軟件來說是重要的(必須的)。響應于該通知,維護者(用戶方軟件)可以通過向更新者詢問或分析附帶的源代碼很快地理解改變的內(nèi)容。從而提高了用戶方軟件的開發(fā)效率或使用效率。
僅僅對于更新者的用戶方軟件(在圖7中,是用戶方軟件A)運行在用戶方軟件記錄單元20中的管理信息的更新。對于其他用戶方軟件,每個用戶方軟件決定采用該改變。在從另一個用戶方軟件接收到更新請求之后,在用戶方軟件記錄單元20中的該另一個用戶方軟件的管理信息被更新。
如果軟件組件的改變部分是關(guān)鍵部分并且更新者不是軟件組件的原始版本的作者(ST4中的“否”),那么許可更新軟件組件的請求被發(fā)送到作者(ST10)。例如,信息通知單元40可以詢問作者的用戶方軟件或者可以通過電子郵件詢問作者。
響應于該詢問,作者判定軟件組件的更新是否被許可,并經(jīng)由信息通知單元40或電子郵件答復判決結(jié)果。
注冊更新單元30判定是否從作者接收了更新許可(ST11)。在接收更新許可的情況下,以與更新者是作者的情況下相同的方式執(zhí)行軟件組件的更新處理(ST5之后的步驟)。
圖8顯示了解釋在關(guān)鍵部分的更新請求不是由作者X而是由用戶方軟件B的更新者V進行的情況下上述操作的例子。
注冊更新單元30向作者X詢問組件(b)的更新許可。在從作者A接收到更新許可的情況下,注冊更新單元30更新注冊在組件記錄單元10中的組件(b)。在該情況下,通過改變關(guān)鍵部分,組件(b)的實際作者可以從X改變?yōu)閂。在圖8中,除了將版本號從Ver.1.0更新到Ver.1.1,作者名稱也從X更新到V。
此外,注冊更新單元30將有關(guān)組件(b)的關(guān)鍵部分被更新的信息經(jīng)由信息通知單元40發(fā)送到組件(b)的所有維護者(用戶方軟件)。
在用戶方軟件記錄單元20中更新管理信息的情況下,以與其他例子相同的方式,僅僅更新修改組件(b)的(實際上安裝了被修改的組件(b))用戶方軟件的組件(b)的管理信息。
另一個方面,假設(shè)除了作者X以外的用戶V修改了軟件組件的關(guān)鍵部分,并且向作者X請求更新許可。如果沒有獲得來自作者X的更新許可(ST11中的“否”),那么被修改軟件組件被認為是用戶V創(chuàng)建的新的軟件組件。
簡而言之,在用戶方軟件記錄單元20中,刪除了用戶V的用戶方軟件的軟件組件(沒有獲得來自作者的更新許可)的管理信息。在組件記錄單元10中,其關(guān)鍵部分被修改的、作為新軟件組件的軟件組件的源代碼以及管理信息被新注冊(ST13)。
此外,在用戶方軟件記錄單元20中,代替被刪除的管理信息,新軟件組件的管理信息被記錄在用戶V的用戶方軟件的欄中(ST14,ST9)。
圖9是解釋沒有從作者獲得更新許可的情況下操作的具體例子。在圖9中,改變組件(b)的關(guān)鍵部分的更新者不是組件(b)的作者X而是用戶方軟件B的用戶V(維護者)。另外,沒有從作者X獲得組件(b)的更新許可。
在該情況中,在組件記錄單元10中,(原始)組件(b)的源代碼和管理信息12被保持為版本號V.1.0,而不更新。
另一方面,關(guān)鍵部分被改變的組件(b)被作為新的軟件組件(f)16注冊在組件記錄單元10中。在該情況下,新軟件組件(f)的版本號是V.1.0,并且用戶V(更新者)作為組件(f)的作者被注冊。
此外,在用戶方軟件記錄單元20的用戶方軟件B中,組件(b)221被刪除,而新組件(f)223被注冊。
原始地,對于組件(b),所有部分(包括關(guān)鍵部分)沒有被改變。因此,對于利用組件(b)的所有用戶(用戶方軟件),不發(fā)送通知。
如上所述,在本發(fā)明的軟件組件管理裝置1中,組件(基礎(chǔ))的源代碼和管理信息被注冊在組件記錄單元10中。此外,軟件組件(分支)的管理信息與(使用軟件組件的)每個用戶方軟件相對應地被注冊在用戶方軟件記錄單元20中。因此,軟件組件可以被有效地管理而不會遺漏。
此外,在改變注冊的軟件組件的情況下,判定該改變部分是軟件組件的關(guān)鍵部分還是補充部分。如果改變部分是關(guān)鍵部分,那么關(guān)鍵部分的改變被通知給所有利用該軟件組件的用戶方軟件(用戶)。如果改變的部分是補充部分,那么就不會發(fā)送通知。因此,阻止了不必要信息的泛濫,并且只有必要的信息會準確地提供給其他用戶。結(jié)果,在用戶方軟件的開發(fā)階段提高了開發(fā)效率,并且在用戶方軟件的應用階段促進了順利的使用。
此外,當軟件組件被除了該軟件組件的原始版本的作者之外的用戶修改時,只有獲得了來自作者的更新許可,該軟件組件才被修改所更新。因此,可以預先防止錯誤的修改帶來的軟件組件的更新。
權(quán)利要求
1.一種管理軟件組件的裝置,包括組件記錄單元,被配置來記錄多個軟件組件,每個軟件組件具有關(guān)鍵部分和補充部分;用戶方軟件記錄單元,被配置來記錄多個用戶方軟件,每個用戶方軟件與記錄在所述組件記錄單元中的至少一個軟件組件相關(guān)聯(lián);注冊更新單元,被配置來判定在所述組件記錄單元中記錄的軟件組件的修改部分是關(guān)鍵部分還是補充部分,并且基于判定結(jié)果來更新所述組件記錄單元和所述用戶方軟件記錄單元中的至少一個的信息;以及信息通知單元,被配置來在修改部分是關(guān)鍵部分的情況下,向與被修改的軟件組件相關(guān)聯(lián)的用戶方軟件通知該修改部分。
2.如權(quán)利要求1所述的裝置,其中,如果修改部分是關(guān)鍵部分并且修改部分的操作人員是被修改的軟件組件的作者,那么所述注冊更新單元就更新在所述組件記錄單元中被修改的軟件組件的信息,以及如果修改部分是關(guān)鍵部分并且修改部分的操作人員不是被修改的軟件組件的作者,那么所述注冊更新單元就詢問作者該軟件組件的修改是否被許可。
3.如權(quán)利要求2所述的裝置,其中,如果作者許可該軟件組件的修改,那么所述注冊更新單元更新在所述組件記錄單元中的被修改的軟件組件的信息。
4.如權(quán)利要求2所述的裝置,其中,如果作者不許可該軟件組件的修改,那么所述注冊更新單元在所述組件記錄單元中將被修改的軟件組件作為新的軟件組件注冊。
5.如權(quán)利要求4所述的裝置,其中,當新的軟件組件被除了在所述用戶方軟件記錄單元中記錄的用戶方軟件以外的另一個用戶方軟件使用時,那么所述注冊更新單元將該另一個用戶方軟件作為與該新軟件組件相關(guān)的新用戶方軟件注冊在所述用戶方軟件記錄單元中。
6.如權(quán)利要求1所述的裝置,其中,如果該修改部分是補充部分,那么所述注冊更新單元在所述用戶方軟件記錄單元中更新與修改軟件組件的用戶方軟件相關(guān)的、被修改的軟件組件的信息。
7.如權(quán)利要求6所述的裝置,其中,當該被修改的軟件組件被除了在所述用戶方軟件記錄單元中記錄的用戶方軟件以外的另一個用戶方軟件使用時,那么所述注冊更新單元將該另一個用戶方軟件作為與被修改的軟件組件相關(guān)的新用戶方軟件注冊在所述用戶方軟件記錄單元中。
8.如權(quán)利要求1所述的裝置,其中,軟件組件被描述為源代碼,并且源代碼具有區(qū)分關(guān)鍵部分和補充部分的標記信息。
9.如權(quán)利要求8所述的裝置,其中,所述組件記錄單元記錄每個軟件組件的源代碼、名稱、版本號和作者名稱,以及所述用戶方軟件記錄單元記錄與使用軟件組件的用戶方軟件相關(guān)聯(lián)的軟件組件的名稱、版本號,和作者名稱。
10.一種管理軟件組件的方法,包括記錄多個軟件組件,每個軟件組件具有關(guān)鍵部分和補充部分;記錄多個用戶方軟件,每個用戶方軟件與被記錄的至少一個軟件組件相關(guān)聯(lián);判定被記錄的軟件組件的修改部分是關(guān)鍵部分還是補充部分;基于判定結(jié)果來更新多個軟件組件和多個用戶方軟件中的至少一個;以及,如果修改部分是關(guān)鍵部分,就向與被修改的軟件組件相關(guān)聯(lián)的用戶方軟件通知該修改部分。
11.如權(quán)利要求10所述的方法,還包括如果修改部分是關(guān)鍵部分并且修改部分的操作人員是被修改的軟件組件的作者,那么就更新多個軟件組件中被修改的軟件組件的信息,以及如果修改部分是關(guān)鍵部分并且修改部分的操作人員不是被修改的軟件組件的作者,那么就詢問作者該軟件組件的修改是否被許可。
12.如權(quán)利要求11所述的方法,還包括如果作者許可該軟件組件的修改,那么就更新多個軟件組件中被修改的軟件組件的信息。
13.如權(quán)利要求11所述的方法,還包括如果作者不許可該軟件組件的修改,那么就將被修改的軟件組件作為新的軟件組件注冊。
14.如權(quán)利要求13所述的方法,還包括當新的軟件組件被除了記錄的用戶方軟件以外的另一個用戶方軟件使用時,將該另一個用戶方軟件注冊為與該新軟件組件相關(guān)的新用戶方軟件。
15.如權(quán)利要求10所述的方法,還包括如果該修改部分是補充部分,那么就更新與修改軟件組件的用戶方軟件相關(guān)的、被修改的軟件組件的信息。
16.如權(quán)利要求15所述的方法,還包括當該被修改的軟件組件被除了記錄的用戶方軟件以外的另一個用戶方軟件使用時,將該另一個用戶方軟件注冊為與被修改的軟件組件相關(guān)的新用戶方軟件。
17.如權(quán)利要求10所述的方法,還包括軟件組件被描述為源代碼,并且源代碼具有區(qū)分關(guān)鍵部分和補充部分的標記信息。
18.如權(quán)利要求17所述的方法,還包括多個軟件組件的信息包括每個軟件組件的源代碼、名稱、版本號和作者名稱,以及多個用戶方軟件的信息包括與使用軟件組件的用戶方軟件相關(guān)聯(lián)的軟件組件的名稱、版本號,和作者名稱。
全文摘要
本發(fā)明提供了軟件組件管理裝置和方法。組件記錄單元記錄多個軟件組件,每個軟件組件具有關(guān)鍵部分和補充部分。用戶方軟件記錄單元記錄多個用戶方軟件,每個用戶方軟件與記錄在組件記錄單元中的至少一個軟件組件相關(guān)聯(lián)。注冊更新單元判定在所述組件記錄單元中記錄的軟件組件的修改部分是關(guān)鍵部分還是補充部分,并且基于判定結(jié)果來更新所述組件記錄單元和所述用戶方軟件記錄單元中的至少一個的信息。信息通知單元在修改部分是關(guān)鍵部分的情況下向與被修改的軟件組件相關(guān)聯(lián)的用戶方軟件通知該修改部分。
文檔編號G06F9/44GK101034348SQ20061012632
公開日2007年9月12日 申請日期2006年8月31日 優(yōu)先權(quán)日2006年3月8日
發(fā)明者高橋佳宏, 池田信之, 戶谷浩隆, 筬島郁子, 神勝雅 申請人:株式會社東芝