專利名稱:用于軟件系統(tǒng)設(shè)計(jì)中的關(guān)鍵知識(shí)保護(hù)的方法和設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及軟件開(kāi)發(fā)過(guò)程。更具體地說(shuō),本發(fā)明涉及軟件開(kāi)發(fā)過(guò) 程中的關(guān)鍵知識(shí)保護(hù)。
背景技術(shù):
企業(yè)通常擁有一些關(guān)鍵的知識(shí)(或稱"機(jī)密知識(shí)"),使企業(yè)能夠 保持對(duì)于竟?fàn)帉?duì)手的核心竟?fàn)幜?。關(guān)鍵知識(shí)可以是創(chuàng)新性的商業(yè)理
念、業(yè)務(wù)功能、獨(dú)特的商業(yè)流程、優(yōu)化的IT體系結(jié)構(gòu)等。由于這種 關(guān)鍵知識(shí)的重大意義,企業(yè)希望其作為企業(yè)內(nèi)部的秘密或者是只有幾 個(gè)核心成員知曉。
但是,由于種種原因,這種關(guān)鍵知識(shí)容易泄露,其中一個(gè)典型的 原因是企業(yè)通常利用外部資源來(lái)開(kāi)發(fā)其軟件系統(tǒng)。雖然這種外包機(jī)制 可以節(jié)約成本,使企業(yè)集中精力于其核心技術(shù),但是關(guān)鍵知識(shí)存在泄 露給外部資源的風(fēng)險(xiǎn)。
大多數(shù)現(xiàn)有的關(guān)鍵知識(shí)保護(hù)可以被分為兩類,即"物理途徑" 和"法律途徑"。對(duì)于"物理途徑",制定規(guī)章制度來(lái)以物理方式防止未 授權(quán)人員將任何文檔、源代碼帶出辦公室。對(duì)于"法律途徑",通常是 要求內(nèi)部、外部開(kāi)發(fā)者與企業(yè)簽定不泄露協(xié)議(NDA)。 一旦開(kāi)發(fā)者 在未經(jīng)授權(quán)的情況下泄露任何關(guān)鍵知識(shí),則企業(yè)有權(quán)對(duì)其泄露行為進(jìn) 行起訴。
除了上述解決方案外,在文獻(xiàn)"基于制造知識(shí)保護(hù)的供應(yīng)商選擇 模型與實(shí)證研究"(吳峰,李懷祖,中國(guó)機(jī)械工程第16巻第8期,2005 年4月)中也提出了一種相關(guān)方法。在該方法中,根據(jù)提供商的創(chuàng)新 能力(originality)和標(biāo)準(zhǔn)化對(duì)其進(jìn)行分類、根據(jù)知識(shí)對(duì)企業(yè)竟?fàn)幜Φ挠绊懠捌湫孤犊赡苄詫?duì)外包策略進(jìn)行分類,并且將提供商類型映射 到外包策略。
為了要保護(hù)關(guān)鍵知識(shí),能夠精確地將軟件設(shè)計(jì)中所蘊(yùn)含的關(guān)鍵知 識(shí)與一般知識(shí)區(qū)別開(kāi)來(lái)是重要的前提條件。這樣,可以只保護(hù)那些真 正重要的內(nèi)容,并與開(kāi)發(fā)者盡可能多地共享那些非關(guān)鍵的知識(shí)以便于 開(kāi)發(fā)。但是,到目前為止,關(guān)鍵知識(shí)的識(shí)別和提取都是由軟件系統(tǒng)設(shè) 計(jì)人員手動(dòng)進(jìn)行的,并且諸如關(guān)鍵知識(shí)在軟件系統(tǒng)設(shè)計(jì)中所占比例之 類的參數(shù)也是由設(shè)計(jì)人員主觀判斷的,尚未見(jiàn)到有公開(kāi)教導(dǎo)能用技術(shù) 手段來(lái)實(shí)現(xiàn)關(guān)鍵知識(shí)的識(shí)別和提取以及確定關(guān)鍵知識(shí)所占比重的手 段。采用人工方式本身就是費(fèi)時(shí)費(fèi)力的,而且準(zhǔn)確性和效率都不理想。 另外,可以想象,當(dāng)需要開(kāi)發(fā)龐大的軟件系統(tǒng)并且存在大量關(guān)鍵知識(shí) 時(shí),通過(guò)人工方式進(jìn)行所述識(shí)別、提取以及確定過(guò)程,其在準(zhǔn)確性、 效率和資源消耗方面的問(wèn)題可能對(duì)于開(kāi)發(fā)過(guò)程而言是根本無(wú)法接受 的。
此外,目前對(duì)關(guān)鍵知識(shí)保護(hù)機(jī)制的選擇也較為隨意,缺乏科學(xué)的 分析和指導(dǎo)。
因此,需要一種更為有效的手段來(lái)識(shí)別和提取軟件工件中蘊(yùn)涵關(guān) 鍵知識(shí)、對(duì)其進(jìn)行量化,并據(jù)此設(shè)計(jì)恰當(dāng)?shù)谋Wo(hù)機(jī)制。
發(fā)明內(nèi)容
考慮到現(xiàn)有技術(shù)的上述問(wèn)題,提出了本發(fā)明的系統(tǒng)和方法,其能 夠有效地識(shí)別和提取軟件工件中蘊(yùn)涵關(guān)鍵知識(shí)、對(duì)其進(jìn)行量化,并據(jù) 此設(shè)計(jì)恰當(dāng)?shù)谋Wo(hù)機(jī)制。
根據(jù)本發(fā)明的 一個(gè)方面,提供一種由計(jì)算機(jī)實(shí)施的在軟件系統(tǒng)設(shè) 計(jì)過(guò)程中保護(hù)關(guān)鍵知識(shí)的方法,所述軟件系統(tǒng)設(shè)計(jì)包括至少多個(gè)工
件,所述方法包括計(jì)算關(guān)鍵知識(shí)與軟件系統(tǒng)設(shè)計(jì)之間的關(guān)聯(lián)關(guān)系; 獲取軟件系統(tǒng)設(shè)計(jì)中各個(gè)工件之間的相互依賴關(guān)系;根據(jù)所述關(guān)聯(lián)關(guān) 系和相互依賴關(guān)系確定用于各個(gè)工件的保護(hù)機(jī)制。
根據(jù)本發(fā)明的另 一方面,提供一種在軟件系統(tǒng)設(shè)計(jì)過(guò)程中保護(hù)關(guān)鍵知識(shí)的系統(tǒng),所述軟件系統(tǒng)設(shè)計(jì)包括多個(gè)工件,所述系統(tǒng)包括計(jì) 算關(guān)鍵知識(shí)與軟件系統(tǒng)設(shè)計(jì)之間的關(guān)聯(lián)關(guān)系的關(guān)聯(lián)計(jì)算部分;獲取軟 件系統(tǒng)設(shè)計(jì)中各個(gè)工件之間的相互依賴關(guān)系的依賴關(guān)系獲取部分;根
機(jī)制設(shè)計(jì)部分。
本發(fā)明教導(dǎo)了一種系統(tǒng)化的方法和支持性工具,其能夠有效地識(shí) 別和提取關(guān)鍵知識(shí),并且據(jù)此設(shè)計(jì)系統(tǒng)的保護(hù)機(jī)制,從而幫助企業(yè)在 將軟件開(kāi)發(fā)任務(wù)交給那些未授權(quán)訪問(wèn)關(guān)鍵知識(shí)的開(kāi)發(fā)者之前,前瞻性 地隱藏所述關(guān)鍵知識(shí)。
圖1示出根據(jù)本發(fā)明的由計(jì)算機(jī)實(shí)施的在軟件設(shè)計(jì)過(guò)程中保護(hù) 關(guān)鍵知識(shí)的方法的流程圖。
圖2示出根據(jù)本發(fā)明的由計(jì)算機(jī)實(shí)施的在軟件設(shè)計(jì)過(guò)程中保護(hù) 關(guān)鍵知識(shí)的系統(tǒng)的方框圖。
圖3示出如圖2所示的關(guān)聯(lián)計(jì)算部分的具體操作方式。
圖4示出如圖2所示的機(jī)制設(shè)計(jì)部分的具體操作方式。
具體實(shí)施例方式
以下結(jié)合
本發(fā)明的優(yōu)選實(shí)施方式。
圖1示出了根據(jù)本發(fā)明的由計(jì)算機(jī)實(shí)施的在軟件系統(tǒng)設(shè)計(jì)過(guò)程 中保護(hù)關(guān)鍵知識(shí)的方法的流程圖。該方法在步驟100中開(kāi)始,隨后進(jìn) 入步驟110,其中計(jì)算關(guān)鍵知識(shí)與軟件系統(tǒng)設(shè)計(jì)之間的關(guān)聯(lián)關(guān)系。接 著,在步驟120中,獲取軟件系統(tǒng)設(shè)計(jì)中各個(gè)工件之間的相互依賴關(guān) 系。然后,在步驟130中,根據(jù)所述關(guān)聯(lián)關(guān)系和相互依賴關(guān)系確定用 于各個(gè)工件的保護(hù)機(jī)制。最后,該方法在步驟140中結(jié)束。
圖2是根據(jù)本發(fā)明的由計(jì)算機(jī)實(shí)施的在軟件系統(tǒng)設(shè)計(jì)過(guò)程中保 護(hù)關(guān)鍵知識(shí)的系統(tǒng)的方框圖。所述系統(tǒng)200包括關(guān)聯(lián)計(jì)算部分210、 依賴關(guān)系獲取部分220、機(jī)制設(shè)計(jì)部分230。其中,所述關(guān)聯(lián)計(jì)算部分210用于計(jì)算關(guān)鍵知識(shí)與軟件系統(tǒng)設(shè)計(jì)之間的關(guān)聯(lián)關(guān)系;所述依賴 關(guān)系獲取部分220用于獲取軟件系統(tǒng)設(shè)計(jì)中各個(gè)工件間的相互依賴關(guān) 系;所述機(jī)制設(shè)計(jì)部分230用于根據(jù)所述關(guān)聯(lián)關(guān)系和相互依賴關(guān)系確 定用于各個(gè)工件的保護(hù)機(jī)制。
通過(guò)使用本發(fā)明的方法和系統(tǒng),能夠自動(dòng)識(shí)別和量化關(guān)鍵知識(shí), 并據(jù)此更加有效地對(duì)關(guān)鍵知識(shí)實(shí)施保護(hù)。
根據(jù)本發(fā)明,以"工件,,(artifact)為單位來(lái)把軟件系統(tǒng)設(shè)計(jì)劃 分為不同的部分。根據(jù)軟件系統(tǒng)設(shè)計(jì)的需要,所述"工件,,可以是模塊、 Java類、方法、包、文件等。
在下文中將參照?qǐng)D3描述關(guān)聯(lián)計(jì)算部分210的具體操作方式。在 此之前,先來(lái)說(shuō)明本發(fā)明使用的兩個(gè)關(guān)鍵術(shù)語(yǔ)"知識(shí)曝光率" (Knowledge Exposure Rate: KER )和"工件相關(guān)率,,(Artifact Involving Rate: AIR)。"知識(shí)膝光率"是指軟件系統(tǒng)設(shè)計(jì)工件中包 含的關(guān)鍵知識(shí)的百分比,"工件相關(guān)率"指真正與關(guān)鍵知識(shí)項(xiàng)相關(guān)的工 件的百分比。
本領(lǐng)域技術(shù)人員能夠理解,關(guān)鍵知識(shí)可以包括業(yè)務(wù)功能、商業(yè)理 念、獨(dú)特的商業(yè)流程、優(yōu)化的IT體系結(jié)構(gòu)等類型,并且可以具有多 種表達(dá)形式,例如自然語(yǔ)言文本、XML語(yǔ)言文本或本體等。另外, 軟件系統(tǒng)設(shè)計(jì)類型通常為UML設(shè)計(jì)模型,其表現(xiàn)形式為XML文本。 不過(guò),其他設(shè)計(jì)模型同樣適用于本發(fā)明,只要該模型具有計(jì)算機(jī)可理 解的模型。
下面,我們將以業(yè)務(wù)功能類型的關(guān)鍵知識(shí)和UML類型的軟件系 統(tǒng)設(shè)計(jì)模型為例對(duì)本發(fā)明的優(yōu)選實(shí)施方式進(jìn)行說(shuō)明。如前所述,業(yè)務(wù) 功能類型的關(guān)鍵知識(shí)通常釆取自然語(yǔ)言文本描述的形式,而UML設(shè) 計(jì)模型通常采取XML文本描述的形式。本發(fā)明的方法利用了自然語(yǔ) 言文本和XML語(yǔ)言文本的詞匯分割特性。
具體而言,本發(fā)明的方法如圖3所示。該方法從步驟300開(kāi)始, 隨后進(jìn)入步驟310,在這里,提取關(guān)鍵知識(shí)k中有意義的詞匯(例如, 通過(guò)進(jìn)行切詞的方式),以得到詞匯集合Wk{Wkl, Wk2,Wk3,...Wkl}。然后,在步驟320中,提取每個(gè)工件Ci中有意義的詞 匯Wd{Wdil, Wdi2, ...,Wdim}。接下來(lái),在步驟330,獲得每個(gè)工件 Ci的詞匯集與關(guān)鍵知識(shí)k的詞匯集的交集,設(shè)這個(gè)交集大小為x,然
后計(jì)算
Ci對(duì)K的KER = x/1
Ci對(duì)K的AIR = x/m (1)。
圖3的方法在步驟340中結(jié)束。
本領(lǐng)域技術(shù)人員能夠理解,盡管以上以業(yè)務(wù)功能類型的關(guān)鍵知識(shí) 和UML類型的軟件系統(tǒng)設(shè)計(jì)模型為例對(duì)本發(fā)明的優(yōu)選實(shí)施方式進(jìn)行 說(shuō)明,但是本發(fā)明并不局限于此。事實(shí)上,只要能夠提取出關(guān)鍵知識(shí) 中有意義的部分和設(shè)計(jì)工件中有意義的部分,并且對(duì)這二者求取交 集,從而對(duì)關(guān)鍵知識(shí)與設(shè)計(jì)工件的關(guān)系進(jìn)行量化,任何類型的關(guān)鍵知 識(shí)和軟件系統(tǒng)設(shè)計(jì)模型均可用于本發(fā)明。
以下通過(guò)一個(gè)簡(jiǎn)單的例子來(lái)說(shuō)明圖3的方法。
假定某客戶需要開(kāi)發(fā)一個(gè)金融軟件,其中有關(guān)提款的業(yè)務(wù)功能是 其需要保護(hù)的關(guān)鍵知識(shí)。該業(yè)務(wù)功能可以用如下自然語(yǔ)言描述對(duì)f 炎款,^戶遂舉辨戶、餘入金4l' #'^系鍵趁查辨戶余*, 義多W',況T戎存it《。
要設(shè)計(jì)的軟件系統(tǒng)的模型如下
class提款{ 帳戶int; 金額float;
boolean檢查余額(); void執(zhí)行交易();
對(duì)于該業(yè)務(wù)功能的語(yǔ)句而言,可通過(guò)執(zhí)行切詞提取出其有意義的 詞匯。所述切詞過(guò)程例如可包括先借助標(biāo)點(diǎn)來(lái)將整個(gè)語(yǔ)句分割為不 同的分句,然后通過(guò)濾除介詞、連詞、助詞等無(wú)具體含義的詞來(lái)提取 語(yǔ)句當(dāng)中有意義的詞匯。通過(guò)對(duì)所述業(yè)務(wù)功能執(zhí)行上述過(guò)程,可得到包含ii個(gè)有意義的詞匯的集合提款、用戶、選擇、帳戶、輸入、 金額、系統(tǒng)、檢查、余額、執(zhí)行、交易。
對(duì)于該軟件系統(tǒng)設(shè)計(jì)而言,可通過(guò)先從XML語(yǔ)言中提取出含有 命名的那些標(biāo)記(tag)、然后再對(duì)提取出的命名進(jìn)行切詞,可得到包 含7個(gè)有意義的詞匯的集合提款、帳戶、金額、檢查、余額、執(zhí)行、 交易。
在得到上述兩個(gè)集合后,對(duì)其求取交集,可以得到交集大小為7。 于是,可以按照前述公式(1)求取KER和AIR,即
KER = 7/11 AIR = 7/7。
另外,根據(jù)本發(fā)明的優(yōu)選實(shí)施方式,在經(jīng)過(guò)上述計(jì)算過(guò)程之后, 還可以提供一個(gè)修正部分,以便設(shè)計(jì)人員可以根據(jù)需要對(duì)自動(dòng)計(jì)算的 KER和AIR進(jìn)4亍1務(wù)正。
根據(jù)本發(fā)明的另一優(yōu)選實(shí)施方式,在計(jì)算KER和AIR的過(guò)程中, 可根據(jù)關(guān)鍵知識(shí)的機(jī)密程度、類型、可理解性等因素,對(duì)各詞匯進(jìn)行 一定的加權(quán)。
以UML設(shè)計(jì)工具為例描述依賴關(guān)系獲取部分220自動(dòng)獲取工件 間的關(guān)系的方式。當(dāng)前主流的軟件設(shè)計(jì)模型是UML,而UML模型通 常保存為XML文件,因此,只要使用XML文件解析程序就可以自 動(dòng)獲得UML模型中各工件之間的關(guān)系。換言之,只需要尋找存放 UML模型的XML文件中表達(dá)類、關(guān)聯(lián)關(guān)系、繼承關(guān)系、依賴關(guān)系的 節(jié)點(diǎn)就可以容易地得到類之間的關(guān)系。與獲得各工件之間的關(guān)系有關(guān) 的技術(shù)是本領(lǐng)域中熟知的,這里不再詳細(xì)描述。
以下將參照?qǐng)D4描述機(jī)制設(shè)計(jì)部分230選擇適當(dāng)?shù)谋Wo(hù)機(jī)制的方式。
眾所周知,保留、偽裝和拆分是三種直觀的保護(hù)機(jī)制。保留 (reserving)是將軟件工件保留在授權(quán)開(kāi)發(fā)者那里,以便只有他們知 道關(guān)鍵知識(shí)。偽裝(pretending)是在將軟件工件傳遞給未授權(quán)開(kāi)發(fā) 者之前先改頭換面,以便隱藏關(guān)鍵知識(shí)。拆分(separation )將軟件工件分發(fā)給多個(gè)未授權(quán)開(kāi)發(fā)者,以便每個(gè)未授權(quán)開(kāi)發(fā)者只能知道關(guān)鍵 知識(shí)的分解的片段。每個(gè)保護(hù)機(jī)制有其自身的應(yīng)用條件和成本,但是 目前,對(duì)關(guān)鍵知識(shí)保護(hù)機(jī)制的選擇較為隨意,缺乏科學(xué)的分析和指導(dǎo)。
而本發(fā)明將根據(jù)關(guān)聯(lián)計(jì)算部分210、依賴關(guān)系獲取部分220輸出的關(guān) 聯(lián)關(guān)系和依賴關(guān)系來(lái)確定對(duì)軟件工件應(yīng)用怎樣的保護(hù)機(jī)制,如圖4所 示。
圖4的方法開(kāi)始于步驟400,隨后進(jìn)入步驟405,根據(jù)由依賴關(guān) 系獲取部分220得到的工件的相互依賴性將工件分成不同的群集,并 且在步驟410中判斷各群集的內(nèi)聚度是否大于特定的閾值。能夠理解, 在群集內(nèi)聚度高時(shí),如果將工件分配到幾個(gè)開(kāi)發(fā)者進(jìn)行開(kāi)發(fā),則其緊 密的相互依賴性將需要較多的交流,而且會(huì)為綜合到一起帶來(lái)很多麻 煩。因此,最好讓一個(gè)開(kāi)發(fā)者開(kāi)發(fā)高度內(nèi)聚群集中的所有工件。如果 步驟410的判斷為"是",則方法進(jìn)入步驟415,以在其中計(jì)算群集的 知識(shí)曝光率(即,將群集中包括的各工件的知識(shí)曝光率相加)。然后, 在步驟410中判斷群集的知識(shí)曝光率是否大于閾值?如果步驟420的 判斷為"是,,,則方法進(jìn)入步驟425,以決定為群集中的所有工件應(yīng)用 "保留,,機(jī)制(即,在群集中知識(shí)曝光率高的情況下,應(yīng)將軟件開(kāi)發(fā)任 務(wù)分配給被授權(quán)獲得知識(shí)的那些開(kāi)發(fā)者)。如果步驟420的判斷為 "否,,,則方法進(jìn)入步驟460,對(duì)軟件開(kāi)發(fā)任務(wù)采取拆分保護(hù)機(jī)制(但 考慮到高的群集內(nèi)聚度,應(yīng)盡量將軟件開(kāi)發(fā)任務(wù)分配給一個(gè)未授權(quán)開(kāi) 發(fā)者)。
如果步驟410的判斷為"否",即群集內(nèi)聚度不大于特定閾值,則 方法進(jìn)入步驟430,進(jìn)一步判斷工件的知識(shí)曝光率是否高于知識(shí)曝光 率閾值且工件相關(guān)率低于工件相關(guān)率閾值。如果"是",則方法進(jìn)入步 驟435,對(duì)滿足條件的工件應(yīng)用"偽裝"機(jī)制,并隨后在步驟440中將 知識(shí)曝光率重設(shè)為"O",然后方法進(jìn)入步驟445,以便對(duì)進(jìn)行"偽裝" 之后的知識(shí)應(yīng)用拆分保護(hù)機(jī)制。如果步驟430的判斷為"否",即,關(guān) 鍵知識(shí)和設(shè)計(jì)工件之間的關(guān)系不滿足步驟430的條件,則方法直接進(jìn) 入步驟445,以對(duì)知識(shí)應(yīng)用拆分保護(hù)機(jī)制。最后,方法在步驟450中結(jié)束。
在選擇適合于應(yīng)用偽裝機(jī)制的那些工件時(shí),盡管偽裝只能夠通過(guò) 使工件改頭換面而很好地保護(hù)關(guān)鍵知識(shí),但是這種方式通常使工件變 得難以理解,而進(jìn)行完整和有效的"偽裝,,也需要昂貴的成本。因此, 建議對(duì)具有高知識(shí)曝光率和低工件相關(guān)率的關(guān)鍵知識(shí)應(yīng)用偽裝機(jī)制。 高知識(shí)膝光率意味著對(duì)工件進(jìn)行偽裝可以很好地保護(hù)該知識(shí),而低工 件相關(guān)率意味著偽裝所需成本會(huì)較低。
最后,將所有工件進(jìn)行拆分(除了那些被保留的工件之外),以 便每組只保護(hù)較小的百分比的關(guān)鍵知識(shí)。這里,需要對(duì)拆分設(shè)置一定
的準(zhǔn)則,例如,每個(gè)組可以擁有不超過(guò)每種關(guān)鍵知識(shí)的30% 。此外, 在計(jì)算組的總啄光率時(shí),可以將偽裝工件的膝光率視為"0"。
需要指出,在本發(fā)明的上述方法中,在不同的階段或步驟中的各 閾值可根據(jù)軟件系統(tǒng)設(shè)計(jì)的需要進(jìn)行設(shè)定。
在機(jī)制設(shè)計(jì)部分230對(duì)不同的工件選擇了適當(dāng)?shù)谋Wo(hù)機(jī)制后,便 可以根據(jù)選擇的保護(hù)機(jī)制來(lái)實(shí)施相應(yīng)的機(jī)制,這包括替換可能泄露關(guān) 鍵知識(shí)的符號(hào)(對(duì)于"偽裝"機(jī)制),將工件拆分為不同的組以滿足設(shè) 置的拆分準(zhǔn)則(對(duì)于"拆分,,機(jī)制),等等。隨后,便可將處理后的軟 件工件分別分發(fā)給授權(quán)和非授權(quán)開(kāi)發(fā)人員進(jìn)行開(kāi)發(fā)。通過(guò)使用本發(fā) 明,可以較為準(zhǔn)確、有效地提取和識(shí)別關(guān)鍵知識(shí),并且能夠自動(dòng)地將 多種保護(hù)機(jī)制組合到一個(gè)具有理想費(fèi)效比的保護(hù)解決方案中。
本領(lǐng)域技術(shù)人員會(huì)認(rèn)識(shí)到,可以以方法、系統(tǒng)或計(jì)算機(jī)程序產(chǎn)品
的形式提供本發(fā)明的實(shí)施例。因此,本發(fā)明可采取全硬件實(shí)施例、全 軟件實(shí)施例,或者組合軟件和硬件的實(shí)施例的形式。硬件和軟件的典 型的結(jié)合可以是帶有計(jì)算機(jī)程序的通用計(jì)算機(jī)系統(tǒng),當(dāng)程序被加載并 被執(zhí)行時(shí),控制計(jì)算機(jī)系統(tǒng),從而可以執(zhí)行上述的方法。
本發(fā)明可以嵌入在計(jì)算機(jī)程序產(chǎn)品中,它包括使此處描述的方法 得以實(shí)施的所有特征。所述計(jì)算機(jī)程序產(chǎn)品被包含在一個(gè)或多個(gè)計(jì)算 機(jī)可讀存儲(chǔ)介質(zhì)(包括,但不限于,磁盤存儲(chǔ)器、CD-ROM、光學(xué)存 儲(chǔ)器等)中,所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)具有包含于其中的計(jì)算機(jī)可讀程序代碼。
已參考根據(jù)本發(fā)明的方法、系統(tǒng)及計(jì)算機(jī)程序產(chǎn)品的流程圖和/ 或方框圖說(shuō)明了本發(fā)明。流程圖和/或方框圖中的每個(gè)方框,以及流程 圖和/或方框圖中的方框的組合顯然可由計(jì)算機(jī)程序指令實(shí)現(xiàn)。這些計(jì) 算機(jī)程序指令可被提供給通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理器或 者其他可編程的數(shù)據(jù)處理設(shè)備的處理器,以產(chǎn)生一臺(tái)機(jī)器,從而指令 (所述指令通過(guò)計(jì)算機(jī)或者其他可編程數(shù)據(jù)處理設(shè)備的處理器)產(chǎn)生 用于實(shí)現(xiàn)在流程圖和/或方框圖的一個(gè)或多個(gè)方框中規(guī)定的功能的裝 置。
這些計(jì)算機(jī)程序指令也可保存在一個(gè)或多個(gè)計(jì)算機(jī)的讀存儲(chǔ)器 中,每個(gè)這種存儲(chǔ)器能夠指揮計(jì)算機(jī)或者其他可編程數(shù)據(jù)處理設(shè)備按 照特定的方式發(fā)揮作用,從而保存在計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生 一種制造產(chǎn)品,所述制造產(chǎn)品包括實(shí)現(xiàn)在流程圖和/或方框圖的 一個(gè)或 多個(gè)方框中規(guī)定的功能的指令裝置。
計(jì)算機(jī)程序指令也可被加載到一個(gè)或多個(gè)計(jì)算機(jī)或者其他可編 程數(shù)據(jù)處理設(shè)備上,使得在所述計(jì)算機(jī)或者其他可編程數(shù)據(jù)處理設(shè)備 上執(zhí)行一系列的操作步驟,從而在每個(gè)這樣的設(shè)備上產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn) 的過(guò)程,以致在該設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖和/或方框 圖的一個(gè)或多個(gè)方框中規(guī)定的步驟。
以上結(jié)合本發(fā)明的優(yōu)選實(shí)施方式對(duì)本發(fā)明的原理進(jìn)行了說(shuō)明,但 這些說(shuō)明只是示例性的,不應(yīng)理解為對(duì)本發(fā)明的任何限制。本領(lǐng)域技 術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改變和變形,而不會(huì)背離由隨附權(quán)利要 求所限定的本發(fā)明的精神和范圍。
權(quán)利要求
1. 一種由計(jì)算機(jī)實(shí)施的在軟件系統(tǒng)設(shè)計(jì)過(guò)程中保護(hù)關(guān)鍵知識(shí)的方法,所述軟件系統(tǒng)設(shè)計(jì)包括至少多個(gè)工件,所述方法包括計(jì)算關(guān)鍵知識(shí)與軟件系統(tǒng)設(shè)計(jì)之間的關(guān)聯(lián)關(guān)系;獲取軟件系統(tǒng)設(shè)計(jì)中各個(gè)工件之間的相互依賴關(guān)系;根據(jù)所述關(guān)聯(lián)關(guān)系和相互依賴關(guān)系確定用于各個(gè)工件的保護(hù)機(jī)制。
2. 根據(jù)權(quán)利要求1所述的方法,其中所述計(jì)算關(guān)鍵知識(shí)與軟件 系統(tǒng)設(shè)計(jì)之間的關(guān)聯(lián)關(guān)系的步驟包括計(jì)算關(guān)鍵知識(shí)的知識(shí)曝光率和 工件相關(guān)率。
3. 根據(jù)權(quán)利要求2所述的方法,其中通過(guò)如下方式計(jì)算知識(shí)曝 光率和工件相關(guān)率知識(shí)曝光率-x/l; 工件相關(guān)率-x/m;其中l(wèi)為關(guān)鍵知識(shí)中有意義的詞匯的集合大小,m為工件中有 意義的詞匯的集合大小,x為關(guān)鍵知識(shí)中有意義的詞匯與工件中有意 義的詞匯的交集的大小。
4. 根據(jù)權(quán)利要求1所述的方法,其中獲取各個(gè)工件之間的相互 依賴關(guān)系的步驟包括根據(jù)與所述軟件系統(tǒng)設(shè)計(jì)相對(duì)應(yīng)的解析程序來(lái)獲得所述軟件系 統(tǒng)設(shè)計(jì)中各個(gè)工件之間的相互依賴關(guān)系。
5. 根據(jù)權(quán)利要求4所述的方法,其中根據(jù)所述相互依賴關(guān)系來(lái) 對(duì)工件劃分群集,并且對(duì)群集內(nèi)聚度大于閾值且群集知識(shí)曝光率大于 特定閾值的知識(shí)應(yīng)用保留機(jī)制。
6. 根據(jù)權(quán)利要求4所述的方法,其中根據(jù)所述相互依賴關(guān)系來(lái) 對(duì)工件劃分群集,并且對(duì)于群集內(nèi)聚度不大于閾值的關(guān)鍵知識(shí),如果 其知識(shí)膝光率大于知識(shí)曝光率閾值且工件相關(guān)率小于工件相關(guān)率閾 值,則對(duì)其應(yīng)用偽裝機(jī)制。
7. 根據(jù)權(quán)利要求6所述的方法,其中對(duì)于知識(shí)膝光率不大于知 識(shí)曝光率閾值且工件相關(guān)率不小于工件相關(guān)率閾值的關(guān)鍵知識(shí)應(yīng)用 拆分機(jī)制。
8. —種在軟件系統(tǒng)設(shè)計(jì)過(guò)程中保護(hù)關(guān)鍵知識(shí)的系統(tǒng),所述軟件 系統(tǒng)設(shè)計(jì)包括多個(gè)工件,所述系統(tǒng)包括計(jì)算關(guān)鍵知識(shí)與軟件系統(tǒng)設(shè)計(jì)之間的關(guān)聯(lián)關(guān)系的關(guān)聯(lián)計(jì)算部分; 獲取軟件系統(tǒng)設(shè)計(jì)中各個(gè)工件之間的相互依賴關(guān)系的依賴關(guān)系 獲取部分;根據(jù)所述關(guān)聯(lián)關(guān)系和相互依賴關(guān)系確定對(duì)用于各個(gè)工件的保護(hù) 才/L制的;f;i制設(shè)計(jì)部分。
9. 根據(jù)權(quán)利要求8所述的系統(tǒng),其中所述關(guān)聯(lián)計(jì)算部分計(jì)算關(guān) 鍵知識(shí)的知識(shí)膝光率和工件相關(guān)率。
10. 根據(jù)權(quán)利要求9所述的系統(tǒng),其中所述關(guān)聯(lián)計(jì)算部分通過(guò)如下方式計(jì)算知識(shí)曝光率和工件相關(guān)率 知識(shí)啄光率-x/l; 工件相關(guān)率-x/m;其中l(wèi)為關(guān)鍵知識(shí)中有意義的詞匯的集合大小,m為工件中有 意義的詞匯的集合大小,x為關(guān)鍵知識(shí)中有意義的詞匯與工件中有意 義的詞匯的交集的大小。
11. 根據(jù)權(quán)利要求l所述的系統(tǒng),其中依賴關(guān)系獲取部分根據(jù)與個(gè)工件之間的相互依賴關(guān)系。
12. 根據(jù)權(quán)利要求11所述的系統(tǒng),其中根據(jù)所述相互依賴關(guān)系 來(lái)對(duì)設(shè)計(jì)工件劃分群集,并且對(duì)群集內(nèi)聚度大于內(nèi)聚度閾值且群集知 識(shí)膝光率大于群集知識(shí)曝光率閾值的知識(shí)應(yīng)用保留機(jī)制。
13. 根據(jù)權(quán)利要求11所述的系統(tǒng),其中根據(jù)所述相互依賴關(guān)系 來(lái)對(duì)設(shè)計(jì)工件劃分群集,并且對(duì)于群集內(nèi)聚度不大于內(nèi)聚度閾值的關(guān) 鍵知識(shí),如果其知識(shí)膝光率大于知識(shí)曝光率閾值且工件相關(guān)率小于工 件相關(guān)率閾值,則對(duì)其應(yīng)用偽裝機(jī)制。
14.根據(jù)權(quán)利要求13所述的系統(tǒng),其中對(duì)于知識(shí)膝光率不大于 知識(shí)啄光率閾值且工件相關(guān)率不小于工件相關(guān)率闊值的關(guān)鍵知識(shí)應(yīng) 用拆分機(jī)制。
全文摘要
本發(fā)明提供了一種由計(jì)算機(jī)實(shí)施的在軟件系統(tǒng)設(shè)計(jì)過(guò)程中保護(hù)關(guān)鍵知識(shí)的方法及系統(tǒng),其中所述軟件系統(tǒng)設(shè)計(jì)包括至少多個(gè)工件,所述方法包括計(jì)算關(guān)鍵知識(shí)與軟件系統(tǒng)設(shè)計(jì)之間的關(guān)聯(lián)關(guān)系;獲取軟件系統(tǒng)設(shè)計(jì)中各個(gè)工件之間的相互依賴關(guān)系;根據(jù)所述關(guān)聯(lián)關(guān)系和相互依賴關(guān)系確定用于各個(gè)工件的保護(hù)機(jī)制。
文檔編號(hào)G06F9/44GK101520727SQ200810082248
公開(kāi)日2009年9月2日 申請(qǐng)日期2008年2月29日 優(yōu)先權(quán)日2008年2月29日
發(fā)明者英 劉, 欣 周, 俊 朱, 輝 蘇, 霍震中 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司