計(jì)算邏輯生成方法和裝置的制造方法
【專利摘要】本發(fā)明提供了一種計(jì)算邏輯生成方法和裝置,其中,該方法包括:定義目標(biāo)計(jì)算值并獲取計(jì)算因子;從預(yù)設(shè)的計(jì)算公式模塊中選取所需的模塊化的計(jì)算公式;根據(jù)所述目標(biāo)計(jì)算值、所述計(jì)算因子和所述模塊化的計(jì)算公式生成計(jì)算邏輯。本發(fā)明通過(guò)模塊化計(jì)算公式實(shí)現(xiàn)對(duì)計(jì)算邏輯的生成和修改,而無(wú)需對(duì)計(jì)算過(guò)程的源代碼進(jìn)行修改,從而有效簡(jiǎn)化了計(jì)算邏輯的生成和修改過(guò)程。
【專利說(shuō)明】
計(jì)算邏輯生成方法和裝置
技術(shù)領(lǐng)域
[0001 ]本發(fā)明涉及軟件開(kāi)發(fā)技術(shù)領(lǐng)域,具體而言,涉及一種計(jì)算邏輯生成方法和裝置。
【背景技術(shù)】
[0002]目前,開(kāi)發(fā)、維護(hù)選型軟件時(shí),經(jīng)常會(huì)遇到需要修改計(jì)算邏輯的情況。然而,每次更改計(jì)算邏輯時(shí),都需要對(duì)計(jì)算過(guò)程的源代碼進(jìn)行重新審查和更改,工作量非常大且要求更改的完成時(shí)間又相當(dāng)緊迫。如果急忙更改,那么難免會(huì)出現(xiàn)錯(cuò)誤,因此軟件質(zhì)量難以把控。
[0003]如何在確保軟件質(zhì)量的情況下,應(yīng)對(duì)頻繁更改計(jì)算邏輯的實(shí)際需求,目前尚未提出有效的解決方案。
【發(fā)明內(nèi)容】
[0004]本發(fā)明實(shí)施例提供了一種計(jì)算邏輯生成方法,以便簡(jiǎn)單高效地實(shí)現(xiàn)軟件中計(jì)算邏輯的生成和修改,該方法包括:
[0005]定義目標(biāo)計(jì)算值并獲取計(jì)算因子;
[0006]從預(yù)設(shè)的計(jì)算公式模塊中選取所需的模塊化的計(jì)算公式;
[0007]根據(jù)所述目標(biāo)計(jì)算值、所述計(jì)算因子和所述模塊化的計(jì)算公式生成計(jì)算邏輯。
[0008]在一個(gè)實(shí)施方式中,預(yù)設(shè)的計(jì)算公式模塊存儲(chǔ)有以下模塊化的計(jì)算公式至少之一:加、減、乘、除、括號(hào)、指數(shù)、冪指數(shù)、對(duì)數(shù)、三角函數(shù)和絕對(duì)值。
[0009]在一個(gè)實(shí)施方式中,所述預(yù)設(shè)的計(jì)算公式模塊以可視化界面的方式顯示供用戶點(diǎn)選;
[0010]相應(yīng)的,從預(yù)設(shè)的計(jì)算公式模塊中選取所需的模塊化的計(jì)算公式,包括:
[0011 ]從所述可視化界面中點(diǎn)選所需的模塊的計(jì)算公式。
[0012]在一個(gè)實(shí)施方式中,所述計(jì)算因子包括:常量系數(shù)和/或變量。
[0013]在一個(gè)實(shí)施方式中,在所述計(jì)算因子為變量的情況下,獲取計(jì)算因子包括:獲取用戶輸入的變量值。
[0014]本發(fā)明實(shí)施例還提供了一種計(jì)算邏輯生成裝置,以便簡(jiǎn)單高效地實(shí)現(xiàn)軟件中計(jì)算邏輯的生成和修改,該裝置包括:
[0015]獲取模塊,用于定義目標(biāo)計(jì)算值并獲取計(jì)算因子;
[0016]選取模塊,用于從預(yù)設(shè)的計(jì)算公式模塊中選取所需的模塊化的計(jì)算公式;
[0017]生成模塊,用于根據(jù)所述目標(biāo)計(jì)算值、所述計(jì)算因子和所述模塊化的計(jì)算公式生成計(jì)算邏輯。
[0018]在一個(gè)實(shí)施方式中,預(yù)設(shè)的計(jì)算公式模塊存儲(chǔ)有以下模塊化的計(jì)算公式至少之一:加、減、乘、除、括號(hào)、指數(shù)、冪指數(shù)、對(duì)數(shù)、三角函數(shù)和絕對(duì)值。
[0019]在一個(gè)實(shí)施方式中,所述選取模塊具體用于從可視化界面中點(diǎn)選所需的模塊的計(jì)算公式,其中,所述預(yù)設(shè)的計(jì)算公式模塊以可視化界面的方式顯示供用戶點(diǎn)選。
[0020]在一個(gè)實(shí)施方式中,所述計(jì)算因子包括:常量系數(shù)和/或變量。
[0021]在一個(gè)實(shí)施方式中,所述獲取模塊具體用于在所述計(jì)算因子為變量的情況下,獲取用戶輸入的變量值。
[0022]在上述實(shí)施例中,采用模塊化的方式封裝計(jì)算公式,這樣在生成計(jì)算邏輯或者修改軟件計(jì)算邏輯的時(shí)候,可以通過(guò)該模塊化的計(jì)算公式實(shí)現(xiàn)對(duì)計(jì)算邏輯的生成和修改,而無(wú)需對(duì)計(jì)算過(guò)程的源代碼進(jìn)行修改,從而有效簡(jiǎn)化了計(jì)算邏輯的生成和修改過(guò)程,且準(zhǔn)確性尚°
【附圖說(shuō)明】
[0023]構(gòu)成本申請(qǐng)的一部分的附圖用來(lái)提供對(duì)本發(fā)明的進(jìn)一步理解,本發(fā)明的示意性實(shí)施例及其說(shuō)明用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。在附圖中:
[0024]圖1是根據(jù)本發(fā)明實(shí)施例的計(jì)算邏輯生成方法流程圖;
[0025]圖2是根據(jù)本發(fā)明實(shí)施例的公式自定義生成方法流程示意圖;
[0026]圖3是根據(jù)本發(fā)明實(shí)施例的公式識(shí)別流程示意圖;
[0027]圖4是根據(jù)本發(fā)明實(shí)施例的計(jì)算邏輯生成裝置的結(jié)構(gòu)框圖。
【具體實(shí)施方式】
[0028]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,下面結(jié)合實(shí)施方式和附圖,對(duì)本發(fā)明做進(jìn)一步詳細(xì)說(shuō)明。在此,本發(fā)明的示意性實(shí)施方式及其說(shuō)明用于解釋本發(fā)明,但并不作為對(duì)本發(fā)明的限定。
[0029]發(fā)明人考慮到可以對(duì)計(jì)算公式進(jìn)行模塊化,從而使得對(duì)軟件中計(jì)算邏輯的更改,可以僅對(duì)該需要修改的計(jì)算公式進(jìn)行模塊替換即可,而無(wú)需對(duì)計(jì)算過(guò)程中的源代碼進(jìn)行修改,可見(jiàn)此種修改方式較為簡(jiǎn)單。
[0030]如圖1所示是本發(fā)明實(shí)施例提供的一種計(jì)算邏輯生成方法的方法流程圖,可以包括以下步驟:
[0031]步驟101:定義目標(biāo)計(jì)算值并獲取計(jì)算因子;
[0032]步驟102:從預(yù)設(shè)的計(jì)算公式模塊中選取所需的模塊化的計(jì)算公式;
[0033]步驟103:根據(jù)所述目標(biāo)計(jì)算值、所述計(jì)算因子和所述模塊化的計(jì)算公式生成計(jì)算邏輯。
[0034]S卩,采用模塊化的方式封裝計(jì)算公式,這樣在生成計(jì)算邏輯或者修改軟件計(jì)算邏輯的時(shí)候,可以通過(guò)該模塊化模式的計(jì)算公式實(shí)現(xiàn)對(duì)計(jì)算邏輯的生成和修改,而無(wú)需對(duì)計(jì)算過(guò)程的源代碼進(jìn)行修改,從而有效簡(jiǎn)化了計(jì)算邏輯的生成和修改過(guò)程。
[0035]對(duì)于預(yù)設(shè)的計(jì)算公式模塊可以存儲(chǔ)一些常用的計(jì)算公式,例如:加、減、乘、除、括號(hào)、指數(shù)、冪指數(shù)、對(duì)數(shù)、三角函數(shù)和絕對(duì)值等,即,將這些常用的計(jì)算公式通過(guò)模塊化的方式進(jìn)行封裝,在使用的時(shí)候通過(guò)封裝后的模塊化公式進(jìn)行計(jì)算邏輯的生成和修改即可。
[0036]然而值得注意的是,上述所列舉的模塊化的計(jì)算公式僅是為了更好地說(shuō)明本發(fā)明,在實(shí)際實(shí)現(xiàn)的時(shí)候,還可以是其它的計(jì)算公式,也可以是幾個(gè)可以組合在一起的幾個(gè)簡(jiǎn)單的計(jì)算公式的組裝,例如0*0,可以將類似這種組合式計(jì)算公式進(jìn)行模塊化封裝。
[0037]進(jìn)一步的,為了使得用戶可以簡(jiǎn)單地實(shí)現(xiàn)對(duì)計(jì)算邏輯的生成,可以采用可視化界面的方式顯示這些模塊化的計(jì)算公式,這樣用戶在生成計(jì)算邏輯的時(shí)候,直接點(diǎn)選模塊化的計(jì)算公式即可。在一個(gè)實(shí)施方式中,預(yù)設(shè)的計(jì)算公式模塊以可視化界面的方式顯示供用戶點(diǎn)選;相應(yīng)的,上述從預(yù)設(shè)的計(jì)算公式模塊中選取所需的模塊化的計(jì)算公式,可以包括:從可視化界面中點(diǎn)選所需的模塊的計(jì)算公式。
[0038]在上述步驟101中,計(jì)算因子可以是常量系數(shù),也可以是變量,如果計(jì)算因子為變量,那么獲取計(jì)算因子可以包括獲取用戶輸入的變量值。
[0039]S卩,通過(guò)模塊化封裝繁雜的計(jì)算代碼,可以在確保軟件質(zhì)量的情況下能夠快速、便捷地更改計(jì)算邏輯。這種.改進(jìn)的計(jì)算邏輯的內(nèi)部實(shí)現(xiàn)方法,使其滿足工程多樣化更改的需求,且操作方式簡(jiǎn)單、便捷,非專業(yè)開(kāi)發(fā)人員也可以輕易上手。
[0040]下面結(jié)合一個(gè)具體實(shí)施例對(duì)上述計(jì)算邏輯生成方法進(jìn)行說(shuō)明,然而值得注意的是,該具體實(shí)施例僅是為了更好地說(shuō)明本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。
[0041]在本例中將原本的計(jì)算公式編碼實(shí)現(xiàn),更改為在可視化的軟件界面上任意組裝的方式,通過(guò)這種操作極大地便捷了計(jì)算公式的隨意更改,提升了工作效率,滿足了多樣化的工程更改需求,可以有效確保計(jì)算的準(zhǔn)確性。
[0042]舉例而言:如圖2所示,計(jì)算冷量y,由計(jì)算公式ax2+bx+c求得,其中,a、b和c為系數(shù),X為用戶輸入值,其生成流程為:
[0043]步驟1:定義目標(biāo)計(jì)算值,冷量y,此時(shí),計(jì)算公式為:y=;
[0044]步驟2:定義計(jì)算因子a,a為常量系數(shù),此時(shí)計(jì)算公式為:y= a;
[0045]步驟3:在計(jì)算公式模塊中選取計(jì)算,此時(shí)計(jì)算公式為:y= a*;
[0046]步驟4:定義計(jì)算因子x,x為用戶輸入值;
[0047]步驟5:在計(jì)算公式模塊中選取冪數(shù)計(jì)算,常數(shù)為X,冪數(shù)為2,此時(shí)計(jì)算公式為:y=
a 氺 X2 ;
[0048]步驟6:在計(jì)算公式模塊中選取“+”計(jì)算,此時(shí)計(jì)算公式為:y = a*x2+ ;
[0049]步驟7:定義計(jì)算因子b,b為常量系數(shù),此時(shí)計(jì)算公式為:y = a*x2+b;
[0050]步驟8:在計(jì)算公式模塊中選取計(jì)算,此時(shí)計(jì)算公式為:y = a*x2+b* ;
[0051]步驟9:以步驟4定義的計(jì)算因子X(jué)作為本步驟的計(jì)算因子,此時(shí)計(jì)算公式為:y= a*x2+b*x;
[0052]步驟10:在計(jì)算公式模塊中選取“+”計(jì)算,此時(shí)計(jì)算公式為:y = a*x2+b*x+;
[0053]步驟11:定義計(jì)算因子c,c為常量系數(shù),此時(shí)計(jì)算公式為:y = a*x2+b*x+c。
[0054]如圖3所示為軟件在實(shí)際運(yùn)用過(guò)程中計(jì)算邏輯內(nèi)部的實(shí)現(xiàn)流程示意圖,包括:
[0055]步驟1:讀取計(jì)算公式y(tǒng) = a*x2+b*x+c;
[0056]步驟2和步驟3:以+、_、*、/基本計(jì)算為基準(zhǔn),將計(jì)算公式分解成幾個(gè)模塊,此時(shí)計(jì)算公式分解為:7 = ;1^1村2+€3村4+€5,其中模塊;1!1 =a,f2 = x2,f3 = b,f4 = x,f5 = c;
[0057]步驟4:分別計(jì)算模塊f I,f2,f3,f4,f5;
[0058]步驟5:按計(jì)算公式7 = ;^村2+€3村4+€5處理,計(jì)算目標(biāo)值7。
[°°59]常量取值3 = 3沁=5,0 = 7,那么實(shí)際計(jì)算公式為:7 = 3打2+5朽+7。
[0060]當(dāng)用戶輸入X為2時(shí),冷量y = 3*22+5*2+7 = 29 ;
[0061 ]當(dāng)用戶輸入X為3時(shí),冷量y = 3*32+5*3+7 = 49。
[0062]S卩,在上例中,通過(guò)改進(jìn)計(jì)算邏輯內(nèi)部實(shí)現(xiàn)方法,模塊化封裝常用的計(jì)算公式,例如:加、減、乘、除、括號(hào)、指數(shù)、冪數(shù)、對(duì)數(shù)、三角函數(shù)、絕對(duì)值等,存儲(chǔ)在計(jì)算公式模塊中,自定義組裝計(jì)算公式,實(shí)現(xiàn)快速、便捷地隨意更改計(jì)算邏輯,從而可以有效提高開(kāi)發(fā)效率,提高準(zhǔn)確性。
[0063]基于同一發(fā)明構(gòu)思,本發(fā)明實(shí)施例中還提供了一種計(jì)算邏輯生成裝置,如下面的實(shí)施例所述。由于計(jì)算邏輯生成裝置解決問(wèn)題的原理與計(jì)算邏輯生成方法相似,因此計(jì)算邏輯生成裝置的實(shí)施可以參見(jiàn)計(jì)算邏輯生成方法的實(shí)施,重復(fù)之處不再贅述。以下所使用的,術(shù)語(yǔ)“單元”或者“模塊”可以實(shí)現(xiàn)預(yù)定功能的軟件和/或硬件的組合。盡管以下實(shí)施例所描述的裝置較佳地以軟件來(lái)實(shí)現(xiàn),但是硬件,或者軟件和硬件的組合的實(shí)現(xiàn)也是可能并被構(gòu)想的。圖4是本發(fā)明實(shí)施例的計(jì)算邏輯生成裝置的一種結(jié)構(gòu)框圖,如圖4所示,可以包括:獲取模塊401、選取模塊402和生成模塊403,下面對(duì)該結(jié)構(gòu)進(jìn)行說(shuō)明。
[0064]獲取模塊401,可以用于定義目標(biāo)計(jì)算值并獲取計(jì)算因子;
[0065]選取模塊402,可以用于從預(yù)設(shè)的計(jì)算公式模塊中選取所需的模塊化的計(jì)算公式;
[0066]生成模塊403,可以用于根據(jù)所述目標(biāo)計(jì)算值、所述計(jì)算因子和所述模塊化的計(jì)算公式生成計(jì)算邏輯。
[0067]在一個(gè)實(shí)施方式中,預(yù)設(shè)的計(jì)算公式模塊存儲(chǔ)有以下模塊化的計(jì)算公式至少之一:加、減、乘、除、括號(hào)、指數(shù)、冪指數(shù)、對(duì)數(shù)、三角函數(shù)和絕對(duì)值。
[0068]在一個(gè)實(shí)施方式中,選取模塊402具體可以用于從可視化界面中點(diǎn)選所需的模塊的計(jì)算公式,其中,所述預(yù)設(shè)的計(jì)算公式模塊以可視化界面的方式顯示供用戶點(diǎn)選。
[0069]在一個(gè)實(shí)施方式中,所述計(jì)算因子包括:常量系數(shù)和/或變量。
[0070]在一個(gè)實(shí)施方式中,獲取模塊401具體可以用于在所述計(jì)算因子為變量的情況下,獲取用戶輸入的變量值。
[0071]從以上的描述中,可以看出,本發(fā)明實(shí)施例實(shí)現(xiàn)了如下技術(shù)效果:采用模塊化的方式封裝計(jì)算公式,這樣在生成計(jì)算邏輯或者修改軟件計(jì)算邏輯的時(shí)候,可以通過(guò)該模塊化模式的計(jì)算公式實(shí)現(xiàn)對(duì)計(jì)算邏輯的生成和修改,而無(wú)需對(duì)計(jì)算過(guò)程的源代碼進(jìn)行修改,從而有效簡(jiǎn)化了計(jì)算邏輯的生成和修改過(guò)程。
[0072]顯然,本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本發(fā)明實(shí)施例的各模塊或各步驟可以用通用的計(jì)算裝置來(lái)實(shí)現(xiàn),它們可以集中在單個(gè)的計(jì)算裝置上,或者分布在多個(gè)計(jì)算裝置所組成的網(wǎng)絡(luò)上,可選地,它們可以用計(jì)算裝置可執(zhí)行的程序代碼來(lái)實(shí)現(xiàn),從而,可以將它們存儲(chǔ)在存儲(chǔ)裝置中由計(jì)算裝置來(lái)執(zhí)行,并且在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟,或者將它們分別制作成各個(gè)集成電路模塊,或者將它們中的多個(gè)模塊或步驟制作成單個(gè)集成電路模塊來(lái)實(shí)現(xiàn)。這樣,本發(fā)明實(shí)施例不限制于任何特定的硬件和軟件結(jié)合。
[0073]以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域的技術(shù)人員來(lái)說(shuō),本發(fā)明實(shí)施例可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【主權(quán)項(xiàng)】
1.一種計(jì)算邏輯生成方法,其特征在于,包括: 定義目標(biāo)計(jì)算值并獲取計(jì)算因子; 從預(yù)設(shè)的計(jì)算公式模塊中選取所需的模塊化的計(jì)算公式; 根據(jù)所述目標(biāo)計(jì)算值、所述計(jì)算因子和所述模塊化的計(jì)算公式生成計(jì)算邏輯。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,預(yù)設(shè)的計(jì)算公式模塊存儲(chǔ)有以下模塊化的計(jì)算公式至少之一:加、減、乘、除、括號(hào)、指數(shù)、冪指數(shù)、對(duì)數(shù)、三角函數(shù)和絕對(duì)值。3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述預(yù)設(shè)的計(jì)算公式模塊以可視化界面的方式顯示供用戶點(diǎn)選; 相應(yīng)的,從預(yù)設(shè)的計(jì)算公式模塊中選取所需的模塊化的計(jì)算公式,包括: 從所述可視化界面中點(diǎn)選所需的模塊的計(jì)算公式。4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述計(jì)算因子包括:常量系數(shù)和/或變量。5.根據(jù)權(quán)利要求4所述的方法,其特征在于,在所述計(jì)算因子為變量的情況下,獲取計(jì)算因子包括: 獲取用戶輸入的變量值。6.一種計(jì)算邏輯生成裝置,其特征在于,包括: 獲取模塊,用于定義目標(biāo)計(jì)算值并獲取計(jì)算因子; 選取模塊,用于從預(yù)設(shè)的計(jì)算公式模塊中選取所需的模塊化的計(jì)算公式; 生成模塊,用于根據(jù)所述目標(biāo)計(jì)算值、所述計(jì)算因子和所述模塊化的計(jì)算公式生成計(jì)算邏輯。7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,預(yù)設(shè)的計(jì)算公式模塊存儲(chǔ)有以下模塊化的計(jì)算公式至少之一:加、減、乘、除、括號(hào)、指數(shù)、冪指數(shù)、對(duì)數(shù)、三角函數(shù)和絕對(duì)值。8.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述選取模塊具體用于從可視化界面中點(diǎn)選所需的模塊的計(jì)算公式,其中,所述預(yù)設(shè)的計(jì)算公式模塊以可視化界面的方式顯示供用戶點(diǎn)選。9.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述計(jì)算因子包括:常量系數(shù)和/或變量。10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述獲取模塊具體用于在所述計(jì)算因子為變量的情況下,獲取用戶輸入的變量值。
【文檔編號(hào)】G06F9/44GK106020818SQ201610327445
【公開(kāi)日】2016年10月12日
【申請(qǐng)日】2016年5月16日
【發(fā)明人】羅曉, 袁添廈, 唐友志, 李雯, 徐子恒
【申請(qǐng)人】珠海格力電器股份有限公司