專利名稱:一種軟件系統(tǒng)差異化的實現(xiàn)方法
技術(shù)領(lǐng)域:
本發(fā)明是有關(guān)于軟件系統(tǒng),且特別是有關(guān)于軟件系統(tǒng)差異化的實現(xiàn)方法。
背景技術(shù):
當前,對于軟件產(chǎn)品,其大規(guī)模開發(fā)一般要求標準化,同時又必須具備高度的可定制性,為不同客戶提供有差別的服務(wù)和功能,這在客觀上要求軟件產(chǎn)品必須差異化。另,軟件產(chǎn)品的本身功能隨著產(chǎn)品的不斷演化,則將面臨有些功能需要增加、而有些功能需要取消的問題,傳統(tǒng)的做法通常是由軟件開發(fā)商修改原有程序代碼,或通過插件化、配置化來解決此問題。但是,通過軟件開發(fā)商來修改原有程序代碼,將經(jīng)過漫長的發(fā)布流程;而插件化雖然可以解決此問題,但是插件化易帶來粒度過大問題;而對于采用配置化來解決此問題,其在實體上與功能上所使用的技術(shù)手段不同,則對技術(shù)要求較高,進而不易于維護。此外,在軟件使用過程中,當客戶需要在軟件上增加一些簡單的功能,一般仍需要給軟件開發(fā)商來完成,這將造成一定的時間差,從而使客戶不能更快地使用軟件功能,進而造成客戶價值的損失。有鑒于此,如何設(shè)計一種軟件系統(tǒng)差異化的實現(xiàn)方法,以實現(xiàn)軟件系統(tǒng)的功能可作任意變更而具有可擴展性,并且易于維護及提高客戶效益,是業(yè)內(nèi)相關(guān)技術(shù)人員亟待解決的一技術(shù)問題。
發(fā)明內(nèi)容
為了解決上述技術(shù)問題,本發(fā)明提出了一種軟件系統(tǒng)差異化的實現(xiàn)方法,包含:a)定義一原生配置資源,所述原生配置資源對應(yīng)于一軟件系統(tǒng)的預先配置;b)定義一個或多個差量資源,所述差量資源與所述軟件系統(tǒng)的配置變更相關(guān);以及c)將所述原生配置資源與所述差量資源作用于上述軟件系統(tǒng)以生成一新對象。在本發(fā)明的一實施方式中,步驟c)包含:cl);從不同物理位置和配置資源宿主掃描配置資源并形成一離散配置資源集合c2)對所述離散配置資源集合進行排序以生成一排序配置資源集合,繼而分辨出原生配置資源和差量配置資源;以及c3)讀取所述排序配置資源集合并解析所述差量資源以對所述原生配置資源進行一變更操作。在本發(fā)明的一實施方式中,所述原生配置資源包含多個獨立包裝的子原生配置資源。在本發(fā)明的一實施方式中,所述子原生配置資源對應(yīng)于所述軟件系統(tǒng)的易變功倉泛。在本發(fā)明的一實施方式中,所述差量資源包含基礎(chǔ)對象、謂詞及數(shù)據(jù),其中,所述基礎(chǔ)對象用以定義所述變更操作的目標,所述謂詞用以定義所述變更操作的動作,所述數(shù)據(jù)用以定義所述變更操作的內(nèi)容。在本發(fā)明的一實施方式中,所述差量資源透過一可視化設(shè)計器設(shè)計而成。 在本發(fā)明的一實施方式中,所述差量資源基于統(tǒng)一對象模型。
在本發(fā)明的一實施方式中,所述差量資源為文本流。在本發(fā)明的一實施方式中,所述差量資源宿主在文件、數(shù)據(jù)庫或文件服務(wù)器中。在本發(fā)明的一實施方式中,所述差量資源與所述原生配置資源之間、所述差量資源彼此間相耦合。在本發(fā)明的一實施方式中,所述差量資源支持多語言。在本發(fā)明的一實施方式中,具有同一語言類型的所述差量資源集中放置。在本發(fā)明的一實施方式中,所述軟件系統(tǒng)為企業(yè)資源計劃系統(tǒng)。綜上,本發(fā)明所提出的一種軟件系統(tǒng)差異化的實現(xiàn)方法,通過所定義的原生配置
資源與一個或多個差量資源形成新對象,而當執(zhí)行軟件系統(tǒng)時,其調(diào)用新對象,則可實現(xiàn)軟
件系統(tǒng)的新功能,使軟件系統(tǒng)具有較好可擴展性。而對于軟件系統(tǒng)的一些易變功能進行單
獨包裝,這簡化了后續(xù)的功能變更的操作。采用可視化設(shè)計器來設(shè)置差量資源,而對于軟件
系統(tǒng)的一些簡單功能變更,客戶可以直接透過可視化設(shè)計器來設(shè)計差量資源,進而實現(xiàn)軟
件系統(tǒng)的功能變更,而不需給軟件開發(fā)商來完成功能變更,從而可以節(jié)省時間,進而提高效
益
圖1繪示了本發(fā)明一實施方式的軟件系統(tǒng)差異化的實現(xiàn)方法的流程示意圖;以及圖2繪示了圖1中的步驟130的具體流程示意圖。
具體實施例方式為使本發(fā)明所提出的技術(shù)方案更加清楚,下面將結(jié)合附圖對本發(fā)明作進一步地詳細描述。關(guān)于本文中所出現(xiàn)的“原生配置資源”,是指標準軟件系統(tǒng)所具有的配置資源,其可以泛指軟件系統(tǒng)的所有配置資源的集合,也可以特指所有配置資源中的任一分配置資源。請參照圖1,圖1繪示了本發(fā)明一實施方式的軟件系統(tǒng)差異化的實現(xiàn)方法的流程示意圖。首先,在步驟110中,定義一原生配置資源,其中,此原生配置資源對應(yīng)于一軟件系統(tǒng)的預先配置。在本實施方式中,軟件系統(tǒng)可以是,比如企業(yè)資源計劃(EnterpriseResource Planning,ERP)系統(tǒng),但不以此為限,也可以是其它應(yīng)用軟件。原生配置資源,即軟件系統(tǒng)的預先所配置的資源,其可以在軟件系統(tǒng)的早期開發(fā)中確定,具體而言,根據(jù)軟件系統(tǒng)早期所需要的功能,來確定需要哪些配置資源。之后,在步驟120中,定義一個或多個差量資源,其中,差量資源與軟件系統(tǒng)的配置變更相關(guān)。具體而言,雖然軟件系統(tǒng)已形成上述之原生配置資源,但是,當軟件系統(tǒng)需要功能變更時,比如需要為不同客戶提供不同服務(wù)而使所提供的軟件系統(tǒng)所具有的軟件功能將作一定的調(diào)整、或軟件系統(tǒng)本身需要增加或取消某些功能時,顯然,如果軟件系統(tǒng)只配置原生配置資源可能將不符要求,則此時軟件系統(tǒng)的配置需要作一定變更,即需要對原生配置資源進行變更,于此,在本實施方式中,提出了差量資源這一概念,此差量資源與軟件系統(tǒng)的功能變更(配置變更)相關(guān)。在本實施方式中,每一差量資源由基礎(chǔ)對象、謂詞及數(shù)據(jù)所組成,基礎(chǔ)對象用以定義原生配置資源中的需要進行變更操作的目標,此變更操作的目標可以是,比如原生配置資源中的對象(object)或?qū)傩?property),但不以此為限,而謂詞是用以定義此變更操作的具體動作,比如增加、修改及刪除等,數(shù)據(jù)用以定義此變更操作的具體內(nèi)容,比如對原生配置資源中的對象或?qū)傩缘木唧w賦值。此外,差量資源與原生配置資源、各差量資源彼此間在邏輯上需相互耦合;對于差量資源與原生配置資源之間的相互耦合,由于差量資源中具有基礎(chǔ)對象,而此基礎(chǔ)對象可以是對應(yīng)于原生配置資源中的對象或?qū)傩?,由此可知差量資源與原生配置資源在邏輯上相耦合;而對于差量資源彼此間需要相耦合,比如,一個差量資源的含義是對原生配置資源中的一屬性進行刪除,而另一個差量資源的含義是針對此屬性進行修改其屬性值,顯然,此時的兩差量資源在邏輯有先后關(guān)系,因此,在本實施方式中,各差量資源彼此間相耦合。繼而,在步驟130中,將原生配置資源與差量資源作用于軟件系統(tǒng)以生成一新對象。具體可參照下述。再請參照圖2,圖2繪示了圖1中的步驟130的具體流程示意圖。在步驟132中,從不同物理位置和配置資源宿主掃描配置資源并形成一離散配置資源集合。在本實 施方式中,掃描配置資源,即為透過一設(shè)計接口從不同物理位置和配置資源宿主讀取配置資源,并生成一離散配置資源集合。在步驟134中,對離散配置資源集合進行排序以生成一已排序配置資源集合,并分辨出原生配置資源和差量配置資源。在本實施方式中,可以通過一排序器對離散配置資源參照層次等級進行排序,進而產(chǎn)生有序的排序配置資源集合。在步驟136中,讀取排序配置資源集合并解析差量資源以對原生配置資源進行一變更操作。在本實施方式中,可以通過一序列器/反序列器來讀取排序配置資集合,當讀取到原生配置資源中與差量資源的基礎(chǔ)對象相匹配的變更操作目標時,那么將對差量資源中的謂詞(變更操作的動作)進行解析,即執(zhí)行動作,當執(zhí)行完動作后,原生配置資源中需變更的目標已作變更。原生配置與差量迭量迭加的過程,功能作用在同一對象上,而產(chǎn)生新對象。另,下表列出了本實施方式中的多個動作的具體含義,參照如下:
權(quán)利要求
1.一種軟件系統(tǒng)差異化的實現(xiàn)方法,其特征在于,包含: a)定義一原生配置資源,所述原生配置資源對應(yīng)于一軟件系統(tǒng)的預先配置; b)定義一個或多個差量資源,所述差量資源與所述軟件系統(tǒng)的配置變更相關(guān);以及 c)將所述原生配置資源與所述差量資源作用于上述軟件系統(tǒng)以生成一新對象。
2.根據(jù)權(quán)利要求1所述的實現(xiàn)方法,其特征在于,步驟c)包含: Cl)從不同物理位置和配置資源宿主掃描配置資源并形成一離散配置資源集合;c2)對所述離散配置資源集合進行排序以生成一排序配置資源集合并分辨出所述原生配置資源和所述差量配置資源;以及 c3)讀取所述排序配置資源集合并解析所述差量資源以對所述原生配置資源進行一變更操作。
3.根據(jù)權(quán)利要求1或2所述的實現(xiàn)方法,其特征在于,所述原生配置資源包含多個獨立包裝的子原生配置資源。
4.根據(jù)權(quán)利要求3所述的實現(xiàn)方法,其特征在于,所述子原生配置資源對應(yīng)于所述軟件系統(tǒng)的易變功能。
5.根據(jù)權(quán)利要求2所述的實現(xiàn)方法,其特征在于,所述差量資源包含基礎(chǔ)對象、謂詞及數(shù)據(jù), 其中,所述基礎(chǔ)對象用以定義所述變更操作的目標,所述謂詞用以定義所述變更操作的動作,所述數(shù)據(jù)用以定義所述變更操作的內(nèi)容。
6.根據(jù)權(quán)利要求1或2所述的實現(xiàn)方法,其特征在于,所述差量資源透過一可視化設(shè)計器設(shè)計而成。
7.根據(jù)權(quán)利要求1或2所述的實現(xiàn)方法,其特征在于,所述差量資源基于統(tǒng)一對象模型。
8.根據(jù)權(quán)利要求1或2所述的實現(xiàn)方法,其特征在于,所述差量資源為文本流。
9.根據(jù)權(quán)利要求1或2所述的實現(xiàn)方法,其特征在于,所述差量資源宿主在文件、數(shù)據(jù)庫或文件服務(wù)器中。
10.根據(jù)權(quán)利要求1或2所述的實現(xiàn)方法,其特征在于,所述差量資源與所述原生配置資源之間、所述差量資源彼此間相耦合。
11.根據(jù)權(quán)利要求1或2所述的實現(xiàn)方法,其特征在于,所述差量資源支持多語言。
12.根據(jù)權(quán)利要求11所述的實現(xiàn)方法,其特征在于,具有同一語言類型的所述差量資源集中放置。
13.根據(jù)權(quán)利要求1或2所述的實現(xiàn)方法,其特征在于,所述軟件系統(tǒng)為企業(yè)資源計劃系統(tǒng)。
全文摘要
本發(fā)明提出了一種軟件系統(tǒng)差異化的實現(xiàn)方法,包含a)定義一原生配置資源,原生配置資源對應(yīng)于一軟件系統(tǒng)的預先配置;b)定義一個或多個差量資源,差量資源與軟件系統(tǒng)的配置變更相關(guān);以及c)將原生配置資源與差量資源作用于上述軟件系統(tǒng)以生成一新對象。本發(fā)明所提出的一種軟件系統(tǒng)差異化的實現(xiàn)方法,通過所定義的原生配置資源與一個或多個差量資源形成新對象,而當執(zhí)行軟件系統(tǒng)時,其調(diào)用新對象,則可實現(xiàn)軟件系統(tǒng)的新功能。
文檔編號G06F9/44GK103186379SQ20111045820
公開日2013年7月3日 申請日期2011年12月31日 優(yōu)先權(quán)日2011年12月31日
發(fā)明者李兵 申請人:鼎捷軟件股份有限公司