0072] 繼續(xù)上文所述的示例,假設(shè)邏輯過程" 1000-SUB-L0GIC"是實現(xiàn)"存款產(chǎn)品"的源 代碼,并且"存款產(chǎn)品"還可以涉及"開戶"和"存款"。由于在邏輯過程" 1000-SUB-L0GIC" 中還分別通過"PERFORM 1001-SUB-L0GIC" 和"PERFORM 1002-SUB-L0GIC" 語句調(diào)用其他邏 輯過程" 1001-SUB-L0GIC"和" 1002-SUB-L0GIC",此時可以基于上述調(diào)用來將用于實現(xiàn)"開 戶"和"存款動作"的事務(wù)定義劃分至"存款產(chǎn)品"。以此方式,可以基于源代碼中的事務(wù)代 碼中的邏輯過程的調(diào)用,將至少一個事務(wù)定義劃分至至少一個產(chǎn)品分類。
[0073] 在本發(fā)明的一個實施方式中,提供了一種用于基于產(chǎn)品模型生成新產(chǎn)品的方法, 包括:接收根據(jù)本發(fā)明所生成的產(chǎn)品模型;以及通過組合產(chǎn)品模型中的至少一個產(chǎn)品參 數(shù),生成新產(chǎn)品。
[0074] 圖7示意性示出了根據(jù)本發(fā)明的一個實施方式的基于產(chǎn)品模型生成新產(chǎn)品的示 意圖700。在已經(jīng)獲得了如圖6所示的產(chǎn)品模型的情況下,還可以通過組合產(chǎn)品模型中的至 少一個產(chǎn)品參數(shù)來生成新的產(chǎn)品。如圖7所示,在從前文中生成產(chǎn)品模型的步驟可知,將公 共產(chǎn)品組件620以及存款產(chǎn)品組件630進(jìn)行組合,即可獲得存款產(chǎn)品相關(guān)的全部產(chǎn)品參數(shù)。
[0075] 當(dāng)銀行期望增加一種新的美元存款產(chǎn)品時,按照現(xiàn)有技術(shù)的技術(shù)方案,開發(fā)人員 需要重新定義與美元存款產(chǎn)品相關(guān)的各項產(chǎn)品參數(shù),并且還需要重新編寫相關(guān)源代碼。這 是一個耗時并且復(fù)雜的過程。然而采用本發(fā)明的技術(shù)方案,假設(shè)以附圖標(biāo)記642所示的產(chǎn) 品參數(shù)04是描述了幣種為美元的產(chǎn)品參數(shù),此時僅需要簡單地組合公共產(chǎn)品組件620、存 款產(chǎn)品組件630以及產(chǎn)品參數(shù)04 (如圖7中以虛線框示出),即可獲得新產(chǎn)品710 ( 即,美元 存款產(chǎn)品)的全部產(chǎn)品參數(shù)。以此方式,可以大大降低技術(shù)人員的工作負(fù)荷。
[0076] 另外,在已經(jīng)建立了產(chǎn)品模型的情況下,還可以基于該產(chǎn)品模型的層級結(jié)構(gòu)來設(shè) 置以面向?qū)ο笳Z言開發(fā)的各個產(chǎn)品的數(shù)據(jù)結(jié)構(gòu),進(jìn)而可以基于例如基類和集成等方式,加 速對早期開發(fā)的其中數(shù)據(jù)與源代碼緊密耦合的應(yīng)用系統(tǒng)的改造。
[0077] 前面已經(jīng)參考附圖描述了實現(xiàn)本發(fā)明的方法的各個實施方式。本領(lǐng)域技術(shù)人員可 以理解的是,上述方法既可以以軟件方式實現(xiàn),也可以以硬件方式實現(xiàn),或者通過軟件與硬 件相結(jié)合的方式實現(xiàn)。并且,本領(lǐng)域技術(shù)人員可以理解,通過以軟件、硬件或者軟硬件相結(jié) 合的方式實現(xiàn)上述方法中的各個步驟,可以提供一種基于相同發(fā)明構(gòu)思的一種設(shè)備。即使 該設(shè)備在硬件結(jié)構(gòu)上與通用處理設(shè)備相同,由于其中所包含的軟件的作用,使得該設(shè)備表 現(xiàn)出區(qū)別于通用處理設(shè)備的特性,從而形成本發(fā)明的各個實施方式的設(shè)備。本發(fā)明中所述 設(shè)備包括若干裝置或模塊,所述裝置或模塊被配置為執(zhí)行相應(yīng)步驟。本領(lǐng)域的所述技術(shù)人 員通過閱讀本說明書可以理解如何編寫程序?qū)崿F(xiàn)所述裝置或模塊執(zhí)行的動作。由于所述設(shè) 備與方法基于相同的發(fā)明構(gòu)思,因此其中相同或相應(yīng)的實現(xiàn)細(xì)節(jié)同樣適用于與上述方法對 應(yīng)的裝置或模塊,由于其在上文中已經(jīng)進(jìn)行了詳細(xì)和完整的描述,因此在下文中可能不再 進(jìn)行贅述。
[0078] 圖8A示意性示出了根據(jù)本發(fā)明一個實施方式的從應(yīng)用系統(tǒng)生成產(chǎn)品模型的裝置 的框圖800A。具體地,提供了一種用于從應(yīng)用系統(tǒng)生成產(chǎn)品模型的裝置,包括:提取模塊 810A,配置用于從應(yīng)用系統(tǒng)的源代碼中提取與源代碼相關(guān)聯(lián)的至少一個事務(wù)定義,至少一 個事務(wù)定義中的每個事務(wù)定義描述源代碼實現(xiàn)的產(chǎn)品中的一個事務(wù);劃分模塊820A,配置 用于將至少一個事務(wù)定義劃分至至少一個產(chǎn)品分類;生成模塊830A,配置用于從源代碼中 獲取與至少一個產(chǎn)品分類中的一產(chǎn)品分類相關(guān)聯(lián)的產(chǎn)品組件以生成產(chǎn)品模型,其中產(chǎn)品組 件描述與產(chǎn)品分類相關(guān)聯(lián)的至少一個產(chǎn)品參數(shù),以及產(chǎn)品模型描述產(chǎn)品分類與至少一個產(chǎn) 品參數(shù)之間的關(guān)聯(lián)關(guān)系。
[0079] 在本發(fā)明的一個實施方式中,生成模塊830A包括:獲得模塊,配置用于針對至少 一個產(chǎn)品分類中的當(dāng)前產(chǎn)品分類,從源代碼中獲得與當(dāng)前產(chǎn)品分類相關(guān)聯(lián)的產(chǎn)品組件;以 及第一生成模塊,配置用于基于當(dāng)前產(chǎn)品分類和產(chǎn)品組件生成產(chǎn)品模型。
[0080] 在本發(fā)明的一個實施方式中,獲得模塊包括:選擇模塊,配置用于從源代碼中的事 務(wù)代碼中,選擇與當(dāng)前產(chǎn)品分類中的事務(wù)定義相關(guān)聯(lián)的至少一個變量參數(shù);以及建立模塊, 配置用于通過分析源代碼中的數(shù)據(jù)定義而從至少一個變量參數(shù)建立產(chǎn)品組件。
[0081] 在本發(fā)明的一個實施方式中,選擇模塊包括:第一選擇模塊,配置用于響應(yīng)于源代 碼中的事務(wù)代碼中存在對至少一個變量參數(shù)的調(diào)用,選擇至少一個變量參數(shù)。
[0082] 在本發(fā)明的一個實施方式中,建立模塊包括:確定模塊,配置用于基于數(shù)據(jù)定義 中的至少一個變量參數(shù)的定義,確定至少一個變量參數(shù)中的每個變量參數(shù)所代表的產(chǎn)品參 數(shù);以及構(gòu)造模塊,配置用于基于產(chǎn)品參數(shù)構(gòu)造產(chǎn)品組件。
[0083] 在本發(fā)明的一個實施方式中,提取模塊810A包括:第一提取模塊,配置用于基于 源代碼中的事務(wù)代碼中定義的邏輯過程,提取至少一個事務(wù)定義。
[0084] 在本發(fā)明的一個實施方式中,劃分模塊820A包括:第一劃分模塊,配置用于基于 源代碼中的事務(wù)代碼中的邏輯過程的調(diào)用,將至少一個事務(wù)定義劃分至至少一個產(chǎn)品分 類。
[0085] 圖8B示意性示出了根據(jù)本發(fā)明一個實施方式的用于基于產(chǎn)品模型生成新產(chǎn)品的 裝置的框圖800B。具體地,提供了一種用于基于產(chǎn)品模型生成新產(chǎn)品的裝置,包括:接收模 塊810B,配置用于接收根據(jù)本發(fā)明的裝置所生成的產(chǎn)品模型;以及組合模塊820B,配置用 于通過組合產(chǎn)品模型中的至少一個產(chǎn)品參數(shù),生成新產(chǎn)品。
[0086] 采用本發(fā)明所述的方法和裝置,可以在盡可能降低人工干預(yù)的情況下,自動地從 應(yīng)用系統(tǒng)的源代碼中生成產(chǎn)品模型。進(jìn)一步,可以使用所生成的產(chǎn)品來構(gòu)造新的產(chǎn)品。更 進(jìn)一步,還可以基于所生成的產(chǎn)品模型,輔助將遺留應(yīng)用系統(tǒng)移至新的應(yīng)用環(huán)境。
[0087] 本發(fā)明可以是系統(tǒng)、方法和/或計算機程序產(chǎn)品。計算機程序產(chǎn)品可以包括計算 機可讀存儲介質(zhì),其上載有用于使處理器實現(xiàn)本發(fā)明的各個方面的計算機可讀程序指令。 [0088] 計算機可讀存儲介質(zhì)可以是可以保持和存儲由指令執(zhí)行設(shè)備使用的指令的有形 設(shè)備。計算機可讀存儲介質(zhì)例如可以是一一但不限于一一電存儲設(shè)備、磁存儲設(shè)備、光存儲 設(shè)備、電磁存儲設(shè)備、半導(dǎo)體存儲設(shè)備或者上述的任意合適的組合。計算機可讀存儲介質(zhì) 的更具體的例子(非窮舉的列表)包括:便攜式計算機盤、硬盤、隨機存取存儲器(RAM)、只 讀存儲器(ROM)、可擦式可編程只讀存儲器(EPROM或閃存)、靜態(tài)隨機存取存儲器(SRAM)、 便攜式壓縮盤只讀存儲器(⑶-ROM)、數(shù)字多功能盤(DVD)、記憶棒、軟盤、機械編碼設(shè)備、例 如其上存儲有指令的打孔卡或凹槽內(nèi)凸起結(jié)構(gòu)、以及上述的任意合適的組合。這里所使用 的計算機可讀存儲介質(zhì)不被解釋為瞬時信號本身,諸如無線電波或者其他自由傳播的電磁 波、通過波導(dǎo)或其他傳輸媒介傳播的電磁波(例如,通過光纖電纜的光脈沖)、或者通過電 線傳輸?shù)碾娦盘枴?br>[0089] 這里所描述的計算機可讀程序指令可以從計算機可讀存儲介質(zhì)下載到各個計算/ 處理設(shè)備,或者通過網(wǎng)絡(luò)、例如因特網(wǎng)、局域網(wǎng)、廣域網(wǎng)和/或無線網(wǎng)下載到外部計算機或 外部存儲設(shè)備。網(wǎng)絡(luò)可以包括銅傳輸電纜、光纖傳輸、無線傳輸、路由器、防火墻、交換機、網(wǎng) 關(guān)計算機和/或邊緣服務(wù)器。每個計算/處理設(shè)備中的網(wǎng)絡(luò)適配卡或者網(wǎng)絡(luò)接口從網(wǎng)絡(luò)接 收計算機可讀程序指令,并轉(zhuǎn)發(fā)該計算機可讀程序指令,以供存儲在各個計算/處理設(shè)備 中的計算機可讀存儲介質(zhì)中。
[0090] 用于執(zhí)行本發(fā)明操作的計算機程序指令可以是匯編指令、指令集架構(gòu)(ISA)指 令、機器指令、機器相關(guān)指令、微代碼、固件指令、狀態(tài)設(shè)置數(shù)據(jù)、或者以一種或多種編程語 言的任意組合編寫的源代碼或目標(biāo)代碼,所述編程語言包括面向?qū)ο蟮木幊陶Z言一諸如 Java、Smalltalk、C++等,以及常規(guī)的過程式編程語目一諸如"C"語目或類似的編程語目。 計算機可讀程序指令可以完全地在用戶計算機上執(zhí)行、部分地在用戶計算機上執(zhí)行、作為 一個獨立的軟件包執(zhí)行、部分在用戶計算機上部分在遠(yuǎn)程計算機上執(zhí)行、或者完全在遠(yuǎn)程 計算機或服務(wù)器上執(zhí)行。在涉及遠(yuǎn)程計算機的情形中,遠(yuǎn)程計算機可以通過任意種類的網(wǎng) 絡(luò)一包括局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)-連接到用戶計算機,或者,可以連接到外部計算機 (例如利用因特網(wǎng)服務(wù)提供商來通過因特網(wǎng)連接)。在一些實施方式中,通過利用計算機可 讀程序指令的狀態(tài)信息來個性化定制電子電路,例如可編程邏輯電路、現(xiàn)場可編程門陣列 (FPGA)或可編程邏輯陣列(PLA),該電子電路可以